Sie sind auf Seite 1von 14

IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO.

2, MARCH 2004 279

Multiparadigm Modeling in
Embedded Systems Design
Klaus D. Müller-Glaser, Member, IEEE, Gerd Frick, Member, IEEE CS, Eric Sax, and Markus Kühl, Member, IEEE

Abstract—Embedded electronic systems for monitoring and reactor, passenger car, airplane, internal cardiac pacemaker,
control of technical processes (electronic control unit—ECU) microwave oven, mobile phone, digital camera, etc.). Being
are systems comprised of heterogeneous components (hardware, embedded an ECU is always a part of a larger system and,
software, sensors, actuators, power electronics), thus making high
demands on their development. Describing different aspects and usually, is not directly visible as an electronic system to the
views of the whole system, subsystem, or component requires human operator [1], [2]. Embedded systems demand for true
according modeling paradigms for requirements specification, system integration, which means integrating the complete ECU
design, hardware implementation, software code generation, or a large part of it onto a single integrated circuit, a small
verification, integration, and testing. The first part of the paper ceramic substrate, or a flexible printed circuit board housed
surveys characteristic ECU features and describes a design
strategy and the related technology, bringing out the necessity in an application specific formed package with application
of multiparadigm modeling. Examples from automotive ECU specific interconnects to its environment [Fig. 1(b)]. ECUs are
applications are used throughout the paper. With respect to heterogeneous systems [Fig. 1(c)] as they incorporate digital
the problem that currently available tools provide insufficient and analog microelectronic circuitry, power electronics, various
support, integration strategies for multiparadigm modeling based sensors and actuators, as well as software (application software
on multiple tools are surveyed in the second part, concluding with
examples from our own research activities. and a real-time operating system) running on a standard hard-
ware platform using microcomputers, digital signal processors,
Index Terms—Automatic programming, code generation, code and field programmable arrays. Safety critical applications,
integration, embedded systems, executable specifications, model-
based design, model integration, modeling, multiparadigm mod- hard real-time requirements, and tough operating conditions
eling, software requirements and specification, tool integration. in a harsh environment (automotive, aerospace, incorporated
medical equipment) are other typical constraints for embedded
systems.
I. INTRODUCTION Although the design of complex ECUs has been accom-
plished for many years the miniaturization and integration of
M ULTIPARADIGM modeling is a need for the design of
embedded electronic systems. To motivate, we will first
introduce characteristic features and show a typical example of
mechanical and optical system components results in decreased
system dimensions and increased system compaction. This
distributed embedded electronic systems in the automotive in- mandates the consideration of parasitic effects and device
dustry. As those embedded systems are comprised of heteroge- interactions (e.g., dependencies of actuator or sensor charac-
neous components (hardware, software, sensors, actuators, and teristics on thermal coupling with components having high
power electronics) we need a system design flow with an ac- power dissipation; electromagnetic compatibility (EMC) and
cording meet-in-the-middle design strategy supporting system more general biological, chemical, and physical compatibility
design as well as component design. Describing different as- (BCPC); reliability issues of safety related systems such as
pects and views of the whole system, subsystem or component pacemakers or an automotive airbag release system). The mani-
from requirements specification to design, verification, imple- fold interactions, cross sensitivities, and the complexity of both
mentation, integration, testing and finally production requires the overall system and the heterogeneous system components
different modeling paradigms. mandates an exhaustive use of computer-aided tools, e.g., for
Embedded electronic systems are mainly used for measure- systems engineering, software engineering, design, and testing
ment and control functions (electronic control unit—ECU) in (CAE, CASE, CAD, CAT).
any kind of technical processes (e.g., controlling a chemical A typical example for the use of embedded systems for
measurement and control (closed loop as well as reactive) is
the automotive industry where, in a luxury car, more than 70
Manuscript received May 24, 2002; revised March 24, 2003. Manuscript ECUs serve for safety and comfort functions [Fig. 1(a)]. Those
received in final form October 1, 2003. Recommended by Associate Editor
P. Mosterman. ECUs communicating over a CAN-Bus class C (controller
K. D. Müller-Glaser is with the Institute for Information Processing Tech- area network—CAN, 1 Mbit/s [3]) are dealing with such
nology (ITIV), University of Karlsruhe, 76128 Karlsruhe, Germany (e-mail: functions as power train control, motor management, gear con-
kmg@iniv.uni-karlsruhe.de).
G. Frick and M. Kühl are with FZI Forschungszentrum Informatik, Depart- trol, suspension control, airbag release, anti-blocking brakes,
ment of Electronic Systems and Microsystems, 76131 Karlsruhe, Germany and electronic stability program. These ECUs implement
(e-mail: frick@fzi.de; kuehl@fzi.de). closed-loop control functions as well as reactive functions
E. Sax is with IMH GmbH, MBtech Group, Stuttgart, 71063 Sindelfingen,
Germany (e-mail: Eric.Sax@mbtech-group.com). and do have many safety critical hard real-time constraints
Digital Object Identifier 10.1109/TCST.2004.824340 (thus running a standardized real-time operating and network
1063-6536/04$20.00 © 2004 IEEE
280 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO. 2, MARCH 2004

Fig. 1. Electronic control units.

management system like OSEK/VDX [4]). The so-called body given in formal notations (graphical or language based), thus
electronics serve the comfort functions like air conditioning, “design by specification,” executable specifications, model
power window and seat control, internal/external light control, based design, and CASE tool usage are the key words.
lock and alarm functions, voice command system, parking Thus, in Section II of the paper, we will discuss the overall
aids, etc. These ECUs are mainly reactive systems with only system design cycle and why multiparadigm modeling is
a few closed-loop control functions, they communicate via needed. Section III will show models of computation, lan-
CAN-bus Class B (100 Kbit/s) and they have only soft real-time guages, and tools of different paradigms used for modeling.
requirements. The fastest bus system is the optical data bus Section IV will explain different integration strategies for
(D2B, MOST, Firewire, 100 Mbit/s) for connecting the on multiparadigm modeling based on multiple tools. Finally, in
board entertainment/office system (video, sound, phone, global Section V, some application examples for different strategies
positioning system, mobile office functions, etc.). These ECUs implemented in our own research activities will be given.
are software intensive, incorporating millions of lines of code.
All these different buses are connected through a central II. EMBEDDED SYSTEM DESIGN
gateway, thus enabling the communication of all ECUs.
A. Design Flow
The challenge for the design of these distributed and net-
worked control units is to find and define all requirements As outlined in the previous section, the rising complexity and
and constraints; to understand and analyze those manifold heterogeneity of applications and the quality and safety con-
interactions between the many control units, the car and the sidering real-time requirements demand a seamless component
environment (road, weather, etc.) in normal as well as stress and system design flow. Various lifecycle models [6] exist; es-
situations (crash); to perform failure mode and effects analysis; pecially the V-model [5] is adequate for embedded systems.
and to ensure fail safe and fail operational units for safety critical Starting from requirements definition the phases of this lifecycle
functions within a development process, which is concurrent and model are
distributed between the automotive manufacturer and several • system analysis;
suppliers. This requires a well understood life-cycle model, a • specification;
strictly controlled design methodology (like the V-Model [5]), • HW/SW partitioning;
and using computer aided engineering and design tools to its • preliminary design;
largest extent. The aerospace as well as the automotive industry • detailed design;
recognized that most of the problems and errors occurring • component implementation;
during the design of an ECU are directly or indirectly related • component test;
to requirement specifications, which too often are incomplete, • component integration;
inconsistent, or even wrong. As requirement specifications • module test;
today are mostly given in sentences of a natural language within • system integration;
a voluminous written document, too often requirements are • system test for system deployment.
interpreted differently by the original equipment manufacturer An adapted example of this process is shown in Fig. 2 for the
and the supplier. Since the mid 1990s, the industry realized automotive industry. After the deduction of a specification from
that, whenever possible, requirement specifications should be the requirements by means of modeling system functions and
MÜLLER-GLASER et al.: MULTIPARADIGM MODELING IN EMBEDDED SYSTEMS DESIGN 281

Fig. 2. The approach of a seamless design flow from idea to realization.

system behavior mostly based on a graphical notation, a first, B. Meet-in-the-Middle Design Strategy for System Versus
still abstract, executable prototype of the system can be imple- Component Design
mented. This executable model can be simulated on the desktop
Today, a large variety of very powerful domain specific
level, for the sake of early requirements validation. Using a high
computer aided design, simulation, analysis, and test tools
performance “rapid prototyping hardware platform,” an initial
provide support for the development of components such as
implementation of specified functionality and behavior of the
digital and analog microelectronics, software, mechanical sen-
ECU under design can be carried out under real time condi-
tions in an already existing car to further prove the concept. This sors and actuators, or optical components. There are also tools
way, an “executable specification” embedded into the real en- available that support system-level design and analysis (see
vironment exists. HW/SW partitioning, preliminary (raw) and below and Section III). However, most of these tools are in-
detailed (fine) design are furthermore challenging tasks. The in- dividual tools (point tools); there are no or few interface stan-
tensity of this phase depends on whether or not implementation dards, no common data bases, no common user interfaces,
requirements have been defined in advance to lead to a specific and there are some gaps for important design steps, espe-
target based on standard hardware components as micro-con- cially in early system design phases (requirements engineering,
trollers, digital signal processors, field programmable gate ar- tradeoff studies, performance estimation, cost estimation, etc.).
rays, or application specific integrated circuits. Regarding soft- Due to the complexity of heterogeneous embedded system de-
ware implementation for embedded micro-controllers manual sign, we believe that there will be no single integrated de-
coding should be replaced step-by-step by automated code gen- sign system capable of handling all requirements for designing
eration. So, in the near future, code generation for dedicated and verifying the complete heterogeneous embedded system,
target controllers and operating systems (e.g., OSEK/VDX in the system components and packaging, and interconnects. Be-
the automotive area [4]) will be a major focus of the implemen- tween system design tools and the various component design
tation and integration phases. tools, well-defined interfaces and standards for methodology
Thus, executable specifications are used to reduce misinter- and data models are necessary. Most essential is the inter-
pretations in the manufacturer–supplier interface; for early re- face for library data, especially for multiparadigm modeling
quirements validation by system simulation; for proof of con- to allow system simulation. A component designer must pro-
cept by rapid prototyping; and for productivity increase by au- vide parameterized data from component characterization as
tomated target code generation. Specification driven design in accurate as possible and may generate a macro-model as ac-
using executable specification is the major brake through for curate as necessary for the system designer. System designers
enhancing design productivity and design quality. As shown in and component designers exchange information on all critical
Section III, multiparadigm modeling is needed to cover all the parameters necessary in deciding whether or not a specific
different aspects when modeling heterogeneous embedded sys- component is usable for the design of a specific system and
tems. Afore, we need to discuss several aspects between system what the macro-model should look like. Systems engineers and
design and component design. component engineers “meet in the middle” [7] in a coopera-
282 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO. 2, MARCH 2004

tive, concurrent design process, joined by engineers dealing [23] and Rodon [24] (this one, especially, to model
with system integration, packaging, interconnects, as well as diagnosis in technical processes).
parasitics and cross sensitivities. 2) Partial differential equations for modeling behavior
Most crucial is a standardized interface format for models on in space and time, e.g., for mechanical components
system level and component level using description languages like membrane, beam in bending, moving electrodes in
like SABER [8], VHDL-AMS [9], SDL [10], and upcoming lan- electromagnetic fields, thermal or fluidic behavior, etc.
guages like ROSETTA [11], [12] as well as standardized inter- Numerical solutions are calculated by finite-element
face formats like CDIF [13], EDIF [14], STEP [15], XML [16], methods (FEM). Popular FEM simulators are ANSYS
or XMI [17]. [25], FLOTRAN, NASTRAN, ADAMS.
So for embedded system design, we find a large variety of Wherever possible, due to the very long computing
abstraction levels, components and aspects that cannot be sup- times, FEM analysis is run without interaction to other
ported by only one language or tool. The paradigms of modeling simulators. Results are analyzed and used to construct
for example continuous versus discrete systems, describing as- more abstract models (macro-models) for ordinary dif-
pects of performance versus pure functionality or diagnosis rel- ferential equation simulators (e.g., MAST, VHDL-AMS,
evant information are too diverse. As a consequence, currently, MATLAB/Simulink).
neither a single commercial tool nor a single language standard 3) Finite-state machines, statecharts, Petri nets for discrete-
supports the complete chain from system design to component event modeling mainly for describing reactive sys-
production with all its aspects. Multiparadigm modeling and de- tems (simulators are, e.g., GPSS, Statemate MAGNUM
sign is the answer and sensible integration and combination ap- [26], MATLAB/Stateflow) or digital circuitry (VHDL
proaches must be performed. Tool coupling, model exchange, Leapfrog [27], VSS [28], Verilog [29]).
model integration, and automated code generation will be dis- 4) Stochastic models, probability distributions, Markov
cussed next as the key topics to reach the goal. chains to describe and analyze system performance.
According simulators are HyPerformix Workbench [30]
III. HETEROGENEOUS MODELING IN EMBEDDED and Foresight [31] for queuing problems, VCC [27]
SYSTEM DESIGN for hardware/software performance analysis, SDT/SDL
[10], COSSAP [28], and SPW [27] for communication
A. Modeling Paradigms and Supporting Tools network analysis.
Several notations exist for modeling each of the partial as- 5) UML [32] based descriptions for software-intensive
pects along the complete design flow from requirements to pro- system components (Rhapsody [26], Rational Rose
duction. Each of them describes the system from a different Real-Time [33], ARTiSAN Real-Time Studio [34] are
point of view; but none of them covers all aspects. As a result, software engineering tools which support UML with
executable specifications for embedded systems are based on real-time constraints and automatic code generation;
multiparadigm modeling. Rational Rose Real-Time is based on ROOM [35]).
There are five major modeling paradigms for embedded sys- For simulating embedded systems, both the ECU as well as
tems, each supported by dedicated tools. the real environment must be modeled. Depending on what is
1) Ordinary differential equations (linear and nonlinear) modeled and what is real, we call it
to model conservative systems or components having [“software-in-the-loop”] ECU as well as the real environ-
“across” and “through” quantities (continuous in value ment is modeled (for early system validation);
and time) like voltage and current in electrical systems, [“rapid prototyping”] Real environment exists, ECU is
speed and force in mechanical systems, temperature and modeled (for early proof of concept);
heat flow in thermal systems, or pressure and volume [“hardware-in-the-loop”] ECU exists, real environment is
flow in hydraulic systems. For all these systems, conser- modeled (for exhaustive characterization of ECU).
vation laws apply (e.g., Kirchhoff’s law). These models In the automotive industry for example, models are required
are used for describing analog electrical networks of the for many different functions (telematics, measurement and con-
ECU or the mechanical behavior of the whole car or of trol, technical processes) developed on different levels of ab-
some mechanical components. Such simulators include straction so that proof of concept can be accomplished within
MATLAB/Simulink [18] and MatrixX/Systembuild three different design phases in using rapid prototyping (Fig. 3;
[19] with graphical user interfaces; the language based prototype A: concept oriented, prototype B: architecture ori-
SABER [8], VHDL-AMS [9], and SPICE [20]; the ented and prototype C: target oriented), thus requiring code gen-
equation based ACSL [21] or the language and equation eration for rapid prototyping as well as production code.
based Modelica [22]. Instead of natural language textual descriptions, requirement
Ordinary differential equations (linear and nonlinear) specifications should be given as executable model based
to model nonconservative systems like closed-loop specifications whenever possible. To manage complexity,
control functions in system control or signal pro- hierarchical structuring of complex embedded systems in a
cessing algorithms. According simulators, all having divide and conquer process must be possible (Fig. 4).
user friendly graphical interfaces, are, e.g., MATLAB/ Math formulas, natural language text, hardware description
Simulink with digital signal processing toolbox and com- languages and graphical notations are used for the modeling
munication toolbox, MatrixX/Systembuild, ASCET-SD paradigms mentioned above. However, preferred are graphical
MÜLLER-GLASER et al.: MULTIPARADIGM MODELING IN EMBEDDED SYSTEMS DESIGN 283

