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