Developing Scheduler Test Cases to Verify Scheduler Implementations In Time-Triggered Embedded Systems

Despite that there is a “one-to-many” mapping between scheduling algorithms and scheduler implementations, only a few studies have discussed the challenges and consequences of translating between these two system models. There has been an argument that a wide gap exists between scheduling theory and scheduling implementation in practical systems, where such a gap must be bridged to obtain an effective validation of embedded systems. In this paper, we introduce a technique called “Scheduler Test Case” (STC) aimed at bridging the gap between scheduling algorithms and scheduler implementations in singleprocessor embedded systems implemented using Time-Triggered Co-operative (TTC) architectures. We will demonstrate how the STC technique can provide a simple and systematic way for documenting, verifying (testing) and comparing various TTC scheduler implementations on particular hardware. However, STC is a generic technique that provides a black-box tool for assessing and predicting the behaviour of representative implementation sets of any real-time scheduling algorithm.

[1]  Lionel C. Briand,et al.  Environment modeling and simulation for automated testing of soft real-time embedded software , 2013, Software & Systems Modeling.

[2]  Michael J. Pont,et al.  Reducing message-length variations in resource-constrained embedded systems implemented using the Controller Area Network (CAN) protocol , 2009, J. Syst. Archit..

[3]  V. P. Kozyrev Estimation of the execution time in real-time systems , 2016, Programming and Computer Software.

[4]  Mats Per Erik Heimdahl,et al.  On the requirements of high-integrity code generation , 1999, Proceedings 4th IEEE International Symposium on High-Assurance Systems Engineering.

[5]  Marjan Mernik,et al.  Test automation of a measurement system using a domain-specific modelling language , 2016, J. Syst. Softw..

[6]  Frank S. de Boer,et al.  Compositional schedulability analysis of real-time actor-based systems , 2015, Acta Informatica.

[7]  Musharraf Ahmed Hanif,et al.  Design and evaluation of flexible time-triggered task schedulers for dynamic control applications , 2013 .

[8]  Elisabet Estévez,et al.  A novel model-driven approach to support development cycle of robotic systems , 2016 .

[9]  Ricardo Bautista-Quintero,et al.  Meeting Real-Time Constraints Using "Sandwich Delays" , 2009, Trans. Pattern Lang. Program..

[10]  P. Marsh Models of control , 2003 .

[11]  Sanjoy K. Baruah,et al.  The Non-preemptive Scheduling of Periodic Tasks upon Multiprocessors , 2006, Real-Time Systems.

[12]  Erhan Kozan,et al.  Techniques to effectively buffer schedules in the face of uncertainties , 2015, Comput. Ind. Eng..

[13]  Bernhard Schätz,et al.  CASE Tools for Embedded Systems , 2003 .

[14]  Michael J. Pont,et al.  Selecting an appropriate scheduler for use with time-triggered embedded systems , 2007, EuroPLoP.

[15]  Adi Maaita,et al.  Choosing Appropriate Programming Language to Implement Software for Real-Time Resource- Constrained Embedded Systems , 2012 .

[16]  Ulf Norell,et al.  Testing AUTOSAR software with QuickCheck , 2015, 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[17]  Devaraj Ayavoo,et al.  The development of reliable X-by-wire systems : assessing the effectiveness of a 'simulation first' approach , 2006 .

[18]  Jay K. Strosnider,et al.  Engineering and Analysis of Fixed Priority Schedulers , 1993, IEEE Trans. Software Eng..

[19]  Teera Phatrapornnant,et al.  Reducing jitter in embedded systems employing a time-triggered software architecture and dynamic voltage scaling , 2006, IEEE Transactions on Computers.

[20]  Chao Wang,et al.  Definitions of predictability for Cyber Physical Systems , 2016, J. Syst. Archit..

[21]  Yvan Labiche,et al.  Automated state-based online testing real-time embedded software with RTEdge , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[22]  Claudia Eckert,et al.  The role of testing in the engineering product development process , 2012 .

[23]  Chisanga Mwelwa Development and assessment of a tool to support pattern-based code generation of time-triggered (TT) embedded systems , 2006 .

[24]  Karsten Michels Trends in the Development of Drive Components for Electric and Hybrid Vehicles , 2015 .

