Download INSTITUT F¨UR INFORMATIK CASE Tools for Embedded Systems

Transcript
3.2. MODELING THE SYSTEM
31
a message until the message is accepted by the receiver. With message
asynchronous communication, the sender of a message is not influenced by the receiver of the message; the receiver will always accept
the message. This is either the case with buffered communication where
the receiver buffers unread message until consumption or with signalbased communication where unread messages are overwritten by new
arriving messages.
Time Synchronization: This form described the synchronization of the
actions of different components. In event-driven systems, behavior is
triggered by the occurrence of events; in time-driven systems, behavior is triggered by the passing of time.2
The applied tools use different combinations of those synchronization aspects:
Artisan: Method-based, event-driven: Artisan uses a method-based communication model. The exact interpretation of the method call (message-asynchronous or message-synchronous) is left open and depends
on the implementation platform. Since objects are activated by communication events, the model operates in an event-based fashion.
ASCET-SD: Signal-based, time-driven ASCET-SD uses a signal-based communication. Time synchronization usually is performed time-driven
with individual rates for the components; additionally, there are some
predefined events like interrupts.
AutoF OCUS: Signal-based, time-synchronized event-driven: AutoF OCUS
uses a signal-based communication. Concerning time-synchronization
it uses a hybrid model. Communication is performed in a synchronized manner: all components communicate in a time-driven roundbased scheme with a global time-rate for all components. Within
each round events for occurrence of a message as well as as the nonoccurrence can be detected.
Matlab/Stateflow: Signal-based, time-driven Matlab/Simulink use a signal-based communication. Time synchronization usually is performed
time-driven with individual rates for the components; additionally,
there are some predefined events like function calls, or value changes
(rising/falling edges).
2
Note that from a formal point of view event-driven systems can be transformed into
time-driven system and vice-versa, either by adding timing events or by adding explicit
absence events; however when considering additional restrictions like idle-load or efficient
simulation, those transformations are not always suitable.