Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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)
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
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
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
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
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
Modellbasierte Entwicklung
Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible 38
Vielen Dank!
Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible
Modellbasierte Entwicklung
39
Beispiel eines großen Modells
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
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
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
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
...
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%]
Automatisierte Qualitätsbewertung am Beispiel von MATLAB Simulink-Modellen in der Automobil-Domäne / Jan Scheible
Modellbasierte Entwicklung
45
Evaluation Diversifikation