ABBs: Atomic Basic Blocks
Motivation
In the normal case, real-time computing systems have to handle
one or more events in a timely manner. Depending on the
particular application event handlers can process these events
either in isolation or in a cooperative way. As soon as the
handling of an event is carried out in cooperation of one or
more event handlers, these event handlers have to be
coordinated in order to obey e.g. input/output
dependencies. This means dependencies among different event
handlers have to be established. The methods to establish
dependencies, however, differ a lot in time-triggered and
event-triggered systems. In time-triggered systems the focus
is on calculating an appropriate schedule offline that meets
these dependencies implicitly. Though, usually this is not
possible with event-triggered systems and explicit means are
required to ensure e.g. mutual exclusion. These different
approaches also impose quite different execution semantics -
on the one hand run-to-completion semantics is employed in
time-triggered systems whereas event handlers can also block
in event-triggered systems - making the exchange of
application code between time-triggered and event-triggered
systems laborious. Thus, this research project deals with the
extraction of such dependencies from existing applications and
the conversion between their explicit and implicit
representations.
Major Goals and Questions
The ambitious goal of this research project is to provide an
(semi-)automativ conversion of dependencies that are
explicitly established within event-triggered systems into
implicit dependencies prevalent in time-triggered systems.