A Verification Framework for FBD Based Software in Nuclear Power Plants
APSEC '08 Proceedings of the 2008 15th Asia-Pacific Software Engineering Conference
Formalization and Verification of PLC Timers in Coq
COMPSAC '09 Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference - Volume 01
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
Semantics and Analysis of Instruction List Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
An Invariant Preserving Transformation for PLC Models
ISORCW '11 Proceedings of the 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing Workshops
A Formal Semantics of PLC Programs in Coq
COMPSAC '11 Proceedings of the 2011 IEEE 35th Annual Computer Software and Applications Conference
Generating Invariant-Based Certificates for Embedded Systems
ACM Transactions on Embedded Computing Systems (TECS)
Towards a formal foundation of behavioral types for UML state-machines
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Programmable Logic Controllers (PLC) are widely used in embedded systems for the industrial automation domain. We propose a formal semantics of two languages defined in the IEC 61131-3 standard for PLC programming. The first one is the Instruction List (IL) language, an assembly like language. The second one is the Sequential Function Charts (SFC) language, a graphical high-level language that allows to describe the main control-flow of the system. A PLC system description may comprise SFC and IL code. We formalized the semantics in the proof assistant Coq. Furthermore, we present an associated tool for automatically generating SFC representations from a graphical description - the text based IL code can be handled in Coq directly - and its usage for verification purposes. We demonstrate our approach to prove safety properties of a PLC in a real industrial demonstrator.