AADL

Dealing with AADL End-to-end Flow Latency
in UML MARTE
AOSTE INRIA/I3S
Sophia Antipolis, France
S-Y. Lee, F. Mallet, R. de Simone
1
Introduction AADL
MARTE for AADL
Conclusion
Motivation

Allocation of heterogeneous applications on to
heterogeneous execution platforms



Early analysis (end-to-end flow latency) requires


The execution platform may be speculative (Y-chart)
May explore several platforms for a single application
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
2
Introduction AADL
MARTE for AADL
Conclusion
AADL


Architecture Analysis & Design Language

Avionics/Automotive standard from Society of
Automotive Engineers.

Design & Analysis of performance-critical RT systems
Application/Software Components


Execution Platform Components


Thread, Thread Group, Process, Subprogram
Bus, Device, Processor, Memory
Binding

Bind Application onto Execution Platform
3
Introduction AADL
MARTE for AADL
Conclusion
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
4
and context switching costs, etc.
Introduction AADL
MARTE for AADL
Conclusion
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
5
and context switching costs, etc.
Introduction AADL
MARTE for AADL
Conclusion
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
6
Introduction
AADL
MARTE for AADL
Conclusion
An example in AADL
ExecutionPlatform
Device (sensor)
Software
Thread
ExecutionPlatform
Device (actuator)
Event-data port
(message-passing, queues)
Mix of Execution
Event port (queues)
Platform and Software
 Case-based definition of the underlying Model of
Computation and Communication (MoCC)

Delayed communication
 immediate
Data port (no queue)
Software
Periodic Thread
7
Introduction
AADL
MARTE for AADL
Conclusion
Delayed Communications
f1=q1*f
f2=q2*f
T1
T2

Latched communication: classical in EDA
8
Introduction
AADL
MARTE for AADL
Conclusion
Immediate Communications
f1=q1*f
f2=q2*f
T1
T2

Instantaneous communications
9
Introduction
AADL
MARTE for AADL
Conclusion
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 !
10
Introduction
AADL
MARTE for AADL
Conclusion
A simple sketch hides a complex model

Most of the model is
hidden as text in AADL
11
Introduction
AADL
MARTE for AADL
Conclusion
Summary of Issues (and solutions)

Mix of Execution Platform and Software


Case-based definition of the underlying Model of
Computation and Communication (MoCC)


Make It Explicit
Do not deal with the causality problems



Separate them, use Allocation to associate costs
Use well-known solutions
… from synchronous languages
Most of the model is hidden as text

Make the time a first-class citizen
12
Introduction
AADL
MARTE for AADL
Conclusion
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)
13
Introduction
AADL
MARTE for AADL
Conclusion
UML and MARTE

Software Resources (OS, middleware, …)

UML Composite Structure Diagrams
MARTE Library for AADL
14
Introduction
AADL
MARTE for AADL
Conclusion
UML and MARTE

Execution platform

Composite Structure Diagrams
MARTE Library for AADL
15
Introduction
AADL
MARTE for AADL
Conclusion
Allocation in MARTE
16
Introduction
AADL
MARTE for AADL
Conclusion
MoCCs with MARTE

Overall only two different kinds of communications
in AADL

Dataflow
Event-data ports + Aperiodic threads
Data ports + immediate
periodic threads
T1
t1.finish alternatesWith t2.start
T2
17
Introduction
AADL
MARTE for AADL
Conclusion
MoCCs with MARTE

Overall only two different kinds of communications
in AADL

Sampled
Data ports + Delayed + Periodic threads
Data ports + immediate
Periodic (oversampling) threads
T1
t2.start = t1.finish sampledTo ^t2
T2
18
Introduction
AADL
MARTE for AADL
Conclusion
Clock Constraint Specification Language
19
Introduction
AADL
MARTE for AADL
Conclusion
Timing analysis results
UML Timing Diagrams
20
Introduction
AADL
MARTE for AADL
Conclusion
Conclusion


MARTE is under finalization by FTF
MARTE annex A


MARTE as a language to support MoCC definition


Guidelines about AADL and East-ADL2 (AutoSAR)
Give a Timed Causality Model to UML
AADL may benefit from using MARTE as a frontend


Reuse all existing UML tools with support teams
MARTE may require some adaptations to ease the
work of designers used to AADL
21