Motivation Definition Abstraction Classification Sample Usage Summary 
Architectural Simulation of 
Distributed ECU Systems 
Joachim Schlosser 
16. Dezember 2005
Motivation Definition Abstraction Classification Sample Usage Summary 
Why Architectural Simulation? 
Context & Motivation 
 Increasing complexity of automotive systems 
 Highly interconnected controller and control loop systems 
 Complicated integration of functions 
) Support the development of the technical architecture: 
 Flexible validation 
 earlier, well­founded 
assertions on temporal and functional 
behavior 
 Recognize HW/SW integration issues earlier 
Task of the thesis: define, classify, assess
Motivation Definition Abstraction Classification Sample Usage Summary 
Terms of Architectural Simulation 
Architectural simulation: 
execute behavioral models + 
architecture effects 
(Technical) architecture: 
hardware platform + system platform 
Behavioral model: 
functional behavior of components 
) Architectural simulation is a test method. 
) Architectural simulation serves validation.
Motivation Definition Abstraction Classification Sample Usage Summary 
Related Work 
 Functional simulation, e. g. Matlab/Simulink, ASCET­SD 
 Rapid prototyping, e. g. xPC, dSpace, ETAS 
 Hardware simulation, e. g. VHDL, Verilog 
 Static architecture analysis, e. g. function chains, WCET 
analysis, scheduling analysis
Motivation Definition Abstraction Classification Sample Usage Summary 
Principle 
Principle of Architectural Simulation 
Example: safety critical, redundant system 
fA Signal1 
fB Signal2 
fC 
Verhalten 
Architektur 
ECU1 
Mem 
OSEK 
CPU 
BusCtrl BusCtrl BusCtrl 
ECU2 
Mem 
OSEK 
CPU 
BusCtrl BusCtrl BusCtrl 
BusA 
BusB 
BusC
Motivation Definition Abstraction Classification Sample Usage Summary 
Reflection of Abstraction 
Why a Taxonomy? 
 Discussions on abstraction dissatisfying 
Solution: use abstraction taxonomy 
) Improve discussion 
) Ensure consistency of models 
) Detect model disharmony and put in metric 
) Benchmark modeling and simulation tools
Motivation Definition Abstraction Classification Sample Usage Summary 
VSI Taxonomy 
Virtual Socket Interface Alliance: System Level Model Taxonomy 
Time 1 
Gate 
accurate 
2 
Cycle 
accurate 
3 
Cycle 
approx. 
4 
Instruction 
cycles 
5 
Data 
cycles 
6 
System 
events 
7 
Partial 
order 
Data 1 
Bit 
2 
Data type 
3 
Abstract type 
4 
Property 
5 
Token 
Function 1 
Digital logic 
2 
Implementation 
3 
Algorithm 
4 
Mathematical 
Structure 1 
Structure 
2 
Block diagram 
3 
Black box 
Program 1 
Object code 
2 
Mikro code 
3 
Assembler 
4 
High level 
language 
5 
DSP 
primitive 
6 
State 
machine
Motivation Definition Abstraction Classification Sample Usage Summary 
Notation 
Simplification 
VSI Taxonomy, displayed as vector: 
a = 
 aZ 
aD 
aF 
aS 
aP 
!  Time 
Data 
Function 
Structure 
ProgrammingModel 
! 
 disuse of axis expressed by ? 
 abstraction ranges written as intervalls, e. g. 
aV = 
0 
@ 
[4;7] 
[2;4] 
22? 
1 
A
Motivation Definition Abstraction Classification Sample Usage Summary 
Dependencies betweeen Abstraction Axes 
Correlations 
Abstraction axes are not orthogonal. 
ProgrammingModel 
Time 
Structure 
Data Function 
Why important? 
 Consistency of models (‘model harmony’)
