fzi forschungszentrum informatik -...

28
Copyright © 2006 FZI Karlsruhe kmg HLSLA‘07, 14-January-2007 Supporting system level design of distributed electronic control units for automotive applicationsProf. Dr.-Ing. Klaus D. Müller-Glaser Universität Karlsruhe, Institut für Technik der Informationsverarbeitung (ITIV) Dr.-Ing. Clemens Reichmann, Markus Kuehl Aquintos GmbH FZI Forschungszentrum Informatik an der Universität Karlsruhe

Upload: phamdan

Post on 04-Jun-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Copyright © 2006 FZI Karlsruhe kmg

HLSLA‘07, 14-January-2007

„Supporting system level design of distributed electronic control units

for automotive applications“

Prof. Dr.-Ing. Klaus D. Müller-GlaserUniversität Karlsruhe, Institut für Technik der Informationsverarbeitung (ITIV)

Dr.-Ing. Clemens Reichmann, Markus KuehlAquintos GmbH

FZI Forschungszentrum Informatikan der Universität Karlsruhe

Copyright © 2006 FZI Karlsruhe kmg

HydraulicBrake System

Benz

Characteristics: distributed, mechatronic, hard real time

76 ECUs> 100 el. Motors> 2000 m wires

ECU’s are part ofmechatronic systems formeasurement and control

Softwareis part ofECU

Copyright © 2006 FZI Karlsruhe kmg

Complex Communication (e.g. Audi A8)

Courtesy Volkswagen/Audi

Copyright © 2006 FZI Karlsruhe kmg

Complex Communication (e.g. Audi A8)

Courtesy Volkswagen/Audi

4 application domains for ECUs:

Power train: mainly closed loop control functionsChassis control: mainly closed loop control functionsBody electronics: mainly reactive, event driven functionsnfotainment: mainly reactive, event driven functions

software intensive >>100k LOC

Copyright © 2006 FZI Karlsruhe kmg

Electrics/Electronics in a car

Sternpunkt

Batterie

SAM/B mitSRB/B

SAM/F mitSRB/F

Fond-KLA(SA)

+ -

Tür-SG hintenrechts

Tür-SG vornerechts

Sitz-SG vornerechts mitMemory

Sitz SG vornelinks mit Memory

Tür-SG vornelinks

Tür-SG hintenlinks

ME 2.0 / CR

EGS

ASR/ESP

Tel/S/EArthur

(1) Bedien- und Anzeigeteil für Radio/OMS (SA)

ART (SA)

KL30 ges.

geschalteteVerbraucher

Signale

KL30 ges.

geschalteteVerbraucher

Signale DBE

Sitz-SGhinten (SA)

Sound-system

CD

PTS (SA)

Kom

bi

KL87 ges.(KL15)

Innenraum-CAN (Class B)

ZV-Pumpe

KLAOBF

LF/ ABC (SA)

AAG (SA)

Motor-CAN (Class C)

KL15KL15R

Mantelrohr-modul

EZS

EWM

KIN

KL15

KL15R

MSS (SA)

KeylessGo (SA)

diskrete Leitungen(eine oder mehrere)

Klemme 30 ungesichert

BlinkerSchlußlichtRückfahrlichtBremslicht

SchlußlichtBremslichtNebelschl.RückfahrlichtBlinker

Türkontakthinten links

FH-Motormit ÜKBM

Ausstiegsleuchte

FH-Schalter

Heckdeckel-kontakt

EDW-Koffer-raumkontakt

Kennzeichen-beleuchtung

3. Bremsleuchte

EDW-Neigungs-schalter

Heizbare Heck-Scheibe

KSA rechts

KSA mitte

KSA links

Heckrollo

Tank

fülls

tand

sgeb

er

Türkontakthinten rechts

FH-Schalter

FH-Motormit ÜKB

M

EDW

-Tan

kdec

kelk

ont.

BBV

AusstiegsleuchteTürkontaktvorne rechts

Ausstiegsleuchte

Türkontaktvorne links

Ausstiegsleuchte

Diagnosedose(OBD II-Connector)

Bremslicht-schalter

Lenkwinkel-sensor

Lichtdrehsch.

