Dealing with AADL End-to-end Flow Latency in UML MARTE
AOSTE INRIA/I3SSophia Antipolis, France
S-Y. Lee, F. Mallet, R. de Simone
2
Motivation Allocation of heterogeneous applications on to
heterogeneous execution platforms The execution platform may be speculative (Y-chart) May explore several platforms for a single application
Early analysis (end-to-end flow latency) requires Combined models of the applications, execution
platforms AND of the allocation AADL and MARTE have this ability
MARTE is more general Some specific AADL constructs require a special
attention to find equivalences in MARTE
IntroductionIntroduction AADL MARTE for AADL Conclusion
3
AADL Architecture Analysis & Design Language
Avionics/Automotive standard from Society of Automotive Engineers.
Design & Analysis of performance-critical RT systems Application/Software Components
Thread, Thread Group, Process, Subprogram Execution Platform Components
Bus, Device, Processor, Memory Binding
Bind Application onto Execution Platform
IntroductionIntroduction AADL MARTE for AADL Conclusion
4
MARTE OMG UML2 Profile for Modeling and Analysis of
Real-Time and Embedded systems OMG Adopted Specification (ptc/07-08-04) => FTF
Time Define a Timed Causality Model for UML Broad enough to cover several Models of Computation
(exercise: Model AADL MoCC) Allocation sub-profiles
Describe various possible allocations (and their costs) Time analysis needs to cope with communication costs
and context switching costs, etc.
IntroductionIntroduction AADL MARTE for AADL Conclusion
5
MARTE OMG UML2 Profile for Modeling and Analysis of
Real-Time and Embedded systems OMG Adopted Specification (ptc/07-08-04) => FTF
Time Define a Timed Causality Model for UML Broad enough to cover several Models of Computation
(exercise: Model AADL MoCC) Allocation sub-profiles
Describe various possible allocations (and their costs) Time analysis needs to cope with communication costs
and context switching costs, etc.
IntroductionIntroduction AADL MARTE for AADL Conclusion
6
Our contribution How to represent, in MARTE, AADL constructs
amenable to end-to-end flow latency analysis ? Address examples from Feiler & Hansson
(Technical Note CMU/SEI-2007-TN-010, June 2007)
Previous contribution on immediate/delayed data communications (Embedded Systems Specification and Design Languages, chapter 11, Springer, March 2008)
Today, focus on How to mix data-driven and event-based communications Lots of applications in automotive with protocols like
FlexRay
IntroductionIntroduction AADL MARTE for AADL Conclusion
7
An example in AADLExecutionPlatform
Device (sensor)ExecutionPlatformDevice (actuator)
SoftwareThread
Event-data port (message-passing, queues)
Event port (queues)
Data port (no queue)
SoftwarePeriodic Thread
Delayed communication immediate
Mix of Execution Platform and Software Case-based definition of the underlying Model of Computation and Communication (MoCC)
Introduction AADLAADL MARTE for AADL Conclusion
8
Delayed Communications
Latched communication: classical in EDA
T1
T2
f1=q1*ff2=q2*f
Introduction AADLAADL MARTE for AADL Conclusion
9
Immediate Communications
Instantaneous communications
T1
T2
f1=q1*ff2=q2*f
Introduction AADLAADL MARTE for AADL Conclusion
10
Causality problems
To be deterministic, one must Perform clock computations Define a schedule Compute a Fix-point
How to deal with the causality problems ? Synchronous languages !
Introduction AADLAADL MARTE for AADL Conclusion
11
A simple sketch hides a complex model
Most of the model is hidden as text in AADL
Introduction AADLAADL MARTE for AADL Conclusion
12
Summary of Issues (and solutions) Mix of Execution Platform and Software
Separate them, use Allocation to associate costs Case-based definition of the underlying Model of
Computation and Communication (MoCC) Make It Explicit
Do not deal with the causality problems Use well-known solutions … from synchronous languages
Most of the model is hidden as text Make the time a first-class citizen
Introduction AADLAADL MARTE for AADL Conclusion
13
UML and MARTE Application (pure causal/untimed relations)
UML Activity Diagrams
Different queuing policies (event, event-data, data) ?
With queues (event or event-data)and selection policy if needed (All Items?)
Without queues (data)
Introduction AADL MARTE for AADLMARTE for AADL Conclusion
14
UML and MARTE Software Resources (OS, middleware, …)
UML Composite Structure Diagrams
MARTE Library for AADL
Introduction AADL MARTE for AADLMARTE for AADL Conclusion
15
UML and MARTE Execution platform
Composite Structure Diagrams
MARTE Library for AADL
Introduction AADL MARTE for AADLMARTE for AADL Conclusion
16
Allocation in MARTEIntroduction AADL MARTE for AADLMARTE for AADL Conclusion
17
MoCCs with MARTE Overall only two different kinds of communications
in AADL Dataflow
Event-data ports + Aperiodic threads Data ports + immediateperiodic threads
t1.finish alternatesWith t2.start
Introduction AADL MARTE for AADLMARTE for AADL Conclusion
T1
T2
18
MoCCs with MARTE Overall only two different kinds of communications
in AADL Sampled
Data ports + Delayed + Periodic threads Data ports + immediatePeriodic (oversampling) threads
Introduction AADL MARTE for AADLMARTE for AADL Conclusion
T1
T2t2.start = t1.finish sampledTo ^t2
19
Clock Constraint Specification LanguageIntroduction AADL MARTE for AADLMARTE for AADL Conclusion
20
Timing analysis resultsUML Timing Diagrams
Introduction AADL MARTE for AADLMARTE for AADL Conclusion
21
Conclusion MARTE is under finalization by FTF MARTE annex A
Guidelines about AADL and East-ADL2 (AutoSAR) MARTE as a language to support MoCC definition
Give a Timed Causality Model to UML AADL may benefit from using MARTE as a front-
end Reuse all existing UML tools with support teams MARTE may require some adaptations to ease the
work of designers used to AADL
Introduction AADL MARTE for AADL ConclusionConclusion