Modeling and simulation of embedded real-time software

University essay from Luleå/Systemteknik

Abstract: Model-based design has been successfully used for development of general-
purpose software systems and it is known to reduce the number of errors,
shorten development cycles and thereby decrease overall development costs.
As the complexity of embedded software systems has been steadily increasing,
attempts have been made to introduce model-based design into the realm of
embedded system development. However, this process has been slow and ridden
with difficulties.

It can be argued that the factors adversely affecting the method’s
applicability include the absence of models capable of capturing
functionality of both software and hardware, as well as the absence
of adequate modeling of timing behavior. There is thus a clear need for a
new modeling approach that would address these shortcomings.

One solution is offered by the modeling and programming language Timber.
This reactive, highly concurrent, object-oriented language is primarily
targeting development of real-time embedded systems. It can be used to
specify and model functional and timing behavior of a system, including
both its software and hardware parts. Timing requirements can be
incorporated in a Timber model in the form of timing constraints on
reactions at both object and system levels.

The present work investigates modeling of embedded real-time software using
executable Timber models, and suggests a method for simulation of Timber
models in Simulink, a widely used tool for modeling and simulation of multi-
domain dynamic systems. Applicability of the proposed approach is
demonstrated in a case study of an anti-lock braking system controller.

The results presented in this thesis open for simulation of Timber models of
embedded software together with a wide range of simulators of discrete and
continuous systems that can be co-simulated with a Simulink model, and even
together with real hardware (so-called hardware-in-the-loop simulation). In
the proposed simulation setting, the specification of timing behavior of a
software system as expressed in its Timber model can be observed, allowing
to adjust the specification to achieve intended system behavior. This
introduction of verifiable timing properties into simulation, together with
the true identity between the code used for simulation and the code
used for realization (both can be derived from the same executable Timber
model) should greatly simplify the design process and make the resulting
system more reliable.

  CLICK HERE TO DOWNLOAD THE WHOLE ESSAY. (in PDF format)