Simulating real-time software components based on logical execution time

Real-time software components based on the logical execution time (LET) paradigm exhibit equivalent observable behavior independent from the execution platform respectively the simulation environment. Thus, LET ensures a perfect match between simulation and execution on a potentially distributed hardware without having to consider platform specific details already in the application model. Especially for complex multi-mode multi-rate systems, a virtual machine (VM) is the favored approach to ensure the correct timing behavior. Simulation environments typically provide a trigger mechanism that allows for implementing such a VM. This paper discusses data dependency problems that may arise when simulating LET-based components and which considerably limit the applicability of existing approaches in practice. The identified shortcomings concern components with cyclic data flow, control loops involving plants without delay, and the combination of LET-based and conventional components. We present an execution mechanism based on a 2-step 3-phase VM architecture that overcomes these limitations. The presented approach is implemented in MATLAB/Simulink and applicable for mixed time- and event-triggered systems.

[1]  Emilia Farcas,et al.  Hyperperiod bus scheduling and optimizations for TDL components , 2007, 2007 IEEE Conference on Emerging Technologies and Factory Automation (EFTA 2007).

[2]  Edward A. Lee,et al.  Leveraging synchronous language principles for heterogeneous modeling and design of embedded systems , 2007, EMSOFT '07.

[3]  Wolfgang Pree,et al.  Visual and interactive development of hard real-time code , 2003 .

[4]  P.J. Mosterman,et al.  Using interleaved execution to resolve cyclic dependencies in time-based block diagrams , 2004, 2004 43rd IEEE Conference on Decision and Control (CDC) (IEEE Cat. No.04CH37601).

[5]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[6]  Alberto L. Sangiovanni-Vincentelli,et al.  Correct-by-construction transformations across design environments for model-based embedded software development , 2005, Design, Automation and Test in Europe.

[7]  Karl-Erik Årzén,et al.  TrueTime: Real-time Control System Simulation with MATLAB/Simulink , 2003 .

[8]  Thomas A. Henzinger,et al.  The embedded machine: predictable, portable real-time code , 2002, PLDI '02.

[9]  Stefan Resmerita,et al.  Simulation of LET Models in Simulink and Ptolemy , 2008, Monterey Workshop.

[10]  A. Naderlinger,et al.  Model-Driven Development of FlexRay-Based Systems with the Timing Definition Language (TDL) , 2007, Fourth International Workshop on Software Engineering for Automotive Systems (SEAS '07).

[11]  Emilia Farcas,et al.  Transparent distribution of real-time components based on logical execution time , 2005, LCTES '05.

[12]  Wolfgang Pree,et al.  Virtual execution environment for real-time TDL components , 2007, 2007 IEEE Conference on Emerging Technologies and Factory Automation (EFTA 2007).

[13]  Wolfgang Pree,et al.  Simulink Integration of Giotto/TDL , 2004, ASWSD.

[14]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[15]  Luca P. Carloni,et al.  Modeling Techniques, Programming Languages, and Design Toolsets for Hybrid Systems , 2004 .

[16]  Ben Denckla,et al.  Many cyclic block diagrams do not need parallel semantics , 2006, SIGP.