Toward multi-task support and security analyses in PLC program translation for verification: poster abstract

In this poster, we will present new tool, HyPLC [30], which implements the translation of discrete control code of verified hybrid program models to PLC controller code and, vice versa, the translation of existing PLC code into the discrete control actions for a hybrid program given an additional input of the continuous dynamics of the system to be verified. This approach allows for the generation of real controller code while preserving, by compilation, the correctness of a valid and verified hybrid program. PLCs are common cyber-physical interfaces for safety-critical industrial control applications, and HyPLC serves as a pragmatic tool for bridging formal verification of complex cyber-physical systems at the algorithmic level of hybrid programs with the execution layer of concrete PLC implementations. This poster will also discuss future directions of HyPLC such as support of multiple tasks (and, by extension, multiple PLCs), interval arithmetic, as well as security analyses.

[1]  Dániel Darvas,et al.  A Formal Specification Method for PLC-based Applications , 2015 .

[2]  Nathan Fulton,et al.  KeYmaera X: An Axiomatic Tactical Theorem Prover for Hybrid Systems , 2015, CADE.

[3]  Devinder Thapa,et al.  Transformation from Petri Nets Model to Programmable Logic Controller using One-to-One Mapping Technique , 2005, International Conference on Computational Intelligence for Modelling, Control and Automation and International Conference on Intelligent Agents, Web Technologies and Internet Commerce (CIMCA-IAWTIC'06).

[4]  S. A. Manesis,et al.  Intelligent control of wastewater treatment plants , 1998, Artif. Intell. Eng..

[5]  Brent Kesler,et al.  The Vulnerability of Nuclear Facilities to Cyber Attack; Strategic Insights: Spring 2010 , 2011 .

[6]  F. Pedrayes,et al.  Voltage Sags in Industrial Systems , 2005 .

[7]  Michael Tiegelkamp,et al.  IEC 61131-3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids , 2001 .

[8]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[9]  André Platzer,et al.  Differential Dynamic Logic for Hybrid Systems , 2008, Journal of Automated Reasoning.

[10]  Ahmad-Reza Sadeghi,et al.  Control Behavior Integrity for Distributed Cyber-Physical Systems , 2018, 2020 ACM/IEEE 11th International Conference on Cyber-Physical Systems (ICCPS).

[11]  Jun Sun,et al.  Learning from Mutants: Using Code Mutation to Learn and Monitor Invariants of a Cyber-Physical System , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

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

[13]  André Platzer,et al.  VeriPhy: verified controller executables from verified cyber-physical system models , 2018, PLDI.

[14]  Luis Garcia,et al.  HyPLC: hybrid programmable logic controller program translation for verification , 2019, ICCPS.

[15]  Hanno Wupper,et al.  Timed automaton models for simple programmable logic controllers , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[16]  André Platzer,et al.  A Complete Uniform Substitution Calculus for Differential Dynamic Logic , 2016, Journal of Automated Reasoning.