- SPES 2020

Transcription

- SPES 2020
GEFÖRDERT VOM
Der SPES Modellierungsansatz
Dr. Thorsten Weyer
Universität Duisburg-Essen
Prof. Dr. Holger Schlingloff
Fraunhofer FIRST
Ausgangssituation zu Projektbeginn
•
Fehlende Integration von Techniken, Methoden und Werkzeugen
•
Vorliegende Ansätze basieren auf verschiedenen und weitgehend isolierten
Modellierungstheorien
•
Unklare Semantik der Beziehungen zwischen Modelltypen und dadurch
vage und fehleranfälliger Übergang zwischen Modellen verschiedenen Typs
•
Steigender Umfang und steigende Komplexität von Embedded Systems,
und der funktionalen Abhängigkeiten in Systemverbünden
2
Vision des SPES-Modellierungsansatzes
•
Verwendung von Modellen als die primären Artefakte in allen „Stadien“
des Entwicklungsprozesses von Embedded Systems
•
Erhöhung des Automatisierungsgrades über die verschiedenen „Stadien“
des Entwicklungsprozesses hinweg
•
Verbesserung der Entwicklungsproduktivität und der Qualität der
konstruierten Embedded Systems
•
Systematische Beherrschung des steigenden Umfangs und der
steigenden Komplexität von Embedded Systems und der Beziehungen
in Systemverbünden
3
Prinzipien des SPES-Modellierungsansatzes
•
Modellbasierung und Durchgängigkeit der Entwicklung
•
Differenzierung zwischen Problem und Lösung
•
Explizite Berücksichtigung der Dekomposition („Teile-und-Herrsche“)
•
Differenzierung zwischen logischer Lösung und technischer Lösung
•
Durchgängige Betrachtung übergreifender Systemeigenschaften
(z.B. Echtzeit, Safety)
4
Umsetzung der SPES 2020-Prinzipien
•
Betrachtung verschiedener Viewpoints (nach IEEE 1471) zur
Differenzierung und zum strukturierten Übergang zwischen:
… Problemanalyse und Lösungskonstruktion
… logischer Lösung und technischer Lösung
•
Explizite Unterscheidung von Granularitätsebenen der
Systembetrachtung und zugehöriger Dekompositionsbeziehungen
•
Artefaktmodell mit definierter genereller Semantik der Artefakt(typen)
und der Beziehung zwischen Artefakttypen
•
Betrachtung übergreifender Systemeigenschaften
… durchgängig über die Viewpoints
… konsistent über die Granularitätsebenen
5
Der SPES-Modellierungsframework
Viewpoints
Requirements
Functional
Logical
Technical
konkret
A b s t r a c t i o n
L a ye r s
abstrakt
...
...
...
...
...
...
6
Viewpoint „Requirements“
Modellierungsziele
• Dokumentation der operationellen Umgebung des Systems
• Dokumentation der Ziel des Systems und zugehöriger Szenarien
• Spezifikation der zur Zielerreichung notwendigen fachlichen Eigenschaften
Modelle
Kontext
User
Lösungsbezogene
Anforderungen
Szenarien
Ziele
Funktionen des TransportationController
SystemOutput
«flow»
«flowPort»
SystemOutput
Zylinderkopffertigungsanlage
Wegpunkte für Crane1
berechnen
R1
«flowPort»
Crane1ActionSignal
«flowPort»
UserInput
UserInput
«flow»
AutoMode
Sensor
Bewegungsauftrag
Crane2
Sensor
UserInteraction
UserInteraction
OperationOn()
IOAdapter
<< softgoal >>
Kollilsionen
vermeiden ()
Sensor()
berechnen
[!OperationOn]
«flow»
Sensor()
Anlage eingeschaltet
SupplyBand()
Initial
Ansteuerung
berechnen
AutoMode
<< hardgoal >>
Rohstoff
transportieren ()
<< hardgoal >>
Werkstück
transportieren ()
(from 2.3.2. Ziele / Szenarien "UserInteraction")
+Bus-conformant Data
+Raw Signal
translated by IOAdapter
+represented Information
ManualMode
«block»
Crane1Action
«block»
Crane2Action
«block»
SupplyBandAction
«block»
Deliv eryBandAction
«block»
ActionSignal
+determined
«block»
Crane1ActionSignal
«block»
Crane2ActionSignal
«block»
SupplyBandActionSignal
«block»
Deliv eryBandActionSignal
Determination
Representation
(from 2.1.2. Ziele /(from
Szenarien
2.1.2. "IOAdapter")
Ziele / Szenarien "IOAdapter")
++
<< hardgoal >>
Werkstücke
erkennen ()
[UserInput = !AutoMode]
[UserInput = AutoMode]
ausgeschaltet
ausgeschaltet
«Contribution»
solution-oriented
system
requirements
«block»
Action
SupplyBand()
ausgeschaltet
!OperationOn()
[UserInput:
einschalten]
Initial
SupplyBand()
system
scenarios
!OperationOn()
!OperationOn()
«flow»
SupplyBandSignal
DeliveryBand
RN
Sensor()
Ansteuerung
berechnen Ansteuerung
eingeschaltet
[OperationOn]
[!OperationOn]
SupplyBand
DeliveryBand
eingeschaltet
loop SupplyBand ansteuern
[!OperationOn]
-«Contribution»
SupplyBand
OperationOn
eingeschaltet
OperationOn()
[OperationOn]
Crane1ActionSignal
«flow»
Crane2ActionSignal
SupplyBand (extern)
Env ironment
SupplyBand
OperationOn()
[OperationOn]
loop SupplyBand ansteuern
<< hardgoal >>
Produktionsstofftransport
gewährleisten ()
(from 2.3.2.
Ziele
/ Szenarien
"UserInteraction")
(from
2.3.2.
Ziele / Szenarien
"UserInteraction")
Deliv eryBand (extern)
IOAdapter
OperationOn
«flowPort»
SupplyBandSignal
«flow»
SupplyBand
loop SupplyBand ansteuern
«flow»
DeliveryBandSignal
Crane2Action
IOAdapter
UserInteraction
+
«flowPort»
DeliveryBandSignal
environment
model
SensorSignal
Crane2Action
Bewegungsauftrag
Crane2
Förderbandbew egungen
berechnen
<< hardgoal >>
Zeitgleiche
bearbeitung ()
«Contribution»
«flowPort»
SensorSignal
SupplyBand
Crane1Action
Wegpunkte für Crane2
berechnen
AutoMode
OperationOn
«flowPort»
Crane2ActionSignal
Crane1Action
Bewegungsauftrag
Crane1
Bewegungsauftrag
Crane1
Sensordaten v erarbeiten
<< hardgoal >>
Transport von Werkstücken
gewährleisten ()
(from 2.1.2. Ziele / Szenarien "IOAdapter")
[UserInput:
[UserInput: einschalten]
terminieren]
<< hardgoal >>
Vermessen von
Produktionsstoffen ()
+determins
«block»
UserInput
+Displayed data
«block»
SystemOuput
«block»
AutoMode
«block»
OperationOn
Anlage ausgeschaltet
«block»
Sensor
+Raw Data
translated by IOAdapter
+Translated Signal
«block»
SensorSignal
Final
«block»
Crane1Sensor
Crane2 (extern)
Unterstützte
Aktivitäten
«block»
Crane2Sensor
«block»
SupplyBandSensor
«block»
Deliv eryBandSensor
«block»
Crane1SensorSignal
«block»
Crane2SensorSignal
«block»
SupplyBandSensorSignal
«block»
Deliv eryBandSensorSignal
Crane1 (extern)
• Systematische Gewinnung von Anforderungen
• Durchgängige Dokumentation / Spezifikation von Anforderungen
• Validierung von Anforderungen
7
Viewpoint „Functional“
Modellierungsziele
• Integration der funktionalen Anforderungen in eine umfassende Systemspezifikation
• Präzise Modellierung des Black Box Verhalten an ein System
• Modellierung von Abhängigkeiten zwischen funktionalen Anforderungen
Modelle
Black Box Sicht
(aus VP RE)
User
System Funktion
Funktions-Hierarchie
SystemOutput
Zylinderkopffertigungsanlage
«flow»
«flow»
«flowPort»
Crane1ActionSignal
«flowPort»
UserInput
UserInput
«flowPort»
SystemOutput
Projektion
«flowPort»
Crane2ActionSignal
«flowPort»
SensorSignal
«flowPort»
DeliveryBandSignal
«flowPort»
SupplyBandSignal
Crane1ActionSignal
«flow»
Crane2ActionSignal
«flow»
DeliveryBandSignal
SensorSignal
«flow»
«flow»
SupplyBandSignal
«flow»
Deliv eryBand (extern)
SupplyBand (extern)
Env ironment
Crane2 (extern)
Unterstützte
Aktivitäten
Crane1 (extern)
• Validierung von Anforderungen
• Generierung von Testfällen und Verifikationsbedingungen
• Funktionale Prototypen
8
Viewpoint „Logical“
Modellierungsziele
• Logische Beschreibung der Lösung durch Zerlegung in Teilsysteme
• Plattformunabhängigkeit der beschriebenen Lösung
• Wiederverwendbarkeit von logischen Teilsystemen
Modelle
Teilsystem
Schnittstelle
Unterstützte
Aktivitäten
Teilsystem
Verhalten
Teilsystem Architektur
• Verifikation des Systemverhaltens
• Simulation
9
Viewpoint „Technical“
Modellierungsziele
•
•
•
•
Beschreibung der Ziel-Hardware (ECUs, Busse, Speicher, …)
Definition von (Software-)Tasks und Scheduler
Beschreibung der verteilungsspezifischen Kommunikation
Plattformspezifische Beschreibung der Spezifikation
Ziel-Hardware
Logisches
Teilsystem
Logical Perspective
Task und
Scheduler
Technical Perspective
temp
Capture
Task
<<allocate>>
temp
Data
control
airTemp
CtrlTask
Kommunikation
ProcessingResource
ComputingResource
:Concurrency
Resource
:Concurrency
Resource
:SchedulerSlot
:SchedulerSlot
:Concurrency
Resource
Signal1
app-task1:Task
Message1
Frame1
bus-drv:Task
com:Task
app-task2:Task
Temp
Data
temp
Capture
control
AirTempControl
tempVal
Signal2
tempSel
Var1
Scheduler
Var2
:Scheduler
:SchedulerSlot
Signal1
:SchedulerSlot
ECU
:Scheduler
header
header
Signal2
payload
payload
Message1
Frame1
Mapping
Unterstützte
Aktivitäten
• Verifikation (Echtzeitanalysen, Scheduling, …)
• (Plattformspezifische) Verfeinerung der logischen Teilsysteme
(Logical Viewpoint)
• Deployment
10
Integration der Viewpoints (beispielhaft)
Voraussetzung für die Durchgängigkeit (insb. methodisch) ist, dass die Modelle der
verschiedenen Viewpoints semantisch zueinander in Beziehung gesetzt werden
VP „Requirements“
VP „Functional“
System
VP „Logical“
VP „Technical“
ECU1
C1
ECU2
C2
C3
F1
F2
Bus
11
Mögliche Entwicklungssystematiken (A)
A b s t r a c t i o n
L a ye r s
Viewpoints
Requirements
Functional
Logical
Technical
1
2
3
4
7
8
...
5
9
...
6
...
...
10
11
...
...
12
12
Mögliche Entwicklungssystematik (B)
Viewpoints
Requirements
Functional
Logical
Technical
A b s t r a c t i o n
L a ye r s
1
...
2
...
3
...
...
4
5
...
...
7
6
8
13
SPES Modeling Framework –
Transversale Fragestellungen
Viewpoints
Requirements
Functional
Logical
Technical
abstrakter
...
konkreter
Abstraction Layers
Safety-spezifische Herausforderungen:
• Entwicklung modularer, ...
hierarchischer Sicherheitsanalysen
um mit den
...
Methoden einer modernen modellbasierten Entwicklung „schrittzuhalten“
• Sicherstellung der Konsistenz und Nachverfolgbarkeit zwischen
Sicherheitsanalysen auf unterschiedlichen Abstraktionsebenen und Views
• Sicherstellung der Konsistenz
zwischen modellbasierter
Sicherheitsanalyse
...
...
...
und anderen modellbasierten Entwicklungsartefakten
14
Durchgängige modellbasierte
Sicherheitsanalyse
Beispiel Viewpoint
Abstraction Layers
Komponentenfehlerbäume CFTs
•
•
•
ermöglichen die Modularisierung und
Hierarchisierung von Sicherheitsanalysen
erlauben den Schutz geistigen Eigentums durch die
Unterscheidung von Spezifikation und Realisierung
Algorithmen prüfen die Konsistenz der Module über
Hierarchie- und Abstraktionsebenen hinweg
Komponenten-integrierte Fehlerbäume C²FTs
•
•
•
sind eine Erweiterung der Komponentenfehlerbäume
ermöglichen die Integration von Sicherheitsanalysen
in modellbasierte Entwicklungsartefakte
verbessern die Konsistenz von Sicherheitsanalysen
und modellbasierter Entwicklung
15
Safety-fokussierte Deployment Analyse
Herausforderungen
Logical
Viewpoint
Technical
Viewpoint
ECU1
C1
ECU2
•
•
C2
C3
Bus
•
Es muss geprüft werden ob die Sicherheitsanforderungen der logischen Komponenten erfüllt sind
Die Erfüllung der Sicherheitsanforderungen muss
nachgewiesen werden
Zusätzliche Kosten (Rezertifizierung) müssen
minimiert werden
Methoden zum effizienten Deployment
•
•
•
•
modulare Spezifikation von Sicherheitsanforderungen
und Sicherheitsgarantien zwischen logischen
Komponenten und Rechenknoten
Methode zur Prüfung der Sicherheitsanforderungen
auf logischer und technischer Ebene
Teilautomatisierte Nachweiserstellung
Bewertung eines Deployments
16
Überschneidung von Safety und Echtzeit
Beispiel Viewpoint
Probabilistische Worst-Case Zeitanalyse pWCET
Abstraction Layers
•
•
Unterschiedliche Fehler eines Systems können die
Ausführungszeit mitunter stark beeinflussen.
Durch die Integration von Komponentenfehlerbäumen
in Entwicklungsmodelle sind diese Fehler leicht für
jede Komponente zu identifizieren und können so für
eine pWCET Analyse nutzbar gemacht werden.
Diagrammtyp zur automatisierten pWCET Analyse
•
•
•
beinhaltet Modellelemente von CFTs und
funktionalen Entwicklungsmodellen.
vereinfacht die Kombination von Fehlern die die
Laufzeit beeinflussen und den dazugehörigen
Komponenten.
erlaubt eine automatisierte pWCET Analyse.
17
SPES Modeling Framework –
Transversale Fragestellungen
Viewpoints
Requirements
Functional
Logical
Technical
abstrakter
konkreter
Abstraction Layers
...
Echtzeit-spezifische Herausforderungen:
...
...
• Mapping von Prozessen auf Prozessoren (räumliche Planung)
• Scheduling der Ausführung der Tasks (zeitliche Planung)
• Verifikation des Verhaltens der Applikation (Korrektheit)
...
...
...
18
Realzeit-Anforderungen
Platform-independent Model
(High-Level)
Real-Time Requirements
Real-Time Engineering
Platform-specific Model
•
•
•
Task-specific
Real-Time Requirements
Hardware-specific
Real-Time Capabilities
ZP-AP5 befasst sich mit „Paralleler Echtzeit“
„Cross-Cutting-Concern“ im SPES Meta Modell
Verbindung zwischen Requirements Viewpoint und Technical Viewpoint
19
Allokation in Raum und Zeit
Software Anforderungen
Hardware Ressourcen
•
•
Konstruktion
einer Verteilung
Validierung
•
Modellbasiertes Deployment
auf komplexen, parallelen
Hardware-Architekturen
Beachtung von harten
Echtzeitanforderungen
„Correctness by Construction“
– Konstruktion statt Analyse
Konstruktion
eines Schedules
Deployment-Schema
(Scheduling und Mapping)
20
Konstruktion einer Verteilung
Herausforderung:
•
•
Mehrstufige Avionik Hardware-Architekturen
– Cabinets, Boxes, Boards, Prozessoren, Cores
– Ca. 1000 Applikationen und ca. 100
Prozessoren
Effiziente Verteilung finden, so dass
– Zuverlässigkeitsanforderungen erfüllt werden
– Ressourcen nicht überbucht werden und
– die Kommunikation minimiert wird.
Ansatz:
•
•
Spezifikation mit Hilfe einer DSL
Entwicklung spezieller Algorithmen und
Heuristiken für große Mapping-Probleme
21
Konstruktion eines statischen Schedules
Problem:
•
•
Statische Schedules aufwändig zu erstellen
Parallele Architekturen erhöhen die
Komplexität zusätzlich
Ansatz:
•
•
Modellbasierte Konstruktion fehlerfreier und
ausführbarer Schedules
die Berücksichtigung aller Anforderungen
wird garantiert
Nutzen:
•
frühe Validierung des Softwaredesigns und
Bewertung von verschiedenen Architekturen
22
Validation
•
Eine dissimilare Technik für die
Überprüfung des generierten Schedules.
•
Basiert auf Model Checking mit UPPAAL
•
Erstellt automatisch ein formales Modell
aus dem generierten Schedule
•
Erlaubt die Prüfung von ModellEigenschaften, z.B.:
"Ist es immer wahr, dass Task 1
mindestens 1.3ms CPU Zeit bekommt?"
23
Evaluation Highlights: Industrie Studien
eHealth
Avionics
Automotive
Avionics
Energy
Automotive
Automotive
Avionics
Energy
Automotive
Automation
Automation
Avionics
24
Der SPES Marketplace
Viewpoints
3
1
6
5
abstrakter
konkreter
Abstraction Layers
7
2
18
25
Der SPES Marketplace – cont.
Viewpoints
14 a/c
8, 14b
4, 14,
17
Abstraction Layers
abstrakter
konkreter
16
15
16
10 - 13
26