• DocumentCode
    3608051
  • Title

    Applying Model Checking to Industrial-Sized PLC Programs

  • Author

    Fernandez Adiego, Borja ; Darvas, Daniel ; Blanco Vinuela, Enrique ; Tournier, Jean-Charles ; Bliudze, Simon ; Blech, Jan Olaf ; Gonzalez Suarez, Victor Manuel

  • Author_Institution
    Eur. Organ. for Nucl. Res., Geneva, Switzerland
  • Volume
    11
  • Issue
    6
  • fYear
    2015
  • Firstpage
    1400
  • Lastpage
    1410
  • Abstract
    Programmable logic controllers (PLCs) are embedded computers widely used in industrial control systems. Ensuring that a PLC software complies with its specification is a challenging task. Formal verification has become a recommended practice to ensure the correctness of safety-critical software, but is still underused in industry due to the complexity of building and managing formal models of real applications. In this paper, we propose a general methodology to perform automated model checking of complex properties expressed in temporal logics [e.g., computation tree logic (CTL) and linear temporal logic (LTL)] on PLC programs. This methodology is based on an intermediate model (IM) meant to transform PLC programs written in various standard languages [structured text (ST), sequential function chart (SFC), etc.] to different modeling languages of verification tools. We present the syntax and semantics of the IM, and the transformation rules of the ST and SFC languages to the nuXmv model checker passing through the IM. Finally, two real cases studies of the European Organization for Nuclear Research (CERN) PLC programs, written mainly in the ST language, are presented to illustrate and validate the proposed approach.
  • Keywords
    formal verification; industrial control; programmable controllers; safety-critical software; temporal logic; CERN PLC program; European Organization for Nuclear Research; PLC software; SFC language; ST language; automated model checking; formal verification tool; industrial control system; industrial-sized PLC program; nuXmv model checker; programmable logic controller; safety-critical software; sequential function language; structured text language; temporal logic; Automata; Biological system modeling; IEC Standards; Informatics; Model checking; Software; Automata; IEC 61131; PLC; automata; model checking; modeling; nuXmv; programmable logic controller (PLC); verification;
  • fLanguage
    English
  • Journal_Title
    Industrial Informatics, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1551-3203
  • Type

    jour

  • DOI
    10.1109/TII.2015.2489184
  • Filename
    7295624