Ladder Metamodeling and PLC Program Validation through Time Petri Nets

Ladder Diagram (LD) is the most used programming language for Programmable Logical Controllers (PLCs). A PLC is a special purpose industrial computer used to automate industrial processes. Bugs in LD programs are very costly and sometimes are even a threat to human safety. We propose a model driven approach for formal verification of LD programs through model-checking. We provide a metamodel for a subset of the LD language. We define a time Petri net (TPN) semantics for LD programs through an ATL model transformation. Finally, we automatically generate behavioral properties over the LD models as LTL formulae which are then checked over the generated TPN using the model-checkers available in the Tina toolkit. We focus on race condition detection.

[1]  Ralf Huuck,et al.  Software verification for programmable logic controllers , 2006 .

[2]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[3]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[4]  Monika Heiner,et al.  Instruction list verification using a Petri net semantics , 1998, SMC'98 Conference Proceedings. 1998 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.98CH36218).

[5]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[6]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[7]  Mark Minas,et al.  Visual PLC-programming using signal interpreted Petri nets , 2002, Proceedings of the 2002 American Control Conference (IEEE Cat. No.CH37301).

[8]  P. Merlin,et al.  Recoverability of Communication Protocols - Implications of a Theoretical Study , 1976, IEEE Transactions on Communications.

[9]  Joël Ouaknine,et al.  State/Event-Based Software Model Checking , 2004, IFM.

[10]  Alexander Aiken,et al.  Detecting Races in Relay Ladder Logic Programs , 1998, TACAS.

[11]  Wolfgang Reisig,et al.  Application and Theory of Petri Nets 1996 , 1996, Lecture Notes in Computer Science.

[12]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[13]  François Vernadat,et al.  Time Petri Nets Analysis with TINA , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[14]  I. Moon Modeling programmable logic controllers for logic verification , 1994, IEEE Control Systems.

[15]  Jean-Marc Roussel,et al.  Towards automatic verification of ladder logic programs , 2003 .

[16]  Lothar Litz,et al.  A Petri Net based Approach to the Development of correct Logic Controllers , 2002 .

[17]  Joseba Quevedo,et al.  Fault diagnosis for gas turbines based on the control system , 2000 .

[18]  Henning Dierks PLC-automata: a new class of implementable real-time automata , 2001, Theor. Comput. Sci..

[19]  Benoît Combemale,et al.  A Property-Driven Approach to Formal Verification of Process Models , 2007, ICEIS.

[20]  Allen P. Nikora,et al.  Developing Formal Correctness Properties from Natural Language Requirements , 2006 .

[21]  Konstantinos Tourlas,et al.  An Assessment of the IEC 1131-3 Standard on Languages for Programmable Controllers , 1997, SAFECOMP.

[22]  F. Vernadat,et al.  The tool TINA – Construction of abstract state spaces for petri nets and time petri nets , 2004 .

[23]  Philippe Schnoebelen,et al.  Towards the automatic verification of PLC programs written in Instruction List , 2000, Smc 2000 conference proceedings. 2000 ieee international conference on systems, man and cybernetics. 'cybernetics evolving to systems, humans, organizations, and their complex interactions' (cat. no.0.

[24]  I. Jimenez,et al.  Synthesis of ladder diagrams from Petri nets controller models , 2001, Proceeding of the 2001 IEEE International Symposium on Intelligent Control (ISIC '01) (Cat. No.01CH37206).

[25]  Mamoun Filali,et al.  Fiacre: an Intermediate Language for Model Verification in the Topcased Environment , 2008 .

[26]  François Vernadat,et al.  Model Checking Bounded Prioritized Time Petri Nets , 2007, ATVA.

[27]  Bruce H. Krogh,et al.  Transformations between different model forms in discrete event systems , 1997, 1997 IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation.

[28]  John Schum Locksmithing and Electronic Security Wiring Diagrams , 2002 .

[29]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[30]  Monika Heiner,et al.  A Petri Net Semantics for the PLC Language Instruction List , 1998 .

[31]  François Vernadat,et al.  Covering Step Graph , 1996, Application and Theory of Petri Nets.