A Temporal Requirements Language for Deductive Verification of Process-Oriented Programs
Ivan M. Chernenko, Igor Sergeevich Anureev, Natalia Olegovna Garanina, Sergey Mikhailovich Staroletov · 2022 IEEE 23rd International Conference of Young Professionals in Electron Devices and Materials (EDM) · 2022
The requirements engineering process is primarily useful for complex software that controls industrial processes. Requirements for control software suppose a description of the change in input and output signals over time, which encourages the elaborations of temporal requirements. A verification method that allows one to obtain a certified proof of system operation correctness against given requirements is the theorem proving or deductive verification. At the same time, the process of deductive verification should take into account both the specifics of models of control programs and the requirements for them. While models of control programs can be obtained from domain-oriented languages, it is also expedient to develop a language for requirements. The present paper introduces a predicative domain-specific language for definition of temporal requirements intended to be used with deductive verification tools. It focuses on specification of requirements for control software written in process-oriented languages. Moreover, we propose to use special patterns to describe a wide range of such requirements. We discuss a benchmark of ten case studies and the requirements for them which are linked to these patterns. The results can be used for building automatic verification systems for industrial control software.