Aktuelle Herausforderungen und Trends bei der Entwicklung ... · TestWeaver instruments:...

38
Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronik A. Junghanns, QTronic GmbH, Berlin 28.9.2011, Verifysoft

Transcript of Aktuelle Herausforderungen und Trends bei der Entwicklung ... · TestWeaver instruments:...

Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronik

A. Junghanns, QTronic GmbH, Berlin

28.9.2011, Verifysoft

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 2

Gegründet 2006 als Ausgründung von Daimler R&D

Die Gründer haben mehr als 45 gemeinsame Jahre Industrieerfahrung

Produkte- Silver: virtuelle ECU (SiL)- TestWeaver: Systemtest und Validierung

Büros in - Berlin - Stuttgart - Cluj (Rumänien)

Firmenprofile

QTronic in Berlin

QTronic: Experte für Simulations-basierte Entwicklung,Methoden, Werkzeuge und Dienstleistungen

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 3

Führt zu: Mehr Software (mehr Fehler) Mehr Teile/Sensoren (mehr Fehler) Mehr Ingenieure (mehr

Kommunikationsbedarf) Mehr Ingenieursdisziplinen (mehr

Missverständnisse) Mehr Zulieferer (mehr

Informationsengpässe) Weniger Zeit (TTM) und weniger Geld

Markt Situation:Neue Produkte werden immer komplexer

Warum: OEM und Produkte unterliegen erhöhtem Druck durch: Gesetzgeber: Zusätzliche Gesetze

und Regularienz.B. Abgase und Crash-Verhalten

Kunde: Mehr Effizienz und Komfortz.B. l/km vs. Größe, Gewicht und Funktion der Produkte, Verfügbarkeit und Sicherheit (graceful degradation)

Mehr (internationalen) Wettbewerb

Firmen werden durch rasant steigende Komplexität in Prozessen und Produkten herausgefordert

Ingenieure werden beim Test komplexer Systeme herausgefordert

Beispiele für Probleme: A380, Galileo, Fzg-Rückrufaktionen, Neigetechnik...

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 4

Mehr Software – na und?

Quelle: Vortrag von Hans Adlkofer, Infineon, 2009

Weiter steigende Komplexitätvon Steuergeräten:Software ist die einfachste (?) Art,Komplexität zu erhöhen

Wie validieren und testen?- Mehr Tests mit Prototypen?- Mehr Testskripte?

Das skaliert aber nicht,Software wächst schneller:Besserer Testprozess nötig

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 5

Test Weaver: Intelligenter Testfall-Generator

Idee• intelligentes Generieren von 1000en verschiedenen Nutzungs- und Fehlerszenarien • Aktiver Versuch: - zur Maximierung der Zustandsabdeckung - das System in “schwierige” Situationen zu treiben

Nutzen • hohe Testabdeckung • geringer Spezifikationsaufwand

Test = Spiel gegen das (simulierte) System

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 6

Strategie für Test-Generierung

controlinput

fault

Test WeaverTest Weaver

state

alarm

software-in-the loop

vehicle model

ECUC code

inputs u outputs y

ErreichterZustand

AlarmZustand

Diskretisierter Zustandsraum

testreport

stateDB

y

u

ZieleFehler:Suboptimale Testsverschlimmern um Fehler zu provozieren

Abdeckung:Treibe das System in neue, noch nicht gesehene Zustände

ZieleFehler:Suboptimale Testsverschlimmern um Fehler zu provozieren

Abdeckung:Treibe das System in neue, noch nicht gesehene Zustände

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 7

TestWeaver - Test Generation Strategy

root

input a

ok

input b

alarm !fault 1

fault 2

input a

input b

input

a

input b

input c

time

t0

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 8

TestWeaver instruments: MATLAB/Simulink

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 9

Test Weaver: Ergebnisanalyse

Overview report for all scenarios

Detailed reports forindividual scenarios

Replay, plot, debug

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 10

Beispiel: Verletzung von Integer-Intervallen

source: Schaich, Breitinger, Tatar,Automated test of the AMG DCT Speedshift control software. 9th International CTI Symposium Innovative Automotive Transmissions, Berlin, 1 - 2.12.2010.

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 11

Beispiel: Problem gefunden und behoben

Oszillation des Zielganges- gefunden mit TestWeaver- “Nachgefahren”

Oszillation des Zielganges- gefunden mit TestWeaver- “Nachgefahren”

Verbesserte Steuerungs-Software- Regressiontests gefunden- Problem gelöst

Verbesserte Steuerungs-Software- Regressiontests gefunden- Problem gelöst

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 12

TestWeaver für dSPACE HiL