Motivation Definition Abstraction Classification Sample Usage Summary 
Dependencies betweeen Abstraction Axes 
Sample Relation, Sample Usage 
Sample: RZP = Time  ProgrammingModel 
Time 1 2 3 4 5 6 7 
Program 2 2 3 3 4 5 6 
Sample usage: 
 CPU modell for run time estimation 
 Estimates generated C code (level P = [4; 6]) 
 To deliver instruction cycles (level Z = 4) 
 Relation states: RZP(4) = 3 
) Model cannot meet requirements
Motivation Definition Abstraction Classification Sample Usage Summary 
Dependencies between Types of Models 
Why? 
 Harmony of interacting models 
 Discrepancy of abstraction admissible according to 
individual dependency 
 Consistency of abstraction of whole system
Motivation Definition Abstraction Classification Sample Usage Summary 
Types of Models with Abstraction and Dependencies 
Funktionsnetzstruktur 
Komponentenverhalten Komponentenimplementierung 
1 
Betriebssystem 
Middleware 
Stimulation Simulation 
Architektur 
Prozessor 
Abbildung 
Verhalten 
Nachricht 
Speicher 
Signal 
Prozess Task 
Feldbus 
Analyse 
Fehler 
1 
1..* 
1 
1..* 
1..* 0..1 
0..* 
1..* 
1..* 
1 
1..* 0..1 
0..1 
1..* 1 1 
1 
1 
0..1 
1..* 
0..1 
1..* 
0..1 
0..* 
0..* 
1 
1..*
Motivation Definition Abstraction Classification Sample Usage Summary 
Types of Models with Abstraction and Dependencies 
1 
CA 
Betriebssystem 
Prozessor 
Nachricht 
1 
1 
0..1 
0..1 
0 
B@ 
1 
[2;5] 
2 
[2;3] 
3 
[1;4] 
CA 
0 
B@ 
[4;6] 
[2;4] 
33 [1;5] 
0 
@ 
1 
A 
22112
Motivation Definition Abstraction Classification Sample Usage Summary 
Types of Models with Abstraction and Dependencies 
P0ostulation: 
@ 
1 
A  
[4;6] 
[2;4] 
33 
[1;5] 
22112 
 
+ 
0 
@ 
1 
A 
[2;5] 
2 
[2;3] 
3 
[1;4]
Motivation Definition Abstraction Classification Sample Usage Summary 
Architectural Simulation in the Development Process 
(extremely simplified, no iterations)
Motivation Definition Abstraction Classification Sample Usage Summary 
Example of Usage Brake­by­Wire 
 Simulation and architecture modeling with 
Cadence VCC/SysDesign 
 Function modeling with ETAS ASCET­SD 