Fig. 3. Simplified automotive V-model.

duce a standard modeling language or another multiparadigm


approach that covers both aspects [37].

B. Aspects of Code Generation


Commercial CASE1 tools currently support certain levels of
the complete design flow from requirements to product and di-
agnosis. DOORS [38] for example is a widely used tool for
(text-based) requirements engineering. Frequently used mod-
eling tools are shown in Fig. 5.
After modeling is finished, validation through simulation is
the next task, followed by code generation. As the complexity
of embedded electronic systems is rising steadily, the extent of
the required code is increasing rapidly whereas time to market
is decreasing. Manual coding is reaching its limits to handle
Fig. 4. Hierarchical structuring of a complex system. this complexity. Therefore, a reuse of the models that have al-
ready been proved by simulation to a high extent is a solution.
notations such as those shown in Fig. 5. For the modeling of con- That implies an automated step from modeling to code. Auto-
tinuous systems signal flow diagrams are the medium of choice mated code generation for the real target (production code) is a
(Fig. 5, left side). The algorithmic expressions for open- and challenge, as the requirements include not only functional cor-
closed-loop control (system of ordinary differential equations) rectness, but memory efficiency (ROM/RAM sizes) and runtime
can be graphically represented by combinations of blocks pro- performance (timing correctness) as well. Rapid prototyping is
vided by tool specific libraries (often called “tool-boxes”). Hi- used for an early proof of concept (Figs. 2 and 3, prototype A),
erarchical descriptions are supported and even the integration the code being generated is targeted to a powerful and highly
of user defined blocks (e.g., manual written expressions or even expensive rapid prototyping platform, and thus this “prototype
code) is feasible. code” does not need to be optimized like “production code.” Our
Body control systems as communicating, reactive, and investigations show prototyping code is up to four times bigger
state-based systems can be described using message sequence than manually written target code, and the high performing rapid
charts (Fig. 5, top right) and statecharts [36] which enhance prototyping hardware platform is too expensive for high volume
traditional state-machines by hierarchy, concurrency, and production.
event broadcasting. Other descriptions exist for performance Thus, only generated code that is optimized for a certain
modeling or diagnosis (Fig. 5, bottom right). target controller may be labeled as a kind of “production code.”
Statecharts for reactive systems and data flow graphs for Optimization affects, e.g., numerical data types and arithmetical
closed-loop control systems are de facto standards. However, operations for micro-controllers without a floating-point unit
it is hard to unify them in a single tool, because the according and variable allocation and memory management. Furthermore,
simulator kernel that interprets the modeling language follows language features causing a dynamic overhead at runtime (like
specific solution algorithms (i.e., discrete event modeling virtual methods causing dynamic binding in object-oriented
for reactive systems versus continuous system modeling in languages like C++) have to be omitted. As of today, automated
closed-loop control). There is a specific model of computation code generators usually produce more lines of code and the
behind the language (see Section III-C). Simulator kernels code is less efficient in comparison to code written by an
today are optimized for either discrete event or continuous
modeling. Nevertheless, there exists increasing effort to intro- 1Computer Aided Systems/Software Engineering
284 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO. 2, MARCH 2004

