Abstract:
Real-time partitioned operating systems meet the current avionics standard of reliable software; they are capable of responding to events from devices with an expected speed, as well as sharing processor time and memory between isolated partitions. Model-based Checking is a formal verification technique in which a software model is developed and then it is automatically checked for the compliance with formal requirements. This method allows proving the correct operation of the model on all possible input data, all possible ways of processes switching and interactions. In this article, we describe a formalized model of an open-source partitioned operating system POK. We implement the model in Promela language for SPIN tool with the purposes of formal verification using the Model Checking method. The model is designed to describe the behavior of: partition and process schedulers, system calls through a software interrupt, kernel libraries for working with synchronization primitives and processes awaiting, user code which consists of several processes in different partitions that are synchronized through a semaphore. The described approach can be used to verify the correct synchronization, the proper operation of the scheduler algorithms, and the accurate data access from different partitions by introducing the corresponding requirements in the form of formulas of the linear-time temporal logic.
Keywords:
formal verification, operating system, partitioned system, real-time system, model checking, system programming, Promela, SPIN.
Document Type:
Article
Language: English
Citation:
S. M. Staroletov, “A formal model of a partitioned real-time operating system in Promela”, Proceedings of ISP RAS, 32:6 (2020), 49–66
\Bibitem{Sta20}
\by S.~M.~Staroletov
\paper A formal model of a partitioned real-time operating system in Promela
\jour Proceedings of ISP RAS
\yr 2020
\vol 32
\issue 6
\pages 49--66
\mathnet{http://mi.mathnet.ru/tisp557}
\crossref{https://doi.org/10.15514//ISPRAS-2020-32(6)-4}
Linking options:
https://www.mathnet.ru/eng/tisp557
https://www.mathnet.ru/eng/tisp/v32/i6/p49
This publication is cited in the following 4 articles: