Testability of Dynamic Real-Time Systems: An Empirical Study of Constrained Execution Environment Implications

Real-time systems must respond to events in a timely fashion; in hard real-time systems the penalty for a missed deadline is high. It is therefore necessary to design hard real-time systems so that the timing behavior of the tasks can be predicted. Static real-time systems have prior knowledge of the worst-case arrival patterns and resource usage. Therefore, a schedule can be calculated off-line and tasks can be guaranteed to have sufficient resources to complete (resource adequacy). Dynamic real-time systems, on the other hand, do not have such prior knowledge, and therefore must react to events when they occur. They also must adapt to changes in the urgencies of various tasks, and fairly allocate resources among the tasks. A disadvantage of static real-time systems is that a requirement on resource adequacy makes them expensive and often impractical. Dynamic realtime systems, on the other hand, have the disadvantage of being less predictable and therefore difficult to test. Hence, in dynamic systems, timeliness is hard to guarantee and reliability is often low. Using a constrained execution environment, we attempt to increase the testability of such systems. An initial step is to identify factors that affect testability. We present empirical results on how various factors in the execution environment impacts testability of real-time systems. The results show that some of the factors, previously identified as possibly impacting testability, do not have an impact, while others do.

[1]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[2]  Paul Pettersson,et al.  Generating Trace-Sets for Model-based Testing , 2007, The 18th IEEE International Symposium on Software Reliability (ISSRE '07).

[3]  John A. Stankovic,et al.  Misconceptions About Real-Time Computing , 1988, Computer.

[4]  René Boel Automatic Synthesis of Schedules in a Timed Discrete Event Plant , 2000 .

[5]  Standard Glossary of Software Engineering Terminology , 1990 .

[6]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[7]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[8]  René Boel,et al.  Modular synthesis of efficient schedules in a timed discrete event plant , 2000, Proceedings of the 39th IEEE Conference on Decision and Control (Cat. No.00CH37187).

[9]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[10]  Gerhard Fohler,et al.  The design of real-time systems: from specification to implementation and verification , 1991, Softw. Eng. J..

[11]  J. Voas,et al.  Software Testability: The New Verification , 1995, IEEE Softw..

[12]  Frits W. Vaandrager,et al.  Distributing Timed Model Checking - How the Search Order Matters , 2000, CAV.

[13]  Ansgar Fehnker,et al.  Scheduling a steel plant with timed automata , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[14]  Birgitta Lindström,et al.  Testability of Dynamic Real-Time Systems , 2009 .

[15]  Werner Schütz On the testability of distributed real-time systems , 1991, [1991] Proceedings Tenth Symposium on Reliable Distributed Systems.

[16]  Jonas Mellin,et al.  Supporting System-Level Testing of Applications by Active Real-Time Database Systems , 1997, ARTDB.

[17]  Jonas Mellin,et al.  Bounds on test effort for event-triggered real-time systems , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[18]  Hermann Kopetz,et al.  Design of Real-Time Systems , 1986 .