Fig. 5. Graphical notations for closed-loop control, reactive, and diagnostic functions.

experienced programmer [39]. Regarding data size, code Testing the performance in an early design phase can addi-
generators do not always choose the smallest possible word tionally reduce late-detected and, therefore, cost-intensive prob-
length to cover the desired accuracy. Often, additional manual lems tremendously. The design of system models by means of
coding remains necessary for the integration of operating extended directed graphs with queuing, supported for example
system or hardware specifics. Furthermore, the integration of by HyPerfomix Workbench [30], is an adequate solution to gain
several micro-controllers into an interacting network requires information on simulation level about these aspects.
the integration of communication code in terms of a concrete As pointed out, a large variety of powerful but domain-spe-
communication protocol. Here, seamless tool support is still cific computer aided design tools for requirements engineering,
lacking. However, we are optimistic that next generation of simulation, analysis, testing, and diagnosis provide support for
tools will reduce the current deficits tremendously, and even the development of embedded systems’ components. However,
today, tools like ASCET-SD [23], Rhapsody-in-MicroC [26] these are individual tools (point tools) that view the system only
and TargetLink [40] (the latter in combination with MATLAB) from a specific angle and do not cover all the aspects needed to
support the automated production code generation in an already perform an optimal result.
acceptable way and point the way ahead. As already shown in Section II, due to the complexity of
Diagnosis is mainly a matter of finding the source of errors in embedded system design, today it is an accepted fact that a
the test phases or in ordinary use. Being able to simulate diag- single integrated design environment capable of handling all re-
nosis functions already in early system modeling and simulation quirements for designing and verifying the embedded system
phases implies major benefits in order to better understand and does not exist. In addition, nowadays, there are only a few de-
simplify the diagnosis functions when the system is maintained sign standards and no common repositories in use. Furthermore,
at the user’s site. Failure mode and effects analysis (FMEA), tol- from the users’ points of view, CASE tools do not release the
erance definitions and the preparation of an onboard-diagnosis developers’ decision when to make which step to create their
are therefore techniques to be run in parallel to the other men- design [41]. Many current CASE tools are oriented on software
tioned design tasks. Tools such as Rodon [24] are specialized on modeling and construction methods, while not all factors that
that aspect. matter for graphical engineering receive attention [42].
MÜLLER-GLASER et al.: MULTIPARADIGM MODELING IN EMBEDDED SYSTEMS DESIGN 285

