Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung...

45
Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne Vortrag zur Verteidigung der Dissertation Dipl. Inf. Jan Scheible 16.07.2012 Mathematisch-Naturwissenschaftliche Fakultät der Eberhard Karls Universität Tübingen

Transcript of Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung...

Page 1: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne

Vortrag zur Verteidigung der Dissertation

Dipl. Inf. Jan Scheible

16.07.2012

Mathematisch-Naturwissenschaftliche Fakultät der Eberhard Karls Universität Tübingen

Page 2: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Problemstellung

Lösungsansatz

Prototyp

Evaluation

Zusammenfassung und Ausblick

Inhalt

2

Page 3: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Ausgangssituation

- Automobilindustrie verwendet verstärkt modellbasierte Softwareentwicklung

- Umfang der Modelle wird immer größer

- Simulink-Modell ist das zentrale Arbeitsartefakt, daher hat die Modellqualität

einen direkten Einfluss auf die Softwarequalität

- Entwickler haben trotz höherer Abstraktionsebene viele Freiheiten

- Ansätze zur Softwarequalitätsbewertung von eingebetteten Systemen

konzentrieren sich bislang vor allem auf den Quellcode

3

Entwicklung eines Verfahrens zur automatisierten

Qualitätsbewertung von Simulink-Modellen

Ziel

Page 4: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

1

2

1

1

2

1

1 1

sig1

sig2 1 1

sig1

sig3

sig2

AdderSubsystem

BeispielModell

Subsystem2

Subsystem1

sig2 sig2 sig2

sig3+

+

MATLAB Simulink Datenflusskante

Outport-

Block

Inport-

Block

- Simulink-Modelle sind kombinierte Daten- und Kontrollflussdiagramme

- keine explizite Unterscheidung zwischen dem Platform Independent Model

(PIM) und dem Platform Specific Model (PSM)

- mithilfe eines Codegenerators wird C-Code für die Zielsteuergeräte erzeugt

Subsystem

4

Page 5: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Problemstellung

Lösungsansatz

Prototyp

Evaluation

Zusammenfassung und Ausblick

Inhalt

5

Page 6: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Metriken für Simulink-Modelle

Anzahl der überkreuzenden Linien = 1

1

2

1

1

2

1

1 1

sig1

sig2 1 1

sig1

sig3

sig2

AdderSubsystem

BeispielModell

Subsystem2

Subsystem1

sig2 sig2 sig2

sig3+

+

6

Page 7: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Metriken für Simulink-Modelle

Anzahl der überkreuzenden Linien = 0 (1)

1

2

1

1

2

1

1 1

sig1

sig2 1 1

sig1

sig3

sig2

AdderSubsystem

BeispielModell

Subsystem2

Subsystem1

sig2 sig2 sig2

sig3+

+

7

Page 8: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Metriken für Simulink-Modelle

Anzahl der überkreuzenden Linien = 0 (1)

Tiefe der Subsystem-Hierarchie = 3

8

1

2

1

1

2

1

1 1

sig1

sig2 1 1

sig1

sig3

sig2

AdderSubsystem

BeispielModell

Subsystem2

Subsystem1

sig2 sig2 sig2

sig3+

+

22

11

33

Page 9: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Metriken für Simulink-Modelle

Anzahl der überkreuzenden Linien = 0 (1)

Tiefe der Subsystem-Hierarchie = 3

Durchschnittliche Signalpfadlänge = (6 + 2 + 2) / 3 = 3,33…

9

1

2

1

1

2

1

1 1

sig1

sig2 1 1

sig1

sig3

sig2

AdderSubsystem

BeispielModell

Subsystem2

Subsystem1

sig2 sig2 sig2

sig3+

+22

66

22

Page 10: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Metriken für Simulink-Modelle

Anzahl der überkreuzenden Linien = 0 (1)

Tiefe der Subsystem-Hierarchie = 1 (3)

Durchschnittliche Signalpfadlänge = (2 + 2 + 2) / 3 = 2 (3,33…)

1

2

1

1

2

1

sig1

sig2

sig1

sig3

AdderSubsystem

BeispielModell

sig3

sig2

+

+

10

Page 11: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Metriken für Simulink-Modelle

Anzahl der überkreuzenden Linien = 0 (1)

Tiefe der Subsystem-Hierarchie = 1 (3)

Durchschnittliche Signalpfadlänge = 2 (3,33…)

Anzahl der Subsystem-Annotationen = 0

1

2

1

1

2

1

sig1

sig2

sig1

sig3

AdderSubsystem