Mantelrohrverstellungmit Memory

Tempomatsch.

M

MFL

HAS

Lenkstocksch.

UBF

Innenbeleuchtung

Innenraum-schutz (2x)

Innen-temperatur

EDW-Handschuh-kastenkontakt

SHD-Motor M

Regensensor

Funkempfänger

- Sitzverstell- schalter Sitz vorne links- SH-Schalter, SBlft-Schalter

Spiegel-verstellungmit Memory Sitzverstellschalter

Sitz hinten linksSBlft-Schalter

SH-SchalterFH-Motormit ÜKB

MM

- FH-Schalter (4-fach) mit KiSi u. HFE- Spiegelverstellschalter

FH-Motormit ÜKB

- SH-Schalter, SBlft-Schalter- Sitzverstellschalter Sitz vorne rechts

Sitzverstellschalter Sitz hinten rechtsu. vorne rechts

SH-Schalter

Spiegel-verstellungmit Memory

M M

FH-Schalter

seitl. Blinkleuchte

Zusatzwas-serpumpe

Bremsfl.-Stand

M

seitl. Blinkleuchte

DUO-Taktventil

Wischer

Ventilleiste

Innengebläse

BBV

BBV

Scheinwerferlinks:ABL, FL, PL,NSW, BL

Scheinwerferrechts:ABL, FL, PL,NSW, BL

M

M

M

M

Starterrelais

EDW-Horn/EDW-Sirene

EDW-Motor-haubenkontakt

Motordrehzahl

Kühlwassertemp.

MagnetventilRückförderpumpe

Waschwasserstand

Kältemitteldruck

Kältemitteltemperatur

SRA

Kühlwasserstand

Außentemperatur

SLP

Signalhorn

MagnetkupplungKältekompressor

Waschwasserpumpe

Waschwasserheizung

Klemme 61

KompressorLuftfederung

Gutschloßvorne rechts

Gutschloßvorne links

Gurtschloßhinten rechts

Gurtschloßhinten mitte

Gurtschloßhinten links

M

E-Sauglüfter SG

DVL

M

Innenspiegel

- Schloßnußtaster SN1 u. SN2- IR-Empfänger- Antriebssperr- klinkenschalter- Magnetventil Zuziehhilfe

- Magnetventil Zuziehhilfe- Antriebssperrklinkenschalter- Schloßnußtas- ter SN1 u. SN2- IR-Empfänger - Magnetventil Zuziehhilfe

- Antriebssperrklinkenschalter

- Magnetventil Zuziehhilfe- Antriebssperrklinkenschalter

SchloßnußtasterSN1 u. SN2

Heckdeckel-öffnungstaster

M

Sitzheizung

Sitzbelüftung

Verstellmotoren für:Höhe vorne, Höhe hinten,Längspos., Sitzkissentiefe,Lehne, Kopfstütze

Verstellmotoren für:Höhe vorne,Höhe hinten,Längspos., Sitzkissentiefe,Lehne, Kopfstütze

MSitzheizung

Sitz-belüftung

Verstellmotoren für:Längspos., Höhe,Kopfstütze (je 2x) M

Sitzhei-zung

Anhänger-erkennung

SBS

Wischer-ablagen-heizung

Getriebeöl-kühler

MKLvl (SA)

MKL vr (SA)LWR

SBlft-Schalter

Magnetventil/Zuziehhilfe

Antriebssperr-klinkenschalter

TSA (SA)

RDK (SA)

Sitz-belüftung

Sternpunkt

Deckenleuchteneinheit Fond

Display PTS (SA)

Serielle Schnittstelle

MKLhinten (SA)

KL30 ges.

SAM

/H m

it SR

B/H

Signale

geschalteteVerbraucher

(1)

Copyright © 2006 FZI Karlsruhe kmg

Hierarchical Organization of Design Processes

SystemSpecification

SystemSimulation

Development ofHW /SW

Specification

PrototypeDevelopment

CalibrationVehicle

Validation

Release toManufacturing Manufacturing

FunctionalTest Service

HWDesign

HWSimulation

PrototypeAssembly

DesignVerification

Release toManufacturing Manufacturing

FunctionalTest

AutocodePrototyping