For that reason, there exist gaps between important design supporting a wide variety of models of computation. It has
steps in a vertical design chain, especially in early system design a component-based approach, relying on a common abstract
phases from requirements engineering to specification or for the syntax (hierarchical graphs), a common abstract semantics
steps of component integration to the overall system. In addi- (as far as necessary) for domain interoperation as well as
tion, a horizontal unification covering all multiparadigm char- domain-specific models of computation. The latter are defined
acteristics from continuous to reactive modeling, performance in terms of the Java programming model (object-oriented/im-
and cost estimation or test and diagnosis does not exist. Integra- perative, multithreaded) which specifies the underlying basic
tion solutions are needed. Approaches to that will be shown in paradigm all domain-specific paradigms are reduced to. As
the next chapter. of now, Ptolemy II is only a modeling, simulation and design
environment. Code generation capabilities are planned to be
C. Models of Computation added in the future.
Executable models are essentially computer programs con- There are also commercial CASE tools which embody mul-
structed in a high level, preferably graphical language. There tiparadigm languages. The MATLAB [18] tool suite with its
is no principle difference between constructive modeling lan- Simulink/Stateflow system modeling environment integrates a
guages and programming languages, except that the models of continuous time and (multirate) discrete time model of com-
computation are more specialized. There is a variety of models putation (based on equation solvers) with a discrete event and
of computation reflecting different modeling and programming finite state machine model. The state machine engine is con-
paradigms. For example, the computational model underlying trolled by the equation solver. ASCET-SD [23] is a graphical
both the procedural and the object-oriented paradigm is an im- programming tool dedicated to the development of automotive
perative one, i.e., deals with a sequence of commands manip- ECU software. It has sublanguages for finite state machine and
ulating the contents of value stores (variables). The model of continuous modeling which are strongly linked to the impera-
computation underlying functional languages is basically term tive/object-oriented core language. State machines are consid-
reduction. The execution of logic programs involves symbolic ered higher level imperative control structures, continuous vari-
reasoning. In contrast, embedded systems modeling mostly has able modeling is layered on top of the object-oriented (impera-
to deal with notions of concurrency and time. To this end, a va- tive) model of computation.
riety of models of computation exists including continuous time, The unified modeling language (UML) [32], standardized by
discrete time, discrete events, finite state machines, and commu- the Object Management Group, has gained a lot of interest in
nicating sequential processes [37]. the software engineering community and is respected as a stan-
The state-of-the-art modeling paradigms described in the dard in object-oriented software development. However, it is a
previous section are backed essentially by continuous and unified language mainly in the sense that several competing ob-
discrete time, discrete event, and finite state machine models of ject-oriented methods with their own graphical notations have
computation and are complemented by an imperative “action been compiled into a “standard” visual language for object-ori-
language.” ented modeling. Furthermore, an object-oriented version of stat-
Modeling of hybrid systems, involving more than one mod- echarts [36] is included, where the notion of objects encapsu-
eling paradigm, has to deal with several—two in the easiest lating state and behavior and communicating via messages has
case—models of computation. This can either be done by for- been usefully combined with the finite state machine model. Ca-
mulating one in terms of the other, or by reducing both to a pabilities for expressing real-time behavior are added by means
common underlying primitive computational model, e.g., the of the UML profile for schedulability, performance, and time
imperative model. For more than two paradigms, any combi- [44] and are to become an integral part of the upcoming UML
nation of these two cases is possible. 2.0 standard.
But UML (in the current versions) is expressly only a lan-
D. Multiparadigm Modeling Languages guage for discrete systems; continuous time modeling is out
The most direct and easiest way to apply heterogeneous of the scope of UML ([45, p. 4]). Therefore, on its own it is
system modeling involves modeling languages that have been not sufficient to model open and closed-loop control systems
designed as multiparadigm or unified paradigm languages. as they are typically found e.g., in automotive applications. To
Multiparadigm languages integrate sublanguages of different overcome this situation, while recognizing both the “standard”
paradigms, while unified paradigm languages offer several appeal of UML and the special needs of automotive applica-
paradigms as special cases of a unified “all-in-one” paradigm tions, the German car manufacturer BMW has initiated the de-
which can also be used directly [43]. As observed by Lee et al. velopment of an automotive modeling language (AML), inte-
[37], a unified model of computation covering a wide area of grating subsets of UML and the ASCET-SD modeling language
embedded systems modeling paradigms would be extremely [46]. If successful, the result will be another example of a mul-
complex and difficult to use and synthesis and simulation tools tiparadigm modeling language.
would be difficult to design.
An extensive multiparadigm modeling language is being E. Multitool Design
developed in the Ptolemy project, which studies heterogeneous Despite of the availability of CASE tools with multiparadigm
modeling, simulation and design of concurrent systems with a languages, there are situations where a single modeling lan-
focus on embedded systems [37]. The Ptolemy II system is an guage or tool is insufficient to satisfactorily cover all modeling
extensible modeling environment for heterogeneous systems aspects relevant for a certain application. Therefore, developers
286 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO. 2, MARCH 2004

Fig. 6. Cosimulation.

may want to combine the modeling languages of several point