BeispielModell

sig3

sig2

+

+

??

11

Page 12: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

1

2

1

1

2

1

sig1

sig2

sig1

sig3

AdderSubsystem

BeispielModell

sig3

sig2

+

+

In this subsystem two

numbers are added.

Metriken für Simulink-Modelle

Anzahl der überkreuzenden Linien = 0 (1)

Tiefe der Subsystem-Hierarchie = 1 (3)

Durchschnittliche Signalpfadlänge = 2 (3,33…)

Anzahl der Subsystem-Annotationen = 1 (0)

12

Page 13: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

- Bibliotheksmetriken (5)

- Signalflussmetriken (11)

- Durchschnittliche Signalpfadlänge

- Strukturmetriken (7)

- Stateflow-Metriken (3)

- Codegeneratormetriken (9)

- Artefaktmetriken (5)

Modellmetriken

- Blockmetriken (23)

- Linienmetriken (3)

- Anzahl der überkreuzenden Linien

- Subsystemmetriken (13)

- Tiefe der Subsystem-Hierarchie

- Annotationsmetriken (2)

- Anzahl der Subsystem-Annotationen

- Konstantenmetriken (3)

- bisher existieren in der Literatur nur wenige für Simulink spezifische Metriken

- Metriken für die UML sind meist für Klassendiagramme

Gruppierung der in diesem Ansatz verwendeten Metriken

13

Page 14: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

- Strukturmetriken (7) - Anzahl der verletzten MISRA TL-

Modellierungsrichtlinien

- Stateflow-Metriken (3)

- Anzahl der unerreichbaren Zustände

- Codegeneratormetriken (9)

- Worst-Case-Execution-Time

- Artefaktmetriken (5)

- Prozentsatz erfolgreicher Testfälle

- Testabdeckung

- Anforderungsabdeckung

Artefakt- und Reportmetriken

- Blockmetriken (23)

- Linienmetriken (3)

- Subsystemmetriken (13)

- Annotationsmetriken (2)

- Konstantenmetriken (3)

- Bibliotheksmetriken (5)

- Signalflussmetriken (11)

- Anzahl der internen Zustände

- berücksichtigen den gesamten modellbasierten Entwicklungsprozess

- betrachten sowohl weitere Artefakte als auch Ergebnisreports von Tools

14

Page 15: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Qualitätsmodell für Simulink-Modelle - ein Qualitätsmodell

- gliedert den Begriff der Modellqualität hierarchisch

- macht die Modellqualität greifbar und überprüfbar

- enthält auf oberster Ebene abstrakte Faktoren wie z.B. Wartbarkeit,

Verständlichkeit oder Testbarkeit

- Modelle mit einer hohen Qualität erfüllen diese abstrakten Faktoren

- für die herkömmliche, handcodierte Softwareentwicklung existieren bereits

verschiedene Qualitätsmodelle

15

Page 16: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Vergleich mit anderen etablierten Qualitätsmodellen

16

Page 17: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Vergleich mit anderen etablierten Qualitätsmodellen

17

Page 18: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Vergleich mit anderen etablierten Qualitätsmodellen

18

Integrität

Benutzbarkeit

Interoperabilität

Portabilität

Effizienz

Testbarkeit

Korrektheit

Zuverlässigkeit

Wiederverwendbarkeit

Flexibilität

Wartbarkeit

Cavano &

McCall

Page 19: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Vergleich mit anderen etablierten Qualitätsmodellen

19

Integrität

Benutzbarkeit

Interoperabilität

Portabilität

Effizienz

Effizienz

Testbarkeit

Testbarkeit

Korrektheit

Korrektheit

Zuverlässigkeit

Robustheit

Codegenerierbarkeit

Wiederverwendbarkeit

Flexibilität

WartbarkeitWartbarkeit

Verständlichkeit

Cavano &

McCall

Qualitätsmodell für die

modellbasierte Entwicklung

von eingebetteten Systemen

Page 20: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Verständlichkeit Wartbarkeit

#Überkreuzender

Linien

#Subsystem-

annotationen

Tiefe der Subsys-

temhierarchie

ØSignalpfad-

länge

Einordnung der Metriken in das Qualitätsmodell

Faktoren

sind gewünschte Eigenschaften für

qualitativ hochwertige Modelle

Metriken

20

Page 21: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Verständlichkeit Wartbarkeit

LesbarkeitUmfangDokumentation Komplexität

#Überkreuzender

Linien

#Subsystem-

annotationen

Tiefe der Subsys-

temhierarchie

ØSignalpfad-

länge

