Requirement Patterns in Deductive Verification of poST Programs - Chernenko, I. M.; Anureev, I. S.; Garanina, N. O. (Automatic control and computer sciences, 2024)
Process-oriented programming is one of the approaches used to develop control software. A process-oriented program is defined as a sequence of processes. Each process is represented by a set of named states containing a program code that define the logic of the process’ behavior. Program execution is a sequential execution of each of these processes in their current states at each iteration of the control loop. Processes can interact through changing the states of each other and shared variables. This paper develops a method for classifying temporal requirements for process-oriented programs in order to simplify and automate the deductive verification of such programs. The method consists of the following steps. At the first step, the requirements are formalized in a specialized language DV-TRL, a variant of the typed first-order predicate logic with a set of interpreted types and predicate and functional symbols that reflects specific concepts of the control systems in the process-oriented paradigm. At the second step, the formalized requirements are divided into classes, each of which is defined by a pattern—a parametric formula of the DV-TRL language. The verification conditions generated for process-oriented programs with respect to the requirements satisfying the same pattern have the same proof scheme. At the third step, appropriate proof schemes are developed. In our paper, we first give a brief introduction to the poST language, a process-oriented extension to the ST language of the IEC 61131-3 standard. Next, the DV-TRL language is defined. We also provide a collection of natural language requirements for several control systems. Then we define the patterns that fully cover all the requirements of this collection. For each of these patterns, we give an example of a formalized requirement from the collection and describe a scheme for proving the verification conditions for this pattern. St-atistics on the distribution of requirements from the collection over patterns reveals the most popular patterns. We also analyze related works.