{"title":"LTL-Specification for Development and Verification of Control Programs","authors":"M. V. Neyzov, E. V. Kuzmin","doi":"10.3103/S0146411624700366","DOIUrl":null,"url":null,"abstract":"<p>This work continues the series of articles on the development and verification of control programs based on the LTL-specification. The approach consists in describing the behavior of programs by special form of linear temporal logic (LTL) formulae. The developed LTL-specification can be directly verified with the help of a model-checking tool. Next, according to the LTL-specification, a program code is unambiguously built in the imperative programming language. The specification is translated into the program using a template. The novelty of the work is the proposal of two new LTL-specifications, which are declarative and imperative, as well as in a stricter formal justification of this approach to program development and verification. A transition is made to nuXmv, a more advanced verification tool for finite and infinite systems. It is proposed to describe the behavior of control programs in a declarative manner. For this purpose, a declarative LTL-specification is intended, which defines a transition system as a formal model of program behavior. This behavior description method is quite expressive—the theorem on the Turing completeness of the declarative LTL-specification is proved. Next, to build a program code in the imperative language, the declarative LTL-specification is converted to an equivalent imperative LTL-specification. An equivalence theorem is proved, which guarantees that both specifications determine the same behavior. The imperative LTL-specification is translated into an imperative program code according to the presented template. The declarative LTL-specification, which undergoes verification, and the control program based on it are guaranteed to determine the same behavior in the form of a corresponding transition system. Thus, in the verification a model coherent with the actual behavior of the control program is used.</p>","PeriodicalId":46238,"journal":{"name":"AUTOMATIC CONTROL AND COMPUTER SCIENCES","volume":"58 7","pages":"920 - 945"},"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/S0146411624700366","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
This work continues the series of articles on the development and verification of control programs based on the LTL-specification. The approach consists in describing the behavior of programs by special form of linear temporal logic (LTL) formulae. The developed LTL-specification can be directly verified with the help of a model-checking tool. Next, according to the LTL-specification, a program code is unambiguously built in the imperative programming language. The specification is translated into the program using a template. The novelty of the work is the proposal of two new LTL-specifications, which are declarative and imperative, as well as in a stricter formal justification of this approach to program development and verification. A transition is made to nuXmv, a more advanced verification tool for finite and infinite systems. It is proposed to describe the behavior of control programs in a declarative manner. For this purpose, a declarative LTL-specification is intended, which defines a transition system as a formal model of program behavior. This behavior description method is quite expressive—the theorem on the Turing completeness of the declarative LTL-specification is proved. Next, to build a program code in the imperative language, the declarative LTL-specification is converted to an equivalent imperative LTL-specification. An equivalence theorem is proved, which guarantees that both specifications determine the same behavior. The imperative LTL-specification is translated into an imperative program code according to the presented template. The declarative LTL-specification, which undergoes verification, and the control program based on it are guaranteed to determine the same behavior in the form of a corresponding transition system. Thus, in the verification a model coherent with the actual behavior of the control program is used.
期刊介绍:
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