Model Checking Industrial Robot Systems
Modern production plants are highly automated complex systems consisting of several robots and other working machines. Errors leading to damage and stop of production are extremely expensive and must be avoided by all means. Hence, the state of practice is to test control programs in advance which implies high effort and comes with high costs. To increase the confidence into the control systems and to reduce the necessary effort, this paper proposes to use model checking to verify certain properties. It presents a compiler that can transform industrial robot programs into PROMELA models. Since the statements of the robot programming language can not be mapped directly into PROMELA statements, we apply compiler optimization techniques to close the semantic gap. In case of a specification violation the trace is mapped to the original context so that the robot programmer can reconstruct the problem. As a case study we applied the tool to verify the absence of collisions and deadlocks. We were able to detect one deadlock in a car-body welding station with 9 robots, correct the program and verify the correctness of the resulting system.
Keywordsmodel checking abstract interpretation industrial robots distributed systems
Unable to display preview. Download preview PDF.
- 3.Bornot, S., Huuck, R., Lakhnech, Y., Lukoschus, B.: Utilizing static analysis for programmable logic controllers. In: ADPM 2000: The 4th International Conference on Automation of Mixed Processes: Hybrid Dynamic Systems, pp. 183–187 (2000)Google Scholar
- 4.Canet, G., Couffin, S., Lesage, J.J., Petit, A., Schnoebelen, P.: Towards the automatic verification of PLC programs written in Instruction List. In: IEEE International Conference on Systems, Man and Cybernetics, pp. 2449–2454 (2000)Google Scholar
- 5.Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Pasareanu, C.S., Zheng, H.: Bandera: Extracting Finite-state Models from Java Source Code. In: Proceedings of the 22nd International Conference on Software Engineering, pp. 439–448. ACM Press, New York (2000)Google Scholar
- 6.Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of the 4th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL 1977), pp. 238–252. ACM, New York (1977)Google Scholar
- 9.Dong, Y., Ramakrishnan, C.R.: An optimizing compiler for efficient model checking. In: Proceedings of the IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE XII) and Protocol Specification, Testing and Verification (PSTV XIX), FORTE XII / PSTV XIX 1999, Deventer, The Netherlands, pp. 241–256. Kluwer Academic Publishers, Dordrecht (1999)Google Scholar
- 14.Mazzolini, M., Brusaferri, A., Carpanzano, E.: Model-checking based verification approach for advanced industrial automation solutions. Emerging Technologies and Factory Automation (ETFA), 1–8 (2010)Google Scholar
- 15.Pavlovic, O., Pinger, R., Kollmann, M.: Automated formal verification of PLC programs written in IL. In: Conference on Automated Deduction (CADE), pp. 152–163 (2007)Google Scholar
- 16.Schlich, B., Brauer, J., Wernerus, J., Kowalewski, S.: Direct model checking of PLC programs in IL. In: 2nd IFAC Workshop on Dependable Control of Discrete Systems (DCDS), Bari, Italy (2009)Google Scholar
- 19.Younis, M.B., Frey, G.: Formalization of existing PLC programs: A survey. In: Proceedings of Computing Engineering in Systems Applications (CESA), Lille, France (July 2003)Google Scholar