Incorporating Time in the Modeling of Hardware and Software Systems: Concepts, Paradigms, and Paradoxes

In this paper, we present some of the issues encountered when trying to apply model-driven approaches to the engineering of real-time systems. In real-time systems, quantitative values of time, as reflected through the duration of actions, are central to the system's correctness. We review basic time concepts and explain how time is handled in different modeling languages. We expose the inherent paradox of incorporating quantitative time-dependent behavior in high-level models. High-level models are typically built before the system is implemented, which makes quantitative time metrics difficult to predict since these metrics depend heavily on implementation details. We provide some possible answers to this paradox and explain how the Timed Abstract State Machine (TASM) language helps address some of these issues.

[1]  Philippe Schnoebelen,et al.  Systems and Software Verification , 2001, Springer Berlin Heidelberg.

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

[3]  David Lorge Parnas,et al.  Software design , 2001 .

[4]  Jan Gustafsson,et al.  Worst-case execution-time analysis for embedded real-time systems , 2003, International Journal on Software Tools for Technology Transfer.

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

[6]  Claus Lewerentz,et al.  "Production Cell": A Comparative Study in Formal Specification and Verification , 1995, KORSO Book.

[7]  Andrea Maggiolo-Schettini,et al.  Time-Based Expressivity of Time Petri Nets for System Specification , 1999, Theor. Comput. Sci..

[8]  P. Galison Einstein's Clocks, Poincare's Maps: Empires of Time , 2003 .

[9]  Oded Maler,et al.  Task graph scheduling using timed automata , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[10]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[11]  Philippe Schnoebelen,et al.  Systems and Software Verification, Model-Checking Techniques and Tools , 2001 .

[12]  International Workshop on Modeling in Software Engineering, MiSE 2008, Leipzig, Germany, May 10-11, 2008 , 2008, MiSE.

[13]  Albert Mo Kim Cheng,et al.  Real-time systems - scheduling, analysis, and verification , 2002 .

[14]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[15]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[16]  Steven M. Stern An extensible object-oriented executor for the Timeliner user interface language , 2005 .

[17]  Guy Leduc,et al.  A Formal Definition of Time in LOTOS , 1998, Formal Aspects of Computing.

[18]  Kristina Lundqvist,et al.  Modeling an electronic throttle controller using the timed abstract state machine language and toolset , 2006, MoDELS'06.

[19]  Kristina Lundqvist,et al.  Automated Verification of Completeness and Consistency of Abstract State Machine Specifications using a SAT Solver , 2007, MBT.

[20]  Kristina Lundqvist,et al.  Verifying Execution Time using the TASM Toolset and UPPAAL , 2007 .

[21]  Niraj K. Jha,et al.  COSYN: hardware-software co-synthesis of embedded systems , 1997, DAC.

[22]  Drew McDermott,et al.  A critique of pure reason 1 , 1987, The Philosophy of Artificial Intelligence.

[23]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.