错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Model Checking Programs in Process-Oriented IEC 61131-3 Structured Text

  • N. O. Garanina,
  • S. M. Staroletov,
  • V. E. Zyubin,
  • I. S. Anureev

摘要

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.