1IDA, TU Braunschweig
SuReal – Sicherheitsgarantien unter RealzeitanforderungenSuReal – Sicherheitsgarantien unter Realzeitanforderungen
Jonas Rox
Braunschweig, 22.04.2008
Jonas Rox
Braunschweig, 22.04.2008
2IDA, TU Braunschweig
GliederungGliederung
• Überblick: Das SuReal Projekt
• SuReal am IDA
• Überblick: Das SuReal Projekt
• SuReal am IDA
3IDA, TU Braunschweig
ProjektvisionProjektvision
• Einsatz spezialiserter Tools in den einzelnen Phasen
• Integration in einheitlichen Entwicklungsprozess
• Integrierte Toolchain
• Einsatz spezialiserter Tools in den einzelnen Phasen
• Integration in einheitlichen Entwicklungsprozess
• Integrierte Toolchain
4IDA, TU Braunschweig
Der SuReal Entwicklungsprozess (Okt.2007)Der SuReal Entwicklungsprozess (Okt.2007)
ScopeSET
aicas
AbsIntTU München
DFKI
SymtavisionTU Braunschweig
TU Dresden
5IDA, TU Braunschweig
Integration der spezialisierten ToolsIntegration der spezialisierten Tools
• Eclipse als zentrale Toolplattform für SuReal
• AMEOS und UPPAAL über Plugin mit Eclipse verbunden
• Analyse Tools selbst gar nicht sichtbar, liefern Ergebnisse auf Knopfdruck
6IDA, TU Braunschweig
Verbindungen IDA - ProjektpartnerVerbindungen IDA - Projektpartner
aicasScopeset
DFKITUD
AbsIntTUM
Realzeitanforderungen
Kernlaufzeiten
Analyseergebnisse
Rückannotation von Analyseergebnissen
Symtavision
IDA
AP6AP2 - 5
AP7,8
7IDA, TU Braunschweig
SuReal am IDASuReal am IDA
• Verfeinerung eingesetzter Modelle und Analyseverfahren zur Berücksichtigung von RTE und com-Layer
Hierarchische Ereignismodelle zur Modellierunghierarchischer Ereignisströme
• Optimierte Verteilung von Softwarefunktionen auf Komponenten einer verteilten HW-Architektur
Mapping Exploration
• Verfeinerung eingesetzter Modelle und Analyseverfahren zur Berücksichtigung von RTE und com-Layer
Hierarchische Ereignismodelle zur Modellierunghierarchischer Ereignisströme
• Optimierte Verteilung von Softwarefunktionen auf Komponenten einer verteilten HW-Architektur
Mapping Exploration
8IDA, TU Braunschweig
Modeling Event Stream Hierarchies with Hierarchical Event Models
Modeling Event Stream Hierarchies with Hierarchical Event Models
9IDA, TU Braunschweig
Compositional approachCompositional approach
• Tasks are coupled by event sequences
• Composition by means of event stream propagation
• Apply local scheduling techniques at resource level
• Determine the behavior of the output stream
• Propagate to the next component
• Tasks are coupled by event sequences
• Composition by means of event stream propagation
• Apply local scheduling techniques at resource level
• Determine the behavior of the output stream
• Propagate to the next component
T1
CPU
T2
C1
Bus
C2
T3
CPU
T4
system inputsystem input system outputsystem output
10IDA, TU Braunschweig
The SymTA/S modelThe SymTA/S model
T1
CPU
T2
C1
Bus
C2
T3
CPU
T4
system inputsystem input system outputsystem output
54321
t
)( t
)( t
time interval
number of events
T4:[3,5]
C1:[4,7]
2 3 4 5 n
)(n
)(nTime
number of events
11IDA, TU Braunschweig
T1
ECU
T2Buf
COM
The challengeThe challenge
• Consider the presence of communication layers
C
Bus
T3
ECU
T4Buf
COM
system inputsystem input system outputsystem output
signal values
signal values
frame activations frame arrivalssignal values
signal values
12IDA, TU Braunschweig
T1
ECU
T2Buf
COM
C
Bus
T3
ECU
T4Buf
COM
Using the existing modelUsing the existing model
No timing information about the individual event streams available!
Or
1TES
2TES
?
?
Or
13IDA, TU Braunschweig
Using the hierarchical modelUsing the hierarchical model
T1
ECU
T2Buf
COM
C
Bus
T3
ECU
T4Buf
COM
HOr
1ES
2ES
OrB
Or
14IDA, TU Braunschweig
T1
ECU
T2Buf
COM
C
Bus
T3
ECU
T4Buf
COM
Packing the signalsPacking the signals
• What we have at this point:
• One outer event stream modeling the frame activations
• One inner event stream for each sending task:
• Events represent frames that contain a new signal from the corresponding task
• What we have at this point:
• One outer event stream modeling the frame activations
• One inner event stream for each sending task:
• Events represent frames that contain a new signal from the corresponding task
Total frame activations
T1 T2
15IDA, TU Braunschweig
T1
ECU
T2Buf
COM
C
Bus
T3
ECU
T4Buf
COM
Unpacking the signalsUnpacking the signals
• What we have at this point:
• One outer event stream modeling the frame arrivals
• One inner event stream for each sending task:
• Events represent frames that contain a new signal from the corresponding task
• What we have at this point:
• One outer event stream modeling the frame arrivals
• One inner event stream for each sending task:
• Events represent frames that contain a new signal from the corresponding task
Total frame arrivals
T1 T2
The inner event streams directly give us the timing of the specific signal arrivals
16IDA, TU Braunschweig
Next stepsNext steps
• Make use of better propagation mechanism
• Improved output jitter calculation [Rafik07]
• Schliecker’schen busy times
• Make use of better propagation mechanism
• Improved output jitter calculation [Rafik07]
• Schliecker’schen busy times
17IDA, TU Braunschweig
Prototypische Implementierung der Mapping Exploration
Prototypische Implementierung der Mapping Exploration
18IDA, TU Braunschweig
Mapping Exploration - EingabedatenMapping Exploration - Eingabedaten
• Beschreibung der Applikation in Form eines Applikationsgraphen
• Beschreibung der Hardware-Architektur
• Beschreibung der benötigten Ausführungszeiten einzelner Tasks
• Timing Constraints (Optional)• Z.B. :[Sensor1 -> Actor1] 350ms
• Beschreibung der Applikation in Form eines Applikationsgraphen
• Beschreibung der Hardware-Architektur
• Beschreibung der benötigten Ausführungszeiten einzelner Tasks
• Timing Constraints (Optional)• Z.B. :[Sensor1 -> Actor1] 350ms
Sensor 1 T0
T1
T3
T2
T4
T6 T7 Actor 1
T5
ECU2 ECU3
BUS 1
ECU1
Sensor 1 Actor 1
19IDA, TU Braunschweig
Mapping Exploration - AblaufMapping Exploration - Ablauf
MappingMapping
MappingMappingAlternatives
EvolutionaryOptimizer
1.1 1.2
1.4. Annotate Fitness Values
MappingMapping
MappingOffspringMappings
Repair Function Validity Check ApplicationDescription
ArchitectureDescription
2.1
3.13.2
Synthesis
ExecutionDemands
MappingMappingSymTA
Systems
2.2
1.3
TimingConstraints
Mapping Exploration
Evaluation
20IDA, TU Braunschweig
Mapping Exploration - ImplementierungMapping Exploration - Implementierung
21IDA, TU Braunschweig
Thank you! Thank you!