tools to a “virtual” multiparadigm language. The following two
cases have to be distinguished (assuming the minimum number
Fig. 7. Code integration.
of two modeling tools combined):
1) one model by describing a subsystem complements the
other, resulting in a model of the complete system;
2) two models give different views to the same system (e.g.,
a constructive model for simulation and code generation,
and a derived model for performance analysis or model
based diagnosis).
Tool combinations requested in practice by automotive
industry companies include Statemate MAGNUM with
MATLAB/Simulink and a UML tool with ASCET-SD (case
1) and Statemate MAGNUM and MATLAB/Simulink with
Rodon (case 1, model-based diagnosis).
Multitool design requires an approach to the integration of
heterogeneous models and a corresponding tool integration
Fig. 8. Cosimulation combined with code integration.
technology. Different strategies are discussed in the next
section.
timing mechanisms. The simulation backplane provides the nec-
IV. MULTIPARADIGM MODELING—STRATEGIES essary interpolation mechanisms. Sophisticated solutions with
FOR INTEGRATION so-called optimistic approaches (involving lookahead and roll-
backs in order to improve performance) even work with extrap-
The existing strategies for the integration of heterogeneous olations and predictions [48].
models constructed using different tools fall into the following Cosimulation is a partial solution for model validation across
two categories: tools. It appears to be useful and sufficient especially where sim-
1) integration of operations (analysis, synthesis) on models; ulation is the only purpose of model integration, which is the
2) integration of models themselves via model translation case for the combination of a system model with a model of its
Approaches of the first category are primarily useful for the environment. In this case, only the system model, which is con-
first of the two cases described in Section III-E, i.e., for han- structed completely in one tool, enters into the code generation
dling the integration of a subsystem into a larger system. Both, phase, whereas the environment model is only used for simu-
cosimulation (integrated simulation processes) and coordinated lation. If, on the other hand, both models are constructive and
code generation (integrated code generation processes) belong intended to be used for code generation (e.g., an open-loop con-
to this category; furthermore, cross integrations between simu- trol system connected with a closed-loop one), cosimulation is
lation and code generation are possible. Model translation on the insufficient. Cosimulation is an approach used in current auto-
other hand can be used to approach both of the cases described motive industry projects, such as the one described in [49].
in Section III-E. Different approaches of both categories are dis-
cussed in more detail in the rest of this section. B. Code Integration
Code generation is the second major operation on (construc-
A. Cosimulation tive) models. We assume that every modeling tool has an associ-
Cosimulation lets partial models of a system be simulated in ated code generator. The original situation without tool integra-
different tools and integrates the simulation processes. The ef- tion is that the subsystem codes generated by the different tools
fect is a distributed simulation [47] run by the simulation en- have to be integrated by hand (Fig. 7).
gines of the participating CASE tools and a simulation back- In this situation, the system cannot be validated as a whole be-
plane [48] (see Fig. 6). The backplane is a central co-simulation fore its coding stage. There is a need for early validation, i.e., for
engine mediating between the simulators. simulation. Of course, code integration can be complemented by
Its most difficult task is the synchronization of the simula- cosimulation (Fig. 8). The problem with this is the conceptual
tion processes, which, in case of coupling discrete event and gap between cosimulation and (manual) code integration. Since
continuous systems, means combining two completely different they are not technically related, behaviors may differ.
MÜLLER-GLASER et al.: MULTIPARADIGM MODELING IN EMBEDDED SYSTEMS DESIGN 287

Fig. 9. Black box integration of subsystem code into a system model. Fig. 10. Model encapsulation (coordinated code generation).

C. Code Encapsulation modeled with dedicated tools, while the architectural model rep-
Encapsulation of code as a “black box” submodel is a feature resents the overall system. Code generated by the point tools for
offered by many CASE tools, facilitating both overall system the components is glued together by composition code gener-
simulation and automated code integration (Fig. 9). The sub- ated from the architectural design.
system model is validated in isolation by simulation using the For example, architectural design in the DaVinci Tool Suite
modeling tool dedicated to it and is translated to C code by [50], [51], following the ideas of the TITUS [52] approach, is
the associated code generator. Then, encapsulated as a mono- integrated with modeling of components in dedicated “behav-
lithic submodel, it is integrated into the model of the enclosing ioral modeling tools” (currently MATLAB/Simulink). But, as
system, which is being constructed using another tool. There, of now, DaVinci pragmatically combines model encapsulation
the overall system can be simulated, but without the possibility with code encapsulation (a component entity consists of both a
of stepping into the subsystem. During code generation for the model and the corresponding code generated from it offline) in-
enclosing system, the subsystem code will be automatically in- stead of directly driving component code generation on the fly.
tegrated. This tool integration approach is found even within In the GeneralStore environment developed at ITIV [53]
tool suites of a single vendor. An example of this is the inte- (see also Section V-A), UML is used as the architectural
gration of statemate continuous modeler (formerly known as design language in combination with dedicated tools including
MATLAB/Simulink for behavioral modeling of specialized
VisSim) into statemate MAGNUM (unfortunately for simula-
subsystems. In this approach, model encapsulation is per-
tion only because continuous modeler is not supported by the
formed not only logically but also physically, i.e., resulting in
associated Rhapsody in MicroC code generator).
a single-source representation of the overall model including
the subsystem model. Physical encapsulation is based on
D. Model Encapsulation (Coordinated Code Generation)
syntactical transformation, where component models (e.g.,
In contrast to manual integration of subsystem code (Sec- in MATLAB/Simulink) are represented as UML instance
tion IV-B) and semi-automatic code integration by manual models (using object and class diagrams). By reversing the
encapsulation of subsystem code as a subsystem model transformation, the original subsystem model is retained and
(Section IV-C), model encapsulation completely automates can be fed into the dedicated code generator.
code integration (Fig. 10). An original subsystem model is
encapsulated as an equivalent subsystem model in the modeling E. Model Translation
language of the enclosing system; and the code generation pro- Model translation is the most rigorous approach to integra-
cesses are integrated: Code generation for the enclosing system tion. It can be applied both to subsystem integration and to
drives the code generator for the subsystem (coordinated code the integrating of different views on the same system (cf. Sec-
generation). By leveraging both the driven code generator for tion III-E). In principle, a system model is (syntactically and se-
the subsystem and the techniques known from code encap- mantically) translated from one modeling language to another.
sulation (Section IV-C), coordinated code generation can be A subsystem model is translated to the language used to de-
complemented with overall system simulation. scribe the enclosing system and then is included into its con-
It is clear that the “master” tool in this scenario has to know text. The result is a homogeneous overall model, and one tool
about the “slave” tool. This is different from an integration of chain can be used for further processing of the complete system
two independent tools as by, e.g., a simulation backplane (see (Fig. 11); the other tool is used as a front end for developing the
Section IV-A). subsystem model with a domain-specific language. With two
As a special case, which arises due to increasing interest in different models of the same system (e.g., one for construction
software architectures in the field of embedded software, co- and one for diagnosis purposes) sharing some information (e.g.,
ordinated code generation can be applied to software architec- structural), an initial frame of one model can be generated from
ture models integrated with component models. The compo- the other (to be complemented manually with the information
nents take the role of subsystems in the above scenario and are specific to that model).
288 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO. 2, MARCH 2004

Fig. 11. Model translation. Fig. 12. Model translation via intermediate language.

