DETECTION OF LADDER PROGRAM UNSTABLE STATES
This paper presents a modern method of detecting unstable states in ladder programs. Ladder programs are standard formalism used in a wide range of automation applications, especially in railway signaling systems. This formalism is characterized by a lack of explicit program control flow, which can result in the presence of unstable states. A state is unstable, if it leads to cyclic state transitions not anticipated by the designer (loop). The presence of unstable states is one of the possible program defects. This kind of defect is hard to detect and can harm program reliability. The presence of unstable states can be verified with formal methods by the construction of a ladder program model and analysis of its properties. The authors propose a method of static analysis of ladder programs by translating them into predicate logic formulas and construction of formulas expression stability of the program, which can be analyzed with SAT solvers. The presented method allows for automatic verification of the presence of unstable states in the program. The method is conservative (i.e., it concludes that the program has no unstable states only if it is the case). Preliminary experiments performed by authors with a Z3 solver indicate that the method is suitable for use for verification of interlocking programs of computer-based railway signaling systems.
Authors
- Daniel Pietruszczak (ORCID: https://orcid.org/0000-0001-8943-0805)
- Jakub Młyńczak (ORCID: https://orcid.org/0000-0003-2947-7980)
- Michał Marian Grzybowski (ORCID: https://orcid.org/0000-0002-4841-147X)
- P. Folęga (ORCID: https://orcid.org/0000-0001-6775-7559)
- Lucyna SOKOŁOWSKA (ORCID: https://orcid.org/0000-0002-0699-4312)
Publication Details
- Journal
- Transport Problems
- Published
- 2024-09-30
- DOI
- https://doi.org/10.20858/tp.2023.19.3.09
- Primary Topic
- Software Reliability and Analysis Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00