Extracting Simulation Models from Complex Embedded Real-Time Systems

A modeling process is presented for extracting timing-accurate simulation models from complex embedded real-time systems. The process is supported by two complementary methods for tool-supported model extraction, Model Synthesis and Hybrid Model Extraction. The generated models enable impact analysis for complex real-time systems with respect to dynamic system properties, such as timing and resource usage. This can make software mainetnance more predictable with respect to time-to-market and development costs, since timing errors can be identified early and avoided. The contribution of the paper is the modeling process, the Hybrid Model Extraction method and an interactive modeling tool, MASS, designed to support Hybrid Model Extraction of large implementations in C.

[1]  Wang Yi,et al.  Modelling and analysis of a commercial field bus protocol , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[2]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[3]  Gerard J. Holzmann,et al.  An Automated Verification Method for Distributed Systems Software Based on Model Extraction , 2002, IEEE Trans. Software Eng..

[4]  Hans A. Hansson,et al.  Automatic Generation and Validation of Models of Legacy Software , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[5]  Johan Andersson,et al.  Modeling the temporal behavior of complex embedded systems : a reverse engineering approach , 2005 .

[6]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

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

[8]  Anders Wall,et al.  A Framework for Analysis of Timing and Resource Utilization targeting Complex Embedded Systems , 2006 .

[9]  Anders Wall,et al.  Introducing Temporal Analyzability Late in the Lifecycle of Complex Real-Time Systems , 2003, RTCSA.

[10]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[11]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[12]  Alan Burns,et al.  Fixed priority pre-emptive scheduling: An historical perspective , 1995, Real-Time Systems.

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

[14]  Anders Wall,et al.  Architectural Modeling and Analysis of Complex Real-Time Systems , 2003 .

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

[16]  W. Tindell AN EXTENDIBLE APPROACH FOR ANALYSING FIXED PRIORITY HARD REAL-TIME TASKS , 1994 .

[17]  Joel Huselius,et al.  Model synthesis for real-time systems , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[18]  Stavros Tripakis,et al.  Kronos: A Model-Checking Tool for Real-Time Systems , 1998, CAV.

[19]  Anders Wall,et al.  Decreasing Maintenance Costs by Introducing Formal Analysis of Real-Time Behavior in Industrial Settings , 2004, ISoLA.

[20]  Alan Burns,et al.  An extendible approach for analyzing fixed priority hard real-time tasks , 1994, Real-Time Systems.

[21]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[22]  Joseph Sifakis,et al.  Building models of real-time systems from application software , 2003, Proc. IEEE.

[23]  Anders Wall,et al.  Probabilistic simulation-based analysis of complex real-time systems , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[24]  Hong Yan,et al.  DiscoTect: a system for discovering architectures from running systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[25]  Conrado Daws,et al.  Two examples of verification of multirate timed automata with Kronos , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[26]  Johan Moe,et al.  Using execution trace data to improve distributed systems , 2002, Softw. Pract. Exp..