SWCoding

Static andDynamic Test

Development ofControl Algorithms

and OnboardDiagnostics

Car programrequirements

Emission lawsStrategic

requirements

10s + 10s+5+-

+

Specification and Design Manufacturing Service

MechatronicVehicleSystem

ElectronicControlUnit (HW)

EmbeddedRealtimeSoftware

void main(){...}void initialization(){...}static void control (input, states, output){...}

Copyright © 2006 FZI Karlsruhe kmg

Hierarchical Organization of Design Processes

SystemSpecification

SystemSimulation

Development ofHW /SW

Specification

PrototypeDevelopment

CalibrationVehicle

Validation

Release toManufacturing Manufacturing

FunctionalTest Service

HWDesign

HWSimulation

PrototypeAssembly

DesignVerification

Release toManufacturing Manufacturing

FunctionalTest

AutocodePrototyping

SWCoding

Static andDynamic Test

Development ofControl Algorithms

and OnboardDiagnostics

Car programrequirements

Emission lawsStrategic

requirements

10s + 10s+5+-

+

Specification and Design Manufacturing Service

MechatronicVehicleSystem

ElectronicControlUnit (HW)

EmbeddedRealtimeSoftware

void main(){...}void initialization(){...}static void control (input, states, output){...}

multipleinterleaving design processes

Concurrent Engineeringdistributed between OEM and supplier

requiresstrictly controlled design methodology

supporting computer aided design toolsmodel based design

Copyright © 2006 FZI Karlsruhe kmg

Model Based Design - graphical descriptions preferred

Closed Loop Control

Reactive Systems

Performance Analysis

Copyright © 2006 FZI Karlsruhe kmg

System IntegrationCalibration, ApplicationTransition to Utilization

Typical Design Flow

Rapid PrototypingHardware PlatformCode Generation

Real Time Operating Systemconfigurable Interfaces

HW/SW-ImplementationIntegration

W-Modules, Data Dictionary, SW-CompHW-Component, HW-ModuleHW-Realization Documents

&

&

&&

Detailed HW/SW-DesignSW-Design, Data Dictionary

HW-DrawingsHW-Analysis Report

PROCESS (schlupf, state)BEGIN

CASE state ISWHEN freilauf =>

IF schlupf > 0 THENnext_state <=

bremsen;ELSE

HW/SW-Requirements AnalysisPreliminary HW/SW-Design

HW-Architecture, SW-ArchitectureInterface Description

FreiFrei

BremsenBremsen

Rad 1 Rad 1

ASR KontrolleASR Kontrolle

Rad 1

Bremsen

Frei

Rad 2

Bremsen

Frei

Idea System-Analysisexecutable SpecsSystem Design

model basedCustomer Requirements Technical RequirementsReal Time Requirements

System ArchitectureSimulation, Verification

Copyright © 2006 FZI Karlsruhe kmg

MiL, SiL, RP, HiL, Test

MiL Model-in-the-Loop SiL Software-in-the-loopRP Rapid PrototypingHiL Hardware-in-the-LoopTest

SimulatedECU

SimulatedECU

SimulatedEnvironmentSimulated

Environment

RealECURealECU

RealEnvironment

RealEnvironment

Simulation

Real Applicat.

RapidPrototyping

Hardware-in-the-LoopTest-

patternTest-

patternMeas.-data

Meas.-data

ModelValidation

Test

Modeling

ImplementationValidation

Copyright © 2006 FZI Karlsruhe kmg

Modeling

Modeling for complete system including system environment(ECU, car, driver, road, weather conditions)

Domain specific models for Subsystems and Components(closed loop control, reactive systems, software intensive systems)

Different abstraction levels, Parameter variation and boundaries(functional and non-functional data for early design space exploration)

Use of characterized libraries (reuse, variant design)

Macro modeling

Model verification through extensive testing

Model characterization

Model documentation

Meta modeling

Copyright © 2006 FZI Karlsruhe kmg

Challenges for Modeling

Domain Specific Modeling LanguagesModel SynthesisModel ValidationModel TransformationExecutable ModelsAutomatic Generation of Product Artefacts

Meta-ModelingTools on Meta-Model-LevelIntegration of Domain Specific Toolson Meta-Level

