N. O. Garanina, S. M. Staroletov, V. E. Zyubin, I. S. Anureev
{"title":"Model Checking Programs in Process-Oriented IEC 61131-3 Structured Text","authors":"N. O. Garanina, S. M. Staroletov, V. E. Zyubin, I. S. Anureev","doi":"10.3103/S0146411624700433","DOIUrl":null,"url":null,"abstract":"<p>Process-oriented programming is a paradigm based on the concept of a process. Each process is a finite-state machine (FSM). This paradigm is intended for programmable logic controller (PLC) developers to write software that supports Industry 4.0. The poST language is a promising process-oriented extension of the IEC61131-3 Structured Text (ST) language designed to provide conceptual consistency between the PLC source code and the process description of the controlled process. This language combines the advantages of FSM programming with the standard syntax of the ST language. We propose a transformational semantics of poST given by rules for translating poST language statements into Promela, the input language of the SPIN model checker. Following these rules, our Xtext-based translator builds a Promela model for the poST program. The main contribution of our article is the transformational semantics of poST and a method to automatically generate Promela code from poST control programs. The resulting Promela model is ready to be verified using the SPIN model checker against the requirements for the initial poST program expressed in terms of the linear temporal logic (LTL). In this article, we give an overview of related works as well as a brief description of the poST and Promela languages. The rules presented below for translating from poST to Promela cover control flow statements, constructs for creating processes and managing their states, as well as timeout statements. Service processes for modeling the external environment and specifying high-level LTL specifications are defined separately. Then we dwell on the main ideas of implementing the poST translator in Promela and further illustrate our approach using a system for managing the consumption and production of electricity, including renewable sources.</p>","PeriodicalId":46238,"journal":{"name":"AUTOMATIC CONTROL AND COMPUTER SCIENCES","volume":"58 7","pages":"1025 - 1041"},"PeriodicalIF":0.6000,"publicationDate":"2025-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"AUTOMATIC CONTROL AND COMPUTER SCIENCES","FirstCategoryId":"1085","ListUrlMain":"https://link.springer.com/article/10.3103/S0146411624700433","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"AUTOMATION & CONTROL SYSTEMS","Score":null,"Total":0}
引用次数: 0
Abstract
Process-oriented programming is a paradigm based on the concept of a process. Each process is a finite-state machine (FSM). This paradigm is intended for programmable logic controller (PLC) developers to write software that supports Industry 4.0. The poST language is a promising process-oriented extension of the IEC61131-3 Structured Text (ST) language designed to provide conceptual consistency between the PLC source code and the process description of the controlled process. This language combines the advantages of FSM programming with the standard syntax of the ST language. We propose a transformational semantics of poST given by rules for translating poST language statements into Promela, the input language of the SPIN model checker. Following these rules, our Xtext-based translator builds a Promela model for the poST program. The main contribution of our article is the transformational semantics of poST and a method to automatically generate Promela code from poST control programs. The resulting Promela model is ready to be verified using the SPIN model checker against the requirements for the initial poST program expressed in terms of the linear temporal logic (LTL). In this article, we give an overview of related works as well as a brief description of the poST and Promela languages. The rules presented below for translating from poST to Promela cover control flow statements, constructs for creating processes and managing their states, as well as timeout statements. Service processes for modeling the external environment and specifying high-level LTL specifications are defined separately. Then we dwell on the main ideas of implementing the poST translator in Promela and further illustrate our approach using a system for managing the consumption and production of electricity, including renewable sources.
期刊介绍:
Automatic Control and Computer Sciences is a peer reviewed journal that publishes articles on• Control systems, cyber-physical system, real-time systems, robotics, smart sensors, embedded intelligence • Network information technologies, information security, statistical methods of data processing, distributed artificial intelligence, complex systems modeling, knowledge representation, processing and management • Signal and image processing, machine learning, machine perception, computer vision