The following technical report is available from
http://aib.informatik.rwth-aachen.de:
Model-Based Construction of Embedded & Real-Time
Software - A Methodology for Small Devices
Alexander Nyßen
AIB 2009-03
While model-based software engineering - due to its increased abstraction
and its advantages in terms of traceability and analyzability - seems to
be the adequate means to deal with the increased complexity of software
that one faces today, it does not seem to have penetrated all domains yet,
in particular not the one of small embedded & real-time systems. Seeing
this problem caused by the fact that current model-based approaches do not
pay sufficient attention to the rather special technical, organizational,
and economical constraints in the respective domain, this work presents
an approach that explicitly takes these constraints into account.
MeDUSA, a model-based software construction method for small embedded &
real-time systems, is a principal item of the presented solution. To
face the strong technical constraints it was especially designed as an
instance-driven method, not incorporating any object-oriented concepts,
but forcing a class-based design that can be seamlessly transferred
into a procedural implementation, which is still state-of-the-art in
the regarded domain. To guarantee such a seamless transition MeDUSA was
furthermore designed to be a software construction rather than a mere
design method, explicitly also addressing the implementation activities,
and especially the transition from detailed design into source code. Being
organized around the use case concept, the method excels at being very
systematic and - inter alia by facilitating a continuous real-time
analysis - also at being especially aware about the stringent real-
time constraints that have to be faced in the domain of embedded &
real-time systems.
ViPER, the supporting tool prototype, forms the second essential part of
the solution. It offers generic support for MeDUSA's modeling activities
by providing a graphical UML modeling environment, as well as special
support for the specification and simulation of narrative, textual use
case details. It furthermore demonstrates dedicated methodical support by
embedding a hypertext documentation of MeDUSA's definition, by providing
implementations of the MeDUSA UML profiles and model constraints,
and by offering dedicated wizards to support the execution of certain
MeDUSA tasks.
Together with their underlying languages, the Unified Modeling Language
as well as the ANSI-C programming language, MeDUSA and ViPER thus form
an integrated methodology, which is founded on shared concepts and
principles. Especially developed to address above quoted constraints,
the methodology is applicable to a domain, which has pretty much been
elided so far.