Generic Modeling-Platforms

Copyright © 2006 FZI Karlsruhe kmg

Modeling for heterogeneous electronic embedded systems

Architecture and SoftwareModeling with UML

Rhapsody in C++ (i-Logix) Statemate (i-Logix)Stateflow (The MathWorks)ASCET (ETAS)

Event drivenModeling with state charts

Buffer::Buffer SocketListItem1 *

outputBuffer 1

ProcessorBuffer

BatchController

SocketListItem

inputBuffer

1 *

1

Idle Sending Waiting_For_Repeat

Waiting_For_Ack

evRepeat[myCondition]

evBusyevAck /Action1()

Idle Sending Waiting_For_Repeat

Waiting_For_Ack evBusy/Action1()

MATLAB/Simulink (The MathWorks)MATRIXx (National Instruments)ASCET (ETAS)

Signal flow orientedModeling with block diagrams

Real-time Studio (ARTiSAN)Rhapsody in C++ (i-Logix)Rose (Rational Software, IBM)Together (Borland)Poseidon (Gentleware)MagicDraw (NoMagic)Ameos (Aonix)TAU2 (Telelogic)

Heterogeneous modeling requires integration platforme.g. ETAS Integrio, Vector DaVinci

Copyright © 2006 FZI Karlsruhe kmg

Compiler / Linker / Make

Matlab/WrapperGenerator

JAVA

C

Matlab/WrapperGenerator

JAVA

MatlabAutomation

JAVA

MatlabEmbedded Coder

DCOM

Target platforms (RTOS)

ITIV/FZI Tool integration platform (model transformation)

GeneralStore CASE-Tool Integration Platform

TemplateUML Coder

XMI

C++

...generator

other commercial

code generators

XMI2XX

C/C

++

CG-Adaptor

Rhapsody in MicroC

automation

JAVA

MicroC

XMI

C

JAVA

Target-MonitoringModel Debugging

Test

Matlab/WrapperGenerator

JAVA

Matlab/WrapperGenerator

JAVA

Matlab WrapperGenerator

JAVA

Statemate WrapperGenerator

JAVA

Model DataMySQL, ORACLE

SQL

MATLABSimulink

MDL

MATLABSimulink

MDL

MATLABStateflow

MDL XMI 1.0, XMI 1.1, XMI 1.2

Rhapsody

Poseidon

MagicDraw

Together

Rose

ARTiSAN

AONIX

Statemate

new challenge

Copyright © 2006 FZI Karlsruhe kmg

Meta-Modeling 4 Abstraction Layers (OMG standard)

real

abstract M3 layer MOF

M2 layer UML 1.4 UML 1.5 MATLAB Simulink

Statechart(D. Harel)

M1 layer UMLModel

Statechart Model

Simulink Model

M0 layer Objects Data Source code

Real artefacts

Copyright © 2006 FZI Karlsruhe kmg

Model Transformation: M2M Engines Architecture

Rule4Rule3

Rule2

Importer Transformator Exporter

Rule-ModelUML

Source ModelTool A

Target-ModelTool B

<<metamodel>>Source-Metamodel

<<metamodel>>Target-MetamodelRule1

LHS RHS

Instance of Instance of

Copyright © 2006 FZI Karlsruhe kmg

R121_AssociationClassRealization Elements

LHSRealization Elements

source : AssociationClass

ae2 : AssociationEndisNavigable = =true

ae1 : AssociationEndisNavigable = =false

sender : Class

receiver : Class

RHSRealization Elements

sender : SLSystem

x_Outport : SLBlockname = ae1.name+"_Out"blockType = >Outport

receiver : SLSystem

x_Inport : SLBlockname = ae2.name+"_In"blockType = >Inpor t

: SLBlock

: SLBlock

root : SLSystem

demux : SLBlockblockType = >Demuxname = source.name

x_Line : MDLElement, SLLinedstPort = Utility::countInports2(receiver)srcPort = Utility::countOutpor ts2(sender )elementIDelementName = sender.name+"_to_"+receiver.name

mux : SLBlockblockType = >Muxname = source.name