Einordnung der Metriken in das Qualitätsmodell

Metriken

prüfen die Erfül-

lung der Kriterien

Kriterien

sind Indikatoren für die

gewünschte Eigenschaft

Faktoren

sind gewünschte Eigenschaften für

qualitativ hochwertige Modelle

21

Page 22: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Verständlichkeit Wartbarkeit

Modellqualität

LesbarkeitUmfangDokumentation Komplexität

#Überkreuzender

Linien

#Subsystem-

annotationen

Tiefe der Subsys-

temhierarchie

ØSignalpfad-

länge

Au

sw

ert

un

g

Einordnung der Metriken in das Qualitätsmodell

Metriken

prüfen die Erfül-

lung der Kriterien

Kriterien

sind Indikatoren für die

gewünschte Eigenschaft

Faktoren

sind gewünschte Eigenschaften für

qualitativ hochwertige Modelle

22

Page 23: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Überblick über das Qualitätsmodell

23

#Überkreuzender

Linien

Verständlichkeit

Modellqualität

LesbarkeitUmfangDokumentation Komplexität

#Subsystem-

annotationen

Tiefe der Subsys-

temhierarchie

ØSignalpfad-

länge

Testbarkeit

Vermeidung

von RedundanzAufteilung

#Linienan-

notationen#Blöcke #Linien #KloneØBusgröße

7 Faktoren

5 Kriterien2 Kriterien

6 Metriken 4 Metriken 9 Metriken 3 Metriken 6 Metriken6 Metriken

Wartbarkeit

4 Kriterien

Page 24: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Überblick über das Qualitätsmodell

- momentan enthält das Qualitätsmodell 7 Faktoren, 24 Kriterien und 84 Metriken

[2] J. Scheible und I. Kreuz. „Ein Qualitätsmodell zur automatisierten Ermittlung der Modellqualität

bei eingebetteten Systemen“. In: Proc. of the 8. GI Workshop Automotive Software Engineering,

Leipzig, Deutschland. 2010.

24

Verständlichkeit

Modellqualität

LesbarkeitUmfangDokumentation Komplexität

#Überkreuzender

Linien

#Subsystem-

annotationen

Tiefe der Subsys-

temhierarchie

ØSignalpfad-

länge

Testbarkeit

Vermeidung

von RedundanzAufteilung

#Linienan-

notationen#Blöcke #Linien #KloneØBusgröße

7 Faktoren

5 Kriterien2 Kriterien

6 Metriken 4 Metriken 9 Metriken 3 Metriken 6 Metriken6 Metriken

Wartbarkeit

4 Kriterien

Page 25: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Modellqualitätsbewertung

25

- macht das Qualitätsmodell ausführbar

- bildet die absoluten Messwerte der Metriken auf relative Bewertungen ab

- Regeln geben gewünschte Zusammenhänge vor, wie z.B. die maximal

erlaubte Anzahl an überkreuzenden Linien pro Subsystem

- gibt es für eine Metrik keine Regel, wird ihr Messwert mit Messwerten

anderer Modelle verglichen

- aggregiert die Bewertungen im Qualitätsmodell von unten nach oben

dadurch kommen die Bewertungen der Faktoren zustande

[3] J. Scheible und H. Pohlheim. „Automated Model Quality Rating of Embedded Systems“. In: 4.

Workshop zur Software-Qualitätsmodellierung und -bewertung (SQMB ’11). 2011.

Page 26: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Handlungsempfehlungen

- Handlungsempfehlungen geben auf Basis der Modellqualitätsbewertung

Hinweise, wie die Qualität eines Simulink-Modells verbessert werden kann

- dazu werden die Informationen aus dem Qualitätsmodell und die konkreten

Messwerte eines Modells verknüpft

- Beispiele:

- »Tiefe der Subsystem-Hierarchie«

- Qualitätsmodell: kleinere Messwerte sind besser als größere

- Empfehlung: Sobald die Subsystem-Hierarchie zu tief ist, muss ein

Modell-Refactoring durchgeführt werden

- »Anzahl der Subsystem-Annotationen«

- Qualitätsmodell: größere Messwerte sind besser als kleinere

- Empfehlung: Die Subsysteme müssen besser dokumentiert werden

26

Page 27: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Problemstellung

Lösungsansatz

Prototyp

Evaluation

Zusammenfassung und Ausblick

Inhalt

27

Page 28: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Prototyp

- enthält einen Modell-Exporter für Simulink (ca. 2.300 Zeilen MATLAB-Script)

