Abstract
Computer systems being embedded in some larger system
or piece of equipment face a number of special constraints that are — at
least in this combination and strictness — unusual for conventional desktop
systems. Embedded systems are typically determined by a particularly high
cost pressure, a long product life-cycle, tight real-time requirements, and
strict reliability requirements. As a result, the respective solutions have
to be optimized for business-driven and life-cycle factors rather than for
maximum computing throughput, not least resulting in far-reaching effects
on the required system software support. Especially the inherent scarcity
of computing resources calls for carefully optimized run-time platforms
which provide exactly the functionality needed by the individual application,
and which exhibit exactly those nonfunctional properties expected by the
application. A rapid development of such tailored run-time platforms is a
crucial factor for short time-to-market cycles and has consequently become
a major concern for the construction of embedded systems in general. The
importance of efficient development processes for tailored system software
might be even more obvious when considering the fact that designs for
embedded applications are typically not unique but form the basis for a
whole family of products with each product requiring a slightly different
platform. Conventional approaches to increasing development efficiency
based on the reuse of black-box components or even on the reuse of complete
systems without specific adaptations are far from giving appropriate answers
in this context.
This thesis presents a new software technology allowing
for a strongly tool-supported development of tailored run-time platforms,
and it especially addresses the questions of how to control the platform
development process by application requirements. The proposed generative
approach is based on the concept of reusable generic software components
and the deployment of generator techniques to customize these components.
Generic components are pre-fabricated building blocks designed to be easily
tailored for the solution of specific problems, exposing so-called generic
parameters which allow to later adjust both functional and nonfunctional
properties that have been left variable explicitly. Based on appropriate
parameter values, generators mechanically instantiate generic components
to customized software elements exhibiting the desired properties. The component
selection and configuration process is ultimately controlled by heuristics
mapping requirements to run-time platform solutions. In this context, the
technique of Extended Design Spaces allows to capture such design rules in
a semi-formal way and to partly automate the development process.
|
|
L. Baum:
A Generative Approach to Customized Run-time Platforms;
Shaker Press, 2001; ISBN 3-8265-8966-1.
"Best Ph.D. Thesis in
Software Engineering" Award 2001
Download PDF:

184 pages, 1.9 MB
|