Modelling Programmable Logic Controllers in Refinement Calculus of Reactive Systems

We present a translation from languages for programmable logic controllers (PLC) into refinement calculus of reactive systems (RCRS). RCRS is a compositional formal framework for modeling and reasoning about reactive systems. RCRS is based on monotonic property transformers (monotonic functions from sets of infinite output traces to infinite input traces) and is implemented in the Isabelle theorem prover. PLCs are industrial digital computers adapted for controlling manufacturing processes. Our translation provides a formal semantics for these systems, and a framework to formally analyze them. Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).

[1]  Stavros Tripakis,et al.  Refinement calculus of reactive systems , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[2]  Stavros Tripakis,et al.  Towards Compositional Feedback in Non-Deterministic and Non-Input-Receptive Systems* , 2015, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[3]  Edward A. Lee,et al.  A Theory of Synchronous Relational Interfaces , 2011, TOPL.

[4]  Stavros Tripakis,et al.  Compositional Semantics and Analysis of Hierarchical Block Diagrams , 2016, SPIN.

[5]  Wolfgang A. Halang,et al.  Formally Verified Building Blocks in Functional Logic Diagrams for Emergency Shutdown System Design , 1995 .

[6]  Dániel Darvas,et al.  Formal Verification of Safety PLC Based Control Software , 2016, IFM.

[7]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[8]  W. Marsden I and J , 2012 .

[9]  Hans-Dieter Ehrich,et al.  Model Checking PLC Software Written in Function Block Diagram , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[10]  Tolga Ovatman,et al.  An overview of model checking practices on verification of PLC software , 2014, Software & Systems Modeling.

[11]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[12]  Bernd J. Krämer,et al.  Automated Verification of Function Block Based Industrial Control Systems , 1999, Electron. Notes Theor. Comput. Sci..

[13]  Alan Wassyng,et al.  Translation of IEC 61131-3 Function Block Diagrams to PVS for Formal Verification with Real-Time Nuclear Application , 2017, Journal of Automated Reasoning.

[14]  Stavros Tripakis,et al.  Mechanically Proving Determinacy of Hierarchical Block Diagram Translations , 2016, VMCAI.

[15]  Xin Gao,et al.  Finite Machine Word Library , 2016, Arch. Formal Proofs.

[16]  Bernd J. Krämer,et al.  A Highly Dependable Computing Architecture for Safety-Critical Control Applications , 2004, Real-Time Systems.

[17]  Stavros Tripakis,et al.  The Refinement Calculus of Reactive Systems Toolset , 2017, International Journal on Software Tools for Technology Transfer.

[18]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[19]  Ralph-Johan Back,et al.  Decentralization of process nets with centralized control , 1983, PODC '83.

[20]  David Déharbe,et al.  An Approach Using the B Method to Formal Verification of PLC Programs in an Industrial Setting , 2012, SBMF.

[21]  Markus Wenzel,et al.  Constructive Type Classes in Isabelle , 2006, TYPES.

[22]  Ralph-Johan Back,et al.  Refinement Calculus , 1998, Graduate Texts in Computer Science.

[23]  Edward A. Lee,et al.  Error-Completion in Interface Theories , 2013, SPIN.