=Paper=
{{Paper
|id=None
|storemode=property
|title=Integrated Timing Analysis in the Model-Driven Design of Automotive Systems
|pdfUrl=https://ceur-ws.org/Vol-1074/paper6.pdf
|volume=Vol-1074
}}
==Integrated Timing Analysis in the Model-Driven Design of Automotive Systems==
Integrated Timing Analysis in the
Model-Driven Design of Automotive
Systems*
Dulcineia Oliveira da Penha, and Gereon Weiss
Fraunhofer ESK, Automotive, Hansastrasse 32 80686, Munich, Germany
{dulcineia.penha, gereon.weiss}@esk.fraunhofer.de
Abstract. Automotive electronic systems integrate steadily increasing number
of functions. Model-driven development of such systems enables to handle their
complexity. With the integration of software-components and their intricate in-
teractions ensuring the non-functional behavior, like timing, becomes a crucial
matter. Timing analysis allows the validation of these properties but is mostly
only loosely integrated with the development process. Therefore, we introduce
an integrated approach enabling the iterative timing validation of model-driven
designs. It consists of a framework comprising an UML modeling tool and a
simulation-based timing analysis tool. By integrating the design models with
respective analysis models, the development of timing-accurate designs is ena-
bled. With the example of an automotive infotainment case study we show the
applicability of our approach.
Keywords: Timing-Behavior, Model-Driven, Automotive
1 Introduction
Early validation has become an important task for developing modern networked
automotive software. It allows detection and correction of flaws still during design,
avoiding problems at later stages of development and during integration. Since auto-
motive applications are often safety-relevant, it is not enough to solely validate the
system’s functional behavior. In addition, the validation of non-functional properties,
such as timing is required in order to ensure the full system safety and correctness, to
improve system’s efficiency and to save resources. Several automotive applications
are subject to hard real-time constraints intended to ensure full system safety and
correctness [1] [2]. Furthermore, the presence of firm and soft real-time constraints in
those systems is constantly increasing and ensures correctness and quality, improves
the user experience and in some cases guarantees safety. Considering the increasing
*
The project was funded by the Bavarian Ministry of Economic Affairs, Infrastructure,
Transport and Technology.
Proceedings of NiM-ALP 2013 40
number of software functions and the complexity imposed by real-time constraints,
the integration of software components within automotive systems becomes a chal-
lenging task. Therefore, the system’s timing behavior should already be considered
and evaluated in early phases of the development process in order to guarantee the
fulfillment of timing requirements in later stages and after deployment to the target
platform. [2]. Model-driven approaches play a particular role in the design and early
validation of embedded software systems and are widely used in the automotive in-
dustry [3]. Model-driven design is supported by various standards and tools.
Nevertheless, in most cases, the solutions provided for the validation of timing be-
havior by such model-driven approaches and tools are precarious and must be manu-
ally realized, demanding extra effort from engineers. For example, developers need to
define scheduling tables manually and iterate until certain timing constraints are met,
which could cost precious development time. On the other hand, several approaches
and tools specialize on a detailed analysis of the system’s timing behavior based on a
particular model of the system and its target platform. However, such models are
usually specific for each timing analysis approach demanding the design of a second
model of the system for that purpose only. The fact that the design and development
methods and the approaches for timing analysis are currently realized independently
demands the development of different and separated models, requiring extra effort
and time. In order to improve the development of automotive systems by reducing the
effort necessary for timing validation, we present an approach for the integration of
model-driven design and timing analysis of timing-dependent automotive applica-
tions. It allows the usage of a single model for the design and validation of functional
and timing behavior in an automated and optimized process.
The paper is structured as follows: Section 2 discusses the Context and Challenges
for Real-Time Automotive Applications. Section 3 presents our approach for integrat-
ing timing analysis in the model-driven design of automotive systems. In Section 4
we introduce the infotainment case study, evaluate our approach and present the re-
sults. The related works are discussed in Section 5 and we conclude in Section 6.
2 Real-time constraints in the automotive domain
Many functions in the automotive domain involve real-time constraints and can bene-
fit from early timing analysis. These functions are characterized by hard, firm and soft
real-time constraints. In a hard real-time function no deadline can be missed. In firm
and soft real-time occasional deadlines can be missed, however it compromises the
system quality and thus degrades the user experience. Engine control and X-by-wire
are examples of hard real-time applications, while the so-called infotainment systems
contain several firm and soft real-time applications. As previously discussed, the in-
creasing number of real-time software functions in nowadays automotive systems of
networked applications represents a challenge for their integration. This increases the
importance of validating not only hard real-time constraints, but also the firm and soft
ones, at early stages of the development process. In this paper, we focus primarily on
automotive software with firm and soft real-time constraints.
Proceedings of NiM-ALP 2013 41
2.1 Real-time automotive applications
In today’s cars, many applications which share resources and have priorities ac-
cording to real-time constraints. Applications such as TA (Traffic Announcement),
Navigation System, Telephone Integration, Parking Assistance System among others
share resources on the Infotainment System, for example, the audio system. Consider-
ing for instance that at a given moment the driver is listening to music and the naviga-
tion system is activated. The audio system is being shared by both applications at the
same time. The music is interrupted or its volume lowered when the navigation sys-
tem generates a stimulus to give instructions. The response to this stimulus must hap-
pen in a couple of hundred milliseconds. Otherwise the navigation information will be
useless or distract the driver, degrading the user experience of that application and
possibly imposing safety risks. If real-time constraints are not fulfilled, the system’s
requirements are compromised. There is an increasing number of others applications
with soft and hard real-time constraints which share resources such as the audible
warning mechanism and require the definition of priorities and real/time constrains.
For instance, analysis of driver’s condition (e.g. driver drowsiness), speed limit and
icy road warning, cruise control (warning for its deactivation by the vehicle), lane
departure system (warning if the vehicle begins to move out of its lane).
This vast number of applications makes the system’s integration and planning of
timing and resources more complex. Thus, today’s development approaches are in
urgent need for the support of timing validation. In this scenario, the early validation
of real-time constraints in automotive applications contributes to a flawless behavior
in later stages of the development process and after the deployment to the target plat-
form. However, since today’s priorities and interaction of integrated functions is done
manually, this is cost-intensive with respect to development and validation time and it
does not scale with the increasing number of applications in newer vehicles.
3 Validating timing behavior in the design process
For improving the development process of automotive systems we present an ap-
proach which integrates the early and iterative validation of timing behavior in the
model-driven development of automotive systems. Based on this approach, we devel-
oped a framework which integrates a modeling tool and its execution framework
widely-used in the automotive domain with timing analysis. The developed approach
and framework allow engineers to model automotive-conformant systems, to perform
a detailed timing analysis using proper tools and by validating the system’s timing
behavior based on a single design model. The developed approach starts with model-
ing the automotive system in UML as shown in Fig. 1. This design model represents
the system architecture and behavior. The system’s architecture is conformant to the
automotive standard AUTOSAR [4]. The behavior is modeled using State Machine
Diagrams. The target platform and allocation of software functions to the hardware
are also modeled. The developed design model can be the basis for testing and valida-
tion of the system’s functional behavior using regular approaches for tests. In parallel,
Proceedings of NiM-ALP 2013 42
our approach automatically generates an analysis model out of the design model. It is
extended with the necessary timing information by the engineer.
Design Model
UML + MicroC Profile
Timing Analysis Model
Rhapsody + MXF
chronSIM
Timing
Information
Automatic Model
Transformation
Refine Timing /
Scheduling
Simulation -
Automatic Code Validation of
Generation Timing Behavior
Fig. 1. Validation of timing behavior in the design process
The analysis model is the basis for the timing analysis, which is realized by proper
tools. It is based on the generated model and timing constraints while taking into ac-
count the characteristics of the target platform. Based on the results of the analysis,
the timing behavior of the system can be analyzed and iteratively improved. This
eliminates possible conflicts, e.g. scheduling problems. The process for designing and
validating timing behavior is automated and based on a single model. Through this
the effort traditionally necessary for creating a separated model for timing analysis
can be saved.
3.1 Timing Analysis
For a definition of timing analysis we refer to Wilhelm et. al. in [5], where they state
that “timing analysis attempts to determine bounds on the execution times of a task
when executed on a particular hardware”. There are two classes of methods for timing
analysis, static- and measurement-based methods. Timing analysis via measurement-
based methods is obtained by the execution of tasks (or task parts) on a given target
platform or through simulation of some set of inputs. On the other hand, static meth-
ods analyze the set of possible control-flow paths through the task. The control flow is
analyzed based on a model of the hardware architecture in order to obtain upper
bounds for this combination. [5] Static methods and simulations are both proven suit-
able for early validation of timing behavior. In this paper we focus on simulation, but
our methodology may also be integrated with static methods.
Proceedings of NiM-ALP 2013 43
3.2 Semantic Mapping of Model Elements
In order to automatically generate a timing analysis model out of the design model, a
model transformation is realized. The elements and concepts of the design model
which are relevant for the timing analysis are mapped to respective elements in the
timing analysis model, as presented in Table 1.
Table 1. Model Transformation: Mapping from UML Design to Analysis Model
3.3 Framework Realization: Implementation of Tool-Chain
The developed framework supports the model-driven design of automotive systems
using the UML-Tool IBM Rational Rhapsody [6] with the MicroC Execution Frame-
work (MXF) [7]. MXF is a combination of a UML Profile, code-generator and run-
time framework which allows the simulation and target execution of the system’s
design model. It allows the design of hardware-independent software by employing
the so-called Network Ports which connect the model components to external hard-
ware modules such as I/O ports, network devices, sensors or buses. Thus, the software
model can be abstractly developed and later connected to specific hardware. The de-
sign model is composed by the application model and the hardware model. The sys-
tem behavior is modeled using UML State Machine Diagrams. For the run-time
framework the definition of a scheduling table is needed. Originally this scheduling
table is created by the engineer based on rough constraints and his experience only.
With our approach, the creation of a scheduling is optimized by the provision of plen-
tiful information about the timing analysis to the engineer. Based on the detailed re-
sults of the timing analysis, the scheduling table can be more easily defined and itera-
tively improved.
Proceedings of NiM-ALP 2013 44
The model transformations were implemented as Rhapsody plugin in Java and us-
ing Xtend templates. The timing analysis is realized using the simulation tool chron-
SIM which provides timing analysis based on an input model of an embedded system
[8]. This tool was chosen because of its ability to simulate embedded software based
on a well-defined input model of the system and its easily exchangeable format for
the input model. This input model specifies tasks together with their timing properties
and stimulation scenarios, among others. Resources and resource dependencies for
each task can be defined as well. Besides that, the mapping of tasks to CPUs (Central
Processing Units)/ECUs (Electronic Control Units) is modeled.
4 Case-Study
The developed approach was evaluated via a case-study based on a today’s in-vehicle
infotainment system. The application is composed by functions which are activated
by respective buttons and share resources. The system contains the following buttons:
Turning Button, Navigation Button, Radio Button, Telephone Button and Media But-
ton. The Turning Function receives two inputs, one correspondent to its activation
and the other one correspondent to a turning delta. The other functions have one input
each, correspondent to their activation. Each function has one output which is con-
nected to the infotainment main computer. The system was deployed on an 8-bit mi-
crocontroller supported by the execution framework.
4.1 Design Model
The case-study was modeled in two packages: an application and a hardware pack-
age, in order to keep the software hardware-independent. Fig. 2 presents a piece of the
application model and Fig. 3 presents the system model with hardware and allocation
of software functions to hardware.
Fig. 2. Small excerpt of the application model
The hardware package consists of further sub-packages, one for each potential tar-
get platform. A sub-package called Processing Element (PE) was created to model the
hardware-specific implementations correspondent to the target platform. The model
Proceedings of NiM-ALP 2013 45
includes an instance of the application as well as the Network Ports corresponding to
each resource (buttons and output) described in the previous section. The Network
Ports are connected to the Application component as shown in Fig. 3. It is worth men-
tioning that it is possible to deploy the application system to another target platform
by defining the respective Network Ports and the instance of the application.
Fig. 3. System model of the infotainment case-study
4.2 Results and Timing Analysis
For this case-study we performed a timing analysis following our integrated ap-
proach. As described previously in Section 3.3, the simulation tool receives as input a
specific model of the system, which it simulates. Afterwards it delivers a detailed
timing analysis and report of the system’s timing behavior. The design model present-
ed in Section 4.1 was transformed to an analysis model for the chronSIM simulation
framework. The system’s timing information was added to the generated analysis
model and the complete model was then simulated. Based on the detailed timing re-
port generated out of the simulation and whose excerpt is showed in Table 2, the tim-
ing analysis was performed. In our case, such analysis results could be used for evalu-
ating end-to-end deadlines and schedulability. Several timing constraints were evalu-
ated for the infotainment case-study. The results of the timing analysis were used for
defining and optimizing the scheduling table. Without the loss of generality, we de-
scribe the exemplary evaluation of a specific timing constraint in the following. Based
on the specification we defined a timing constraint for the function itsNavigation. The
time spent between identifying a signal from the button being pressed until sending
the processed signal to the infotainment main computer shall not take longer than 100
ms.
For analyzing if the task meets this constraint, we could examine the Average Re-
sponse Time (RAvg) and the Maximum Response Time (RMax). Considering the RAvg
for itsNavigation (81.66 ms), the timing constraint was met. However, the monitored
RMax was equal to 109.62 ms, which indicates that the previously specified timing
constraint was violated. Since other functions presented surplus time-slots, we could
Proceedings of NiM-ALP 2013 46
adjust the timing behavior of the overall system by modifying the execution order.
Therefore the system could meet the 100 ms required for the navigation function.
Table 2. Excerpt of the timing report
With our case-study we could show that the system’s timing behavior can be vali-
dated with our integrated method and a valid scheduling for a specific target-platform
can be defined. With the RAvg and the RMax, the engineer can also analyze if the
system is schedulable. For that, a schedulability test for Rate Monotonic Scheduling
(RMS) can be utilized. As discussed previously, with the simulation results and the
timing analysis, the engineer can iteratively adjust and validate the design model and
furthermore optimize particularly problematic sections (or tasks) of the application.
5 Related Works
There are diverse approaches available for sole timing analysis. For a detailed de-
scription of methods and tools for timing analysis we refer to [5]. In [9] [10] [11] [12]
[13] [14] approaches for timing analysis and their respective realization in tools with
different potential for industrial applicability are based on a particular model of the
system and/or on source and executable code. In this way, even when realized in early
phases of the development process, the timing analysis is not integrated in the model-
driven design demanding extra-effort for developing additional models. The approach
presented in [13] targets automotive, electronics, avionics and telecommunication
industries. RapiTime implements on target an automated performance measurement
based on execution traces. Because the approach is based on source files or executa-
ble as input and performs the measurements on target, it necessitates the availability
of the target platform and does not allow early validation of timing behavior, as men-
tioned previously.
The automatic or semi-automatic integration of timing analysis in the system’s de-
sign and development process has been addressed by other academic and commercial
solutions but is not fully integrated. In the following, we discuss these works and
compare them to our approach. The work presented in [14] integrates simulation-
based timing analysis in the design process. The solution allows the automatic genera-
tion of a timing analysis model out of a UML design model with an additional UML
Profile for timing features. This profile allows the design of a system in UML Activi-
ty and Architecture Diagrams with software and hardware models, as well as alloca-
tion of tasks to hardware resources considering timing features. . Since the work fo-
cuses on timing analysis, its design and timing models are not designed for validation
of functional behavior and code generation, unlike our proposed approach.
Proceedings of NiM-ALP 2013 47
TrueTime [15] supports a simulation-based analysis of real-time control system
which is based, among others, on Matlab/Simulink models. In this way, the approach
addresses the integration of timing analysis in the model-driven development. How-
ever, Simulink targets on continuous control systems and provides poor mechanisms
to describe system architectures. Therefore the approach proposed by the authors is
also affected by this disadvantage. The ARTEMIS Project CHESS [16] developed a
multi-domain approach with different analysis and views which include not only tim-
ing analysis, but also dependability. Differently from our approach, CHESS contains
its own modeling language built based on different existing languages and methodol-
ogies, such as MARTE. Optimum [17] is a methodology for schedulability analysis of
UML models at early stages of the development process. It generates a concurrency
model from a workload model designed with UML MARTE (Modeling and Analysis
of Real-Time and Embedded Systems) and enriched with timing information and com-
putational costs. The methodology is based on the functional model of the system,
i.e., on a description of system end-to-end scenarios. In the same way as [16], it dif-
fers from our approach since we integrate timing analysis on existing design models
which are already the basis for code generation and validation of functional behavior.
In [18] the authors propose a scheduling analysis model which categorizes schedule
relevant information and show how to perform scheduling analysis on AUTOSAR
models using scheduling theory techniques. The proposed model is focused on
AUTOSAR system model, containing detailed information about the hardware plat-
form. It differs from our approach since we focus on the timing analysis of the higher
level design model. The timing analysis in [16] [17] and [18] is realized with [19].
MAST is an open model for representing event-driven real-time applications allowing
the validation of timing behavior, including schedulability analysis. MAST receives as
input a particular model which can also be generated from UML models describing
the real-time view of the system. In the same way as, the timing analysis is realized
using MAST.
6 Conclusion
With the presented approach for integrating validation of timing-behavior in the de-
sign process, an early and detailed timing analysis of the system can be realized. In
order to achieve this, a model for timing analysis is automatically generated from the
UML design model of the application and hardware platform. The timing analysis is
performed based on this generated analysis model by taking into account the charac-
teristics of the target platform. The results can be used by the engineer to iteratively
adjust and validate the timing-behavior and the scheduling in the design model of
automotive systems. A tool-chain was implemented to realize the approach and can be
extended for different timing analysis tools which provide well-defined input model
formats, both using simulation-based or static analysis. The approach and framework
were validated through an automotive infotainment case-study. We could demonstrate
that our integrated approach allows developing correctly timed systems with regards
Proceedings of NiM-ALP 2013 48
to the scheduling of software components on embedded hardware in early phases of
the design.
In future works the modeling process could be extended for supporting timing in-
formation directly in the design model. Moreover, we intend to expand our approach
for supporting multiple ECUs. This includes not only end-to-end deadlines and a
scheduling analysis but also the analysis of allocations to target platforms.
References
1. Anssi, S., Gérard, S., Albinet, A., Terrier, F.: Requirements and Solutions for Timing Anal-
ysis of Automotive Systems. In: Kraemer, F. A., Herrmann, P. (eds.) 6th International Work-
shop, SAM 2010. LNCS, vol. 6598, pp. 209-220. Springer Berlin Heidelberg (2010)
2. Navet, N., Simonot-Lion, F. (eds.): The Automotive Embedded Systems Handbook. Indus-
trial Information Technology series. CRC Press / Taylor and Francis (December 2008)
3. Broy, M., et. al.: Cross-layer Analysis, Testing and Verification of Automotive Control
Software. In: 9th ACM International Conference on Embedded Software EMSOFT’11, pp.
263-272, ACM, New York (2011)
4. AUTOSAR, AUTomotive Open System Architecture, http://www.autosar.org/
5. Wilhelm, R., et. al.: The Worst-Case Execution-Time Problem – An Overview of Methods
and Survey of Tools. In: ACM Transactions on Embedded Computing Systems (TECS), vol.
7, Issue 3, Article No. 36, ACM, New York (2008)
6. IBM Rational Rhapsody, http://www.ibm.com/developerworks/rational/products/rhapsody/
7. MicroC Execution Framework (MXF),
http://pic.dhe.ibm.com/infocenter/rhaphlp/v8/index.jsp?topic=%2Fcom.ibm.rhp.microc.doc
%2Ftopics%2Fr_mxf.html
8. chronSIM, http://www.inchron.com/chronsim.html
9. aiT, AbsInt, http://www.absint.com/ait/index_de.htm
10. Li, X., et. al: Chronos: A Timing Analyzer for Embedded Software. In: Science of Comput-
er Programming, Special Issue on Experimental Software and Toolkit, 69, pp. 1-3, (2007).
11. SymTA/P, http://www.ida.ing.tu-bs.de/forschung/projekte/symtap/
12. Ermedahl, A.: A Modular Tool Architecture for Worst-Case Execution Time Analysis. PhD
Thesis, Dept. of Information Technology, Uppsala University, Sweden (2003)
13. RapiTime, http://www.rapitasystems.com/system/files/RapiTime%20Explained.pdf
14. chronSIM, Integration, http://www.inchron.com/integration.html
15. Cervin, A., Henriksson, D., Lincoln, B., Eker, J., Årzén, K.: How Does Control Timing Af-
fect Performance? Analysis and Simulation of Timing Using Jitterbug and TrueTime. In:
IEEE Control Systems Magazine, 23:3, pp. 16-30, IEEE, (2003).
16. CHESS, Composition with Guarantees for High-integrity Embedded Software Components
Assembly, http://www.chess-project.org/
17. Mraidha, C., Piergiovanni, S., Gerard, S.: Optimum: A MARTE-Based Methodology for
Schedulability Analysis at Early Design Stages. In: ACM Sigsoft Software Engineering
Notes, Vol. 36 Issue 1, pp. 1-8, ACM, New York (2011)
18. Anssi, S., et. al.: Enabling Scheduling Analysis for AUTOSAR Systems. In: Proceedings of
the 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time
Distributed Computing, 2011 (ISORC 2011), pp. 152-159, (2011).
19. Pasaje, J. L: M., Harbour, M. G., Drake, J. M.: MAST Real-Time View: A Graphic UML
Tool for Modeling Object-Oriented Real-Time Systems. In: Proceedings of the 22nd IEEE
Real-Time Systems Symposium, 2001 (RTSS 2001), pp. 245-256, (2001).
Proceedings of NiM-ALP 2013 49