Sensor vRL 
Bremsaktor RL 
Sensor vRR 
Sensor vFL 
Bremsaktor FL 
Sensor vFR 
Bremsaktor RR 
Bremsaktor FR 
Bremspedal 
Sensor 
Feststellbremse 
Schalter
Motivation Definition Abstraction Classification Sample Usage Summary 
Simulation Results 
Scheduling 1 
0,10 
0,08 
Gesamtlatenz 43,5ms 
20ms 10,6ms 
u u Task (a) q Pedalpos. Sens. MCU2 
0,06 
(b) r Pedalpos. Sens. MCU2 auf MCU2 
(c) + Pedalpos. Sens. MCU2 auf MCU1 
(d) u normalisierte Klemmenkraft fl lokal 
(e) 
0,04 
r r r 0,02 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
+ + 
r 
r 
q q q q + + + 
u r q u r q 
u r 
u u 
0 
3,500 3,505 3,510 3,515 3,520 3,525 3,530 3,535 3,540 3,545 
3.50 3.51 3.52 3.53 3.54 
Arch/MCU1 
Arch/MCU2 
Arch/MCU3 
Arch/WCU_FL 
Arch/WCU_FR 
Arch/WCU_RL 
Arch/WCU_RR 
MCU1 OSEK::Archi... 
Behav/Fehlerbeh. 
Behav/Kraft_rl 
Behav/Kraft_fr 
Behav/Überwachung 
Behav/Sensorsignal 
Behav/Kraft_rr 
Behav/Signalverarb. 
Behav/Kraft_fl 
Behav/Längskraft 
0 1 2 3 4 5 6 7 
bus 
allocation 
( 
prozessor 
utilization 
( 
r 
normalisierte Klemmenkraft fl MCU2 aufWCU fl
Motivation Definition Abstraction Classification Sample Usage Summary 
Simulation Results 
Scheduling 2 
0,10 
0,08 
Gesamtlatenz 21,0ms 
4,5ms 4,3ms 
u u u 0,06 
Task r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
r 
0,04 
r r r r 0,02 
r 
r u r 
r 
q r 
r 
r u r 
r 
q 
r 
r 
r 
u 
r 
r 
r 
r 
r 
0 
+ + + 
q q q q + 
3,500 3,505 3,510 3,515 3,520 3,525 3,530 3,535 3,540 3,545 
3.50 3.51 3.52 3.53 3.54 
Arch/MCU1 
Arch/MCU2 
Arch/MCU3 
Arch/WCU_FL 
Arch/WCU_FR 
Arch/WCU_RL 
Arch/WCU_RR 
MCU1 OSEK::Arch... 
Behav/Fehlerbeh. 
Behav/Kraft_rl 
Behav/Kraft_fr 
Behav/Überwachung 
Behav/Sensorsignal 
Behav/Kraft_rr 
Behav/Signalverarb. 
Behav/Kraft_fl 
Behav/Längskraft 
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
Motivation Definition Abstraction Classification Sample Usage Summary 
Advantages of Architectural Simulation 
Comparison to other test methods 
 Better test depth 
some properties hard or impossible to reproduce with real 
hardware 
 Better test coverage 
automated tests, simulation computers easier scale better 
than HiL/RP systems
Motivation Definition Abstraction Classification Sample Usage Summary 
Disadvantages 
 Problem of test coverage 
 In early phases no detailed models 
) limited simulation accuracy 
 Limited accuracy of software run time estimation 
 Effort for assembly, analysis, model adation 
 Complexity of tool chain and models
Motivation Definition Abstraction Classification Sample Usage Summary 
Summary and Perspective 
Architectural Simulation 
 Architectural simulation defined, classified, benchmarked 
 Metrics for abstraction review 
) Earlier disclosure of inconsistencies in design and 
implementation 
) Project dependent balancing of effort to expected benefit 
) Architectural simulation as project stopped 
) Use of static architecture analysis instead of/ ahead of 
architectural simulation

