Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement

Post on 21-Jan-2016

23 views 0 download

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

transcript

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