Architecture-driven platform independent deterministic replay for distributed hard real-time systems

Distributed hard real-time systems have become a major component of many advanced technical products. Means to ensure their proper quality are thus of paramount importance. To ensure high quality software, besides preventive means also cost-effective techniques for defect removal are important. The later activity in practice includes testing in order to detect failures, subsequent diagnosis in order to pin down the observed failure to a defect, and finally the proper removal of the defect. In this chain of activities, finding the cause of a failure is often a rather difficult and long-winded undertaking. In the domain of embedded real-time systems the problem is even harder than in a standard environment because of the real-time behavior and hardware heterogeneity (development vs. target platform). Both renders the deterministic replay of faulty behavior a hard problem which today can only be addressed when a substantial amount of additional monitoring hardware is added to the system. The paper proposes to minimize the required additional hardware using an architecture-driven approach which exploits the high-level information available at the architectural level in order to achieve platform independent deterministic replay for distributed hard real-time systems at relative low cost.

[1]  Sundmark Daniel,et al.  Deterministic replay debugging of embedded real-time systems using standard components , 2004 .

[2]  Holger Giese,et al.  Towards the compositional verification of real-time UML designs , 2003, ESEC/FSE-11.

[3]  Bart Broekman,et al.  Testing Embedded Software , 2002 .

[4]  Klaus Grimm Software technology in an automotive company - major challenges , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  Holger Giese,et al.  Hybrid UML Components for the Design of Complex Self-Optimizing Mechatronic Systems , 2004, ICINCO.

[6]  Henrik Thane,et al.  Monitoring, Testing and Debugging of Distributed Real-Time Systems , 2000 .

[7]  Jeffrey J. P. Tsai,et al.  A Noninterference Monitoring and Replay Mechanism for Real-Time Software Testing and Debugging , 1990, IEEE Trans. Software Eng..

[8]  Thomas J. LeBlanc,et al.  Debugging Parallel Programs with Instant Replay , 1987, IEEE Transactions on Computers.

[9]  Henry Muccini,et al.  Deriving test plans from architectural descriptions , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[10]  Alexander L. Wolf,et al.  Joint Proceedings of the Second International Software Architecture Workshop (ISAW-2) and International Workshop on Multiple Perspectives in Software Development (Viewpoints '96) on SIGSOFT '96 workshops, ISAW '96, San Francisco, California, USA , 1996, ISAW/Viewpoints.

[11]  Bart M. Broekman,et al.  Testing Enbredded Software , 2002 .

[12]  Holger Giese,et al.  Modular design and verification of component-based mechatronic systems with online-reconfiguration , 2004, SIGSOFT '04/FSE-12.

[13]  Holger Giese,et al.  A Formal Calculus for the Compositional Pattern-Based Design of Correct Real-Time Systems∗ , 2003 .

[14]  Werner Schütz,et al.  Fundamental issues in testing distributed real-time systems , 1994, Real-Time Systems.

[15]  Henry Muccini,et al.  Towards software architecture-based regression testing , 2005, ACM SIGSOFT Softw. Eng. Notes.

[16]  權寧住,et al.  Mechatronics , 2019, CIRP Encyclopedia of Production Engineering.

[17]  Holger Giese,et al.  Modeling Reconfigurable Mechatronic Systems with Mechatronic UML , 2004 .

[18]  Holger Giese,et al.  Model-Driven Architecture for Hard Real-Time Systems: From Platform Independent Models to Code , 2005, ECMDA-FA.

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

[20]  Colin J. Fidge Fundamentals of Distributed System Observation , 1996, IEEE Softw..

[21]  Holger Giese,et al.  Model-Driven Development of Reconfigurable Mechatronic Systems with Mechatronic UML , 2004, MDAFA.

[22]  Franco Zambonelli,et al.  An efficient logging algorithm for incremental replay of message-passing applications , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[23]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[24]  Marcos K. Aguilera,et al.  Performance debugging for distributed systems of black boxes , 2003, SOSP '03.

[25]  Chinya V. Ravishankar,et al.  Monitoring and debugging distributed realtime programs , 1992, Softw. Pract. Exp..

[26]  Holger Giese,et al.  Real-Time Statechart Semantics , 2003 .

[27]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

[28]  Holger Giese,et al.  Symbolic invariant verification for systems with dynamic structural adaptation , 2006, ICSE.

[29]  Charles E. McDowell,et al.  Debugging concurrent programs , 1989, ACM Comput. Surv..

[30]  Flaviu Cristian,et al.  Simulation-based Testing of Communication Protocols for Dependable Embedded Systems , 2000, The Journal of Supercomputing.

[31]  Alexander L. Wolf,et al.  Software testing at the architectural level , 1996, ISAW '96.