Advertisement

Formal Verification of Complex Properties on PLC Programs

  • Dániel Darvas
  • Borja Fernández Adiego
  • András Vörös
  • Tamás Bartha
  • Enrique Blanco Viñuela
  • Víctor M. González Suárez
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8461)

Abstract

Formal verification has become a recommended practice in the safety-critical application areas. However, due to the complexity of practical control and safety systems, the state space explosion often prevents the use of formal analysis. In this paper we extend our former verification methodology with effective property preserving reduction techniques. For this purpose we developed general rule-based reductions and a customized version of the Cone of Influence (COI) reduction. Using these methods, the verification of complex requirements formalised with temporal logics (e.g. CTL, LTL) can be orders of magnitude faster. We use the NuSMV model checker on a real-life PLC program from CERN to demonstrate the performance of our reduction techniques.

Keywords

PLC model checking automata temporal logic reduction cone of influence NuSMV 

References

  1. 1.
    Darvas, D., Fernández, B., Blanco, E.: Transforming PLC programs into formal models for verification purposes. Internal note, CERN (2013), http://cds.cern.ch/record/1629275/files/CERN-ACC-NOTE-2013-0040.pdf
  2. 2.
    IEC 61131: Programming languages for programmable logic controllers (2013)Google Scholar
  3. 3.
    Rausch, M., Krogh, B.: Formal verification of PLC programs. In: Proc. of the American Control Conference, pp. 234–238 (1998)Google Scholar
  4. 4.
    Bauer, N., Engell, S., Huuck, R., Lohmann, S., Lukoschus, B., Remelhe, M., Stursberg, O.: Verification of PLC programs given as sequential function charts. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) INT 2004. LNCS, vol. 3147, pp. 517–540. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Canet, G., Couffin, S., Lesage, J.J., Petit, A., Schnoebelen, P.: Towards the automatic verification of PLC programs written in Instruction List. In: Proc. of Int. Conf. on Systems, Man, and Cybernetics 2000, pp. 2449–2454. Argos Press (2000)Google Scholar
  6. 6.
    Pavlović, O., Ehrich, H.D.: Model checking PLC software written in function block diagram. In: International Conference on Software Testing, pp. 439–448 (2010)Google Scholar
  7. 7.
    Soliman, D., Frey, G.: Verification and validation of safety applications based on PLCopen safety function blocks. Control Engineering Practice 19(9), 929–946 (2011)CrossRefGoogle Scholar
  8. 8.
    Gourcuff, V., de Smet, O., Faure, J.M.: Improving large-sized PLC programs verification using abstractions. In: 17th IFAC World Congress (2008)Google Scholar
  9. 9.
    Lange, T., Neuhäußer, M., Noll, T.: Speeding up the safety verification of programmable logic controller code. In: Bertacco, V., Legay, A. (eds.) HVC 2013. LNCS, vol. 8244, pp. 44–60. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  10. 10.
    Biallas, S., Brauer, J., Kowalewski, S.: Counterexample-guided abstraction refinement for PLCs. In: Proc. of 5th International Workshop on Systems Software Verification, pp. 2–12. USENIX Association (2010)Google Scholar
  11. 11.
    Blanco, E., et al.: UNICOS evolution: CPC version 6. In: 12th ICALEPCS (2011)Google Scholar
  12. 12.
    Behrmann, G., David, A., Larsen, K.G.: A tutorial on uppaal. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 200–236. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)Google Scholar
  14. 14.
    Cavada, R., Cimatti, A., Jochim, C.A., Keighren, G., Olivetti, E., Pistore, M., Roveri, M., Tchaltsev, A.: NuSMV 2.5 User Manual. FBK-irst (2011)Google Scholar
  15. 15.
    Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV 2: An opensource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Cooper, K.D., Torczon, L.: Engineering a Compiler, 2nd edn. Morgan Kaufmann Publishers Inc. (2012)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Dániel Darvas
    • 1
  • Borja Fernández Adiego
    • 1
  • András Vörös
    • 2
  • Tamás Bartha
    • 3
  • Enrique Blanco Viñuela
    • 1
  • Víctor M. González Suárez
    • 4
  1. 1.CERNEuropean Organization for Nuclear ResearchGenevaSwitzerland
  2. 2.Budapest University of Technology and EconomicsBudapestHungary
  3. 3.Institute for Computer Science and ControlHungarian Academy of SciencesBudapestHungary
  4. 4.University of OviedoGijónSpain

Personalised recommendations