rPorts : MDLElement, MDLStringvalue = " [1, "+Utility::getAllAtt ributesSize(source)+" ]"elementName = >PortselementID

sPorts : MDLElement, MDLStringvalue = " ["+Utility::getAllAtt ributesSize(source)+" , 1]"elementName = >Por tselementID

sShowName : MDLElement, MDLStringvalue = >onelementName = >ShowNameelementID

rShowName : MDLElement, MDLStringvalue = >onelementName = >ShowNameelementID

inDemux : MDLElement, SLLinesrcPor t = >1dstPort = >1elementName = source.nameelementID

muxOut : MDLElement, SLLinesrcPort = >1dstPort = >1elementName = source.nameelementID

outPortPos : MDLElement, MDLStringvalue = Utility::getPositionOfOutport(sender, ae1, 700, 60)elementName = >PositionelementID

inPortPos : MDLElement, MDLStringvalue = Utility::getPosit ionOfInport(receiver, ae2, 50, 60)elementName = >PositionelementID

posMux : MDLElement, MDLStringvalue = Utility::getPositionOfOutportMux(sender, ae1, 620, 60, Utility::getAllAttributesSize(source))elementName = >PositionelementID

posDemux : MDLElement, MDLStringvalue = Ut ility::getPositionOfInpor tDemux(receiver , ae2, 160, 60, Utility::getAllAttr ibutesSize(source))elementName = >PositionelementID

AssociationClass{javax.jmi.substituteName=UmlAssociationClass}

+r121a_AssCls()+r121_AssociationClass()

con necti on-associ ati on

parti c i pant-assoc iat ion bl ock-blockElementsrcBlock-srcBlockLine

block-bl ockElement

system-systemElement

system-system Element

dstBloc kLi ne-d stBlock

system-systemElement

owner-attri bute

o wner-attribu te

owner-attri bute

owner-a ttri bute

srcBlo ck-srcBloc kLi ne

dstBl ockL ine-dstBlo ck

system-systemEle men t

dstBlock-d stBlockLine

srcBlockLine -srcBlocksyste m-syste mElement

syste m-syste mEl ement

owner-attri bute

own er-attribute

o wner-attribu te

owner-attri bute

system-systemElement

assoc i at ion-conne cti on

associ at ion-parti c i pant

system-systemEl eme nt

Transformation Rules UML -> Simulink

Copyright © 2006 FZI Karlsruhe kmg

Tools Chains used at ITIV/FZI

VHDL / Verilog

Mentor Graphics u.a.

ALTERA Quartus-II

XilinxISE 5.2

ALTERAStratix

XilinxVirtex-2/Pro

Mentor Graphic, Protel DXP u.a.

MATLAB/Simulink

ALTERADSP-Builder

XilinxSystem

Generator

dSPACETargetLink

MPC555TriCore

OSEK/VDX

Statemate

R-in-uC

MPC555TriCore

OSEK/VDX

UML-Tools

CG

MPC555AT91

uC/OS

C-Code VHDL-Code VHDL-Code C-Code C/C++-Code

Copyright © 2006 FZI Karlsruhe kmg

Tools used for ECU design

specification support (Doors, QFD/Capture) reactive systems (SDL, Stateflow, Statemate)

closed loop control systems (ASCET-SD, Matlab/Simulink, MatrixX)

software systems (Real-time Studio, Rhapsody in C++,Rose, Together, Poseidon, MagicDraw,Ameos TAU2)

performance analysis (SES/Workbench, Foresight)

ASIC Design (Cadence, Mentor, Synopsys)

rapid prototyping, HiL (dSPACE, ETAS, IPG, Quickturn)

tolerance analysis (Rodon)

application, test, diagnosis (ETAS, Hitex, Vector, RA)

C-Verifier (PolySpace)

Copyright © 2006 FZI Karlsruhe kmg

Distributed ECU’s in cars - design challenges

Still increasing complexity (more comfort and safety functions coming)

number of ECU’s must not increase, should decrease!less, but more powerful HW platforms (8, 16, 32-bit µC)eventually new, more flexible architectures(e.g. dynamically reconfigurable?!)

requires redistribution (mapping) of software onto fewer hardware platforms