Architectural Simulation of Distributed ECU Systems

  • 1.
    Motivation Definition AbstractionClassification Sample Usage Summary Architectural Simulation of Distributed ECU Systems Joachim Schlosser 16. Dezember 2005
  • 2.
    Motivation Definition AbstractionClassification Sample Usage Summary Why Architectural Simulation? Context & Motivation Increasing complexity of automotive systems Highly interconnected controller and control loop systems Complicated integration of functions ) Support the development of the technical architecture: Flexible validation earlier, well­founded assertions on temporal and functional behavior Recognize HW/SW integration issues earlier Task of the thesis: define, classify, assess
  • 3.
    Motivation Definition AbstractionClassification Sample Usage Summary Terms of Architectural Simulation Architectural simulation: execute behavioral models + architecture effects (Technical) architecture: hardware platform + system platform Behavioral model: functional behavior of components ) Architectural simulation is a test method. ) Architectural simulation serves validation.
  • 4.
    Motivation Definition AbstractionClassification Sample Usage Summary Related Work Functional simulation, e. g. Matlab/Simulink, ASCET­SD Rapid prototyping, e. g. xPC, dSpace, ETAS Hardware simulation, e. g. VHDL, Verilog Static architecture analysis, e. g. function chains, WCET analysis, scheduling analysis
  • 5.
    Motivation Definition AbstractionClassification Sample Usage Summary Principle Principle of Architectural Simulation Example: safety critical, redundant system fA Signal1 fB Signal2 fC Verhalten Architektur ECU1 Mem OSEK CPU BusCtrl BusCtrl BusCtrl ECU2 Mem OSEK CPU BusCtrl BusCtrl BusCtrl BusA BusB BusC
  • 6.
    Motivation Definition AbstractionClassification Sample Usage Summary Reflection of Abstraction Why a Taxonomy? Discussions on abstraction dissatisfying Solution: use abstraction taxonomy ) Improve discussion ) Ensure consistency of models ) Detect model disharmony and put in metric ) Benchmark modeling and simulation tools
  • 7.
    Motivation Definition AbstractionClassification Sample Usage Summary VSI Taxonomy Virtual Socket Interface Alliance: System Level Model Taxonomy Time 1 Gate accurate 2 Cycle accurate 3 Cycle approx. 4 Instruction cycles 5 Data cycles 6 System events 7 Partial order Data 1 Bit 2 Data type 3 Abstract type 4 Property 5 Token Function 1 Digital logic 2 Implementation 3 Algorithm 4 Mathematical Structure 1 Structure 2 Block diagram 3 Black box Program 1 Object code 2 Mikro code 3 Assembler 4 High level language 5 DSP primitive 6 State machine
  • 8.
    Motivation Definition AbstractionClassification Sample Usage Summary Notation Simplification VSI Taxonomy, displayed as vector: a = aZ aD aF aS aP ! Time Data Function Structure ProgrammingModel ! disuse of axis expressed by ? abstraction ranges written as intervalls, e. g. aV = 0 @ [4;7] [2;4] 22? 1 A
  • 9.
    Motivation Definition AbstractionClassification Sample Usage Summary Dependencies betweeen Abstraction Axes Correlations Abstraction axes are not orthogonal. ProgrammingModel Time Structure Data Function Why important? Consistency of models (‘model harmony’)
  • 10.
    Motivation Definition AbstractionClassification Sample Usage Summary Dependencies betweeen Abstraction Axes Sample Relation, Sample Usage Sample: RZP = Time ProgrammingModel Time 1 2 3 4 5 6 7 Program 2 2 3 3 4 5 6 Sample usage: CPU modell for run time estimation Estimates generated C code (level P = [4; 6]) To deliver instruction cycles (level Z = 4) Relation states: RZP(4) = 3 ) Model cannot meet requirements
  • 11.
    Motivation Definition AbstractionClassification Sample Usage Summary Dependencies between Types of Models Why? Harmony of interacting models Discrepancy of abstraction admissible according to individual dependency Consistency of abstraction of whole system
  • 12.
    Motivation Definition AbstractionClassification Sample Usage Summary Types of Models with Abstraction and Dependencies Funktionsnetzstruktur Komponentenverhalten Komponentenimplementierung 1 Betriebssystem Middleware Stimulation Simulation Architektur Prozessor Abbildung Verhalten Nachricht Speicher Signal Prozess Task Feldbus Analyse Fehler 1 1..* 1 1..* 1..* 0..1 0..* 1..* 1..* 1 1..* 0..1 0..1 1..* 1 1 1 1 0..1 1..* 0..1 1..* 0..1 0..* 0..* 1 1..*
  • 13.
    Motivation Definition AbstractionClassification Sample Usage Summary Types of Models with Abstraction and Dependencies 1 CA Betriebssystem Prozessor Nachricht 1 1 0..1 0..1 0 B@ 1 [2;5] 2 [2;3] 3 [1;4] CA 0 B@ [4;6] [2;4] 33 [1;5] 0 @ 1 A 22112
  • 14.
    Motivation Definition AbstractionClassification Sample Usage Summary Types of Models with Abstraction and Dependencies P0ostulation: @ 1 A [4;6] [2;4] 33 [1;5] 22112 + 0 @ 1 A [2;5] 2 [2;3] 3 [1;4]
  • 15.
    Motivation Definition AbstractionClassification Sample Usage Summary Architectural Simulation in the Development Process (extremely simplified, no iterations)
  • 16.
    Motivation Definition AbstractionClassification Sample Usage Summary Example of Usage Brake­by­Wire Simulation and architecture modeling with Cadence VCC/SysDesign Function modeling with ETAS ASCET­SD Sensor vRL Bremsaktor RL Sensor vRR Sensor vFL Bremsaktor FL Sensor vFR Bremsaktor RR Bremsaktor FR Bremspedal Sensor Feststellbremse Schalter
  • 17.
    Motivation Definition AbstractionClassification Sample Usage Summary Simulation Results Scheduling 1 0,10 0,08 Gesamtlatenz 43,5ms 20ms 10,6ms u u Task (a) q Pedalpos. Sens. MCU2 0,06 (b) r Pedalpos. Sens. MCU2 auf MCU2 (c) + Pedalpos. Sens. MCU2 auf MCU1 (d) u normalisierte Klemmenkraft fl lokal (e) 0,04 r r r 0,02 r r r r r r r r r r r r r r r r r r r r r r r + + r r q q q q + + + u r q u r q u r u u 0 3,500 3,505 3,510 3,515 3,520 3,525 3,530 3,535 3,540 3,545 3.50 3.51 3.52 3.53 3.54 Arch/MCU1 Arch/MCU2 Arch/MCU3 Arch/WCU_FL Arch/WCU_FR Arch/WCU_RL Arch/WCU_RR MCU1 OSEK::Archi... Behav/Fehlerbeh. Behav/Kraft_rl Behav/Kraft_fr Behav/Überwachung Behav/Sensorsignal Behav/Kraft_rr Behav/Signalverarb. Behav/Kraft_fl Behav/Längskraft 0 1 2 3 4 5 6 7 bus allocation ( prozessor utilization ( r normalisierte Klemmenkraft fl MCU2 aufWCU fl
  • 18.
    Motivation Definition AbstractionClassification Sample Usage Summary Simulation Results Scheduling 2 0,10 0,08 Gesamtlatenz 21,0ms 4,5ms 4,3ms u u u 0,06 Task r r r r r r r r r r r 0,04 r r r r 0,02 r r u r r q r r r u r r q r r r u r r r r r 0 + + + q q q q + 3,500 3,505 3,510 3,515 3,520 3,525 3,530 3,535 3,540 3,545 3.50 3.51 3.52 3.53 3.54 Arch/MCU1 Arch/MCU2 Arch/MCU3 Arch/WCU_FL Arch/WCU_FR Arch/WCU_RL Arch/WCU_RR MCU1 OSEK::Arch... Behav/Fehlerbeh. Behav/Kraft_rl Behav/Kraft_fr Behav/Überwachung Behav/Sensorsignal Behav/Kraft_rr Behav/Signalverarb. Behav/Kraft_fl Behav/Längskraft 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
  • 19.
    Motivation Definition AbstractionClassification Sample Usage Summary Advantages of Architectural Simulation Comparison to other test methods Better test depth some properties hard or impossible to reproduce with real hardware Better test coverage automated tests, simulation computers easier scale better than HiL/RP systems
  • 20.
    Motivation Definition AbstractionClassification Sample Usage Summary Disadvantages Problem of test coverage In early phases no detailed models ) limited simulation accuracy Limited accuracy of software run time estimation Effort for assembly, analysis, model adation Complexity of tool chain and models
  • 21.
    Motivation Definition AbstractionClassification Sample Usage Summary Summary and Perspective Architectural Simulation Architectural simulation defined, classified, benchmarked Metrics for abstraction review ) Earlier disclosure of inconsistencies in design and implementation ) Project dependent balancing of effort to expected benefit ) Architectural simulation as project stopped ) Use of static architecture analysis instead of/ ahead of architectural simulation