CAN, XCP, UDS CANape- measure during replay

TestWeaver for HiL

ExperimentSpecification

Python test

r/w fault codesr/w EEPROM (adapt. data)

measurecalibrate

generated test cases run in real-timeaccurate timing on a milli sec scalehost PC

generate testrun each testand record result

TestReport

recordedtest

results

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 13

TestWeaver ermöglicht: weniger blinde Flecken beim Test Größenordnungen mehr Tests Weniger Testspezifikation Weniger Wartung von Testfällen Jede Testbedingung wird in jeder

Simulation zu jedem Zeitpunkt geprüftim Gegensatz zu Testskripten wo oft nur eine Bedingung am Ende getestet wird

TestWeaver validiert Systemeigenschaften

TestWeaver “spielt” gegen System: Egal ob MiL/SiL/HiL Nutzer muss nur definieren welche:

- Eingänge verändert werden und- Bedingungen getestet werden

TestWeaver generiert, führt aus und bewerten dann autonom tausende von verschiedenen Testfällen

Ziel: hohe Testabdeckung und schlimmste Spezifikationsabdeckung finden ohne zusätzlichen Aufwand

TestWeaver simuliert das zu testende System geduldig tausende male autonom und intelligent um Verletzungen der Spezifikation zu finden.

http://qtronic.de/en/weaver.html

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 14

Typen von Test Plattformen

Virtuelle Strecke

Echte Strecke

Virtuelle ECU Echte ECU

HiLSiL

Rapid ControlPrototyping

Prototyp

ZeitigPreiswertViele

SpätTeuerWenige

ZeitigPreiswertViele

SpätTeuerWenige

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 15

State-of-the-Art Embedded Development, Yesterday

C-Sources hex

Flashing

Function Development

Traditional Tool Chain to ECU

FunctionDeveloper

Targetcompilation(Tasking)

Prototype Testing

Flashing

Debugging/Change Requests

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 16

State-of-the-Art Embedded Development, Today

ControlModels C-SourcesC-Code

Generation(TargetLink)

hex

a2lpar/dcm

DataDictionary

Flashing

Function Development

FunctionDeveloper

Targetcompilation(Tasking)

Version Selection

Modeling(Simulink/TargetLink)

FunctionDeveloperFunction

Developer

Application

ApplicationEngineer

ApplicationEngineer

ApplicationEngineer

ApplicationEngineer

HiL and Prototype Testing

Debugging/Change Request

TestEngineer

TestEngineer

TestEngineer

Flashing

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 17

State-of-the-Art Embedded Development, Tomorrow?

reusableSWC

SW Component

C-Sources hex

a2lpar/dcm

DataDictionary

Flashing

Function Development

FunctionDeveloper

Targetcompilation(Tasking)

Version Selection

Modeling(Simulink/TargetLink)

FunctionDeveloperFunction

Developer

Application

ApplicationEngineer

ApplicationEngineer

ApplicationEngineer

ApplicationEngineer

HiL and Prototype Testing

FlashingDebugging/Change Request

TestEngineer

TestEngineer

TestEngineer

RTEGeneration

Systembuilding

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 18

Entwicklung von Steuergeräte-Software

Control SW

HiL TestsPrototypeTests

Entwicklung mit● C/C++, Simulink, TL, ...

Low-LevelOSEK

A2L

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 19

Control SW SimulationModel

Control SW

HiL TestsPrototypeTests

Simulation z.B.● Modelica, Simulink, ...

Adapterfastfeedback

SiL Tests

Virt

ual

Inte

grat

ion

Low-LevelOSEK

A2L

S i l v e rS i l v e r

Entwicklung von Steuergeräte-Software

Entwicklung mit● C/C++, Simulink, TL, ...

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 20

Silver

Grafische Nutzeroberfläche:• Interaktion des Nutzers mit simuliertem Auto:

Bremse, Gas, Lenkung,...• Beobachtung und Analyse mittels:

Plotter, Breakpoints, Scripten, Datei in/out, ...

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

Silverconfigurable GUI

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 21

Silver

ECU Software als DLL:• „Vollständige“ ECU Software (ohne BS)•Rahmensoftware emuliert durch Wrapper• A2L mit Adressinformation adaptiert für DLL• Parameterwerte „geflushed“ zu Beginn

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

Silverconfigurable GUI

adapter

Virtual ECUcontrol software tasks

fix-point C code one function per task

DBCA2LPARDCMHEX

sched-uler

to runtasks CAN

flashscalerangecheck

IOdriver

toHW

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 22

Silver

Canape/INCA via XCP:• Virtuelles Messen mittels XCP via TCP/IP•Ohne Bandbreitenbeschränkung (kein CAN)•Online Kalibrieren von Parametern

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