Defining complete, semantics-preserving translations (as For example, the different model translators developed in
required for subsystem translation) is far from an easy task. the COMTESSA project are based on a multiparadigm inter-
Mappings between two high-level modeling languages are mediate language called Extensible Formal Language (XFL)
almost necessarily difficult due to a conceptual mismatch, for tool-independent model representation. A high-level model
otherwise there would be no need for multiparadigm modeling translation (within the same paradigm) carries the source model
at all. Therefore, a reasonable application of model translation (Simulink or Statemate) to an intermediate model (XFL). A
is from a higher level to a more basic paradigm, e.g., from reductive translation to another paradigm for the purpose of
differential-algebraic equations to imperative algorithms. Such subsystem integration (from Simulink to Statemate only) is
a “reductive” model translation is basically an abstract variant performed within the intermediate language, whence the target
of code generation. This approach has been implemented, for model is generated; diagnosis models (Rodon) are directly
example, in the COMTESSA project at FZI [54] to realize generated from the intermediate representation (Fig. 12). The
MATLAB/Simulink to Statemate MAGNUM subsystem
approach and the design principles of XFL have been described
integration. Here, discrete-time Simulink models are reduced
in [57] (see also Section V-B).
to basic activities with action language mini specs. Another
More generally, intermediate languages may be used to share
example is the DES/M modeling environment, where discrete
the back end of a tool chain for several front ends. As another
event models are translated into Modelica components [55].
example, CASE data interchange format (CDIF) [13] is used
The advantage of reductive model translation when com-
pared to code encapsulation is that the integrated subsystem is by [58] as the input language of a rapid prototyping tool chain.
a model itself, not a black box. Thus, white-box simulation of Converters from commercial CASE tools, used for model cap-
the subsystem within its environment is possible. Furthermore, turing and simulation, to CDIF complete the chains. In this sce-
the target code generator can optimize the system globally. nario, the subsystems of heterogeneous systems modeled with
For example, a subsystem that is applied with constant inputs multiple tools dedicated to specific modeling paradigms can be
may be reducible to a form simpler than the general form with integrated on the CDIF level.
variable inputs that has to be assumed when subsystem code A major advantage of XFL over CDIF as an intermediate
is generated in isolation (the general principle is known as language is its language design, which is influenced by pro-
partial evaluation [56]). A presupposition for this, of course, gramming language theory. It tightly integrates the different
is that model translation itself is not a prevailing source of paradigms (e.g., special effort has be spent on layering a discrete
inefficiencies. time computation model on top of the imperative computation
Model translation between system views has been im- model, resembling the way code generators typically compile
plemented, for example, in the COMTESSA project for the discrete time models to C code) and enables effective reduction
purpose of model-based diagnosis. From constructive system techniques based on partial evaluation.
models (MATLAB/Simulink or Statemate MAGNUM), skele-
tons of diagnosis models (Rodon) are generated.
V. APPLICATION EXAMPLES
F. Multiparadigm Intermediate Languages The authors and their colleagues have been working on
Model translation can be combined with multiparadigm inter- implementations of different integration strategies supporting
mediate languages in order to efficiently handle multiple inte- multiparadigm modeling; some of the projects have been men-
gration constellations. Instead of bilateral model translators ex- tioned in Section IV. In the following, examples are given for
plicitly linking two specific tools, models are translated to and two recent activities. The first follows the model encapsulation
from and within a tool-independent intermediate modeling lan- approach (cf. Section IV-D); the second applies model transla-
guage. Thus, the syntactic and some of the semantic parts of the tion based on an intermediate language (cf. Sections IV-E and
translators related to one tool can be shared. IV-F).
MÜLLER-GLASER et al.: MULTIPARADIGM MODELING IN EMBEDDED SYSTEMS DESIGN 289

Fig. 13. Design process for UML-based model representation.

A. UML-Based Model Representation sulate the cruiser model into the cruise control, GeneralStore
As pointed out in Section IV-D, the GeneralStore envi- analyzes the Simulink file and generates class and object
ronment developed at ITIV [53] takes UML as the primary collaboration diagrams from the dataflow diagram (see Fig. 13,
modeling language and allows subsystems to be modeled in step 3).
more specialized tools (such as MATLAB/Simulink). The C++ code for both the main part of the system and for sub-
GeneralStore model management and tool integration envi- system integration is generated from the main UML model. Ac-
ronment provides a single-source representation of the overall tually, a template-based code generator (based on the velocity
model, syntactically encapsulating subsystem models in UML template engine [60]) as part of the GeneralStore environment
(physically residing either in a MOF [59] database or serialized is used instead of the built-in code generator of the UML tool.
For the MATLAB/Simulink subsystem model, The Mathworks’
in XMI [17] files). In the case of MATLAB/Simulink, this is
Real-Time Workshop (part of the MATLAB suite) was adapted
based on UML instance models (using object and class dia-
and linked to the integration platform via the back-transforma-
grams). The syntactical transformations between the original
tion from the UML representation to the original Simulink file
MATLAB/Simulink files (*.mdl) and the equivalent UML
format and via target language compiler (TLC) scripts config-
representation are bidirectional.
uring Real-Time Workshop to generate a widely target-indepen-
Fig. 13 shows a small footprint of the design process. It starts
dent C-code. The C-code generated by Real-Time Workshop is
with a requirements analysis in an UML CASE tool (actually
encapsulated by the generated subsystem integration code as a
ARTiSAN’s Real-Time Studio), here for an automotive Cruise
C++ class.
Control application (see Fig. 13, step 1). A class cruiser is
singled out as belonging to the continuous-time modeling
domain. System analysis of the cruise control proceeds with B. XFL-Based Model Translation
an archetypal implementation of the cruiser subsystem using As pointed out in Section IV-E, subsystem integration via
MATLAB/Simulink (see Fig. 13, step 2). In order to encap- model translation has been one of the approaches implemented
290 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO. 2, MARCH 2004

Fig. 14. Window lift.

in the COMTESSA project [54]. The translation process uses typical continuous modeling task, whereas the window control
a multiparadigm language, called extensible formal language and discrete events such as the detection of an obstacle demand
(XFL), for an intermediate representation of the model (cf. Sec- for discrete control [Fig. 14(c)].
tion IV-F). Designed as an intermediate language to be pro- A statemate model [Fig. 14(c)] is the framework for the
cessed by tools, XFL has an XML [16] based concrete textual overall design, separating the model into control and en-
syntax. The semantics of XFL cover discrete-time and discrete- vironment. For the discrete control statemate has been the
event systems, layered on top of basic imperative constructs. tool of choice. For the environmental components (e.g., the
The translation of discrete-time models built up from a library motor) MATLAB/Simulink has been used. The first pass of
of predefined basic blocks is supported by a native XFL im- the model translator generates an XFL representation from the
plementation of the MSR MEGMA standard block library [61], original MATLAB/Simulink model. For the concrete example
[62] which has also been implemented for MATLAB/Simulink of Fig. 14(b), main parts of the code look as shown in Fig. 15.
and other tools. The functional properties of the model, including its hierar-
The following example deals with the functional behavior chical structure and references to library blocks, are preserved
of a window lift for a car. The system is able to detect an ob- (i.e., a back-translation to Simulink would be possible in this
stacle in the moving area of the window by evaluating a hall stage, although all graphical information is lost). Next, an
sensor signal. Therefore, it is important to know the position of XFL-internal transformation (system reduction) produces a flat
the window so that it is clear whether the window reached the system model with an imperative specification of the system’s
closing position or something is obstructing. The frequency of behavior (Fig. 16). Next, this reduced model is used to generate
a hall sensor signal gives information about the moving speed a periodically triggered reactive activity specified in the (im-
of the window, where higher frequencies correspond to higher perative) action language of statemate MAGNUM. Finally, the
speed. If the frequency of the hall signal gets less than a spec- integration of the converted Simulink subsystem into statemate
ified frequency, a stall of the window is detected and all motor is done interactively in statemate, where interface variables
action is stopped. The behavior of the motor [Fig. 14(b)], in- have to be mapped. Statemate’s mechanism of generic charts
cluding the realistic model of the hall sensor [Fig. 14(a)], is a and instantiation is used for this purpose.
MÜLLER-GLASER et al.: MULTIPARADIGM MODELING IN EMBEDDED SYSTEMS DESIGN 291

