Abstract
In an embedded system, the specialization of the code of the real-time operating system (RTOS) according to the requirements of the application allows one to remove unused services and other sources of dead code from the binary program. The typical specialization process is based on a mix of precompiler macros and build scripts, both of which are known for being sources of errors.
In this article, we present a new model-based approach to the design of application-specific RTOS. Starting with finite state models describing the RTOS and the application requirements, the set of blocks in the RTOS code actually used by the application is automatically computed. This set is used to build an application-specific RTOS model. This model is fed into a code generator to produce the source code of an application-specific RTOS. It is also used to carry on model-based validations and verifications, including the formal verification that the specialization process did not introduce unwanted behaviors or suppress expected ones.
To demonstrate the feasibility of this approach, it is applied to specialize Trampoline, an open-source implementation of the AUTOSAR OS standard, to an industrial case study from the automotive domain.
- Thomas E. Anderson. 1992. The case for application-specific operating systems. In Workshop on Workstation Operating Systems (WWOS’92). Google Scholar
Cross Ref
- Luciano Porto Barreto and Gilles Muller. 2002. Bossa: A language-based approach to the design of real-time schedulers. In 10th International Conference on Real-Time Systems (RTS’02), 19--31.Google Scholar
- Jean-Luc Béchennec, Mikaël Briday, Sébastien Faucou, and Yvon Trinquet. 2006. Trampoline an open source implementation of the OSEK/VDX RTOS specification. In IEEE International Conference on Emerging Technologies and Factory Automation (ETFA’06). Google Scholar
Cross Ref
- Carsten Boke, Marcelo Gotz, Tales Heimfarth, D. El Kebbe, F. J. Rammig, and S. Rips. 2003. (Re-) configurable real-time operating systems and their applications. In IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS’03). 148--155. Google Scholar
Cross Ref
- Ron Brightwell, Rolf Riesen, Keith Underwood, Trammell B. Hudson, Patrick Bridges, and Arthur B. Maccabe. 2003. A performance comparison of Linux and a lightweight kernel. In IEEE International Conference on Cluster Computing. IEEE, 251--258. Google Scholar
Cross Ref
- Jiang Chen and Toshiaki Aoki. 2011. Conformance testing for OSEK/VDX operating system using model checking. In 18th Asia Pacific Software Engineering Conference (APSEC’11). 274--281. Google Scholar
Digital Library
- Pascal Cuoq, Florent Kirchner, Nikolai Kosmatov, Virgile Prevosto, Julien Signoles, and Boris Yakobowski. 2012. Frama-c. In Software Engineering and Formal Methods. Springer. Google Scholar
Digital Library
- Christian Dietrich, Martin Hoffman, and Daniel Lohmann. 2015. Back to the roots: Implementing the RTOS as a specialized state machine. In 11th Annual Workshop on Operating Systems Platforms for Embedded Real-Time applications (OSPERT’15). 7--12.Google Scholar
- Peter Druschel. 1993. Efficient support for incremental customization of OS services. In International Workshop on Object Orientation in Operating Systems. Google Scholar
Cross Ref
- Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, and Kristofer Pister. 2000. System architecture directions for networked sensors. In ACM SIGOPS Operating Systems Review, Vol. 34. ACM, 93--104. Google Scholar
Digital Library
- D. John. 1998. OSEK/VDX conformance testing—MODISTARC. IET Conference Proceedings (January 1998), 7--7(1). http://digital-library.theiet.org/content/conferences/10.1049/ic_19981078.Google Scholar
Cross Ref
- Keith Krueger, David Loftesness, Amin Vahdat, and Thomas Anderson. 1993. Tools for the Development of Application-Specific Virtual Memory Management. Vol. 28. ACM. Google Scholar
Digital Library
- Anil Kurmus, Reinhard Tartler, Daniela Dorneanu, Bernhard Heinloth, Valentin Rothberg, Andreas Ruprecht, Wolfgang Schröder-Preikschat, Daniel Lohmann, and Rüdiger Kapitza. 2013. Attack surface metrics and automated compile-time OS kernel tailoring. In 20th Network and Distributed System Security Symposium (NDSS’13).Google Scholar
- Daniel Lohmann, Wanja Hofer, Wolfgang Schröder-Preikschat, Jochen Streicher, and Olaf Spinczyk. 2009. CiAO: An aspect-oriented operating-system family for resource-constrained embedded systems. In USENIX Annual Technical Conference.Google Scholar
- Gregory Malecha, Ashish Gehani, and Natarajan Shankar. 2015. Automated software winnowing. In 30th Annual ACM Symposium on Applied Computing (SAC’15). ACM, 1504--1511. DOI:http://dx.doi.org/10.1145/2695664.2695751 Google Scholar
Digital Library
- OSEK Group et al. 1999a. OSEK/VDX OS Test Plan Version 2.0.Google Scholar
- OSEK Group et al. 1999b. OSEK/VDX OS Test Procedure Version 2.0.Google Scholar
- OSEK Group et al. 2005. OSEK/VDX Operating System Specification.Google Scholar
- Kabland Toussaint Gautier Tigori, Jean-Luc Bechennec, and Olivier H. Roux. 2015. Formal synthesis of optimal RTOS (Best paper award). In Proceedings of the 12th IEEE International Conference on Embedded Software and Systems. IEEE, New York, 977--983.Google Scholar
- Martin Treiber, Ansgar Hennecke, and Dirk Helbing. 2000. Congested traffic states in empirical observations and microscopic simulations. Phys. Rev. E 62, 2 (Aug. 2000), 1805--1824. DOI:http://dx.doi.org/10.1103/PhysRevE.62.1805 Google Scholar
Cross Ref
- Kenro Yatake and Toshiaki Aoki. 2012. Model checking of OSEK/VDX OS design model based on environment modeling. In International Colloquium on Theoretical Aspects of Computing. Springer, 183--197.Google Scholar
Index Terms
Formal Model-Based Synthesis of Application-Specific Static RTOS
Recommendations
Formal Synthesis of Optimal RTOS
HPCC-CSS-ICESS '15: Proceedings of the 2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, and 2015 IEEE 12th International Conf on Embedded Software and SystemsThe adaptation of an operating system to an application is often needed to optimize the embedded code. Adaptation consists in removing the unneeded operating systems services and the dead code according to applications requirements. The resulting ...
The Formal Design Model of a Real-Time Operating System RTOS+: Static and Dynamic Behaviors
A real-time operating system RTOS provides a platform for the design and implementation of a wide range of applications in real-time systems, embedded systems, and mission-critical systems. This paper presents a formal design model for a general RTOS ...
The Formal Design Model of a Real-Time Operating System RTOS+: Conceptual and Architectural Frameworks
A real-time operating system RTOS provides a platform for the design and implementation of a wide range of applications in real-time systems, embedded systems, and mission-critical systems. This paper presents a formal design model for a general RTOS ...






Comments