Automated formal analysis of temporal properties of Ladder programs

被引:1
作者
Lourenco, Claudio Belo [1 ]
Cousineau, Denis [2 ]
Faissole, Florian [2 ]
Marche, Claude [1 ]
Mentre, David [2 ]
Inoue, Hiroaki [3 ]
机构
[1] Univ Paris Saclay, LMF, INRIA, CNRS, F-91190 Gif Sur Yvette, France
[2] Mitsubishi Elect R&D Ctr Europe, Rennes, France
[3] Mitsubishi Electr Corp, Amagasaki, Hyogo, Japan
关键词
Ladder language for programming PLCs; Timing charts; Formal specification; Deductive verification; Why3; environment; VERIFICATION;
D O I
10.1007/s10009-022-00680-0
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programmable Logic Controllers are industrial digital computers used as automation controllers in manufacturing processes. The Ladder language is a programming language used to develop software for such controllers. In this work, we consider the description of the expected behaviour of a Ladder program under the form of a timing chart, describing a scenario of execution. Our aim is to prove that the given Ladder program conforms to the expected temporal behaviour given by such a timing chart. Our approach amounts to translating the Ladder code, together with the timing chart, into a program for the Why3 environment for deductive program verification. The verification proceeds with the generation of verification conditions: mathematical formulas to be checked valid using automated theorem provers. The ultimate goal is twofold. On the one hand, by obtaining a complete proof, one verifies the conformity of the Ladder code with respect to the timing chart with a high degree of confidence. On the other hand, in the case the proof is not fully completed, one obtains a counterexample, illustrating a possible execution scenario of the Ladder code which does not conform to the timing chart.
引用
收藏
页码:977 / 997
页数:21
相关论文
共 31 条
[1]  
Barrett Clark, 2011, Computer Aided Verification. Proceedings 23rd International Conference, CAV 2011, P171, DOI 10.1007/978-3-642-22110-1_14
[2]  
Baudin, 2020, ACSL ANSI ISO C SPEC
[3]  
Baudin, 2017, DEDUCTIVE VERIFICATI
[4]   Explaining Counterexamples with Giant-Step Assertion Checking* [J].
Becker, Benedikt ;
Lourenco, Claudio Belo ;
Marche, Claude .
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2021, (338) :82-88
[5]  
Biallas S., 2014, P 12 INT WORKSH DISC, P400
[6]  
Bobot F., 2011, BOOGIE 2011 1 INT WO, P53
[7]   Let's verify this with Why3 [J].
Bobot, Francois ;
Filliatre, Jean-Christophe ;
Marche, Claude ;
Paskevich, Andrei .
INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2015, 17 (06) :709-727
[8]  
Conchon S., 2018, SMT WORKSH INT WORKS
[9]   Automated Deductive Verification for Ladder Programming [J].
Cousineau, Denis ;
Mentre, David ;
Inoue, Hiroaki .
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (310) :7-12
[10]   Instrumenting a weakest precondition calculus for counterexample generation [J].
Dailler, Sylvain ;
Hauzar, David ;
Marche, Claude ;
Moy, Yannick .
JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2018, 99 :97-113