supporting system design as well as component design. The


description of the heterogeneous parts and of different aspects
and views of the whole system, subsystem or component over
different phases of development requires different modeling
paradigms. Partial descriptions of a system have to be inte-
grated mainly for simulation and code generation; different
descriptions of a system for different purposes (e.g., design
versus verification) have to be related.
As a single multiparadigm modeling language and supporting
tools covering all aspects of embedded systems design are un-
available, several languages and tools have to be integrated. The
paper describes different strategies for integration, focusing on
the needs of simulation, code generation, and model-based di-
agnosis, and thus provides a classification for a variety of in-
dustry practices and state of the art. The basic principle is ei-
ther the integration of operations on models (such as simulation
or code generation) or model translation. Model translation is
successfully applicable to mappings from “higher” (i.e., more
abstract) to “lower” paradigms. As the authors have been in-
volved in several research activities related to the concepts pre-
sented here, application examples for two of the approaches are
included in the last part of the paper. Results obtained from the
integration of tools widely used for automotive applications are
very promising.

REFERENCES
Fig. 15. Corresponding XFL representation.
[1] Embedded Systems Glossary, M. Barr. [Online]. Available:
http://www.netrino.com/Publications/Glossary/
[2] A. S. Berger, Embedded Systems Design: An Introduction to Processes,
Tools, and Techniques. Lawrence, KS: CMP, 2001.
[3] W. Lawrenz, CAN System Engineering: From Theory to Practical Ap-
plications. Berlin, Germany: Springer-Verlag, 1997.
[4] OSEX/VDX Homepage (2004). [Online]. Available: http://www.osek-
vdx.org
[5] Das V-Modell (1997). [Online]. Available: http://www.v-modell.iabg.de
[6] Systems Engineering Standards and Models Compared, S. A. Sheard
and J. G. Lake. [Online]. Available: http://www.software.org/pub/exter-
nalpapers/9804-2.html
[7] K. D. Müller-Glaser, “CAD of microsystems: A challenge for system
engineering,” in Invited Talk at EURO-DAC’96 With EURO-VHDL’96.
Geneva, Switzerland: IEEE Computer Society Press, 1996.
[8] Saber Product Home Page (2004). [Online]. Available: http://www.syn-
opsys.com/products/mixedsignal/saber/saber.html
[9] IEEE 1076.1 (1999). [Online]. Available: http://www.vhdl.org/analog
[10] Specification and description language (SDL) ITU-T Recommendation
Z.100 (2000). [Online]. Available: http://www.sdl-forum.org
[11] P. Alexander and C. Kong, “ROSETTA: Semantic support for model-
centered systems-level design,” Comput., vol. 34, no. 11, pp. 64–70,
2001.
[12] , “Heterogeneous modeling support for embedded systems design,”
in EMSOFT 2001, ser. Lecture Notes Comput. Sci.. Berlin, Germany:
Springer-Verlag, 2001, pp. 1–13.
[13] Introduction to CDIF, J. Ernst. (1997). [Online]. Available: http://www.
eigroup.org/cdif/intro.html
[14] EDIF (2000). [Online]. Available: http://www.edif.org
[15] STEP: Standard for the Exchange of Product Model Data , 1994.
[16] Extensible Markup Language (XML) 1.0. W3C Recommendation
(1998). [Online]. Available: http://www.w3.org/TR/1998/REC-xml-
19 980 210
Fig. 16. XFL representation of reduced system model. [17] XML Metadata Iinterchange (XMI), Version 1.1 (1999). [Online]
[18] The MathWorks, Inc. (2004). [Online]. Available: http://www.math-
works.com
VI. SUMMARY [19] MATRIXx (2004). [Online]. Available: http://ni.com/matrixx/
[20] SPICE (2004). [Online]. Available: http://bwrc.eecs.berkeley.edu/
First, we have shown that multiparadigm modeling is needed Classes/IcBook/SPICE/
for the design of embedded electronic systems, as they are [21] ACSL (2004). [Online]. Available: http://www.ACSLsim.com
found, e.g., in the automotive industry. Being comprised of [22] Modelica (2004). [Online]. Available: http://www.modelica.org
[23] ETAS (2004). [Online]. Available: http://www.etasgroup.com
heterogeneous components these systems need a system design [24] R.O.S.E. INFORMATIK (2002). [Online]. Available: http://www.
flow with an according meet-in-the-middle design strategy rose.de
292 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 12, NO. 2, MARCH 2004

