e-Informatica Software Engineering Journal Experience Report: Towards Extending an OSEK-Compliant RTOS with Mixed Criticality Support

Experience Report: Towards Extending an OSEK-Compliant RTOS with Mixed Criticality Support

[1]Tarun Gupta, Erik J. Luit, Martijn M.H.P. van den Heuvel and Reinder J. Bril, "Experience Report: Towards Extending an OSEK-Compliant RTOS with Mixed Criticality Support", In e-Informatica Software Engineering Journal, vol. 12, no. 1, pp. 305–320, 2018. DOI: 10.5277/e-Inf180112.

Get article (PDF)View article entry (BibTeX)


Tarun Gupta, Erik J. Luit, Martijn M.H.P. van den Heuvel, Reinder J. Bril


Background: With an increase of the number of features in a vehicle, the computational requirements also increase, and vehicles may contain up to 100 Electronic Control Units (ECUs) to accommodate these requirements. For cost-effectiveness reasons, amongst others, it is considered desirable to limit the growth of, or preferably reduce, the number of ECUs. To that end, mixed criticality is a promising approach that received a lot of attention in the literature, primarily from a theoretical perspective.

Aim: In this paper, we address mixed criticality from a practical perspective. Our prime goal is to extend an OSEK-compliant real-time operating system (RTOS) with mixed criticality support, enabling such support in the automotive domain. In addition, we aim at a system (i) supporting more than two criticality levels; (ii) with minimal overhead upon an increase of the so-called criticality level indicator of the system; (iii) requiring no changes to an underlying operating system; and (iv) featuring further extensions, such as hierarchical scheduling and multi-core.

Method: We used the so-called adaptive mixed criticality (AMC) scheme as a starting point for mixed criticality. We extended that scheme from two to more than two criticality levels (satisfying (i)) and complemented it with specified behavior for criticality level changes. We baptized our extended scheme AMC*. Rather than selecting a specific OSEK-compliant RTOS, we selected ExSched, an operating system independent external CPU scheduler framework for real-time systems, which requires no modifications to the original operating system source code (satisfying (iii)) and features further extensions (satisfying (iv))).
Results: Although we managed to build a functional prototype of our system, our experience with ExSched made us decide to rebuild the system with a specific OSEK-compliant RTOS, being µC/OS-II. We also briefly report upon our experience with AMC* and suggest directions for improvements.

Conclusions: Compared to extending ExSched with AMC*, extending µC/OS-II turned out to be straightforward. Although we now have a basic system operational and available for experimentation, enhancements of the AMC*-scheme are considered desirable before exploitation in a vehicle.


OSEK, RTOS, mixed criticality


[1]   M. Holenderski, R. Bril, and J. Lukkien, “An efficient hierarchical scheduling framework for the automotive domain,” in Real-Time Systems, Architecture, Scheduling, and Application, D.S.M. Babamir, Ed. InTech, 2012, pp. 67–94.

[2]   A. Burns and R. Davis, “Mixed criticality systems – a review,” University of York, UK, Tech. Rep., 2018. [Online]. https://www-users.cs.york.ac.uk/burns/review.pdf

[3]   i-GAME, Grand Cooperative Driving Challenge 2016, 2016. [Online]. http://www.gcdc.net/en/

[4]   S. Baruah and A. Burns, “Implementing mixed criticality systems in Ada,” in Proceedings 16th Ada-Europe International Conference on Reliable Software Technologies, 2011, pp. 174–188.

[5]   J. Herman, C. Kenna, M. Mollison, J. Anderson, and D. Johnson, “RTOS support for multi-core mixed-criticality systems,” in Proceedings 18th Real-Time and Embedded technology and Applications Symposium (RTAS), 2012, pp. 197–208.

[6]   Y.S. Kim and H.W. Jin, “Towards a practical implementation of criticality mode changes in RTOS,” in Proceedings 19th IEEE Conference on Emerging Technologies and Factory Automation (ETFA), 2014.

[7]    A. Kritikakou, C. Pagetti, C. Rochange, M. Roy, M. Faugère, S. Girbal, and G. Pérez, “Distributed run-time WCET controller for concurrent tasks in mixed-criticality systems,” in Proceedings 22nd International Conference on Real-Time Networks and Systems, 2014, pp. 139–148.

[8]   “OSEK/VDX operating system,” OSEK group, Tech. Rep., 2005. [Online]. https://web.archive.org/web/20160310151905/http://portal.osek-vdx.org/files/pdf/specs/os223.pdf

[9]   S. Baruah, A. Burns, and R. Davis, “Response-time analysis for mixed criticality systems,” in Proceedings 32nd IEEE Real-Time Systems Symposium, 2011, pp. 34–43.

[10]   M. Åsberg, T. Nolte, S. Kato, and R. Rajkumar, “ExSched: An External CPU Scheduler Framework for Real-Time Systems,” in Proceedings 18th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), 2012, pp. 240–249.

[11]   J. Calandrino, H. Leontyev, A. Block, U. Devi, and J. Anderson, “LITMUSRT : A testbed for empirically comparing real-time multiprocessor schedulers,” in Proceedings 27th IEEE Real-Time Systems Symposium (RTSS), 2006, pp. 111–123.

[12]   L. Palopoli, T. Cucinotta, L. Marzario, and G. Lipari, “AQuoSA: Adaptive quality of service architecture,” Software Practice and Experience, Vol. 39, No. 1, 2009, pp. 1–31.

[13]   Ubuntu Kernel Repository. [Online]. http://kernel.ubuntu.com/~kernel-ppa/mainline/

[14]   J. Labrosse, MicroC/OS-II: The Real Time Kernel, 2nd ed. CMP Books, 2002.

