Learning Time Delay Mealy Machines From Programmable Logic Controllers

Programmable logic controllers (PLCs) are computers that are hardened for industrial environments and have I/O that are used to monitor and control a physical process. Learning automata specifications from PLCs provides an interface to verification tools that use an automata language, such as Uppaal. This paper introduces the time delay Mealy machine and demonstrates that it is sufficiently expressive to model PLC software. Using the LearnLib library, we implement a custom learning method to learn models from several industrial examples and analyze the efficiency. We show that the method is able to learn from simple PLC software, but the time required to learn increases rapidly with the scale of the software.

[1]  Mercedes G. Merayo,et al.  Passive testing of communicating systems with timeouts , 2015, Inf. Softw. Technol..

[2]  Jean-Marc Roussel,et al.  Generation of Single Input Change Test Sequences for Conformance Test of Programmable Logic Controllers , 2014, IEEE Transactions on Industrial Informatics.

[3]  Cees Witteveen,et al.  Efficiently identifying deterministic real-time automata from labeled data , 2011, Machine Learning.

[4]  Hans Kleine Büning,et al.  Using behavior models for anomaly detection in hybrid systems , 2011, 2011 XXIII International Symposium on Information, Communication and Automation Technologies.

[5]  Nancy A. Lynch,et al.  The Theory of Timed I/o Automata , 2003 .

[6]  O. Niggemann,et al.  Automated generation of timing models in distributed production plants , 2013, 2013 IEEE International Conference on Industrial Technology (ICIT).

[7]  Daniel Sundmark,et al.  Model-Based Test Suite Generation for Function Block Diagrams Using the UPPAAL Model Checker , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[8]  Bengt Jonsson,et al.  Learning of event-recording automata , 2010, Theor. Comput. Sci..

[9]  Bengt Jonsson,et al.  Generating models of infinite-state communication protocols using regular inference with abstraction , 2015, Formal Methods Syst. Des..

[10]  Tiziana Margaria,et al.  Automata Learning with On-the-Fly Direct Hypothesis Construction , 2011, ISoLA Workshops.

[11]  Yi-Chen Wu,et al.  Automatic test case generation for structural testing of function block diagrams , 2014, Inf. Softw. Technol..

[12]  Doaa Soliman,et al.  Verification and Validation of Safety Applications based on PLCopen Safety Function Blocks using Timed Automata in Uppaal , 2009 .

[13]  Olga Grinchtein Learning of Timed Systems , 2006 .

[14]  Rajeev Alur,et al.  Timed Automata , 1999, CAV.

[15]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[16]  Maik Merten,et al.  Active automata learning for real life applications , 2013 .

[17]  Henning Dierks,et al.  PLC-automata: a new class of implementable real-time automata , 1997, Theor. Comput. Sci..

[18]  Cees Witteveen,et al.  The efficiency of identifying timed automata and the power of clocks , 2011, Inf. Comput..

[19]  Bengt Jonsson,et al.  Inference of Event-Recording Automata Using Timed Decision Trees , 2006, CONCUR.

[20]  Doaa Soliman,et al.  Function Block Diagram to UPPAAL Timed Automata Transformation Based on Formal Models , 2012 .

[21]  Thomas A. Henzinger,et al.  Event-Clock Automata: A Determinizable Class of Timed Automata , 1999, Theor. Comput. Sci..

[22]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[23]  Min Zhou,et al.  Translation-Based Model Checking for PLC Programs , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[24]  O. De Smet,et al.  Verification of a controller for a flexible manufacturing line written in Ladder Diagram via model-checking , 2002, Proceedings of the 2002 American Control Conference (IEEE Cat. No.CH37301).

[25]  Benno Stein,et al.  Learning Behavior Models for Hybrid Timed Systems , 2012, AAAI.

[26]  K. Larsen,et al.  Online Testing of Real-time Systems Using Uppaal , 2004, FATES.

[27]  Jerry Avorn Technology , 1929, Nature.

[28]  Hans Kleine Büning,et al.  Identifying behavior models for process plants , 2011, ETFA2011.

[29]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[30]  Dana Angluin,et al.  Learning Regular Sets from Queries and Counterexamples , 1987, Inf. Comput..

[31]  Wang Yi,et al.  Timed Automata: Semantics, Algorithms and Tools , 2003, Lectures on Concurrency and Petri Nets.

[32]  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.