Formal approach for a verified implementation of Global EDF in Trampoline

The technological progress in embedded system softwares increasingly requires the introduction of multiprocessor/multicore platforms for their considerable capacity and performances. This has introduced a large number of scientific researches in multiprocessor real-time scheduling but most of the results remain theoretical. Some implementations within real time operating systems have been studied, most of which are validated using simulation. However, simulation does not cover all the possible situations and does not take all the target constraints into account. This arises some questions about the confidence in implementing "sophisticated policies" and ensuring that the implemented schedulers behave exactly as they are specified in literature. For this reason, we introduce in this paper an innovative approach to formally verify the behavior of an implemented Global EDF scheduler in an OSEK/VDX real-time operating system called Trampoline. It's a preliminary step since we intend to extend this study to other scheduling policies which are more complicated.

[1]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[2]  Hennadiy Leontyev,et al.  LITMUS^RT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[3]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[4]  Liang Gu,et al.  CertiKOS: a certified kernel for secure cloud computing , 2011, APSys.

[5]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time operating systems , 1989, OPSR.

[6]  Sanjoy K. Baruah,et al.  An analysis of global edf schedulability for arbitrary-deadline sporadic task systems , 2009, Real-Time Systems.

[7]  Lucas Francisco Wanner,et al.  Operating System Support for Wireless Sensor Networks , 2008 .

[8]  Olivier H. Roux,et al.  Formal model-based conformance verification of an OSEK/VDX compliant RTOS , 2018, 2018 5th International Conference on Control, Decision and Information Technologies (CoDIT).

[9]  Douglas W. Jones,et al.  An empirical comparison of priority-queue and event-set implementations , 1986, CACM.

[10]  Alan Burns,et al.  A survey of hard real-time scheduling for multiprocessor systems , 2011, CSUR.

[11]  James H. Anderson,et al.  On the Implementation of Global Real-Time Schedulers , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[12]  Fabio Checconi,et al.  An implementation of the earliest deadline first algorithm in Linux , 2009, SAC '09.

[13]  Giorgio C. Buttazzo,et al.  An efficient time representation for real-time embedded systems , 2003, SAC '03.

[14]  Binoy Ravindran,et al.  A formally verified application-level framework for real-time scheduling on POSIX real-time operating systems , 2004, IEEE Transactions on Software Engineering.

[15]  Olivier H. Roux,et al.  Formal Model-Based Synthesis of Application-Specific Static RTOS , 2017, ACM Trans. Embed. Comput. Syst..

[16]  Wang Yi,et al.  Schedulability analysis of fixed-priority systems using timed automata , 2006, Theor. Comput. Sci..

[17]  Theodore P. Baker What to Make of Multicore Processors for Reliable Real-Time Systems? , 2010, Ada-Europe.

[18]  Joseph Sifakis,et al.  Scheduler Modeling Based on the Controller Synthesis Paradigm , 2002, Real-Time Systems.

[19]  Shinpei Kato,et al.  ExSched: An External CPU Scheduler Framework for Real-Time Systems , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[20]  Jean-Luc Béchennec,et al.  Trampoline An Open Source Implementation of the OSEK/VDX RTOS Specification , 2006, 2006 IEEE Conference on Emerging Technologies and Factory Automation.

[21]  Edward L. Lamie Real-Time Embedded Multithreading Using ThreadX , 2009 .