Today’s E/E architecture in a car is characterized by an assembly of (too) many locally optimized subsystems

Only OEM can go for global optimum

new system level design exploration tools are required

Copyright © 2006 FZI Karlsruhe kmg

Requirements for new system level tools

Model based design as a basis.Is accepted in research and predevelopment, not yet standardin ECU development

Design space exploration meansdistribution of hardware and software under consideration ofsensor/actuator locationscomputation performance as well as communication performanceCo-design not only for hardware and software but alsofunction, safety, security

Metrics and parameters used are domain specifictherefore, domain specific system level tools are requiredinterfacing seamlessly with component specific tools (meet in the middle).

A lot of model transformations are required

Copyright © 2006 FZI Karlsruhe kmg

Abstraction Layers

Feature Function Network

List of Features

Functions Network

Components and Networking

Topology

FL

FFN

FN

KN

TOP

Top-

Dow

n-D

esig

n

Bot

tom

-Up-

Des

ign

Which features?

Detailed Specification of Functions architecture

Comp. ArchitectureNetwork InfrastructurePower Distribution

Topologywiring harness

What is the concept behind the features?How do they interact?

Copyright © 2006 FZI Karlsruhe kmg

Abstraction Layers

Typical domain specific views

Features

Functions

Components

Component locations and wiring

Design space explorationneeds domain specific metricsand parameters

Copyright © 2006 FZI Karlsruhe kmg

EE-Architecture Concept Tool (www.aquintos.com)

Tool-Framework for Development using Eclipse-Basis

ExtendabilityOpen API

Supports Model ExplorationModel Management

Multi-User (Database)Single-User (File-based)

Variant ManagementKernel based onpure:systems Technology

Export / Import FiltersDBC FIBEXKBLMATLAB/SimulinkUML ARTiSAN Studio

Report GenerationBIRT TechnologyUser Configurable Reports

Metric-InterfacePython, alternative Java API

Graphical EditorsVariants Management

MySQL® Oracle®

Model-Data Backbone

E³.cable

Microsoft EXCEL

Telelogic Doors

Open API & M2M

DocumentationAnalysis, Metrics

Excel

Word

Mulit-User (DBMS) / Single-User (XML-File)

Simulink u.w.

Copyright © 2006 FZI Karlsruhe kmg

• What system level tools should provideDocumentation (readable for men, specific for application domain)Data exchange between all designers across company boundariesData exchange between computer aided tools supporting distributed databasesIntellectual Property, reusable in librariesParameterized for variant designSupporting standards and guidelines (e.g. HIS, Autosar)Testable (Fault models, automatic Model validation), quality assured(automatic generation of test pattern and test bench) and documented (what is modeled, but also what is not modeled)Seamless in design flow (Analysis, Design, Verification, Integration, Validation, Test, Application, Diagnosis)Reviews, Rule Checking, Simulation, Formal Verification, Model Checking Synthesis, automatic, interactive optimizing (e.g. RP-Code, Production Code)allow access for automatic parameter-extraction

Conclusion (1)

Copyright © 2006 FZI Karlsruhe kmg

Conclusion (2)Design studies show:• Model based methodologies and tools are well performing and promising • Seamless design flow only partially given (e.g. digital hardware, software).• Interfaces for Modeling, Simulation, Characterization mostly manual• hard problem for design of embedded systems

Cross sensitivity of Components (insufficient characterization)Safety, Security, Function-CodesignAccording modeling is really time and cost consumingMixed-Mode, Multi-Level-Simulation requiredFormal Verification und Validation not possible?!

• Non functional requirements• Time-, frequency- und parameter-domain

Module / System-Integration und –TestCross-sensitivities, EMC, Certification

Copyright © 2006 FZI Karlsruhe kmg

Conclusion (3)

Model based system design is possible and very promising,tools like Matlab/Simulink/Stateflow are essential

however, there are many design and analysis steps still missing,especially in early system design phases:

design space explorationheterogenous system level modeling and simulationmodel checking, abstract interpretationcode generation for RP and for productiontest program generationconnection to 3D mechanical design (mechatronic)connection to life cycle product data management systems

Copyright © 2006 FZI Karlsruhe kmg

Questions

Thank you very much for your attention