FZI Forschungszentrum Informatik - MSDL
FZI Forschungszentrum Informatik - MSDL
FZI Forschungszentrum Informatik - MSDL
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>FZI</strong><br />
<strong>Forschungszentrum</strong> <strong>Informatik</strong><br />
an der Universität Karlsruhe<br />
HLSLA‘07, 14-January-2007<br />
„Supporting system level design<br />
of distributed electronic control units<br />
for automotive applications“<br />
Prof. Dr.-Ing. Klaus D. Müller-Glaser<br />
Universität Karlsruhe, Institut für Technik der Informationsverarbeitung (ITIV)<br />
Dr.-Ing. Clemens Reichmann, Markus Kuehl<br />
Aquintos GmbH<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Characteristics: distributed, mechatronic, hard real time<br />
Hydraulic<br />
Brake System<br />
76 ECUs<br />
> 100 el. Motors<br />
> 2000 m wires<br />
Software<br />
is part of<br />
ECU<br />
ECU’s are part of<br />
mechatronic systems for<br />
measurement and control<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe Benz kmg
Complex Communication (e.g. Audi A8)<br />
Courtesy Volkswagen/Audi<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Complex Communication (e.g. Audi A8)<br />
4 application domains for ECUs:<br />
ower train: mainly closed loop control functions<br />
hassis control: mainly closed loop control functions<br />
ody electronics: mainly reactive, event driven functions<br />
nfotainment: mainly reactive, event driven functions<br />
software intensive >>100k LOC<br />
Courtesy Volkswagen/Audi<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Electrics/Electronics in a car<br />
Scheinwerfer<br />
rechts:<br />
ABL, FL, PL,<br />
NSW, BL<br />
Scheinwerfer<br />
links:<br />
ABL, FL, PL,<br />
NSW, BL<br />
Getriebeölkühler<br />
Signalhorn<br />
SLP<br />
Kompressor<br />
Luftfederung<br />
Starterrelais<br />
Waschwasserheizung<br />
Waschwasserpumpe<br />
SRA<br />
Waschwasserstand<br />
Kühlwasserstand<br />
EDW-Motorhaubenkontakt<br />
Klemme 61<br />
Motordrehzahl<br />
Kühlwassertemp.<br />
E-Sauglüfter SG<br />
EDW-Horn/EDW-Sirene<br />
Magnetkupplung<br />
Kältekompressor<br />
Magnetventil<br />
Rückförderpumpe<br />
Außentemperatur<br />
Kältemitteltemperatur<br />
Kältemitteldruck<br />
M<br />
M<br />
M<br />
M<br />
(1) Bedien- und Anzeigeteil für Radio/OMS (SA)<br />
Innenraum-CAN (Class B)<br />
Motor-CAN (Class C)<br />
KIN<br />
seitl. Blinkleuchte<br />
BBV<br />
Wischer<br />
BBV<br />
DVL<br />
M<br />
seitl. Blinkleuchte<br />
Serielle Schnittstelle<br />
Zusatzwasserpumpe<br />
DUO-Taktventil<br />
M<br />
EGS<br />
ME 2.0 / CR<br />
Ventilleiste<br />
Innengebläse<br />
Wischerablagenheizung<br />
SAM/B mit<br />
SRB/B<br />
Kombi<br />
SAM/F mit<br />
SRB/F<br />
KL30 ges.<br />
KL15<br />
KL15R<br />
geschaltete<br />
Verbraucher<br />
Signale<br />
LF/ ABC (SA)<br />
ASR/ESP<br />
Bremsfl.-Stand<br />
Spiegelverstellung<br />
mit Memory<br />
FH-Schalter<br />
M<br />
M<br />
Innenspiegel<br />
Sternpunkt<br />
OBF<br />
KL15R<br />
EZS<br />
KL15<br />
M<br />
Tür-SG vorne<br />
rechts<br />
KLA<br />
MantelrohrmodulLenkwinkelsensor<br />
Bremslichtschalter<br />
Ausstiegsleuchte<br />
Mantelrohrverstellung<br />
mit Memory<br />
Tempomatsch.<br />
Lenkstocksch.<br />
MFL<br />
Lichtdrehsch.<br />
Diagnosedose<br />
(OBD II-Connector)<br />
HAS<br />
- SH-Schalter, SBlft-Schalter<br />
- Sitzverstellschalter Sitz<br />
vorne rechts<br />
FH-Motor<br />
M<br />
mit ÜKB<br />
LWR<br />
Ausstiegsleuchte<br />
Tür-SG vorne<br />
links<br />
UBF<br />
EWM<br />
Sitz SG vorne<br />
links mit<br />
Memory<br />
- Magnetventil Zuziehhilfe<br />
- Antriebssperrklinkenschalter<br />
- Schloßnußtaster<br />
SN1 u. SN2<br />
Sitzverstellschalter Sitz hinten rechts<br />
u. vorne rechts<br />
- IR-Empfänger SH-Schalter<br />
- Magnetventil Zuziehhilfe<br />
SBlft-Schalter<br />
- Antriebssperrklinkenschalter<br />
FH-Schalter<br />
Tür-SG hinten<br />
Türkontakt<br />
rechts<br />
M<br />
FH-Motor<br />
mit ÜKB<br />
BBV<br />
vorne rechts<br />
Ausstiegsleuchte<br />
SHD-Motor M<br />
Türkontakt<br />
vorne links<br />
Fond-<br />
KLA<br />
(SA)<br />
Gutschloß<br />
vorne links<br />
Innentemperatur<br />
Innenraumschutz<br />
(2x)<br />
Tür-SG hinten<br />
links<br />
Spiegelverstellung<br />
mit Memory<br />
M<br />
M FH-Motor<br />
- Sitzverstell-<br />
mit ÜKB<br />
schalter Sitz vorne links<br />
- SH-Schalter, SBlft-Schalter<br />
- Schloßnußtaster<br />
SN1 u. SN2<br />
- IR-Empfänger<br />
- Antriebssperrklinkenschalter<br />
SH-Schalter<br />
Sitzverstellschalter<br />
Sitz hinten links<br />
SBlft-Schalter<br />
- FH-Schalter (4-fach) mit KiSi u. HFE<br />
- Spiegelverstellschalter<br />
- Magnetventil Zuziehhilfe<br />
M<br />
MKL vr (SA)<br />
KL30 ges.<br />
ART (SA)<br />
Gutschloß<br />
vorne rechts<br />
ZVgeschaltete<br />
Verbraucher<br />
KL87 ges.<br />
Verstellmotoren für:<br />
Höhe vorne,<br />
Höhe hinten,<br />
M<br />
Längspos., Sitzkissentiefe,<br />
Lehne, Kopfstütze<br />
Sitz-SG vorne<br />
rechts mit<br />
Memory<br />
Sitzheizung<br />
Sitzbelüftung<br />
Innenbeleuchtung<br />
Pumpe<br />
Sitz-SG<br />
hinten (SA)<br />
(KL15)<br />
Funkempfänger<br />
Sitzbelüftung<br />
Signale<br />
EDW-Handschuhkastenkontakt<br />
DBE<br />
Sitzhei-<br />
Regensensor<br />
zung<br />
(1)<br />
Verstellmotoren für:<br />
Längspos., Höhe,<br />
Kopfstütze (je 2x) M<br />
Sitzheizung<br />
Sitzbelüftung<br />
Verstellmotoren für:<br />
Höhe vorne, Höhe hinten,<br />
Längspos., Sitzkissentiefe,<br />
Lehne, Kopfstütze<br />
MKL<br />
vl (SA)<br />
MKL<br />
hinten (SA)<br />
SAM/H mit SRB/H<br />
Türkontakt<br />
hinten rechts<br />
KL30 ges.<br />
geschaltete<br />
Verbraucher<br />
Signale<br />
PTS (SA)<br />
Sternpunkt<br />
Türkontakt<br />
hinten links<br />
Ausstiegsleuchte<br />
FH-Motor<br />
M mit ÜKB<br />
FH-Schalter<br />
- Magnetventil Zuziehhilfe<br />
- Antriebssperrklinkenschalter<br />
Gurtschloß<br />
hinten rechts<br />
diskrete Leitungen<br />
(eine oder mehrere)<br />
Keyless<br />
Go (SA)<br />
MSS (SA)<br />
Deckenleuchteneinheit Fond<br />
Display PTS (SA)<br />
Gurtschloß<br />
hinten mitte<br />
RDK (SA)<br />
TSA (SA)<br />
Gurtschloß<br />
hinten links<br />
Klemme 30 ungesichert<br />
KSA rechts<br />
KSA mitte<br />
KSA links<br />
SBS<br />
EDW-Tankdeckelkont.<br />
Tankfüllstandsgeber<br />
EDW-Neigungsschalter<br />
Heizbare Heck-<br />
Scheibe<br />
Heckrollo<br />
Tel/S/E<br />
Arthur<br />
CD<br />
Batterie<br />
+ -<br />
Soundsystem<br />
Magnetventil/<br />
Zuziehhilfe<br />
Antriebssperrklinkenschalter<br />
Blinker<br />
Schlußlicht<br />
Rückfahrlicht<br />
Bremslicht<br />
Schloßnußtaster<br />
SN1 u. SN2<br />
Heckdeckelöffnungstaster<br />
AAG (SA)<br />
HeckdeckelkontaktEDW-Kofferraumkontakt<br />
Kennzeichenbeleuchtung<br />
3. Bremsleuchte<br />
Schlußlicht<br />
Bremslicht<br />
Nebelschl.<br />
Rückfahrlicht<br />
Blinker<br />
Anhängererkennung<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Hierarchical Organization of Design Processes<br />
Mechatronic<br />
Vehicle<br />
System<br />
Electronic<br />
Control<br />
Unit (HW)<br />
Embedded<br />
Realtime<br />
Software<br />
+<br />
+<br />
-<br />
Car program<br />
requirements<br />
Emission laws<br />
Strategic<br />
requirements<br />
System<br />
Specification<br />
10s + 10<br />
s+5<br />
System<br />
Simulation<br />
HW<br />
Design<br />
Development of<br />
Control Algorithms<br />
and Onboard<br />
Diagnostics<br />
Specification and Design Manufacturing Service<br />
Development of<br />
HW /SW<br />
Specification<br />
HW<br />
Simulation<br />
Autocode<br />
Prototyping<br />
Prototype<br />
Development<br />
Prototype<br />
Assembly<br />
SW<br />
Coding<br />
Calibration<br />
Vehicle<br />
Validation<br />
Design<br />
Verification<br />
Static and<br />
Dynamic Test<br />
Release to<br />
Manufacturing<br />
Release to<br />
Manufacturing<br />
void main()<br />
{...}<br />
void initialization()<br />
{...}<br />
static void control (input, states, output)<br />
{...}<br />
Manufacturing<br />
Manufacturing<br />
Functional<br />
Test<br />
Functional<br />
Test<br />
Service<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Hierarchical Organization of Design Processes<br />
Mechatronic<br />
Vehicle<br />
System<br />
Electronic<br />
Control<br />
Unit (HW)<br />
Embedded<br />
Realtime<br />
Software<br />
+<br />
+<br />
-<br />
Car program<br />
requirements<br />
Emission laws<br />
Strategic<br />
requirements<br />
System<br />
Specification<br />
System<br />
Simulation<br />
Development of<br />
HW /SW<br />
Specification<br />
Prototype<br />
Development<br />
Calibration<br />
Vehicle<br />
Validation<br />
Release to<br />
Manufacturing<br />
Manufacturing<br />
Functional<br />
Test<br />
HW<br />
HW<br />
Prototype Design Release to<br />
Functional<br />
Design Simulation Assembly Verification Manufacturing Manufacturing Test<br />
distributed between OEM void main() and supplier<br />
{...}<br />
10s + 10<br />
s+5<br />
Development of<br />
Control Algorithms<br />
and Onboard<br />
Diagnostics<br />
Specification and Design Manufacturing Service<br />
multiple<br />
interleaving design processes<br />
Concurrent Engineering<br />
Autocode<br />
Prototyping<br />
SW<br />
Static and<br />
Coding Dynamic Test<br />
requires<br />
void initialization()<br />
{...}<br />
static void control (input, states, output)<br />
{...}<br />
strictly controlled design methodology<br />
supporting computer aided design tools<br />
model based design<br />
Service<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Model Based Design - graphical descriptions preferred<br />
Closed Loop Control<br />
Reactive Systems<br />
Performance Analysis<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Typical Design Flow<br />
HW/SW-Requirements Analysis<br />
Preliminary HW/SW-Design<br />
HW-Architecture, SW-Architecture<br />
HW/SW-Implementation<br />
Integration<br />
-Modules, Data Dictionary, SW-Comp<br />
HW-Component, HW-Module<br />
HW-Realization Documents<br />
&<br />
&<br />
Interface Description<br />
&<br />
&<br />
Idea System-Analysis<br />
executable Specs<br />
PROCESS (schlupf, state)<br />
BEGIN<br />
CASE state IS<br />
WHEN freilauf =><br />
IF schlupf > 0 THEN<br />
next_state
MiL, SiL, RP, HiL, Test<br />
Model<br />
Validation<br />
Testpattern<br />
Implementation<br />
Validation<br />
Simulated<br />
ECU<br />
Rapid<br />
Prototyping<br />
Real<br />
ECU<br />
MiL Model-in-the-Loop<br />
SiL Software-in-the-loop<br />
RP Rapid Prototyping<br />
HiL Hardware-in-the-Loop<br />
Test<br />
Simulation<br />
Real Applicat.<br />
Simulated<br />
Environment<br />
Hardwarein-the-Loop<br />
Real<br />
Environment<br />
Modeling<br />
Meas.data<br />
Test<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Modeling<br />
Modeling for complete system including system environment<br />
(ECU, car, driver, road, weather conditions)<br />
Domain specific models for Subsystems and Components<br />
(closed loop control, reactive systems, software intensive systems)<br />
Different abstraction levels, Parameter variation and boundaries<br />
(functional and non-functional data for early design space exploration)<br />
Use of characterized libraries (reuse, variant design)<br />
Model verification through extensive testing<br />
Model characterization<br />
Model documentation<br />
Macro modeling<br />
Meta modeling<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Challenges for Modeling<br />
Domain Specific Modeling Languages<br />
Model Synthesis<br />
Model Validation<br />
Model Transformation<br />
Executable Models<br />
Automatic Generation of Product Artefacts<br />
Meta-Modeling<br />
Tools on Meta-Model-Level<br />
Integration of Domain Specific Tools<br />
on Meta-Level<br />
Generic Modeling-Platforms<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Modeling for heterogeneous electronic embedded systems<br />
Architecture and Software<br />
Modeling with UML<br />
BatchController<br />
outputBuffer 1<br />
Buffer::Buffer Buffer<br />
Processor<br />
SocketListItem<br />
1<br />
* SocketListItem<br />
inputBuffer<br />
Real-time Studio (ARTiSAN)<br />
Rhapsody in C++ (i-Logix)<br />
Rose (Rational Software, IBM)<br />
Together (Borland)<br />
Poseidon (Gentleware)<br />
MagicDraw (NoMagic)<br />
Ameos (Aonix)<br />
TAU2 (Telelogic)<br />
Event driven<br />
Modeling with state charts<br />
[myCondition]<br />
Idle Sending Waiting_For_Repeat<br />
evAck /Action1()<br />
Rhapsody in C++ (i-Logix)<br />
Statemate (i-Logix)<br />
Stateflow (The MathWorks)<br />
ASCET (ETAS)<br />
evRepeat<br />
Waiting_For_Ack evBusy<br />
Signal flow oriented<br />
Modeling with block diagrams<br />
MATLAB/Simulink (The MathWorks)<br />
MATRIXx (National Instruments)<br />
ASCET (ETAS)<br />
Heterogeneous modeling requires integration platform<br />
e.g. ETAS Integrio, Vector DaVinci<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
ITIV/<strong>FZI</strong> Tool integration platform (model transformation)<br />
MATLAB<br />
Simulink<br />
XMI<br />
Template<br />
UML Coder<br />
C++<br />
MDL<br />
GeneralStore CASE-Tool Integration Platform<br />
JAVA<br />
MATLAB<br />
Stateflow<br />
Matlab/Wrapper<br />
Matlab Wrapper<br />
Generator<br />
JAVA<br />
Matlab/Wrapper<br />
Matlab<br />
Generator Automation<br />
DCOM<br />
Matlab<br />
Embedded Coder<br />
C<br />
ARTiSAN<br />
AONIX<br />
Together<br />
JAVA<br />
Statemate Wrapper<br />
Generator<br />
Compiler / Linker / Make<br />
Target platforms (RTOS)<br />
MagicDraw<br />
Poseidon<br />
Rhapsody<br />
MDL XMI 1.0, XMI 1.1, XMI 1.2<br />
JAVA<br />
Rhapsody in<br />
MicroC<br />
automation<br />
XMI<br />
MicroC<br />
C<br />
Statemate<br />
new challenge<br />
Rose<br />
XMI2XX<br />
other<br />
commercial<br />
code generators<br />
CG-Adaptor<br />
...<br />
generator<br />
C/C++<br />
Model Data<br />
MySQL, ORACLE<br />
SQL<br />
JAVA<br />
Target-Monitoring<br />
Model Debugging<br />
Test<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Meta-Modeling 4 Abstraction Layers (OMG standard)<br />
bstract M3 layer MOF<br />
real<br />
M2 layer UML 1.4 UML 1.5 MATLAB<br />
Simulink<br />
M1 layer UML<br />
Model<br />
M0 layer Objects Data<br />
Real artefacts<br />
Simulink<br />
Model<br />
Source<br />
code<br />
Statechart<br />
(D. Harel)<br />
Statechart<br />
Model<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Model Transformation: M2M Engines Architecture<br />
<br />
Source-Metamodel<br />
Source Model<br />
Tool A<br />
Rule4<br />
Rule3<br />
Rule2<br />
Rule1<br />
LHS RHS<br />
Instance of Instance of<br />
Rule-Model<br />
UML<br />
Target-Model<br />
Tool B<br />
Importer Transformator Exporter<br />
<br />
Target-Metamodel<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
LHS<br />
Transformation Rules UML -> Simulink<br />
Realization Elements<br />
sender : Class<br />
participant-association<br />
ae1 : AssociationEnd<br />
isNavigable = =false<br />
connection-association<br />
source : AssociationClass<br />
association-connection<br />
ae2 : AssociationEnd<br />
isNavigable = =tr ue<br />
association-participant<br />
receiver : Class<br />
R121_AssociationClass<br />
root : SLSystem<br />
: SLBlock<br />
receiver : SLSystem<br />
x_Inport : SLBlock<br />
name = ae2.name+"_In"<br />
blockType = >Inpor t<br />
RHS<br />
x_Line : MDLElement, SLLine<br />
dstPort = Utility::countInports2(receiver)<br />
srcPort = Utility::countOutports2(sender )<br />
elementID<br />
elementName = sender.name+"_to_"+receiver.name<br />
inDemux : MDLElement, SLLine<br />
srcPort = >1<br />
dstPort = >1<br />
elementName = source.name<br />
elementID<br />
Realization Elements<br />
syste m-sy ste mE l em ent<br />
sy st em-sy st e mE l e m e nt<br />
: SLBlock sender : SLSystem<br />
syste m-syste mE l e m e nt<br />
srcBlock-srcBlockLine block-blockElement<br />
srcBlockLine-srcBlock<br />
sy st em-sy st e mE l e m e nt<br />
system-systemElement<br />
x_Outport : SLBlock<br />
name = ae1.name+"_Out"<br />
blockType = >Outport<br />
dstBlock-dstBlockLine<br />
dstBloc kLine-d stBlock<br />
block-blockElement<br />
system -system El eme nt<br />
srcBlock-srcBlockLine<br />
system -system Ele men t<br />
owner-attribute<br />
owner-attribute<br />
muxOut : MDLElement, SLLine<br />
srcPort = >1<br />
dstPort = >1<br />
elementName = source.name<br />
elementID<br />
rPorts : MDLElement, MDLString<br />
value = "[1, "+Utility::getAllAttributesSize(source)+"]"<br />
elementName = >Ports<br />
elementID<br />
Realization Elements<br />
demux : SLBlock<br />
blockType = >Demux<br />
name = source.name<br />
mux : SLBlock<br />
blockType = >Mux<br />
name = sour ce.name<br />
outPortPos : MDLElement, MDLString<br />
value = Utility::getPositionOfOutport(sender, ae1, 700, 60)<br />
elementName = >Position<br />
elementID<br />
inPortPos : MDLElement, MDLString<br />
value = Utility::getPositionOfInport(receiver, ae2, 50, 60)<br />
elementName = >Position<br />
elementID<br />
dstBlockLine-dstBlock<br />
AssociationClass<br />
{javax.jmi.substituteName=UmlAssociationClass}<br />
+r121a_AssCls()<br />
+r121_AssociationClass()<br />
system-systemElement<br />
sPorts : MDLElement, MDLString<br />
value = "["+Utility::getAllAttributesSize(source)+", 1]"<br />
elementName = >Por ts<br />
elementID<br />
owner-attribute<br />
owner-attribute<br />
owner-attribute<br />
o wner-attribu te<br />
owner-attribute<br />
rShowName : MDLElement, MDLString<br />
value = >on<br />
elementName = >ShowName<br />
elementID<br />
posMux : MDLElement, MDLString<br />
value = Utility::getPositionOfOutportMux(sender, ae1, 620, 60, Utility::getAllAttributesSize(source))<br />
elementName = >Position<br />
elementID<br />
owner-a tt ri but e<br />
sShowName : MDLElement, MDLString<br />
value = >on<br />
elementName = >ShowName<br />
elementID<br />
posDemux : MDLElement, MDLString<br />
value = Utility::getPositionOfInportDemux(receiver , ae2, 160, 60, Utility::getAllAttr ibutesSize(sour ce))<br />
elementName = >Position<br />
elementID<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Tools Chains used at ITIV/<strong>FZI</strong><br />
dSPACE<br />
TargetLink<br />
OSEK/VDX<br />
MPC555<br />
TriCore<br />
MATLAB/Simulink<br />
ALTERA<br />
DSP-Builder<br />
Mentor Graphic, Protel DXP u.a.<br />
VHDL / Verilog<br />
Mentor Graphics u.a.<br />
ALTERA<br />
Quartus-II<br />
ALTERA<br />
Stratix<br />
Xilinx<br />
System<br />
Generator<br />
Xilinx<br />
ISE 5.2<br />
Xilinx<br />
Virtex-2/Pro<br />
Statemate<br />
R-in-uC<br />
OSEK/VDX<br />
MPC555<br />
TriCore<br />
UML-Tools<br />
C-Code VHDL-Code VHDL-Code C-Code C/C++-Code<br />
CG<br />
uC/OS<br />
MPC555<br />
AT91<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Tools used for ECU design<br />
specification support (Doors, QFD/Capture)<br />
reactive systems (SDL, Stateflow, Statemate)<br />
closed loop control systems (ASCET-SD, Matlab/Simulink, MatrixX)<br />
software systems (Real-time Studio, Rhapsody in C++,<br />
Rose, Together, Poseidon, MagicDraw,<br />
Ameos TAU2)<br />
performance analysis (SES/Workbench, Foresight)<br />
tolerance analysis (Rodon)<br />
rapid prototyping, HiL (dSPACE, ETAS, IPG, Quickturn)<br />
application, test, diagnosis (ETAS, Hitex, Vector, RA)<br />
C-Verifier (PolySpace)<br />
ASIC Design (Cadence, Mentor, Synopsys)<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Distributed ECU’s in cars - design challenges<br />
Still increasing complexity (more comfort and safety functions coming)<br />
number of ECU’s must not increase, should decrease!<br />
less, but more powerful HW platforms (8, 16, 32-bit µC)<br />
eventually new, more flexible architectures<br />
(e.g. dynamically reconfigurable?!)<br />
requires redistribution (mapping) of software onto fewer hardware platforms<br />
Today’s E/E architecture in a car is characterized by an assembly of<br />
(too) many locally optimized subsystems<br />
Only OEM can go for global optimum<br />
new system level design exploration tools are required<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Requirements for new system level tools<br />
Model based design as a basis.<br />
Is accepted in research and predevelopment, not yet standard<br />
in ECU development<br />
Design space exploration means<br />
distribution of hardware and software under consideration of<br />
sensor/actuator locations<br />
computation performance as well as communication performance<br />
Co-design not only for hardware and software but also<br />
function, safety, security<br />
Metrics and parameters used are domain specific<br />
therefore, domain specific system level tools are required<br />
interfacing seamlessly with component specific tools (meet in the middle).<br />
A lot of model transformations are required<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Top-Down-Design<br />
Abstraction Layers<br />
List of Features<br />
Feature Function Network<br />
Functions Network<br />
Components and Networking<br />
Topology<br />
FL<br />
FFN<br />
FN<br />
KN<br />
TOP<br />
Bottom-Up-Design<br />
Which features?<br />
What is the concept<br />
behind the features?<br />
How do they interact?<br />
Detailed Specification of<br />
Functions architecture<br />
Comp. Architecture<br />
Network Infrastructure<br />
Power Distribution<br />
Topology<br />
wiring harness<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Abstraction Layers<br />
Typical domain specific views<br />
Features<br />
Functions<br />
Components<br />
Component locations and wiring<br />
Design space exploration<br />
needs domain specific metrics<br />
and parameters<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
EE-Architecture Concept Tool (www.aquintos.com)<br />
Graphical Editors<br />
Variants Management<br />
Excel<br />
Word<br />
Documentation<br />
Analysis,<br />
Metrics<br />
Model-Data Backbone<br />
Mulit-User (DBMS) / Single-User (XML-File)<br />
E³.cable<br />
MySQL® Oracle®<br />
Microsoft EXCEL<br />
Telelogic Doors<br />
Simulink u.w.<br />
Open API & M2M<br />
Tool-Framework for Development<br />
using Eclipse-Basis<br />
Extendability<br />
Open API<br />
Supports Model Exploration<br />
Model Management<br />
Multi-User (Database)<br />
Single-User (File-based)<br />
Variant Management<br />
Kernel based on<br />
pure:systems Technology<br />
Export / Import Filters<br />
DBC<br />
FIBEX<br />
KBL<br />
MATLAB/Simulink<br />
UML ARTiSAN Studio<br />
Report Generation<br />
BIRT Technology<br />
User Configurable Reports<br />
Metric-Interface<br />
Python, alternative Java API<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Conclusion (1)<br />
• What system level tools should provide<br />
Documentation (readable for men, specific for application domain)<br />
Data exchange between all designers across company boundaries<br />
Data exchange between computer aided tools supporting distributed<br />
databases<br />
Intellectual Property, reusable in libraries<br />
Parameterized for variant design<br />
Supporting standards and guidelines (e.g. HIS, Autosar)<br />
Testable (Fault models, automatic Model validation), quality assured<br />
(automatic generation of test pattern and test bench) and documented<br />
(what is modeled, but also what is not modeled)<br />
Seamless in design flow<br />
(Analysis, Design, Verification, Integration, Validation, Test, Application,<br />
Diagnosis)<br />
Reviews, Rule Checking, Simulation, Formal Verification, Model Checking<br />
Synthesis, automatic, interactive optimizing (e.g. RP-Code, Production Code)<br />
allow access for automatic parameter-extraction<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Conclusion (2)<br />
Design studies show:<br />
• Model based methodologies and tools are well performing and promising<br />
• Seamless design flow only partially given (e.g. digital hardware, software).<br />
• Interfaces for Modeling, Simulation, Characterization mostly manual<br />
• hard problem for design of embedded systems<br />
Cross sensitivity of Components (insufficient characterization)<br />
Safety, Security, Function-Codesign<br />
According modeling is really time and cost consuming<br />
Mixed-Mode, Multi-Level-Simulation required<br />
Formal Verification und Validation not possible?!<br />
• Non functional requirements<br />
• Time-, frequency- und parameter-domain<br />
Module / System-Integration und –Test<br />
Cross-sensitivities, EMC, Certification<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Conclusion (3)<br />
Model based system design is possible and very promising,<br />
tools like Matlab/Simulink/Stateflow are essential<br />
however, there are many design and analysis steps still missing,<br />
especially in early system design phases:<br />
design space exploration<br />
heterogenous system level modeling and simulation<br />
model checking, abstract interpretation<br />
code generation for RP and for production<br />
test program generation<br />
connection to 3D mechanical design (mechatronic)<br />
connection to life cycle product data management systems<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg
Questions<br />
Thank you very much<br />
for your attention<br />
Copyright © 2006 <strong>FZI</strong> Karlsruhe kmg