Silverconfigurable GUI XCP

measurement and calibration with CANape/INCA

TCP/ IP

adapter

Virtual ECUcontrol software tasks

fix-point C code one function per task

DBCA2LPARDCMHEX

sched-uler

to runtasks CAN

flashscalerangecheck

IOdriver

toHW

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 23

Silver

Abspielen und Analyse:• Abspielen von Daten aus dem Feld für Analyse• Aufnahme von Szenarios zum Versenden

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

Silverconfigurable GUI XCP

measurement and calibration with CANape/INCA

TCP/ IP

readerwriter

adapter

Virtual ECUcontrol software tasks

fix-point C code one function per task

DBCA2LPARDCMHEX

MDFCSV

sched-uler

to runtasks CAN

flashscalerangecheck

IOdriver

toHW

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 24

Silver

Hardware (Simulation) DLL:• Simuliertes Fahrzeug, Motor und Getriebe•Oft: Modelica mit Dymola oder SimulationX• Auch: AMESim, Simpack, Simulink...

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

Silverconfigurable GUI

Modelica with Dymola/SimulationX

XCP

measurement and calibration with CANape/INCA

TCP/ IP

readerwriter

car model DLL or FMU

adapter

Virtual ECUcontrol software tasks

fix-point C code one function per task

DBCA2LPARDCMHEX

MDFCSV

S-function

.mexw32

MATLAB/Simulink

sched-uler

to runtasks CAN

flashscalerangecheck

IOdriver

toHW

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 25

Silver

Rapid Prototyping:• ECU-SW läuft auf PC und triebt Endstufen in der

ECU• SW-Änderungen können in weniger als 10

Minuten “erfahren” werden

Silverconfigurable GUI

Modelica with Dymola/SimulationX

XCP

measurement and calibration with CANape/INCA

TCP/ IP

readerwriter

car model DLL or FMU

adapter

Virtual ECUcontrol software tasks

fix-point C code one function per task

DBCA2LPARDCMHEX

CAN

rapid prototyping

DBC

MDFCSV

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

S-function

.mexw32

MATLAB/Simulink

sched-uler

to runtasks CAN

flashscalerangecheck

IOdriver

toHW

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 26

Silver

Scripten mit Python:• Automatisierung häufiger Prozeduren,

e. g. Motorstart, “Einlernen”

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

Silverconfigurable GUI

Modelica with Dymola/SimulationX

XCP

measurement and calibration with CANape/INCA

TCP/ IP

pythonscripting

readerwriter

test and adapt

car model DLL or FMU

adapter

Virtual ECUcontrol software tasks

fix-point C code one function per task

DBCA2LPARDCMHEX

CAN

rapid prototyping

DBC

MDFCSV

S-function

.mexw32

MATLAB/Simulink

sched-uler

to runtasks CAN

flashscalerangecheck

IOdriver

toHW

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 27

Silver

Debuggen mit Visual Studio:• stopp Simulation zu jeder Zeit• Visual Studio Debugger an Silver ankoppeln• Zeile-für-Zeile debuggen in Quellkode-

Debuggern

SiL Umgebung● Simulation: Silver (QTronic)● Messen: Canape (Vector)● Debuggen: Visual Studio (Microsoft) ● Automat. Test: TestWeaver (QTronic)● Code Abdeckung: CTC++ (Verifysoft)

Silverconfigurable GUI

Modelica with Dymola/SimulationX

XCP

measurement and calibration with CANape/INCA

TCP/ IP

pythonscripting

readerwriter

MS VisualStudio

attach to process

test and adapt

debug

car model DLL or FMU

sched-uler

to runtasks

adapter

Virtual ECUcontrol software tasks

fix-point C code one function per task

PDB

DBC

CAN

rapid prototyping

DBC

MDFCSV

IOdriver

toHW

S-function

.mexw32

MATLAB/Simulink

A2LPARDCMHEX

CAN

flashscalerangecheck

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 28

Debuggen einer Div0 Ausnahme

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 29

Für jedes durch TestWeaver gefundene Problem gibt es mindestens ein reproduzierbares Beispiel!

Für jedes durch TestWeaver gefundene Problem gibt es mindestens ein reproduzierbares Beispiel!

TestWeaver testet: Korrektheit und Qualität

● Laufzeit-Fehler:Division durch Null, Stacküberlauf...

● A2L Intervallprüfung:tausender Steuergerätesignale

● Qualität:z.B. max/avg Schaltzeiten

● Bauteilbelastungen:Überhitzung, Überdehzahlen...

● Zustandsüberwachung:hunderte Signale und viele Fehlereinträge

