Temporal Requirement Patterns in Deductive Verification of Process-Oriented Programs
Process-oriented programming is an approach to the development of control software in which a program is defined as a sequence of interacting processes. Control software often has high reliability requirements, and the formal verification is used to establish that a program satisfies such requirements. Deductive verification is a formal verification method in which proving the compliance of a program with its requirements specified as logical formulas is based on the logical inference. Control software often has temporal requirements. Our work is devoted to the deductive verification of process-oriented programs with temporal requirements. We use a temporal requirement language which is a variant of typed first-order logic. Previously we developed a set of requirement patterns and proof strategies for deductive verification of programs with requirements satisfying these patterns. However some requirements do not satisfy previously developed patterns. In this paper, we present a set of basic requirement patterns that can be combined to specify a wide class of temporal requirements. We also present derived requirement patterns defined using the basic patterns and examples of requirements satisfying these derived patterns. In addition, we compare our work with other works on the deductive verification of temporal requirements and requirement patterns. The proposed pattern system extends the scope of the application of the previously developed approach to automating deductive verification of process-oriented programs.
Authors
- Ivan M. Chernenko (ORCID: https://orcid.org/0000-0001-7675-8449)
- Igor Anureev (ORCID: https://orcid.org/0000-0001-9574-128X)
Institutions
- Institute of Automation and Electrometry (RU)
Publication Details
- Published
- 2024-09-30
- DOI
- https://doi.org/10.1109/sibircon63777.2024.10758473
- Primary Topic
- Formal Methods in Verification
- Type
- article
- Field-Weighted Citation Impact
- 0.00