- Implementiert die Modellmetriken und das Qualitätsmodell (ca. 20.000 Zeilen

Java-Code in über 400 Klassen)

- verwendet ein Metamodell für den Zugriff auf die Simulink-Modelle in Java

- visualisiert die Ergebnisse der Modellqualitätsbewertung

ermöglicht eine automatisierte Bewertung der Modellqualität

11:45:06.265 INFO ModelMeasurer - Processing the file 'model.mdlx'.

11:45:06.265 DEBUG

* Created the measurement object - Starting the measurement...

#crossed lines (1/84)... done!

øsignal length (2/84)... done!

#blocks (3/84)... done!

#lines (4/84)... done!

#subsystem annotations (83/84)... done!

depth of subsystem hierarchy (84/84)... done!

* finished!

11:50:11.437 INFO Saved the results to 'model.measurements' (0 hours, 5 min, 11 sec).

...

28

Page 29: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

29

Darstellung der Messwerte und ihrer Grenzen

# Linien

# Subsysteme

#Überkreuzender Linien

Tiefe der Sub-

systemhierarchie

# Interner

Zustände

# Klone

ø Breite der Ein-

gangsschnittstelle

ø Breite der

Ausgangsschnittstelle

ø Höhe der Sub-

systemdarstellung

ø Breite der Sub-

systemdarstellung

ø Anzahl an nach-

folgenden Blöcken

ø Busgröße

1,908

48

1.5

15.1

9

6,683

12,601

1,065

32.8

499

1,255

10,0

99

6

2.2

0.7404

4

1.217.7

1,840

8

5,040

11,5

41

1,3

35

25.3

725

1.25

2,437

110

68

1.3

9.0

37

Page 30: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Darstellung der aggregierten Bewertungen

30

42%40%

50%

100%

33%

34%

33%

36%

0%

36%

13%

34%

31%

0%

36%

36%31%

100%

90% 90%31%

/Lesbarkeit /#Überkreuzender Linien Verständlichkeit

Page 31: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Problemstellung

Lösungsansatz

Prototyp

Evaluation

Zusammenfassung und Ausblick

Inhalt

31

Page 32: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

32

- Verwendung des implementierten Prototyps

- 74 Metriken wurden verwendet (10 Metriken mit Abhängigkeiten von nicht

verfügbaren externen Tools oder Daten mussten weggelassen werden)

- es wurden 8 reale Modelle aus der PKW-Entwicklung untersucht

- Überprüfung folgender Eigenschaften:

- Validität – Deckt sich die Modellqualitätsbewertung mit der Einschätzung

von Experten?

- Diversifikation – Können mithilfe der Modellqualitätsbewertung trotz

Abstraktion verschiedene Modelle unterschieden werden?

Evaluation (1/3)

Page 33: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

•Ranking-Tabelle Modell

Modell 2

Modell 3

Modell 1

Modell 5

Modell 4

Modell 6

Modell 8

Modell 7

rang(xmbq)

3

rang(yexp) di d2

di

3 0 0

2 1 1 1

4 2 2 4

1 4 -3 9

6 5 1 1

5 6 -1 1

7 7 0 0

8 8 0 0

33

Evaluation (2/3) Validität

Interpretation von Spearmans

Rangkorrelationskoeffizient: gegenläufige

Rangzahlen

kein Zusam-

menhang

gleichläufige

Rangzahlen

Ergebnis (0,809)

10-1

rs = 0,809

Annahme von HA mit

einer Konfidenz von 99%

HA: Es besteht eine

positive Korrelation

Page 34: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Evaluation (3/3) - die Evaluation des Ansatzes war mit den betrachteten Modellen erfolgreich

- Vergleich der Modellqualitätsbewertung mit den Einschätzungen der

Experten hat eine hohe Übereinstimmung gezeigt

- Diversifikation der Modellqualitätsbewertung war gegeben

- allerdings wurde bei der Evaluation ein konkretes Qualitätsmodell evaluiert

- sobald Änderungen an dem Qualitätsmodell vorgenommen werden, müssen

die gewünschten Eigenschaften erneut geprüft werden

- weitere empirische Studien sind notwendig, die beispielsweise die tatsächlich

im Feld aufgetretene Anzahl der Fehler betrachten

34

Page 35: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Problemstellung

Lösungsansatz

Prototyp

Evaluation

Zusammenfassung und Ausblick

Inhalt

35

Page 36: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Zusammenfassung

36

[1] J. Scheible. „Ein Framework zur automatisierten Ermittlung der Modellqualität bei eingebetteten

