Modeling and Verifying the Code-Level OSEK/VDX Operating System with CSP

As an automotive industry standard of operating system specification, OSEK/VDX is widely applied in the process of designing and implementing the static operating system and the corresponding interfaces for automotive electronics. It is challenging to explore an effective method to support large-scale correctness verification of OSEK/VDX specification. In this paper, we employ process algebra CSP to describe and reason about a real code-level OSEK/VDX operating system. Thus the whole system is formally modeled as a CSP process which is encoded and implemented in process analysis toolkit (PAT). Furthermore, the expected properties are described and expressed in terms of the first-order logic. The properties are also established and verified in our framework. The result indicates that the whole system is deadlock-free and the scheduling scheme is sound with respect to the specification.

[1]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[2]  H. L. Leung,et al.  Case studies with Process Analysis Toolkit (PAT) , 2009, 2009 International SoC Design Conference (ISOCC).

[3]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[4]  K. Shin Emeralds: a small-memory real-time microkernel , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[5]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[6]  W. Marsden I and J , 2012 .

[7]  Jun Sun,et al.  Model Checking CSP Revisited: Introducing a Process Analysis Toolkit , 2008, ISoLA.

[8]  Bastian Schlich,et al.  Operating System Verification , 2009, Journal of Automated Reasoning.

[9]  Zdenek Hanzálek,et al.  Formal verification of multitasking applications based on timed automata model , 2007, Real-Time Systems.

[10]  Frank Slomka,et al.  An application-based EDF scheduler for OSEK/VDX , 2008, 2008 Design, Automation and Test in Europe.

[11]  Kang G. Shin,et al.  Emeralds: a small-memory real-time microkernel , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[12]  A. W. Roscoe Understanding Concurrent Systems , 2010, Texts in Computer Science.

[13]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[14]  Seymour Lipschutz Schaum's Outline of Theory and Problems of Data Structures , 1986 .