Teaching Real-Time Scheduling Analysis with Cheddar

This article is a presentation of the Cheddar toolset. Cheddar is a GPL open-source scheduling analysis tool. It has been designed and distributed to allow students to understand the main concepts of the real-time scheduling theory. The tool is built around a simplified ADL (Architecture Description Language) devoted to real-time scheduling theory. Students can directly build their real-time systems models with this ADL and its associated editor, however, it is expected that they use modeling tools to illustrate how scheduling analysis fits in an engineering process. In this article, we introduce the Cheddar ADL and the scheduling analysis features of Cheddar. We also present how Cheddar is implemented and how it can be adapted to specific requirements. Two examples of use of Cheddar are then described. Finally, in the annex of this article, teachers may find a sample of hand-outs that may be used to illustrate real-time scheduling theory with their students.

[1]  Shuai Li,et al.  Extending schedulability tests of tree-shaped transactions for TDMA radio protocols , 2014, Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA).

[2]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[3]  Alan Burns,et al.  Dynamic value-density for scheduling real-time systems , 1999, Proceedings of 11th Euromicro Conference on Real-Time Systems. Euromicro RTS'99.

[4]  Alan Burns,et al.  Hard Real-Time Scheduling: The Deadline-Monotonic Approach , 1991 .

[5]  Steve Vestal,et al.  The SAE Avionics Architecture Description Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering , 2003 .

[6]  Françoise Simonot-Lion,et al.  EAST-ADL - An Architecture Description Language - Validation and Verification Aspects , 2004, IFIP-WADL.

[7]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[8]  Insup Lee,et al.  A Compositional Scheduling Framework for Digital Avionics Systems , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[9]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[10]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[11]  A. Plantec,et al.  PLATYPUS : A STEP-BASED INTEGRATION FRAMEWORK , 2006 .

[12]  Marco Spuri,et al.  Implications of Classical Scheduling Results for Real-Time Systems , 1995, Computer.

[13]  Shuai Li,et al.  Applicability of real-time schedulability analysis on a software radio protocol , 2012, HILT '12.

[14]  Andy J. Wellings,et al.  Guidelines for a graduate curriculum on embedded software and systems , 2005, TECS.

[15]  Stéphane Rubini,et al.  Addressing cache related preemption delay in fixed priority assignment , 2015, 2015 IEEE 20th Conference on Emerging Technologies & Factory Automation (ETFA).

[16]  Alain Plantec,et al.  The SMART Project: Multi-Agent Scheduling Simulation of Real-time Architectures , 2014 .

[17]  Pierre Dissaux Architecture Description Languages - IFIP TC-2 Workshop on Architecture Description Languages (WADL), World Computer Congress, Aug. 22-27, 2004, Toulouse, France , 2005, IFIP-WADL.

[18]  Liliana Cucu-Grosjean,et al.  Feasibility Intervals for Fixed-Priority Real-Time Scheduling on Uniform Multiprocessors , 2006, 2006 IEEE Conference on Emerging Technologies and Factory Automation.

[19]  Laurent Nana,et al.  Cheddar: a flexible real time scheduling framework , 2004, SIGAda.

[20]  Rolf Ernst,et al.  System level performance analysis - the SymTA/S approach , 2005 .

[21]  Patricia López Martínez,et al.  Modeling distributed real-time systems with MAST 2 , 2013, J. Syst. Archit..

[22]  Jérôme Hugues,et al.  The TASTE Toolset: turning human designed heterogeneous systems into computer built homogeneous software. , 2010 .

[23]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

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

[25]  Peter H. Feiler,et al.  Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language , 2012 .

[26]  Neil Audsley,et al.  OPTIMAL PRIORITY ASSIGNMENT AND FEASIBILITY OF STATIC PRIORITY TASKS WITH ARBITRARY START TIMES , 2007 .

[27]  Sanjoy K. Baruah,et al.  A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms , 2004, Handbook of Scheduling.

[28]  Shuai Li,et al.  Applicability of real-time schedulability analysis on a software radio protocol , 2012 .

[29]  Philippe Merle,et al.  A formal specification of the Fractal component model in Alloy , 2008 .

[30]  Laurent Pautet,et al.  Architecture models refinement for fine grain timing analysis of embedded systems , 2014, 2014 25nd IEEE International Symposium on Rapid System Prototyping.

[31]  Bran Selic,et al.  Modeling and Analysis of Real-Time and Embedded Systems , 2005, MoDELS.

[32]  Alain Plantec,et al.  Towards User-Level Extensibility of an Ada Library: An Experiment with Cheddar , 2007, Ada-Europe.

[33]  Laurent Nana,et al.  Scheduling and memory requirements analysis with AADL , 2005 .

[34]  Laurent Pautet,et al.  Automatic Production of Transformation Chains Using Structural Constraints on Output Models , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[35]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[36]  Dominique Blouin,et al.  An Automated Approach for Architectural Model Transformations , 2013, ISD.

[37]  Laurent Pautet,et al.  Design Patterns for Rule-Based Refinement of Safety Critical Embedded Systems Models , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

[38]  Jörgen Hansson,et al.  Misconceptions About Real-Time Databases , 1999, Computer.

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

[40]  Parastoo Mohagheghi,et al.  Where Is the Proof? - A Review of Experiences from Applying MDE in Industry , 2008, ECMDA-FA.