[25]  Mouaaz Nahas,et al.  Implementing adaptive time-triggered co-operative scheduling framework for highly-predictable embedded systems , 2014 .

[26]  Ahmed M. Nahhas,et al.  Ways for Implementing Highly-Predictable Embedded Systems Using Time-Triggered Co-Operative (TTC) Architectures , 2012 .

[27]  Shaoying Liu,et al.  Generating test data from SOFL specifications , 1999, J. Syst. Softw..

[28]  Mouaaz Nahas,et al.  Studying the Impact of Scheduler Implementation on Task Jitter in Real-Time Resource-Constrained Embedded Systems , 2014 .

[29]  Theodore P. Baker,et al.  The cyclic executive model and Ada , 2006, Real-Time Systems.

[30]  Anders Hessel,et al.  Model-Based Test Case Generation for Real-Time Systems , 2007 .

[31]  Mouaaz Nahas,et al.  Bridging the gap between scheduling algorithms and scheduler implementations in time-triggered embedded systems. , 2009 .

[32]  W. T. Tsai,et al.  Scenario-based test case generation for state-based embedded systems , 2003, Conference Proceedings of the 2003 IEEE International Performance, Computing, and Communications Conference, 2003..

[33]  Michael Short Analysis and redesign of the 'TTC' and 'TTH' schedulers , 2012, J. Syst. Archit..

[34]  Michael J. Pont,et al.  Implementing Low-cost TTCS Systems using Assembly Language , 2003, EuroPLoP.

[35]  Jing Guan,et al.  A model-based testing technique for component-based real-time embedded systems , 2015, 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[36]  Colin O'Halloran,et al.  Issues for the automatic generation of safety critical software , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[37]  Evripidis Bampis,et al.  Scheduling under Uncertainty: A Query-based Approach , 2018, IJCAI.

[38]  Mouaaz Nahas Developing a Novel Shared-Clock Scheduling Protocol for Highly-Predictable Distributed Real-Time Embedded Systems , 2012 .

[39]  Michael J. Pont,et al.  Rapid Software Development for Reliable Embedded Systems Using a Pattern-based Code Generation Tool , 2006 .

[40]  Zhenyu Liu,et al.  An automate test case generation approach: using match technique , 2005, The Fifth International Conference on Computer and Information Technology (CIT'05).

[41]  Michael J. Pont Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers , 2001 .

[42]  Gregg Rothermel,et al.  On the Use of Mutation Faults in Empirical Assessments of Test Case Prioritization Techniques , 2006, IEEE Transactions on Software Engineering.

[43]  Mirko Conrad,et al.  Test case design based on Z and the classification-tree method , 1997, First IEEE International Conference on Formal Engineering Methods.

[44]  Alexandre Petrenko,et al.  Building an interactive test development environment for cyclic executive systems , 2015, 10th IEEE International Symposium on Industrial Embedded Systems (SIES).

[45]  Mouaaz Nahas Employing Two 'Sandwich Delay' Mechanisms to Enhance Predictability of Embedded Systems Which Use Time-Triggered Co-Operative Architectures , 2011, J. Softw. Eng. Appl..

[46]  Abhik Roychoudhury,et al.  On Testing Embedded Software , 2016, Adv. Comput..

[47]  Ahmed Amine Jerraya,et al.  Scheduler implementation in MP SoC design , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[48]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[49]  Mouaaz Nahas Implementation of Highly-Predictable time-Triggered Cooperative Scheduler using Simple Super Loop Architecture , 2011 .

[50]  C. Douglas Locke,et al.  Software architecture for hard real-time applications: Cyclic executives vs. fixed priority executives , 1992, Real-Time Systems.

[51]  Michael J. Pont,et al.  Reducing the impact of task overruns in resource-constrained embedded systems in which a time-triggered software architecture is employed , 2008 .

[52]  Jerzy W. Rozenblit,et al.  Automatic test case generation from requirements specifications for real-time embedded systems , 1999, IEEE SMC'99 Conference Proceedings. 1999 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.99CH37028).

[53]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[54]  J. Daengdej,et al.  Coverall algorithm for test case reduction , 2006, 2006 IEEE Aerospace Conference.