Upload
shiela
View
23
Download
0
Embed Size (px)
DESCRIPTION
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement. Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik. Hinweis: Am Freitag entfällt die Vorlesung! - PowerPoint PPT Presentation
Citation preview
18.11.2005
Software-Engineering IIEingebettete Systeme, Softwarequalität, Projektmanagement
Prof. Dr. Holger SchlingloffInstitut für Informatik der Humboldt Universität
und
Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
Folie 2H. Schlingloff, Software-Engineering II 18.11.2005
•Hinweis: Am Freitag entfällt die Vorlesung!
(Projekttreffen IMMOS)
•Hinweis: Nächsten Freitag entfällt die Vorlesung ebenfalls!
(Tagung M4M – Methods for Modalities)
• (Mittwoch findet sie aber statt!)(Übungsblattausgabe)
Folie 3H. Schlingloff, Software-Engineering II 18.11.2005
nächstes Übungsblatt …
Folie 4H. Schlingloff, Software-Engineering II 18.11.2005
SimuLink
• Modellierung durch Datenflussdiagramm jede „Leitung“ entspricht einer Variablen
Folie 5H. Schlingloff, Software-Engineering II 18.11.2005
Folie 6H. Schlingloff, Software-Engineering II 18.11.2005
Abstraktion
• Hauptstärke von SimuLink besteht in der Möglichkeit, Blöcke zusammenzufassen Abstraktion von
Verhalten baumartige Navigation Parametrisierung Modulbibliotheken externe Erweiterungen Codeanbindung
• Modelltransformation und –entwicklung!
Folie 7H. Schlingloff, Software-Engineering II 18.11.2005
Beispiel: Fensterheber
Folie 8H. Schlingloff, Software-Engineering II 18.11.2005
Kurzüberblick über das IMMOS-Projekt
• Projekttitel: IMMOS – Eine integrierte Methodik zur modellbasierten Steuergeräteentwicklung für den Automobilbereich
• Laufzeit: Januar 2004 – Juni 2006• Ziele: Definition einer integrierten Software-
Entwicklungsmethodik für Steuergeräte im KFZ und Erprobung dieser Methodik durch die Entwicklung eines automobilen Demonstrators
• Projektpartner: Fraunhofer FIRST, DaimlerChrysler AG, dSPACE GmbH, IT Power Consultants, FZi / Universität Karlsruhe, c-Lab / Universität Paderborn
• Mittel: 285 PM
Folie 9H. Schlingloff, Software-Engineering II 18.11.2005
modellbasierte Entwicklung
• frühzeitige Erstellung eines ausführbaren Modells (Systemmodell) auf Grundlage der Anforderungen
• Test und Erprobung auf Modellebene• Verfeinerung zum
Implementierungs-modell
• automatische Code-generierung für Hostund Target
• automatischeTestgenerierung
Folie 10H. Schlingloff, Software-Engineering II 18.11.2005
Aktivitäten und Artefakte
Lastenheft formaleSpezifikation
Virtueller Prototyp
Testfälle
Target-Code
PrototypingModellierung
Verifikation
Codegenerierung
TestgenerierungZusätzlicherCode
Zielsystem
Integration
Testausführung
Testgenerierung
Portierung
Formalisierung
Implementierungs- modell T_des_Drive [Nm] (Wunschabtriebsmoment)
T_Des_Brake [Nm] (Wunschbremsmoment)
2
PedalFlags
1
DesiredTorques
f(u)
selection
70
ped_min
T_70_Drive(v)
T_100_Drive(v)
>=
>
Mux
1/100T_max_Brake
1/30
1/70
(boolean)
(boolean)
2
PedalPositions
1
v_act
<T_des_Drive, T_des_Brake>
v_act
<phi_Brake>
<phi_Acc, phi_Brake>
<phi_Acc><phi_Acc>
<phi_Acc>
T_des_Drive
<phi_Acc>
<phi_Brake>
AccPedal
BrakePedal<AccPedal, BrakePedal>
AccPedal
BrakePedal
T_des_Brake
Verfeinerung
Systemmodell
Folie 11H. Schlingloff, Software-Engineering II 18.11.2005
Modellierungsformalismen
• herkömmliche Formalismen: Zustandsmaschinen, Diagramme, Petrinetze, StateCharts, Message Sequence Charts, ...
gut etabliert, Toolunterstützung vorhanden Wildwuchs, Varianten, mangelnde Konstanz Prognose: werden durch UML2.0 abgelöst werden
• UML 2.0 vereinigt verschiedene Arten von Diagrammen extrem mächtig, sehr umfangreich zu lernen fehlende Semantik, verschiedene Ausbaustufen
• Matlab / Simulink / Stateflow teilweise gut eingeführt und bekannt limitierte Ausdrucksfähigkeit nur eine Quelle
• logische und algebraische Modelle, z.B. TLA, ASM/ASML, CSP nahe an natürlichsprachlichen Formulierungen Forschungsbedarf
Folie 12H. Schlingloff, Software-Engineering II 18.11.2005
Pause!
„Bist du sicher, dass du kein Modell brauchst?“
Folie 13H. Schlingloff, Software-Engineering II 18.11.2005
Noch einer
• Google „model cartoon“
Folie 14H. Schlingloff, Software-Engineering II 18.11.2005
Codegenerierung
• Ziel: automatische Übersetzung von Modellen in ausführbaren (C-) Code
• zwei kommerzielle Produkte verfügbar Real Time Workshop (The MathWorks) TargetLink (dSPACE GmbH)
• Codegenerator ist „Compiler für Modelle“ Wiederverwendung schnelle Prototyp- und
Produkterstellung erhöhte Zuverlässigkeit
gegen Programmierfehler automatische Optimierung
des generierten Codes• Wie kann man
sicherstellen, dass der generierte Codedas Erwartete leistet?
Quelle: dSPACE GmbHThanks for the slides: Daniela Weinberg
Folie 15H. Schlingloff, Software-Engineering II 18.11.2005
Prinzip
Mirko Conrad, Ingo Stürmer
Implementation Model(fixed-point)
C Code Code generator
Compiler(Linker)
Host PC
Target
Physical Model(floating-point)
Cross-compiler(Linker / Loader)
Folie 16H. Schlingloff, Software-Engineering II 18.11.2005
Beispiel
• Schaltsystem mit Schwellwert 0.5 physikalisches Modell (SimuLink)
Implementierungsmodell (TargetLink)
Äquivalenz?
Folie 17H. Schlingloff, Software-Engineering II 18.11.2005
generierter Code
• Zweierpotenz-Skalierung; 128 * 2-8 = 0.5
Void switch_system(Void) { /* Switchswitch_system/switch_primitive */ if (Sa1_Input2_ >= 128 /* 0.5 */) { /* # combined # Outport: switch_system/OutputPort */ Sa1_OutputPort_ = Sa1_Input1_; } else { /* # combined # Outport: switch_system/OutputPort */ Sa1_OutputPort_ = Sa1_Input1_; }}
Folie 18H. Schlingloff, Software-Engineering II 18.11.2005
Codeabsicherung
• Qualitätssicherung auf jeder Ebene notwendig!
Implementation Model(fixed - point)
C Code Code generator
Compiler(Linker)
Host PC
Target
Physical Model(floating - point)
Cross-compiler(Linker / Loader)
(b) Code-
Generator
(c) generierter
Code(a) Modell (d) Code
Ausführung
Folie 19H. Schlingloff, Software-Engineering II 18.11.2005
QS auf Modellebene
• Modellierungsrichtlinien Qualität des Implementierungsmodells
ausschlaggebend für Qualität des generierten Codes Richtlinien und Muster existieren (z.B. MathWorks
Automotive Advisory Board - MAAB guidelines) Toolunterstützung zur Umsetzung der Richtlinien
- demnächst www.eGuidelines.de
Vorteile - Lesbarkeit
- Wartbarkeit
- Wiedervervendbarkeit
- Testbarkeit
Folie 20H. Schlingloff, Software-Engineering II 18.11.2005
modellbasierter Test
• Simulation /Ausführung des Modells und generierten Codes in verschiedenene Entwicklungsphasen MiL
(Model in the Loop) SiL
(Software in the Loop) PiL
(Processor in the Loop) HiL
(Hardware in the Loop)
test output
resultcomparison
physical model
implementation model
test stimuli
C code (target)
ECU
MiL (physical model)
MiL (impl. model)
SiL
PiL
C code (host)
Folie 21H. Schlingloff, Software-Engineering II 18.11.2005
Szenarien für Testautomatisierung
Requirements
Modell
Code
Testsuite
Requirements
Modell Code
Testsuite
UseCases
Folie 22H. Schlingloff, Software-Engineering II 18.11.2005
Absicherung von Codegeneratoren
• Probleme häufige Generationenfolge von Prozessoren und
Codegeneratoren Notwendigkeit zusätzlicher Absicherung
• Ansatz in IMMOS Validationssuite für Codegeneratoren Graph-Transformationen als logische Basis
Modellgenerator
Testfallgenerator
Transformationsregeln
Simulator
ModellCodegenerator
Code
ComparatorSimulationsergebnisse Ausführungsergebnisse
Target
Folie 23H. Schlingloff, Software-Engineering II 18.11.2005
Im Beispiel
LHS RHSr
test model test vector
test vector generatorReactis, ET-Tool
test cases optimization test module
0.3
0.0 0.1 0.2 0.3
1.0
0.0 0.1 0.2 0.3
0.5
Input1(t)
Input2(t)
test model
test vectors
model generatorModeSSa
optimization rule