Model Checking Industrial Robot Systems

  • Markus Weißmann
  • Stefan Bedenk
  • Christian Buckl
  • Alois Knoll
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6823)

Abstract

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.

Keywords

model checking abstract interpretation industrial robots distributed systems 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bauer, N., Engell, S., Huuck, R., Lukoschus, B., Stursberg, O.: Stursberg: Verification of PLC Programs given as Sequential Function Charts. In: CICLing 2001. LNCS, pp. 517–540. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Beyer, D., Henzinger, T., Jhala, R., Majumdar, R.: The software model checker BLAST. International Journal on Software Tools for Technology Transfer (STTT) 9, 505–525 (2007); 10.1007/s10009-007-0044-zCrossRefGoogle Scholar
  3. 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. 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. 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. 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
  7. 7.
    Cousot, P., Cousot, R.: Verification of embedded software: Problems and perspectives. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 97–113. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    de la Cámara, P., del Mar Gallardo, M., Merino, P.: Model extraction for ARINC 653 based avionics software. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 243–262. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 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
  10. 10.
    Duarte, L.M., Kramer, J., Uchitel, S.: Towards faithful model extraction based on contexts. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 101–115. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Havelund, K.: Java PathFinder, A Translator from Java to Promela. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, p. 152. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  12. 12.
    Holzmann, G.J.: The Model Checker SPIN. IEEE Transactions on Software Engineering 23, 279–295 (1997)CrossRefGoogle Scholar
  13. 13.
    Holzmann, G.J., Smith, M.H.: An automated verification method for distributed systems software based on model extraction. IEEE Transactions on Software Engineering 28, 364–377 (2002)CrossRefGoogle Scholar
  14. 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. 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. 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
  17. 17.
    Seidl, H., Vojdani, V.: Region analysis for race detection. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 171–187. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. 18.
    Wan, H., Chen, G., Song, X., Gu, M.: Formalization and Verification of PLC Timers in Coq. In: Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference, vol. 01, pp. 315–323. IEEE Computer Society, Los Alamitos (2009)CrossRefGoogle Scholar
  19. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Markus Weißmann
    • 1
  • Stefan Bedenk
    • 2
  • Christian Buckl
    • 3
  • Alois Knoll
    • 1
  1. 1.Fakultät für InformatikTechnische Universität MünchenGarchingGermany
  2. 2.AUDI AGIngolstadtGermany
  3. 3.fortiss GmbHMünchenGermany

Personalised recommendations