Title: UML and Real Time
1UML and Real Time
- François Terrier, Sébastien Gérard
- DRT-LIST/DTSI/SLA/LLSP, CEA/Saclay, F-91191 Gif
sur Yvette Cedex FrancePhone 33 1 69 08 62 59
Fax 33 1 69 08 83 95 - Francois.Terrier_at_cea.fr Sebastien.Gerard_at_cea.fr
2Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- (TAU UML Suite, ARTiSAN Studio, Rhapsody ROSE
RT, Esterel Studio) - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
3RT in UML 1.4
- Qualitative aspects
- Concurrency Active object, Concurrent state,
- Discrete behavior via state machines and
activity diagrams - Attempts of integrating continuous
behavior within activities of state-machines
- Quantitative aspects
- TimeEvent in state-machine
- Timing mark in Sequence Diagram
4Status of the UML2 proposals
- UML2 RFP split into 4 parts
- UML 2.0 OCL ? UML 2.0 Diagram Interchange
- UML2 Infrastructure ? core language of UML
- UML2 Superstructure ? state-machine, sequence
diag.,
- Two remaining main prop. for Infra/Super
- U2 group (www.u2-partners.org )Infrastructure ?
latest version is v.2.0 beta R2 released
2002/06/02 - 2U group (www.2uworks.org )Infrastructure ?
latest version is v0.81 released 2002/07/02 - Helsinki meeting (End of September 2002)
- 1st revised submission presentation for
Superstructure - 2nd revised submission presentation for
Infrastructure
5Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- (TAU UML Suite, ARTiSAN Studio, Rhapsody ROSE
RT, Esterel Studio) - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
6Scheduling, Performance Time Profile
- Proposers and supporters
- ARTiSAN, I-Logix, Rational, Telelogic, TimeSys
, Tri-Pacific, CEA-LIST - Main concepts
- resources quality of service (QoS)
- uniform basis to attach quantitative information
to UML specifications (e.g. required for RT
analysis performing)
? Not THE Real Time UML profile !
7Current architecture of UML SPT profile
- Consists of 5 sub-profiles
- General Resource Sub-profile (Defines abstract
concepts of Resource QoS) - Resource concept has been developed
- QoS concept remains abstract !
- General Time Sub-profile
- General Concurrency Sub-profile
- Performance Sub-profile
- Schedulability Sub-profile
8SPT base concept ? QoS
(Abstract class !)
- Use example of the QoS concept in a model
9Issues relating to QoS within SPT prof.
- QoS remains an abstract concept
- never concretized by other SPT sub-profiles
- Specific sub-profiles(Schedulability,
Performance, RT-CORBA) - defines implicitly required QoS (eg. TVs
SAPriority, SADelay, ) - but no links with the QoScharacteristics concept
! - SPT does not proposes solutions to specify
- domain specific QoS characteristics quantifiables
with specific values (e.g. capacity of fligth
plan managnt, antenna sign. accuracy) - QoS contracts in subsystems, components and use
cases - QoS modes the systems supports adaptations QoS
levels - monitoring of QoS values and their impact in the
architectures
10Architecture of QoS ( Fault Toler.) prof.
11RT refactoring in UML
? 3 points
12Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- ? TAU UML Suite ARTiSAN Studio, Rhapsody, ROSE
RT, Esterel Studio - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
13TAU UML/SDL Suite? UML modeling is used at the
first modeling stage, SDL used for design
- Active object declarations ? SDL processes
- Passive objects ? Abstract Data Types of SDL
14TAU UML/SDL Suite conclusions
? UML/SDL mapping is under user
responsibility he has to clarify the mapping of
- UML state machines ? SDL specifications
- Use of shared passive objects in UML model ? SDL
- Active object communication ? SDL signal exchange
- How to ensure independency between model and
implementation ? - Timing specifications ? only with low level
implementation mechanisms (Timers, SDL
priorities )
15Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- TAU UML Suite,? ARTiSAN Studio Rhapsody,
ROSE RT, Esterel Studio - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
16ARTiSAN Real-time Studio? two orthogonal models,
weak integration
Explicit modeling of concurrency features !!!
- A logical model in usual class/object diagrams
- An explicit task model in a specific diagram
? Concurrency diagram
17ARTiSAN Real-time Studio
- A mapping stage ? assignment of objects to tasks
- wrapping data and functions in object wrappers
- making schedulable objects scheduling them
using tasks
- encapsulating tasks their communications behind
interf.
18ARTiSAN Real-time Studio conclusions
- Task model has to be manually implemented
- Relation between task and object model is weak
? Communication between objects of different
tasks must be implemented by the user with low
level RT concepts
- Timing constraints must be translated on
implement.
- Concurrent diagram is out of the standard
A tool dedicated to high skill real-time
developers with a lot of things to be done by
hand and at the standard borders.
19Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- TAU UML Suite, ARTiSAN Studio, ? Rhapsody,
ROSE RT, Esterel Studio - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
20Rhapsody (RT-UML)? two orthogonal but
integrated models
- Explicit modelling of concurrency
21Rhapsody (RT-UML)
- Behavior specified by state machine of reactive
obj.
- Reactive objects are assigned to active objects
- Communication by message between reactive obj.
ActuatorControl
RegControl
SensorControl
22Rhapsody (RT-UML) conclusions
- Explicit tasking model (described maintained by
hand) - Communication issues
- Triggered operation concept between event
operation - Only return value of operation call can be
defined but under responsibility of the
caller ! (cf. conc. conflict) - Complex semantic diff. between signals
operation calls - Low level of Real Time specifications
- Priorities can be assigned to active objects
- Timing constraints must be implemented by hand
A tool dedicated to high skill real-time
developers with animation opportunities but not
really real-time.
23Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- TAU UML Suite, ARTiSAN Studio, Rhapsody ?
ROSE RT, Esterel Studio - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
24Rose Real-Time (UML-RT)? attempt to integrate
task and object paradigms
- capsule stereotype identifies active objects
- They will be assigned to task at implementation
stage - ? mapping with task priorities must be managed
by hand - They have state automaton but low level timing
specification
- Communication is performed through  portsÂ
- Sending of signal via port of communication
- Defines the set and protocol of the exchanged
messages
25Rose Real-Time (UML-RT)
- A synchronous communication with return value
Initial
t1
Off
Inter
t3
Synchronous call with reply
Action RTMessage retMsgm carSpeed.get().invoke(
retMsg) int newCarSpeed (const int )
retMsg.getData()
Trigger Signal get on port carSpeed Action carSp
eed-gtvalue(data).reply()
26Rose Real-Time (UML-RT) conclusions
- A high level concept for concurrency with an
implicit logical execution model ? Capsule - "Unusual" OO paradigm
Capsule paradigm Entities communicating via
signal exchange through ports.
but close to an Interface with Protocol State
Machine
- Behavior spec. via limited UML state machine
- Timing specification through low level mechanisms
The concept of Capsule is certainly very
powerfull but a little bit exotic regarding
usual OO paradigm (eg. For communication). About
RT constraint spec., it is equal to other, i.e.
only timing event, because the concept of
priority reveals to be not useable!
27Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- TAU UML Suite, ARTiSAN Studio, Rhapsody, ROSE
RT, ? Esterel Studio - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
28Esterel Studio? A "graphical form" equivalent to
Esterel
- S_Capsule (Synchronized_Capsule)
- Inherited from ROOM Capsule
- Get ports typed by a pluget ( ROOM Protocol)
- Concurrent components inside behavior
- SyncChart
- A "graphical form" equivalent to Esterel language
- Synchronous computation model
- The Zero-Delay hypothesis
- Absence of event may be a trigger
- Possibility of events conjunction
29Esterel studio (SyncCharts)
normal terminaison
macro-state
/ e
initial pseudo-state
simple state
strong abortion
s / e
final state
weak abortion
suspension
30Esterel studio (SyncCharts) conclusions
- Based on an abstract ideal view of real systems
?Synchronous assumption - Convenient for hardware-intensive systems
- Difficult to insure in other case
- Behavior SyncChart formalism
- Formal view ? possibility of formal verification
- Out of UML standard (notation semantics)
- Methodology aspect under-development
- The tool support only behavior aspect
- Prototype of coupling with Rose
31Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- (TAU UML Suite, ARTiSAN Studio, Rhapsody ROSE
RT, Esterel Studio) - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
32ACCORD/UML methodology
- Results of 10 years of OO researches for
RT-Syst. of nuclear plant PhD work with PSA
(Peugeot) AIT-WOODDES IST Eur. proj.
ACOTRIS a Nat. proj. - Provides
- Modeling methodologycontinuous process,
separation of functional spec. and implementation
constraints or choices - Tools supporting the process and the method
- Model transform., code gen. for rapid prototyping
- Model analysis, test generation
33? Protocol state machine in UML
- expresses legal transit. a classifier can trigger
- ? defines a lifecycle for objects or an
invocation order of its operations
- Protocol transitions have the following info.
- a pre condition (guard)
- one or several triggering event
- a post condition. Every
- zero or one operation that belongs to the context
classifier of the protocol state machine. - It can be associated to Interfaces and Ports
34Usual way to use the state machine
UML state machine notations
operation()
CallEvent SignalEvent
ChangeEvent TimeEvent
CallEvent
35AIT-WOODDES / ACCORD proposal ? a more
structured way !
- Separation on concerns to improve behaviour
modelling
- Reactive View
- "what it must do"
- Protocol View
- "what it can do"
36 describe protocol view
37 describe reactive view
- ChangeEvent
- CompletionEvent
- SignalEvent
- TimeEvent
38Summary on ACCORD behavior model
Class behavior control logic
call-event-name (param-list) guard
Class structure
Protocol view (UML standard) What instances
of this class may do
event-name (param-list) guard /
called-operation-name (param-list)
Method view(UML standard) Howprocessingis
performed
Trigger view (ACCORD/UML) What the instances
of this class have to do
39Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- (TAU UML Suite, ARTiSAN Studio, Rhapsody ROSE
RT, Esterel Studio) - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
40Decomposition heuristics component model
ER1 Heuristics to ease decomposition of a
system into a sub-systems model
ER2 Model mappings to transform resulting
sub-systems model into component model -
required offered interface - component
connexions / association links -
41ACCORD/UML RT-Component Model
- Component Model based on
- UML2 component Model RT_QoS
Component
- ? Interface can have both BehavioralFeatures
- operations also with QoS specif.
- receptions (signals) with QoS specif.
42ACCORD/UML RT-Component Model based on a MDA
approach
ER2 These mappings take into account specified
RT features of the sub-system model ? PIM-to-PIM
ER3 Mappings from the RT-Comp. Mod. of
ACCORD/UML towards a platform model (e.g., RT-CCM
model) ? PIM-to-PSM
43Plan of the presentation
- UML2 standardization status
- Real Time, QoS, SPT profile and UML
- Point on current tools for RT with UML
- (TAU UML Suite, ARTiSAN Studio, Rhapsody ROSE
RT, Esterel Studio) - Real Time modeling with ACCORD/UML
- Protocol state machine
- RT Component Model
- MDE through UML profiles
44MDA Challenges
- ? What MDA means modelling with UML to develop
a system with - a clear separation of implementation technology
- following a continuous modelling process
- using intensively model synthesis
? What we need
- Methods to define well-structured models
- Business oriented (versus software techn
oriented) - Activity oriented req/spec/design/impl/proof/test
/simul, etc. - Techniques to exploit development expertise
- Profile, script, meta-modeling, aspect progr.,
etc. - Expertise implementation (RT, emb., safety,
valid., etc.) - Implementation platform models (CCM, RT-OS,
etc.) - Tooling standards (interf., coop., interact.,
exch., etc.)
45ACCORD/UML methodoology Models everywhere
46Structure of ACCORD Methodology
47ACCORD/UML profile for Embedded Systems
- ? Real-time QoS model
- The domain viewpoint
- Model overview
- Model details
- The UML viewpoint
- Stereotypes and tagged values definition
- Tagged Value Types
- ? Communication model
- ? Behaviour model
- ? Concurrency model
48Real-time features model domain viewpoint
overview
- Definifion of a Real-Time QoS
generic concept of RT QoS
Priority-based RT QoS
Timing-based RT QoS
49Real-time features model domain viewpoint
details
- Attributes
- Operations
- create ( ref in RTtimeValue, pr in Priority, pe
in Period-1, peNb-1 in integer ) It create an
instance of priority-based RTF according to
values passed as parameters. pr is the
priority, pe is the period and peNb is the
number of period of the new instance. - Associations
- itsPrPriority (1-1) It denotes the priority
feature of the current priority RTF. - itsPePeriod (0-1) It denotes the period feature
of the current priority RTF if necessary.
50Real-time features model UML viewpoint
? RT_QoStype ? ( lttimingQoSgt ltpriorityQoSgt
)
- lttimingQoSgt ( ltRefDategt , ltDeadlinegt
, ltReadyTimegt , ltPeriodgt , ltNoPeriodgt )
- ltpriorityQoSgt ( ltPrioritygt , ltPeriodgt
, ltNoPeriodgt )
- ltRefDategt (RefDate, ltvaluegt ,
lttimeUnitStrgt ) - ltDeadlinegt (Deadline, ltvaluegt ,
lttimeUnitStrgt ) - ltPrioritygt (Priority, ltvaluegt )
- ltReadyTimegt (ReadyTime, ltvaluegt ,
lttimeUnitStrgt ) - ltPeriodgt (Period, ltvaluegt ,
lttimeUnitStrgt ) - ltNoPeriodgt (NoPeriod, ltvaluegt ,
lttimeUnitStrgt ) - ltvaluegt ltIntegergt ltRealgt
- lttimeUnitStrgt ns us ms
s hr days wks
mos yrs
51Conclusions
- Industrial tools support model based
development? Modelling is not new ! - Moderation around the new key-word MDA
- but MDA not supported, they are too limited on
- Model analysis,
- Model transformation and mappings
- Platform independent model writing
- UML 2
- better for RT, but not a RT formalism!
- Should better support profile definition and,
thus, MDA - Strong lacks on the model exploitation language
- No graphical formalism at this time
- No standard and very "tool dependent"