● Oszillationen und unerwartete Regelungsaktionen:falsche Fehlerdiagnose und/oder Fehlerreaktion

● Code-Abdeckung und Systemzustandsabdeckung

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 30

DCT Steuergeräte Software in Silver

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 31

Silver ermöglicht: Austausch v. Information/Ergebnissen Nicht-Spezialisten können Simulation

ohne Simulation-Software nutzen Schutz von IP Systemverhalten auf dem Laptop

jedes Ingenieurs (Parallele Entw.) Extrem kurze Änderungs-

Validierungs-Zyklen (nur Minuten!) Ingenieure erfahren sofort Ihre

Änderungen im Systemkontext

Silver verbindet Ingenieure

Silver: Virtueller Prototyp: Auf Standard-Windows-PC Verbindet virtuelle Steuerung und

virtuelles Streckenmodell Kompilierte Verhaltensmodelle aus

vielen verschiedenen Werkzeugen ohne Quellen

Erlaubt Effiziente und intuitive Definition der Kommunikation

Erlaubt dem Nutzer das Erfahren des virtuellen Prototyps

Silver ist eine Infrastruktur um Verhalten auszutauschen. Silver erlaubt Ingenieuren schnell zu verstehen, wie Änderungen an ihren Komponenten das Systemverhalten beeinflusst. Am Schreibtisch.

http://qtronic.de/en/silver.html

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 32

Silver & Test Weaver bei AMG

AMG SPEEDSHIFT MCT7-Gang Getriebe● Am Markt seit April 2008 ● ECU Software getestet mit

Silver und Test Weaver● Jede Software Release:

24h Testlauf parallel auf mehreren PCs● Tausende Schaltungen

generiert und analysiert

SL63 AMG with SPEEDSHIFT MCT

Details in: ATZelektronik, 6/2009in Deutsch and Englisch

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 33

Silver & TestWeaver bei Mercedes-Benz

Details in:Model-based Development of a Dual-Clutch Transmission using Rapid Prototyping and SiLProceedings of: "Getriebe in Fahrzeugen 2009", Friedrichshafen 30.06.-01.07.2009.

Doppelkupplungsgetriebe von Mercedes-Benz● ECU Softwaretest mit

Silver und Test Weaver● Jeder Software-Release:

24h Testlauf parallel auf mehreren PCs

● Tausende Schaltungengeneriert und analysiert

● code coverage gemessen mit CTC++

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 34

Seitenwind-Stabilisierungs-Funktion

Seitenwind Stabilisierung Funktion exportiert aus

Simulink Co-Simuliert mit Mercedes

In-House Fahrzeugmodell, Wind- und Straßenmodell in Silver

Test der Stabilisierungs-Funktion mit Test Weaver

Generiert und analysiert 100.000 verschiedene Fahrmanöver, jedes 45 Sek.

Innerhalb von 3 Wochen

details in: IFAC Symposium Advances in Automotive Control 2010, 12-14 July 2010, Munich, Germany

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 35

Silver & TestWeaver für LKW Bremssystem

Brake Blendig Funktion 2008 for Haldex Zusammen mit Modelon AB Co-Simulation Dymola und

Simulink mit Silver Test der Bremssystem-SW

mit Test Weaver Tausende von

Fahrmanövern generiert und klassifiziert

details in: 9th International Symposium on Advanced Vehicle Control (AVEC2008), Kobe, Japan, 6. - 9.10.2008

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 36

DCT Entwicklung 2009, GIF, Alsdorf Test der TCU Steuerungs-

Software mit Test Weaver Integriert in den Simulink

Entwicklungsprozess Datenbank mit 20.000

Testfällen generiert Regressionsdatenbank

erstellt

TestWeaver für Doppelkupplungsgetriebe

details in: N. Papakonstantinou, S. Klinger, M. Tatar: Test-driven Development of DCT Control Software. 8th International CTI Symposium Innovative Automotive Transmissions, Berlin, 1 - 2.12.2009.

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 37

DCT Speedshift für AMG SLS

details in: Hart, Schaich, Breitinger, Tatar: Automated test of the AMG DCT Speedshift control software. 9th International CTI Symposium Innovative Automotive Transmissions, Berlin, 1 - 2.12.2010.

AMG DCT SPEEDSHIFT7-Gang Automat● ECU-SW mit Silver und

TestWeaver getestet● Jeder SW Zyklus:

24h Test parallel auf mehreren PCs

● Tausende Schaltungen generiert und analysiert

28.09.2011 Aktuelle Herausforderungen und Trends bei der Entwicklung komplexer Mechatronic 38

Kunden 2011