Systemen“. In: Proc. of the Dagstuhl-Workshop: Model-Based Development of Embedded

Systems (MBEES), Schloss Dagstuhl, Deutschland. 2010.

Pro

toty

p

Qu

ali

täts

mo

de

ll

Asp

ek

te

Framework zur

automatisierten Ermittlung der Modellqualität

Handlungsempfehlung

Modellierungs-

richtlinienMusterRefactoring

Qualitätsbewertung

Faktoren

Kriterien

Metriken

an

aly

tisch

an

aly

tisch

ko

nstr

uk

tiv

Automatisierte

Modellqualitätsbewertung

Page 37: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Ausblick

- Transfer der Arbeitsergebnisse in ein kommerzielles Produkt

- Betrachtung der Modellqualität pro Teilsystem bzw. pro Modul

- zusätzliche Metriken für Stateflow-Diagramme

- Verknüpfung der Modellqualitätsbewertung mit konkreten Vorschlägen für ein

Modell-Refactoring als Ergänzung zu den Handlungsempfehlungen

- Übertragen der Modellqualitätsbewertung auf andere Modellierungssprachen

(wie z.B. ASCET von ETAS)

37

Page 38: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible 38

Vielen Dank!

Page 39: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

39

Beispiel eines großen Modells

Page 40: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

40

Phasen des modellbasierten Entwicklungsprozesses

Umfeldmodell

(Simulation)

Steuergerätemodell

(Simulation)

Umfeldmodell

(Simulation)

Steuergerätemodell

(C-Code)

Steuergerätesoftware

(Binärcode)

1. Phase

2. Phase

3. Phase

4. Phase

Erstellung des

Umfeldmodells

Erstellung und

Simulation des

Steuergerätemodells

Generierung des C-

Codes des

Steuergerätemodells

HiL (Simulation) /

Fahrzeug

Kompilierung des C-

Codes des

Steuergerätemodells

Page 41: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

41

Metriken und Messwerte (1/2)

1

1

2 3

4

5

Durchschnittliche Signalpfadlänge = (1 + 3 + 5) / 3 = 3

Page 42: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

42

Metriken und Messwerte (2/2)

Durchschnittliche Anzahl der unabhängigen Berechnungspfade = 2

Page 43: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

43

Referenzmodell - definiert, wie ein typisches Simulink-Modell aussieht

- enthält erlaubte Minimal- und Maximalwerte

- ist dank Normierung durch eine Referenzmetrik (z.B. »Anzahl der Blöcke« oder

»Höhe der globalen Komplexität«) größenunabhängig

- machen Aussagen über gewünschte Zusammenhänge von Messwerten

- werden verwendet, wenn sich keine sinnvollen Mittelwerte bilden lassen

Regeln

0 ≤ ≤ 2Anzahl der UnitDelay-Blöcke

Anzahl der SubsystemeMin. Max.

0 2,0

Erlaubter Bereich

# Subsysteme

# Linien

# überkreuzender Linien

Modell 1

76 137

2967 5154

543 2.137

Modell 2

630

17.218

3.192

Modell n

...# Subsysteme

# Linien

# überkreuzender Linien

Modell 1

3,4 (76) 4,7 (137)

134,4 (2967) 179,3 (5154)

24,6 (543) 74,3 (2.137)

Modell 2

6,3 (630)

174,5 (17.218)

174,5 (3.192)

Modell n

...

Erlaubter Bereich

1,6 8,1

141,3 167,1

7,3 53,6

Min. Max.Mittelw.

14,6

192,9

101,9

# Subsysteme

# Linien

# überkreuzender Linien

Modell 1

3,4 4,7

134,4 179,3

24,6 74,3

Modell 2

6,3

174,5

174,5

Modell n

...

Page 44: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

44

- aggregierte Werte erlauben einen einfachen Überblick über die Modellqualität

- Bildung des arithmetischen Mittels ist nicht ausreichend: Sind eine oder

mehrere Bewertungen nicht erfüllt, muss das zu einer Abwertung führen

Anzahl der Aggregationen unter dem Schwellwert

Ag

gre

gie

rte

Be

we

rtu

ng

(in

Pro

ze

nt)

0

10

20

30

40

50

60

0 1 2 3

Aggregation der Bewertungen Auswirkung von Schwellwertüberschreitungen

Bewertungen:

e1 = [25%, 30%, 35%]

e2 = [10%, 80%, 90%]

Page 45: Automatisierte Qualitätsbewertung am Beispiel von MATLAB ... · Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible

Modellbasierte Entwicklung

45

Evaluation Diversifikation