22.07.2013 Views

FZI Forschungszentrum Informatik - MSDL

FZI Forschungszentrum Informatik - MSDL

FZI Forschungszentrum Informatik - MSDL

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!