[15]   T. Gupta, E. Luit, M. van den Heuvel, and R. Bril, “Extending ExSched with mixed criticality support – an experience report,” in Proceedings 3rd Workshop on Automotive System/Software Architecture (WASA), In conjunction with IEEE International Conference on Software Architecture (ICSA), 2017.

[16]   S. Vestal, “Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance,” in Proceedings 28th IEEE Real-Time Systems Symposium (RTSS), 2007, pp. 239–243.

[17]   S. Baruah and S. Vestal, “Schedulability analysis of sporadic tasks with multiple criticality specifications,” in Proceedings 20th Euromicro Conference on Real-Time Systems (ECRTS), 2008, pp. 147–155.

[18]   F. Santy, L. George, P. Thierry, and J. Goossens, “Relaxing mixed-criticality scheduling strictness for task sets scheduled with FP,” in Proceedings 24th Euromicro Conference on Real-Time Systems (ECRTS), 2012, pp. 155–165.

[19]   T. Gupta, “Extending a real-time operating system with a mechanism for criticality-level changes,” Eindhoven University of Technology, Stan Ackermans Institute (SAI), Tech. Rep. 2015027, 2015. [Online]. https://pure.tue.nl/ws/files/32337443/Final_Report_Tarun_Gupta.pdf

[20]   T. Gupta, “Interoperable robustness measures for safety-integrity levels (SILs),” European Commission 7th Framework Programme, i-GAME Deliverable D2.4, 2015. [Online]. http://www.gcdc.net/images/doc/D2.4.Interoperable.robustness.measures.for.safety-integrity.level.pdf

[21]   A. Massa, Embedded Software Development with eCOS. Prentice Hall, 2003.

[22]   G. Durrieu, M. Faugèere, S. Girbal, D. Garcia Pérez, C. Pagetti, and W. Puffitsch, “Predictable flight management system implementation on a multicore processor,” in Proceedings 9th Embedded Real-Time Software, 2014.

[23]   M. Holenderski, W. Cools, R. Bril, and J. Lukkien, “Extending an open-source real-time operating system with hierarchical scheduling,” Eindhoven University of Technology (TU/e), Tech. Rep. CS-report 10-10, 2010.

[24]   M. Holenderski, W. Cools, R.J. Bril, and J. Lukkien, “Multiplexing real-time timed events,” in Proceedings 14 IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), 2009.

[25]   M. Heuvel, R. Bril, and J. Lukkien, “Transparent synchronization protocols for compositional real-time systems,” IEEE Transactions on Industrial Informatics, Vol. 8, No. 2, 2012, pp. 322–336.

[26]   M. Heuvel, E. Luit, R. Bril, J. Lukkien, P. Verhoeven, and M. Holenderski, “An experience report on the integration of ECU software using an HSF-enabled real-time kernel,” in Proceedings 11th Workshop on Operating Systems Platforms for Embedded Real-Time applications (OSPERT), 2015, pp. 51–56.

[27]   C. Liu and J. Layland, “Scheduling algorithms for multiprogramming in a real-time environment,” JACM, Vol. 20, No. 1, 1973, pp. 46–61.

[28]   R. Bril, J. Lukkien, and W. Verhaegh, “Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption,” Real-Time Systems Journal, Vol. 42, No. 1-3, 2009, pp. 63–119.

[29]   S. Kato, R. Rajkumar, and Y. Ishikawa, “A loadable real-time scheduler suite for multicore platforms,” Technical Report CMU-ECE-TR09-12, Tech. Rep, Tech. Rep., 2009.

[30]   M. Holenderski, M. Heuvel, R. Bril, and J. Lukkien, “Grasp: Tracing, visualizing and measuring the behavior of real-time systems,” in Proceedings 1st Int. Workshop on Analysis Tools and Methodologies for Embedded and Real-Time Systems (WATERS), 2010, pp. 37–42.

[31]   P. Gai, E. Bini, G. Lipari, M. Di Natale, and L. Abeni, “Architecture for a portable open source real time kernel environment,” in 2nd Real-Time Linux Workshop and Hand’s on Real-Time Linux Tutorial, 2000.

[32]   Master Automotive Technology, Eindhoven Univeristy of Technology (TU/e), 2017. [Online]. https://educationguide.tue.nl/programs/graduate-school/masters-programs/automotive-technology/

[33]   OpenRISC overview, OpenCores, 2009. [Online]. http://www.opencores.org/project,or1k

[34]   M. Behnam, T. Nolte, I. Shin, M. Åsberg, and R.J. Bril, “Towards hierarchical scheduling in VxWorks,” in Proceedings 4th International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), 2008, pp. 63–72.

[35]   R. Rajkumar, K. Juvva, A. Molano, and S. Oikawa, “Resource kernels: A resource-centric approach to real-time and multimedia systems,” in Proceedings SPIE, Vol. 3310, Conference on Multimedia Computing and Networking (CMCN), 1998, pp. 150–164.

[36]   R.J. Bril and E. Steffens, “User focus in consumer terminals and conditionally guaranteed budgets,” in Proceedings 9th International Workshop on Quality of Service (IWQoS), ser. Lecture Notes in Computer Science (LNCS), No. 2092, 2001, pp. 107–120.

[37]   C. Wüst, L. Steffens, W. Verhaegh, R.J. Bril, and C. Hentschel, “QoS control strategies for high-quality video processing,” Real-Time Systems, Vol. 30, No. 1–2, 2005, pp. 7–29.

©2015 e-Informatyka.pl, All rights reserved.

Built on WordPress Theme: Mediaphase Lite by ThemeFurnace.