[25] AANSYS, Inc. (2004). [Online]. Available: http://www.ansys.com [58] A. Burst, “Rapid Prototyping eingebetteter elektronischer Systeme auf
[26] I-Logix (2004). [Online]. Available: http://www.ilogix.com Basis des CDIF-Datenaustauschformats (rapid prototyping of embedded
[27] Cadence Design (2004). [Online]. Available: http://www.cadence.com electronic systems based on the CDIF data interchange format),” Doc-
[28] Synopsys, Inc. (2004). [Online]. Available: http://www.synopsys.com toral dissertation (in in German), ITIV, University of Karlsruhe, Karl-
[29] Verilog (2004). [Online]. Available: http://www.verilog.com sruhe, Germany, 2000.
[30] HyPerformix, Inc. (2004). [Online]. Available: http://www.hyper- [59] Meta Object Facility (MOF) Specification, Version 1.3, 1999. OMG
formix.com Document ad/99-09-04.
[31] Foresight-Systems, Inc. (2004). [Online]. Available: http://www.fore- [60] Velocity (2004). [Online]. Available: http://jakarta.apache.org/velocity/
sight-systems.com [61] MEGMA (2004). [Online]. Available: http://www.msr-wg.de/megma/
[32] OMG Unified Modeling Language Specification, Version 1.3, 1999. [62] Standardization of Library Blocks for Graphical Model Exchange,
OMG Document ad/99-06-08. Version 1.09 (2000). [Online]. Available: http://www.msr-wg.de/
[33] Rational Rose RealTime (2004). [Online]. Available: http://www. megma/downlo.html
ibm.com/software/awdtools/developer/technical
[34] ARTISAN (2004). [Online]. Available: http://www.artisansw.com
[35] B. Selic, G. Gullekson, and P. T. Ward, Real-Time Object-Oriented Mod- Klaus D. Müller-Glaser (M’03) received the
eling. New York: Wiley, 1994. Dipl.-Ing. and Dr.-Ing. degree from the University of
Karlsruhe, Germany, in 1972 and 1977, respectively.
[36] D. Harel, “Statecharts: A visual formalism for complex systems,” Sci.
From 1977 to 1986, he worked for Siemens
Comput. Programming, vol. 8, pp. 231–274, 1987.
AG, Synertek Inc., Honeywell Inc., and Bell Labs,
[37] “Technical Memorandum UCB/ERL M01/11,” Univ. California,
Allentown, PA, before he became responsible for
Berkeley, CA, http://ptolemy.eecs.berkeley.edu/publications/papers/01/
setting up the first commercial U.S. AT&T ASIC
overview, 2001. Available. Design Center in Sunnyvale, CA. In 1986, he was
[38] Telelogic AB (2004). [Online]. Available: http://www.telelogic.com appointed a Full Professor at the University of
[39] G. Low and V. Leenanuraksa, “Software quality and CASE tools,” pre- Erlangen-Nürnberg, Nürnberg, Germany. In April
sented at the IEEE Software Technology and Engineering Practice, Pitts- 1993, he became a Full Professor and Director
burgh, PA, 1998. of the Institute for Information Processing Technologies, Department of
[40] dSPACE (2004). [Online]. Available: http://www.dspaceinc.com Electrical Engineering and Information Technology, University of Karlsruhe.
[41] D. Greefhorst, M. van Elswijk, M. Maat, and R. Maijers, Evaluating He is a Director of FZI Forschungszentrum Informatik (Research Center for
OO-CASE Tools: OO Research Meets Practice, ser. Lecture Notes Information Technologies), University of Karlsruhe. From 1996 to 2002, he
Comput. Sci.. Berlin, Germany: Springer-Verlag, 1998, pp. 486–488. served as President of FZI. Currently, he is the Dean of the department. He
[42] S. Jarzabek and R. Huang, “The CASE for user-centered CASE tools,” is author or coauthor of more than 150 publications in the field of design,
Commun. ACM, vol. 41, no. 8, pp. 93–99, Aug. 1998. verification, and test for embedded electronic systems, microsystems, and SoC.
[43] O. L. Madsen, “Toward a unified programming language,” in Proc.
2000 Eur. Conf. Object-Oriented Programming (ECOOP’00), Cannes,
France, 2000, pp. 1–26. Gerd Frick (M’03) received the Dipl.-Information
[44] UML Profile for Schedulability, Performance, and Time Specification, degree in computer science from the University of
2002. OMG Document ptc/02-03-02. Kaiserslautern, Kaiserslautern, Germany, in 1998.
[45] J. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Lan- He joined the Electronic Systems and Microsys-
guage Reference Manual. Reading, MA: Addison-Wesley, 1999. tems Group, FZI Forschungszentrum Informatik,
[46] M. von der Beeck, P. Braun, M. Rappl, and C. Schröder, “Model-based Karlsruhe, Germany, as a Scientific Assistant. His
software development for automotive ECU networks,” Electron. Syst. current research is focused on languages and design
Veh., ser. VDI-Berichte, no. 1646, pp. 293–331, 2001. methodologies for embedded real-time systems.
[47] R. M. Fujimoto, Parallel and Distributed Simulation Systems. New
York: Wiley, 2000.
[48] S. Schmerler, “Prädiktive Methoden für Optimistische Synchronization-
sprotokolle in der Verteilten Simulation (Predictive Methods for Opti-
mistic Synchronization Protocols in Distributed Simulation,” Doctoral Eric Sax received the Dipl.-Ing. degree in electrical
dissertation (in in German), Univ. Karlsruhe, FZI-Pub. 3/98, Karlsruhe, engineering from the University of Karlsruhe,
Germany, 1998. Karlsruhe, Germany, in 1993 and the Doctoral
[49] M. Horstmann, S. König, G. Bikker, and A. Wegele, “Model integration degree from University of Karlsruhe, Karlsruhe,
by co-simulation applied to hybrid automotive systems,” in Proc. 4th Germany, in 2000.
Mathmod, I. Troch and F. Breitenecker, Eds., Vienna, Austria, Feb. 2003. He joined the Electronic Systems and Microsys-
[50] (2002) DaVinci: Function Development of Vehicle Networks [Online]. tems Group, FZI Forschungszentrum Informatik,
Available: http://www.vector-informatik.de/kongress/VeCo_Vortrag06 Karlsruhe, Germany. While Manager of this research
_Wernicke.pdf group, from June 2000 to September 2002, he was
[51] M. Wernicke, “Verteilte systeme im griff (Mastering distributed sys- involved in various projects, mostly in the area
tems)” (in in German), Automot. Electron. Syst., no. 6/02, pp. 28–30, of the establishment of a seamless design flow
2002. from idea to prototype. Since October 2002 he has been with IMH GmbH,
[52] U. Freund et al., “Interface Based Design of Distributed Embedded Au- a DaimlerChrysler subsidiary within the MBtech Group. The projects he
tomotive Software: The TITUS Approach,”, ser. VDI-Berichte, 2000. manages are mainly about testing of automotive electronic control units. His
research activities address an integrated test approach from specification to
[53] C. Reichmann, M. Kühl, and K. D. Müller-Glaser, “An overall system
prototypical realization and production. His current challenge is mainly to turn
design approach doing object-oriented modeling to code-generation for
these innovative ideas from the academic field into daily use in the development
embedded electronic systems,” in Proc. FASE 2003, Warsaw, Poland,
departments.
2003, pp. 52–66.
[54] COMTESSA Project (2002). [Online]. Available: http://www.fzi.de/
esm/projects/Comtessa/Comtessa_uk.html Markus Kühl (M’03) received the Dipl.-Ing. degree
[55] M. A. P. Remelhe, S. Engell, M. Otter, and P. J. Mostermann, “An en- in electrical engineering from the University of Karl-
vironment for the integrated modeling of systems with complex con- sruhe, Karlsruhe, Germany, in 1997.
tinuous and discrete dynamics,” in Modeling, Analysis, and Design of He then worked for the Institute for Information
Hybrid Systems. Berlin, Germany: Springer-Verlag, 2002. Processing Technology (ITIV) as a Member of the
[56] T. Sheard, “Accomplishments and research challenges in meta-program- scientific research team. His topics were rapid proto-
ming,” presented at the Proc. SAIG 2001, Florence, Italy, 2001. typing and design of embedded systems. He joined
[57] G. Frick and K. D. Müller-Glaser, “Semantic integration of modeling FZI Forschungszentrum Informatik, Karlsruhe, Ger-
languages based on a reference language,” in Proc. 4th Mathmod, many, in June 2002, where he now is the Manager of
I. Troch and F. Breitenecker, Eds., Vienna, Austria, Feb. 2003, pp. the Electronic Systems and Microsystems Research
1564–1573. Group.

Das könnte Ihnen auch gefallen