=Paper=
{{Paper
|id=None
|storemode=property
|title=Approach for Iterative Validation of Automotive Embedded Systems
|pdfUrl=https://ceur-ws.org/Vol-644/paper06.pdf
|volume=Vol-644
}}
==Approach for Iterative Validation of Automotive Embedded Systems==
MoDELS 2010 ACES-MB Workshop Proceedings
Approach for Iterative Validation of Automotive
Embedded Systems
Gereon Weiss, Marc Zeller, Dirk Eilers and Rudi Knorr
Fraunhofer Institute for Communication Systems ESK,
Hansastr. 32, 80686 Munich, Germany,
{gereon.weiss, marc.zeller, dirk.eilers, rudi.knorr}@esk.fraunhofer.de,
http://www.esk.fraunhofer.de
Abstract. Architecture description languages (ADLs) allow specifying
system information in architecture models. These are generally used
for capturing early design decisions concerning system or software de-
velopment. Therefore, ADLs can be utilized for an early and iterative
validation of the modelled system. With EAST-ADL an automotive-
specific ADL is defined which allows describing an automotive system at
different layers of abstraction targeting AUTOSAR systems. SystemC
is an executable system modelling and simulation language which per-
mits Hardware/Software-Co-Design. With the Transaction-Level Model-
ing (TLM) methodology the description of different layers of abstraction
in SystemC is enabled. This work addresses the early validation of auto-
mobile electronic systems by providing a transformation of EAST-ADL
models to SystemC at different layers of abstraction. This allows spe-
cific analysis with Hardware/Software Co-Simulation iteratively in the
development process. The proposed approach is realized in a tool-chain
and demonstrated by a typical automotive use case. Hence, we show the
potential of an early validation of system and software designs based on
architecture models.
1 Introduction
Model-driven design has been successfully introduced into diverse application
areas for abstracting from complex systems. With Architecture Description Lan-
guages (ADLs) a solution is provided to capture design information on a high
level of abstraction [1]. Various model-based tools exist which model the distinct
behaviour of functions. ADLs allow to model the interaction of such functions
on a system level describing the software and system architecture. An explicit
modelling of layers of abstraction of the system provides the possibility to ab-
stract from the system implementation at different points of view. Thus, special
attention can be given to specific details of interest at the particular level. As
architecture models include system information they can be used for a valida-
tion of the architecture even in early design phases. Approaches integrating well
with the tool flow enable the validation in iterative steps as the system is refined.
This permits early feedback to the development avoiding changes because of late
identified design problems.
Oslo, Norway, October 4, 2010 69
MoDELS 2010 ACES-MB Workshop Proceedings
2
The automotive domain poses an area with complex interconnected embed-
ded systems. Domain-specific modelling languages have been introduced to re-
alize distinct functional behaviour. As this alleviates the development of sin-
gle applications, with the more interacting functionality a more course-grained
view on the overall system is needed. EAST-ADL [2] as a system level view
for the automotive domain allows abstracting from the automotive electronic
system at different levels. At implementation level the AUTomotive Open Sys-
tem ARchitecture (AUTOSAR) [3] meta-model is adopted enabling a well de-
fined integration in present development methodologies. For the simulation and
validation of hardware/software systems the system-modelling language Sys-
temC [4] was developed. It incorporates a simulation kernel and structures for
Hardware/Software-Co-Design. With Transaction-Level Modeling (TLM) [5] dif-
ferent levels of abstraction can be modelled in SystemC. Additionally, a subset
of SystemC is synthesizable, e.g. for FPGA implementations.
Since the application of SystemC for a simulation-based validation of au-
tomotive electronic systems is a promising approach for design exploration and
hardware sizing, its integration within the architecture design has to be pursued.
Therefore, we introduce in this work an adoption of SystemC in the develop-
ment process with architecture descriptions based on EAST-ADL. An automatic
transformation on the different layers of abstraction of EAST-ADL to SystemC
is presented in this paper which enables a simulation-based validation. Thereby,
architecture models can be iteratively refined and improved in the development
process.
This paper is structured as follows. In the next section related work to our
approach is described. Afterwards, in Section 3 and 4 the concepts and main
language elements of EAST-ADL and SystemC are presented. In Section 5 we
introduce at first a mapping of the layers of abstraction of both languages.
Subsequently, we detail the transformation of language artefacts of EAST-ADL
to SystemC. A case study within the automotive domain shows the applicability
of our approach in Section 6. This paper is concluded and an outlook on our
future work is given in the last section.
2 Related Work
In this section we briefly describe related work to our approach with the focus on
architecture descriptions and validation by simulation. The Architecture Anal-
ysis and Design Language (AADL) [6] was initially developed for the avionics
domain but addresses generally the modelling of embedded real-time systems.
It provides a textual and graphical notation for the architecture design of hard-
ware and software components. Several approaches focus on the generation from
AADL models for simulations [7] [8].
EAST-ADL (cp. Section 3) is a specific ADL for the automotive domain.
It features defined layers of abstraction of the system and an orthogonal single
environment model. The realization of the implementation layer of EAST-ADL
is provided by AUTOSAR. As EAST-ADL was chosen as automotive ADL for
Oslo, Norway, October 4, 2010 70
MoDELS 2010 ACES-MB Workshop Proceedings
3
this work it is more comprehensively described below. AUTOSAR (Automotive
Open System Architecture) [3] is a widely spread software architecture in the
automotive domain. Instead of the traditionally ECU (Electronic Control Unit)
centric development it focuses on the entire system and separates functional-
ity from infrastructure. AUTOSAR provides well-defined interfaces for software
components and layers of abstraction for hardware and infrastructure.
The Component Language (COLA) [9] is defined by formal syntax and se-
mantics based upon synchronous dataflow. It also allows the hierarchical de-
composition of the system. Even though it addresses the general modelling of
embedded systems, it is evaluated for automotive case studies. A transformation
to SystemC for an early design validation has also been carried out [10].
An approach to integrate virtual prototyping in the development process of
vehicles is presented in [11]. In this work a mapping of Automotive Open Sys-
tem Architecture (AUTOSAR) [3] components to an equivalent SystemC model
at different levels of granularity is outlined. Due to this mapping it is possi-
ble to co-simulate AUTOSAR-conform automotive software systems at different
stages of the development process. In [12] and [13] a co-simulation approach
for automotive embedded systems is described. The aim of this SystemC based
approach is to enhance the diagnosis ability of the system. It integrates the func-
tional model and the hardware specification with multi levels of granularity. In
[14] and [15] a methodology for embedded systems based on SystemC TLM [5] is
proposed. This methodology enables the rapid prototyping of embedded systems
for functional validation and performance evaluation in early stages of the design
process. Stepwise refinement of the system model allows the co-simulation at an
untimed, cycle approximate or cycle accurate level.
3 EAST-ADL
EAST-ADL (Electronics Architecture and Software Technology - Architecture
Description Language) [2] was initially developed and refined during several
research projects as an automotive domain-specific ADL. Its main purpose is
the model-based management of all engineering information in a single model.
EAST-ADL is used at the design stage in the automotive domain. It is an ar-
chitecture description language which supports different abstract views on an
automotive electronic architecture. EAST-ADL integrates the component-based
architecture of AUTOSAR [3], making it an AUTOSAR compliant architecture
description language. The language is defined as a UML Profile [16] allowing a
consistent description of the architecture with UML. The model of the complete
system is separated into different layers of abstraction as shown in Figure 1.
The upper modelling layers provide an architecture independent system de-
scription which can be mapped to the AUTOSAR architecture description on
the implementation layer. Orthogonal to the horizontal layers is the Environ-
ment Model as it exhibits no abstraction layers. It encapsulates plant models,
i.e. models of the behaviour of the vehicle and its non-electronic systems. Func-
Oslo, Norway, October 4, 2010 71
MoDELS 2010 ACES-MB Workshop Proceedings
4
Fig. 1. EAST-ADL layers of abstraction with the orthogonal environment model [2]
tions in the Environment Model are connected with components representing
hardware in the Analysis or Design Level by ClampConnectors.
Components communicate with each other through specializations of Func-
tionPorts. FunctionFlowPorts are inspired by SysML FlowPorts [17] and used
for data flow-based communication. Additionally, for client-server interactions
components can also interact through FunctionClientServerPorts. FunctionPow-
erPorts denote physical interactions between the environment and the sensing or
actuation functions. FunctionPorts are typed by EADataTypes which represent
data types in EAST-ADL, e.g. integer within a specifiable range as EAInteger.
Hardware components communicate through specialized HardwarePins. Commu-
nicationHardwarePins represent hardware connection points of communication
buses. A PowerHardwarePin is used for modelling power supply. IOHarwarePins
denote electrical connection points for digital or analog I/O.
At the most abstract layer, the Vehicle Feature Level, only features of the
vehicle are modelled allowing the integration of product variability. Variabil-
ity at all lower levels can be modelled through VariationPoints. Features can
also be grouped and are realized by FunctionTypes. Diverse dependencies be-
tween features can be modelled as VariabilityDependencyKind. The focus of the
Analysis Level lies on the modelling of the system in a way which is suitable
for analysis. The architecture model at this level is called Functional Analysis
Architecture. Components can be defined by AnalysisFunctionTypes and Func-
tionalDevices (the latter represent actuators and sensors on the Analysis Level).
AnalysisFunctionPrototypes denote instances of these two. Software components
are interconnected by FunctionConnectors.
At Design Architecture Level the software and hardware is represented in
distinct models, the Functional Design Architecture and the Hardware Design
Architecture. Software components are represented by DesignFunctionTypes or
LocalDeviceManagers (the latter represent software interfaces to sensors and
actuators). Hardware components are modelled by Nodes (ECUs), Sensors, Ac-
Oslo, Norway, October 4, 2010 72
MoDELS 2010 ACES-MB Workshop Proceedings
5
tuators and LogicalBusses. They are interconnected with HardwareConnectors.
A LogicalBus represents the allocation target for FunctionConnectors, i.e. ex-
changed data in the Functional Design Architecture. Nodes are the allocation
targets for DesignFunctionTypes and LocalDeviceManagers. HardwareCompo-
nentPrototypes are properties typed with the above mentioned hardware types
representing instances.
On the transition from the Design Level to the Implementation Level a map-
ping to the AUTOSAR meta-model is foreseen. Therefore, modelling artefacts
on this level are compliant to the AUTOSAR specification in version 3 [3]. The
Operational Level refers to the deployed and running system and is not mod-
elled for this reason. Behaviour is not explicitly considered in EAST-ADL. It
can either be modelled externally (e.g. in domain-specific tools like Matlab or in
a platform-specific programming language like C/C++) or internally in EAST-
ADL utilizing UML behaviour modelling (like Activity Diagrams or Statecharts).
As we have introduced EAST-ADL and its layers of abstraction, in the next sec-
tion the language and a methodology to abstract different levels of SystemC are
outlined.
4 SystemC - Transaction-Level Modeling
SystemC is a standardized system modelling and simulation language which
supports Hardware/Software-Co-Design and Co-Simulation. It is standardised
and promoted by the Open SystemC Initiative (OSCI) [18] and has been ap-
proved by the IEEE Standards Association as IEEE 1666-2005 [4]. Based on
the wide-spread programming language C++, SystemC provides artefacts to
simulate concurrent processes and an event-driven simulation kernel. Although,
having semantic similarities to hardware description languages (like VHDL and
Verilog), SystemC can be used to model the holistic system using plain C++.
A SystemC model usually consists of several modules (sc module) which may
be organized hierarchically. Computation in SystemC is modelled by so-called
processes which are enclosed in modules. Processes are inherently concurrent.
Communication from inside a module to the outside - mostly other modules
- is realized via ports (sc port). These are connected to channels (sc channel )
by SystemC interfaces (sc interface). This enables the modelling of complex
communication structures (e.g. FIFO or network bus) in SystemC.
With SystemC new models can be connected easily to existing hardware
or functional models - either in platform-specific programming languages like
C/C++ or domain-specific modelling tools, e.g. Matlab/Simulink within the
automotive domain. Furthermore, it is possible to include any existing C or
C++ library in the own system model. Thus, suppliers, for example within the
automotive domain, can interchange pre-compiled hardware or software modules
with other suppliers or car manufacturers and do not need to disclose their
intellectual property.
To integrate Hardware/Software Co-Simulation effectively in the develop-
ment process of networked embedded systems, a stepwise refinement of the mod-
Oslo, Norway, October 4, 2010 73
MoDELS 2010 ACES-MB Workshop Proceedings
6
els is necessary. This can be realized by using SystemC because it implements a
top-down design process according to the Transaction-Level Modeling (TLM) [5]
methodology. TLM is a methodology used for modelling digital systems which
separates the details of communication among computational components from
the details of the computational components. Details of communication or com-
putation can be hidden in early stages of the design and added later. There-
fore, communication mechanisms such as interconnection buses are modelled
as sc channels which can be accessed by sc modules using SystemC interface
classes. Transaction requests take place by calling interface functions of these
channels. Low-level details of the communication process are encapsulated by
the sc interfaces. By this, the refinement of computation is separated from the
refinement of communication. This approach enables the evaluation of different
interconnection systems without having to re-implement the computation mod-
els that interact with any of the buses, because the computation models interact
with the communication model through the common interfaces.
The OSCI Transaction Level Working Group has defined different levels of
abstraction for TLM [19]. The most abstract level is denoted as Communicating
Processes (CP). At this level the behaviour of the system is partitioned into
parallel processes that exchange complex, high-level data structures through
point-to-point connections. Communicating Processes with Time (CPT) is iden-
tical with CP, but introduces timing annotations. The next more detailed level,
Programmers View (PV), is much more architecture-specific. Bus models are in-
stantiated to act as transport mechanisms between the model components and
some arbitration of the communication infrastructure is applied. Programmers
View with Time (PVT) is functionally identical with PV but is annotated with
more accurate timing information than CPT. At the level called Cycle Callable
(CC) computation models are clocked and all timing annotations are accurate
to the level of individual clock cycles. Communication models are fully protocol
compliant. After introducing the abstraction levels of SystemC TLM we intro-
duce in the next section our approach of mapping the architecture description
of EAST-ADL to SystemC TLM.
5 Simulation-based Validation With Architecture Models
Architecture models capture information of the system development and allow a
simulation-based validation. As described in Section 3 EAST-ADL enables the
modelling of a system on different layers of abstraction. With TLM different
levels for abstracting the modelled system are introduced in SystemC (cp. the
previous Section 4). A combination of this ADL with the SystemC allows for an
iterative design with early feedback on the models through Hardware/Software-
Co-Simulation. For combining the advantages of an ADL and of simulations, the
levels of abstraction have to be aligned. Thus, in the following we motivate a
mapping of the levels of abstraction of EAST-ADL to the SystemC TLM levels
as depicted in Figure 2.
Oslo, Norway, October 4, 2010 74
MoDELS 2010 ACES-MB Workshop Proceedings
7
Fig. 2. EAST-ADL layers of abstraction in comparison to SystemC TLM levels
The most abstract functional levels in EAST-ADL and TLM are the Analysis
Level and the CP. As the Vehicle Level only includes features it is not considered
in this mapping for a simulation of the system behaviour. The TLM level Com-
municating Processes (CP) represents parallel processes which communicate via
point-to-point connections. On the Analysis Level the inter-dependencies be-
tween the modelled functionalities and their externally visible behaviour are de-
scribed. The functions of the Analysis Level represent abstract, communicating
components. Thus, they can be transformed to parallel communicating processes
and a mapping of the Analysis Level to the CP is possible. A specific transforma-
tion of the EAST-ADL component of this level is shown in the following section.
As CPT adds timing annotation to the CP it corresponds to the Analysis Level
with consideration of timing in the model.
On the next more detailed level are the EAST-ADL Design Level and the
TLM PV. The Programmer’s View (PV), additionally to the CP, incorporates
bus architectures and arbitration of the communication infrastructure. Also, the
Design Level introduces hardware models and bus infrastructure in EAST-ADL
and refines the more abstract layer. Thus, the Design Level of EAST-ADL with
its modelled software and hardware distributed on several ECUs may be mapped
to the PV in SystemC. The software functions (DesignFunctionTypes) represent
the processes and the hardware with interconnecting buses can be modelled as
hardware architecture and corresponding communication infrastructure. Because
the Programmers View with Time (PVT) includes more precise timing informa-
tion than at CPT level, it is consistent with a model at the EAST-ADL Design
Level with timing.
The most detailed functional abstraction layer in EAST-ADL is the Imple-
mentation Level. It is represented by AUTOSAR models and includes the most
detailed and accurate system information. As this level is platform specific, rep-
Oslo, Norway, October 4, 2010 75
MoDELS 2010 ACES-MB Workshop Proceedings
8
resents a specific implementation and provides the necessary detailed informa-
tion for a cycle-accurate simulation, it can be transformed to the TLM Cycle
Callable Level (CC). The latter is cycle accurate with respect to individual clock
cycles and thus well suited for simulating time-accurate AUTOSAR models. The
aligned levels of abstraction as shown in Figure 2 include specific artefacts of the
modelling languages which need to be transformed for a mapping. These are in
the focus of the next subsection.
5.1 Mapping of EAST-ADL Artefacts to SystemC TLM
In the previous section we pointed out the general commonalities of the differ-
ent levels of abstraction of EAST-ADL and SystemC. For an integration of a
validation in SystemC the single artefacts of EAST-ADL have to be mapped
to SystemC language elements. In the following we address such a mapping for
the structural parts of the upper two functional levels of EAST-ADL the Anal-
ysis Level and the Design Level. As the Implementation Level is realized with
AUTOSAR models, a mapping does not relate to EAST-ADL but to the AU-
TOSAR meta-model. Thus, a simulation with SystemC TLM can be realized by
an approach based on AUTOSAR software components as presented in [11]. By
this transformation particular emphasis has to be put on the semantic mapping
and preservation of the defined artefacts. The structure of the model is preserved
in the transformation. Thus, a tracing of the model artefacts to the SystemC
code-level artefacts is possible, with the drawback of not optimized code. This
also enables the feedback from the simulation to the respective model elements.
The following mapping focuses on the structural parts of the languages as
the behaviour is not modelled explicitly in EAST-ADL (s. Section 3). Timing
definitions have been integrated as non-funtional properties in the last version of
EAST-ADL. As this relates to the non-functional property timing, it does not de-
fine the functional behaviour. An integration of the EAST-ADL timing semantics
(Timing Augmented Description Language [20]) is currently in progress as future
work. Only references to behaviour specified externally (e.g. UML behaviour or
Matlab/Simulink Models) are included in the architecture model. Thus, the be-
haviour can be mapped directly to SystemC. For realizing the mapping of the
behaviour off-the-shelf C/C++ code generators for the referenced behaviour can
be used, e.g. TargetLink or UML Statechart generators. The generated platform
code can be integrated as behaviour of SystemC Modules (sc modules).
The orthogonal Environment Model can be represented by a single sc module
which includes the environment behaviour as sub modules, e.g. as code gener-
ated from a Matlab/Simulink model. ClampConnectors are specific elements
for interfacing environment components with the horitontal Functional Analysis
Architecture and the Functional Design Architecture. This connections can be
realized with sc channels and sc interfaces in SystemC.
In the previous section the general relation of the Analysis Level of EAST-
ADL and the CP level of TLM has been explained. For a specific mapping of
these levels rules for transforming the EAST-ADL artefacts to SystemC elements
have to be defined. As shown in Figure 3 EAST-ADL components can generally
Oslo, Norway, October 4, 2010 76
MoDELS 2010 ACES-MB Workshop Proceedings
9
Fig. 3. Mapping of EAST-ADL artefacts to SystemC elements
be represented by sc modules. The EAST-ADL ports and connectors can be
transformed to sc ports, sc channels and sc interfaces.
At Analysis Level sensors and actuators are represented by FunctionalDe-
vices. AnalysisFunctionTypes are used to model functions. These components
can directly be transformed to sc modules. FunctionFlowPorts are ports for a
data flows between AnalysisFunctionTypes. FunctionClientServerPorts can
be utilized for function calls through a defined interface. Ports are interconnected
by FunctionConnectors. The ports and connectors are transformed to simple
sc signals or sc channels and sc interfaces at CP level.
Fig. 4. Mapping of the EAST-ADL Design Level to SystemC PV simulation
At Design Level the simulation of software functions distributed over hard-
ware platforms (ECUs) is addressed. Therefore, we introduce a SystemC-based
framework which allows the modelling of automotive-specific elements in Sys-
temC PV, like ECUs or software functions. As shown in Figure 4 the sys-
tem is simulated in our approach at PV with software functions scheduled on
Oslo, Norway, October 4, 2010 77
MoDELS 2010 ACES-MB Workshop Proceedings
10
ECUs communicating via interconnecting buses. The respective components in
SystemC are specialized sc modules. For example, a DesignFunctionType is
mapped to a software function (SWF) defined in the framework which is derived
from a sc module.
A general mapping of the EAST-ADL elements at Design Level to SystemC
is depicted in Figure 4. The Design Level consists of software and hardware
models. DesignFunctionTypes represent software functions. Software interact-
ing with hardware sensors and actuators are modelled as LocalDeviceMana-
gers. The hardware components at this level are Sensors, Actuators and
LocalBuses. These components can be transformed to sc modules at PV level
as mentioned above. HardwarePorts and HardwareConnectors are transformed
to sc channels and sc interfaces level. An extract of the main EAST-ADL
Table 1. Overview of the mapping of core elements of EAST-ADL onto SystemC TLM
elements
EAST-ADL SystemC TLM
AnalysisFunctionType sc module
FunctionalDevice sc module
FunctionConnector sc channel,sc interface
DesignFunctionType sc module
LocalDeviceManager sc module
HardwareConnector sc channel,sc interface
Node sc module
Sensor sc module
Actuator sc module
LogicalBus sc module
FunctionFlowPort sc port
FunctionClientServerPort sc channel,sc interface
HardwarePort sc port
elements and their corresponding SystemC elements is given in Table 1. In the
next section these transformation rules are applied in an automobile case study
emphasizing their applicability for enabling an iterative validation within the
development process based on an architecture model.
6 Case Study
The use of architecture models for a validation by simulation is evaluated in a
case study for the previously described transformation of EAST-ADL to Sys-
temC. Thereby, the focus of this work lies more on the structural mapping and
generation of simulations than on the validation or analysis itself.
The afore introduced transformation of EAST-ADL models to executable
SystemC models has been realized in a prototypical tool-chain. For evaluation
purposes an automotive case study [21] has been modelled in EAST-ADL and
Oslo, Norway, October 4, 2010 78
MoDELS 2010 ACES-MB Workshop Proceedings
11
transformed to SystemC simulations. The use case is within the so-called body
domain of an automobile and consists of the four features exterior light, direction
indication, central door locking and keyless door entry.
Fig. 5. Composite diagram of the use case at Analysis Level
The exterior light feature allows controlling the front and rear lights of the
vehicle. The lights can be switched on/off manually or automatically through
darkness or rain detected by the rain/light sensor. These inputs are interpreted
by the function exterior light control which controls the light units (front and
rear). For the direction indication a direction indication switch can be used to
signal the turning direction. With the hazard light switch, risky driving situa-
tions can be signalled to other road users. Therefore, the direction indication
master control informs the direction indication front and rear controls about
the designated status of the direction indication lights. These turn the direction
indication lights on or off in the front and rear light units. Central door lock-
ing allows locking and unlocking all doors simultaneously by using the key in
the lock or by radio transmission. A radio receiver signals the information to
the central door locking control. This function flashes the direction indication
lights for a feedback to the driver and controls the four door locks of the car.
An additional feature to the un-/locking of an automobile is the keyless entry. A
driver can approach his car with the key in his pocket and the doors will unlock
automatically. It can be locked by simply pressing a button on the door handle.
Antenna components detect the key in the surrounding and inform the central
door locking function which in turn unlocks the doors. With respect to the in-
teraction with exterior light (which gives feedback via the direction indication
lights), it does not make any difference whether the doors have been unlocked
in a standard way or via the keyless entry. In the following a realization of these
Oslo, Norway, October 4, 2010 79
MoDELS 2010 ACES-MB Workshop Proceedings
12
features at Analysis Level and Design Level of EAST-ADL is described with its
corresponding SystemC implementation.
At Analysis Level this use case is modelled in EAST-ADL by the Functi-
onalDevices KeylessEntryController, CentralDoorLockingController, Di-
rectionIndicationMasterController, DirectionIndicationFrontControl-
ler, DirectionIndicationRearController and ExteriorLightController as
can be derived from Figure 5. The behaviour of these functionalities is described
as opaque behaviour of the components (C++ source code). Additionally, be-
haviour can be modelled with straight-forward UML Statecharts providing a
UML based behaviour specification. Communication is designed as data flow
represented by FunctionFlowPorts and FunctionConnectors.
A SystemC simulation generated from this level includes modules intercon-
nected for each of the above mentioned FunctionalDevices. They implement the
respective behaviour of these modelled components in a thread of the module.
With this transformation a simulation based on the Analysis Level in EAST-
ADL of the use case was realized. Thus, the interaction of the abstract modelled
functionalities can be validated with a simulation-based analysis.
Fig. 6. EAST-ADL elements of the use case at Design Level
At Design Level the use case is modelled in a Functional Design Architec-
ture (FDA) representing the software parts and a Hardware Design Architec-
ture (HDA) representing the hardware parts of the use case realization. The
FDA includes DesignFunctionTypes for the software functionalities of the use
case and LocalDeviceManagers representing the software access to the mod-
elled sensors and actuators. The latter are designed in the HDA together with
the hardware platforms (Nodes) and the interconnecting LocalBus. Components
in the FDA are interconnected with FunctionConnectors and in the HDA with
Oslo, Norway, October 4, 2010 80
MoDELS 2010 ACES-MB Workshop Proceedings
13
HardwareConnectors. An overview of the elements modelled at Design Level for
the use case is shown in Figure 6. Additionally, LocalDeviceManagers exist for
each depicted Sensor and Actuator in the Functional Design Architecture which
are not explicitly displayed in this figure.
Fig. 7. Overview of the generated SystemC PVT use case at Design Level
The generated SystemC implementation of the use case at Design Level is
depicted in Figure 7. It includes the use of a framework for automotive-specific
modules. For example, ECUs and software functions can be included out of a
library as specific sc module implementations (cp. Section 5.1). As can be de-
rived from Figure 7 the EAST-ADL Design Level components are generated as
sc modules representing software functions. These modules are included in an-
other SystemC module which realizes a hardware platform with attached sensors
and actuators in form of sc modules. These hardware platforms are intercon-
nected by a module implementation of the defined LocalBus. SystemC interfaces
and channels realize the concrete interconnections of the modules. For example,
a specialized type of sc interface (EcuSw If ) realizes the communication be-
tween software functions and ECU modules.
The introduced transformation is realized in a prototypical toolchain which
integrates into the Eclipse environment as a plug-in. By this, it can easily be
used with EAST-ADL models based on UML in Eclipse (e.g. with the Papyrus
UML modelling tool which supports EAST-ADL). The transformations itself are
implemented as templates of the Xpand model-to-text transformation language.
They use EAST-ADL models as input and generate the particular SystemC files
with respect to the previously introduced mapping of the languages. Currently,
simulations can be generated from the Analysis Level or Design Level. Simple
checks allow to check the conformity for a simulation. Because a generation of
incomplete models in early design stages should be possible, the checks are only
as strict as needed for generating correct SystemC simulations. This supports
the iterative simulation of ADL models in the design process. For the simula-
tion at Design Level we utilize a self-developed framework (cp. Section 5.1) called
Oslo, Norway, October 4, 2010 81
MoDELS 2010 ACES-MB Workshop Proceedings
14
DynaSim which allows the modelling of an automotive in-vehicle network in Sys-
temC. The generated files refer to SystemC models in the DynaSim library (e.g.
ECUs or software functions). By this, a simulation can be performed considering
the automotive-specific system environment. Future work will be the automatic
feedback to the model as well as the integration and analysis of timing definition
semantics.
7 Conclusion
Architecture Description Languages capture design information in architecture
models. A simulation of these models in the development process allows an early
validation. In this work we have briefly described the automotive-specific EAST-
ADL and system modelling language SystemC. We showed that simulations from
EAST-ADL can be generated automatically by a transformation to SystemC.
Therefore, the EAST-ADL layers of abstraction were compared and mapped to
corresponding layers of SystemC TLM. Also, transformation rules for the mod-
elling artefacts of EAST-ADL with their concrete target elements in SystemC
were presented. The approach was evaluated with an automobile case study with
respect to the generation of simulations from EAST-ADL models on two different
layers of abstraction. For this purpose a prototypical toolchain was built which
allows the automatic generation of SystemC simulations from EAST-ADL mod-
els. By this, we showed that our approach allows the iterative simulation-based
validation of automobile functions at different layers of abstraction.
In future work we plan to refine this approach by focusing on the simulation
and preservation of non-functional requirements (e.g. timing) and integrating
externally defined models. Additionally, more detailed automotive-specific Sys-
temC models will be integrated in the simulation for a more precise analysis. A
special emphasis will be taken on the design and simulation-based validation of
adaptive embedded systems.
References
1. Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for
Software Architecture Description Languages. IEEE Transactions on Software
Engineering 26(1) (2000) 70–93
2. Cuenot, P., Frey, P., Johansson, R., Lönn, H., Reiser, M., Servat, D., Koligari, R.,
Chen, D.: Developing Automotive Products Using the EASTADL2, an AUTOSAR
Compliant Architecture Description Language. In: Embedded Real-Time Software
Conference, Toulouse, France. (2008)
3. Automotive Open Sytem Architecture (AUTOSAR): http://www.autosar.org
4. IEEE: IEEE Standard 1666-2005 - System C Language Reference Manual. (2005)
5. Cai, L., Gajski, D.: Transaction level modeling: an overview. In: Proceedings of
the 1st IEEE/ACM/IFIP international conference on Hardware/software Codesign
and system synthesis (CODES+ISSS ’03). (2003) 19–24
6. SAE: Architecture Analysis and Design Language (AADL), document AS5506/1.
http://www.sae.org/technical/standards/AS5506/1 (June 2006)
Oslo, Norway, October 4, 2010 82
MoDELS 2010 ACES-MB Workshop Proceedings
15
7. Chkouri, M.Y., Robert, A., Bozga, M., Sifakis, J.: Translating AADL into BIP -
Application to the Verification of Real-Time Systems. In: Models in Software Engi-
neering: Workshops and Symposia at MODELS 2008, Berlin, Heidelberg, Springer-
Verlag (2009) 5–19
8. Varona-Gomez, R., Villar, E.: AADL Simulation and Performance Analysis in
SystemC. In: Proceedings of the IEEE International Conference on Engineering
of Complex Computer Systems, Los Alamitos, CA, USA, IEEE Computer Society
(2009) 323–328
9. Kugele, S., Tautschnig, M., Bauer, A., Schallhart, C., Merenda, S., Haberl, W.,
Kühnel, C., Müller, F., Wang, Z., Wild, D., Rittmann, S., Wechs, M.: COLA –
The component language. Technical Report TUM-I0714, Institut für Informatik,
Technische Universität München (September 2007)
10. Wang, Z., Haberl, W., Kugele, S., Tautschnig, M.: Automatic generation of systemc
models from component-based designs for early design validation and performance
analysis. In: WOSP ’08: Proceedings of the 7th international workshop on Software
and performance, New York, NY, USA, ACM (2008) 139–144
11. Krause, M., Bringmann, O., Hergenhan, A., Tabanoglu, G., Rosentiel, W.: Timing
simulation of interconnected AUTOSAR software-components. In: Proceedings of
the conference on Design, Automation and Test in Europe (DATE ’07). (2007)
474–479
12. Khlif, M., Shawky, M.: Enhancing Diagnosis Ability for Embedded Electronic
Systems Using Co-Modeling. In: Proceedings of the International Joint Conferences
on Computer, Information, and Systems Sciences, and Engineering. (2007) 3–12
13. Khlif, M., Shawky, M.: Co-modelling and Simulation with Multilevel of Granularity
for Real Time Electronic Systems Supervision. In: Proceedings of the 10th Inter-
national Conference on Computer Modeling and Simulation (UKSIM 08). (2008)
348–353
14. Krause, M., Bringmann, O., Rosenstiel, W.: A SystemC-based Software and Com-
munication Refinement Framework for Distributed Embedded Systems. In: Pro-
ceedings of the 13th Workshop on Synthesis And System Integration of Mixed
Information Technologies. (2006)
15. Liang, L., Zhou, B., Zhou, X.G., Peng, C.L.: System Prototyping Based on Sys-
temC Transaction-Level Modeling. In: Proceedings of the 1st International Multi-
Symposiums on Computer and Computational Sciences (IMSCCS’06). (2006) 764–
770
16. EAST-ADL2: Profile Specification 2.1 RC3.
http://www.atesst.org/home/liblocal/docs/ATESST2 D4.1.1 EAST-ADL2-
Specification 2010-06-02.pdf (June 2010)
17. Weilkiens, T.: Systems engineering with SysML/UML: modeling, analysis, design.
Morgan Kaufmann (2007)
18. Open SystemC Initiative (OSCI): SystemC. http://www.systemc.org
19. Donlin, A.: Transaction level modeling: flows and use models. In: Proceedings of
the 2nd IEEE/ACM/IFIP international conference on Hardware/software Code-
sign and system synthesis(CODES+ISSS 04). (2004) 7580
20. TADL: Timing Augmented Description Language Version 2.
http://timmo.org/pdf/D6 TIMMO TADL Version 2 v12.pdf (2009)
21. Hardung, B., Kölzow, T., Krüger, A.: Reuse of Software in Distributed Embedded
Automotive Systems. Proceedings of the 4th ACM international conference on
Embedded software (2004) 203 – 210
Oslo, Norway, October 4, 2010 83