Dtsi/SLA/ 1 MDA for Embedded System Development, Brest, France, September 16, 2002 UML and Real Time Fran ç ois Terrier, S é bastien G é rard DRT-LIST/DTSI/SLA/LLSP,

Slides:



Advertisements
Similar presentations
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Advertisements

Process Description and Control
1 Concurrency: Deadlock and Starvation Chapter 6.
Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Distributed Systems Architectures
Chapter 7 System Models.
Chapter 8 Software Prototyping.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Processes and Operating Systems
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
Service Oriented Architecture Reference Model
1 Hyades Command Routing Message flow and data translation.
Dtsi/SOL/ 1March 2004ETSI MTS meeting, Sophia Antipolis Methodology Chokri Mraidha, Sébastien Gérard DRT-LIST/DTSI/SOL/LLSP, CEA/Saclay, F Gif sur.
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Chapter 5: Repetition and Loop Statements Problem Solving & Program.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
1 Preliminary results of the Environmental Data Exchange Network for Inland Waters (EDEN-IW) project Practical lessons. P. Haastrup.
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
1 Term 2, 2004, Lecture 3, NormalisationMarian Ursu, Department of Computing, Goldsmiths College Normalisation 5.
Chapter 5 Input/Output 5.1 Principles of I/O hardware
Making the System Operational
Chapter 1 Introduction Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Introduction Abstract Views of an Operating System.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Chapter 7 – Design and Implementation
Week 2 The Object-Oriented Approach to Requirements
Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
Break Time Remaining 10:00.
Electric Bus Management System
Chapter 11: Models of Computation
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 2 The OSI Model and the TCP/IP.
By Waqas Over the many years the people have studied software-development approaches to figure out which approaches are quickest, cheapest, most.
Use Case Diagrams.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
IONA Technologies Position Paper Constraints and Capabilities for Web Services
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
Requirements Analysis Moving to Design b521.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
آزمایشگاه مهندسی نرم افزار
Executional Architecture
Implementation Architecture
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Lilian Blot CORE ELEMENTS SELECTION & FUNCTIONS Lecture 3 Autumn 2014 TPOP 1.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
PSSA Preparation.
Chapter 11 Component-Level Design
Essential Cell Biology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Murach’s OS/390 and z/OS JCLChapter 16, Slide 1 © 2002, Mike Murach & Associates, Inc.
Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming.
Modeling Main issues: What do we want to build How do we write this down.
From Model-based to Model-driven Design of User Interfaces.
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
Real-time systems and the UML Morgan Björkander
SIVOES-MONA (Dresden, October the 1 st ) - Pr. F. Terrier & Dr. S. Gérard (L-LSP) 1 UML 2: Component model & RT feedback of AIT-WOODDES project to the.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
An Introduction to Rational Rose Real-Time
Introduction To System Analysis and Design
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
UML and Real Time François Terrier, Sébastien Gérard
Presentation transcript:

Dtsi/SLA/ 1 MDA for Embedded System Development, Brest, France, September 16, 2002 UML and Real Time Fran ç ois Terrier, S é bastien G é rard DRT-LIST/DTSI/SLA/LLSP, CEA/Saclay, F Gif sur Yvette Cedex France Phone: ; Fax: ;

Dtsi/SLA/ 2 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 3 MDA for Embedded System Development, Brest, France, September 16, 2002 RT in UML 1.4 Quantitative aspects TimeEvent in state-machine Timing mark in Sequence Diagram  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

Dtsi/SLA/ 4 MDA for Embedded System Development, Brest, France, September 16, 2002 Status of the UML2 proposals  Two remaining main prop. for Infra/Super U2 group ( ) Infrastructure  latest version is v.2.0 beta R2 released 2002/06/02www.u2-partners.org 2U group ( ) Infrastructure  latest version is v0.81 released 2002/07/02www.2uworks.org  Helsinki meeting (End of September 2002) 1st revised submission presentation for Superstructure 2nd revised submission presentation for Infrastructure  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., …

Dtsi/SLA/ 5 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 6 MDA for Embedded System Development, Brest, France, September 16, 2002  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) Client S1S1ResourceA S2S2ResourceBResourceB CPU CPU Physical Processor  Not THE Real Time UML profile… ! Scheduling, Performance & Time Profile

Dtsi/SLA/ 7 MDA for Embedded System Development, Brest, France, September 16, 2002 Current architecture of UML SPT profile 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 Generic sub-profiles for real-time applications Specific sub-profiles for dedicated activities around real-time application development Performance Sub-profile Schedulability Sub-profile  Consists of 5 sub-profiles

Dtsi/SLA/ 8 MDA for Embedded System Development, Brest, France, September 16, 2002 SPT base concept  QoS Use example of the QoS concept in a model ResourceService 0..n +offeredQoS Resource 0..n ResourceUsage 0..n +requiredQoS 0..n 1..n0..n1..n0..n QoSCharacteristic (Abstract class !) /:SRV aDriver/:DriverregOutput/:Display start display «RTaction» {RTstart=(10, 'ms')} Required QoS display(): «SAAction» {SAWorstCase=(25,'ms'), RTduration=(5,'ms')} Offered QoS

Dtsi/SLA/ 9 MDA for Embedded System Development, Brest, France, September 16, 2002 Issues 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 manag nt, 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

Dtsi/SLA/ 10 MDA for Embedded System Development, Brest, France, September 16, 2002 Architecture of QoS (& Fault Toler.) prof. What are you talking about? 1 What we need to take into account? 2 What can you do? What do you want? 3 What happen when...? 5 How can you execute? 4

Dtsi/SLA/ 11 MDA for Embedded System Development, Brest, France, September 16, 2002 RT refactoring in UML Schedulability AnalysisPerformance Analysis Code Generation Specific sub-profiles for dedicated activities around real-time application development... …  3 points: Generics for RT domain QoS & Resource ConcurrencyTimeThroughput/PerformanceLantency UML 2 RT package ? 3

Dtsi/SLA/ 12 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 13 MDA for Embedded System Development, Brest, France, September 16, 2002 Passive objects  Abstract Data Types of SDL Active object declarations  SDL processes ActuatorControlRegControl [cmd] C1 SensorControl [speed] C2 ActuatorControl RegControl SensorControl pRC 1 pAC 1 RegulatingLaw pAC 1 Newtype RegulatingLaw Operators calculate : Speed, Speed -> TorqueVariation endnewtype:; SpeedRegulator_Behavior On stopRegulating() / updateScreen(OFF); Off startRegulating() / targetSpeed = returnValue; Stopped Running Stopped Running stopRegulating updateScreen(OFF) startRegulating targetSpeed = returnvalue TAU UML/SDL Suite  UML modeling is used at the first modeling stage, SDL used for design…

Dtsi/SLA/ 14 MDA for Embedded System Development, Brest, France, September 16, 2002 TAU UML/SDL Suite : conclusions How to ensure independency between model and implementation ? Timing specifications:  only with low level implementation mechanisms ( Timers, SDL priorities… )  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

Dtsi/SLA/ 15 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 16 MDA for Embedded System Development, Brest, France, September 16, 2002 An explicit task model in a specific diagram Actuator control Motor Actuator Control calculation Speedmeter control Channel1 Speedmeter PMH Explicit modeling of concurrency features !!! A logical model in usual class/object diagrams  Concurrency diagram ::Regulator stopRegulating() startRegulating() ::RegulatingLaw calculate * pRegLaw ARTiSAN Real-time Studio  two orthogonal models, weak integration

Dtsi/SLA/ 17 MDA for Embedded System Development, Brest, France, September 16, 2002  making schedulable objects & scheduling them using tasks  wrapping data and functions in object wrappers A mapping stage  assignment of objects to tasks Actuator control Motor Actuator Control calculation Speedmeter control Channel1 Speedmeter PMH regLaw:Commande update() read() Actuator control Motor Actuator Control calculation Speedmeter control Channel1 Speedmeter PMH  encapsulating tasks & their communications behind interf. Three techniques ARTiSAN Real-time Studio

Dtsi/SLA/ 18 MDA for Embedded System Development, Brest, France, September 16, 2002 Timing constraints must be translated on implement.  Communication between objects of different tasks must be implemented by the user with low level RT concepts ARTiSAN Real-time Studio: conclusions Relation between task and object model is weak Task model has to be manually implemented 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.

Dtsi/SLA/ 19 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 20 MDA for Embedded System Development, Brest, France, September 16, 2002  Identify system task  Populate tasks with objects of analysis and design stages Rhapsody (RT-UML)  two «orthogonal» but «integrated» models Explicit modelling of concurrency  Inter tasks communication = Synchro. + data exchange

Dtsi/SLA/ 21 MDA for Embedded System Development, Brest, France, September 16, 2002 Rhapsody (RT-UML) ActuatorControl « reactive » RegControl SensorControl pRC 1 pAC 1 RegulatingLaw pAC 1 RegControlTask RegControl ActControlTask ActuatorControl SpeedRegulator_Behavior On stopRegulating() / updateScreen(OFF); Off startRegulating() / targetSpeed = returnValue; SpeedRegulator_Behavior On stopRegulating() / updateScreen(OFF); Off startRegulating() / targetSpeed = returnValue;  Behavior specified by state machine of reactive obj.  Reactive objects are assigned to active objects…  Communication by message between reactive obj. SensorControl

Dtsi/SLA/ 22 MDA for Embedded System Development, Brest, France, September 16, 2002  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”. Rhapsody (RT-UML) : conclusions

Dtsi/SLA/ 23 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 24 MDA for Embedded System Development, Brest, France, September 16, 2002 Rose 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 Defines the set and protocol of the exchanged messages  Communication is performed through « ports »  Sending of signal via port of communication « capsule » anEmitter : Emitter State 1 State 2 portA.send (s 1 ) ; Signal sending Communication port « protocol » infoProto incoming S 1 Protocol portA : infoProto portB : infoProto~ capsule link « capsule » aReceiver : Receiver Behaviour

Dtsi/SLA/ 25 MDA for Embedded System Development, Brest, France, September 16, 2002 / aSpM : Speedometer + / carSpeed : SpdAcq / aReg : Regulator + / carSpeed : SpdAcq~ Initiated Initial t3 get value (data) Off Inter Initial t1 Trigger: Signal get on port carSpeed Action: carSpeed->value(data).reply(); Action: RTMessage retMsg;m carSpeed.get().invoke(&retMsg); int newCarSpeed= *(const int *) retMsg.getData(); t1 A synchronous communication with return value  blocked until reply receipt  release by reply receipt Synchronous call with reply Rose Real-Time (UML-RT) Not to forget « reply » action on server side !

Dtsi/SLA/ 26 MDA for Embedded System Development, Brest, France, September 16, 2002 Rose Real-Time (UML-RT): conclusions  A high level concept for concurrency with an implicit logical execution model  Capsule  "Unusual" OO paradigm 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! Capsule paradigm Entities communicating via signal exchange through ports. vs. Usual object paradigm Entities communicating via operation call. Behavior spec. via limited UML state machine Timing specification through low level mechanisms … but close to an Interface with Protocol State Machine

Dtsi/SLA/ 27 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 28 MDA for Embedded System Development, Brest, France, September 16, 2002 Esterel 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

Dtsi/SLA/ 29 MDA for Embedded System Development, Brest, France, September 16, 2002 Esterel studio (SyncCharts) Running suspension macro-state simple state initial pseudo-state final state weak abortion strong abortion s / e parallel component suspend normal terminaison / e transition label

Dtsi/SLA/ 30 MDA for Embedded System Development, Brest, France, September 16, 2002 Esterel 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

Dtsi/SLA/ 31 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 32 MDA for Embedded System Development, Brest, France, September 16, 2002 ACCORD/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 methodology: continuous 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

Dtsi/SLA/ 33 MDA for Embedded System Development, Brest, France, September 16, 2002  Protocol state machine in UML  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  expresses legal transit. a classifier can trigger  defines a lifecycle for objects or an invocation order of its operations

Dtsi/SLA/ 34 MDA for Embedded System Development, Brest, France, September 16, 2002 unObjet operation() « signal » Signal() E1E1 E2E2 ‘Evt’ ‘[’ garde ‘]’ / ‘liste-Actions’ CallEvent SignalEvent ChangeEvent TimeEvent operation() Signal() Maintainability  Reusability  C Off On initReg[cptVit->getSpeed()=<30] /display("ON"); stopReg/display("OFF"); tm(100)/tgSpeed = cptVit->getSpeed(); [carSpeed=<30]/display("OFF"); /delta=k1*atan(tgSpeed-cuSpeed); mot->sendCmd(coupleVariation); tgSpeed : int initReg() stopReg() Regulator Logic Algorithmic & Usual way to use the state machine … … UML state machine notations

Dtsi/SLA/ 35 MDA for Embedded System Development, Brest, France, September 16, 2002 Separation on concerns to improve behaviour modelling Protocol View  "what it can do" Reactive View  "what it must do" Object behaviour Algorithmic aspect Logic aspect AIT-WOODDES / ACCORD proposal :  a more structured way ! Control logic & Algorithms aspects

Dtsi/SLA/ 36 MDA for Embedded System Development, Brest, France, September 16, 2002 Arret Marche C Arret Marche initReg[cptVit->getSpeed()=<30] /display("ON"); stopReg/display("OFF"); tm(100)/tgSpeed = cptVit->getSpeed(); [carSpeed=<30]/display("OFF"); /delta=k1*atan(tgSpeed-cuSpeed); mot->sendCmd(coupleVariation); Logic Algorithmic & « describe protocol view » tgSpeed : int initReg() stopReg() Regulator Off On initReg() stopReg() maintainSp() Class behavior = Control logic (protocol use) Protocol-transition call-event ‘(’params‘)’ ‘[’ guard ‘]’ Method behavior = Algorithmic parts carSpeed = cptVit- >getSpeed() delta=k1*atan(tgSpeed- cuSpeed) mot- >sendCmd(torqueVariation) Maintainability  Reusability  Regulator +tgSpeed : integer +initReg() +stopReg() +maintainSp() Regulator interface

Dtsi/SLA/ 37 MDA for Embedded System Development, Brest, France, September 16, 2002 / maintainSp() RegOnOff / stopReg() RegOnOff / initReg() On Off [carSpeed<50] / stopReg() Triggering view (ACCORD/UML) ChangeEvent CompletionEvent SignalEvent TimeEvent Set of consistent rules between protocol and triggering views Class interface Regulator +tgSpeed : integer +initReg() +stopReg() +maintainSp() « Signal » RegOnOff() ‘evt-name ’ ‘(’param-list‘)’ ‘[’ guard ‘]’ / ‘(’params‘)’ Triggering-transition « describe reactive view »

Dtsi/SLA/ 38 MDA for Embedded System Development, Brest, France, September 16, 2002 S1S1 S2S2 ‘call-event-name’ ‘(’param-list‘)’ ‘[’ guard ‘]’ S2S2 S1S1 ‘event-name’ ‘(’param-list‘)’ ‘[’ guard ‘]’ / called-operation-name ‘(’param-list‘)’ Trigger view (ACCORD/UML) = “What the instances of this class have to do” Class m 1 () S 1 S 2 m 1 Class structure Class behavior = control logic Protocol view (UML ~standard) = “What instances of this class may do” Method view (~UML standard) = How processing is performed Summary on ACCORD behavior model act 1 act 2

Dtsi/SLA/ 39 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 40 MDA for Embedded System Development, Brest, France, September 16, 2002 Decomposition heuristics & component model Initial Model ACCORD/UML (PAM ou DAM) ACCORD/UML (PAM ou DAM) Sub-system Model Sub-Syst_1Sub-Syst_2 Sub-Syst_3 «refine » ER1 C_Sub-Syst_1 C_Sub-Syst_2 C_Sub-Syst_3 Component Model «parts» ER2 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 - … ER2 = Model mappings to transform resulting sub-systems model into component model - required & offered interface - component connexions / association links - … Component definition  2 possible views: -“Black box” (= external view)  set of interfaces -“White box” (= internal view)  sub-system

Dtsi/SLA/ 41 MDA for Embedded System Development, Brest, France, September 16, 2002 Component Component Model based on UML2 component Model + RT_QoS ACCORD/UML RT-Component Model Interface provided required RT_QoS  Interface can have both BehavioralFeatures: operations also with QoS specif. receptions (signals) with QoS specif.

Dtsi/SLA/ 42 MDA for Embedded System Development, Brest, France, September 16, 2002 ACCORD/UML RT-Component Model based on a MDA approach… ER3 = Mappings from the RT-Comp. Mod. of ACCORD/UML towards a platform model (e.g., RT-CCM model)  PIM-to-PSM RT_QoS C_Sub-Syst_1 C_Sub-Syst_2 C_Sub-Syst_3 Component Model ER2 RT_QoS Sub-system Model Sub-Syst_1Sub-Syst_2 Sub-Syst_3 RT_QoS ER2 = These mappings take into account specified RT features of the sub-system model  PIM-to-PIM CCM ER3

Dtsi/SLA/ 43 MDA for Embedded System Development, Brest, France, September 16, 2002 Plan 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

Dtsi/SLA/ 44 MDA for Embedded System Development, Brest, France, September 16, 2002 MDA Challenges  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.)  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 :

Dtsi/SLA/ 45 MDA for Embedded System Development, Brest, France, September 16, 2002 ACCORD/UML methodoology: Models everywhere… Application synthesis Test Synthesis

Dtsi/SLA/ 46 MDA for Embedded System Development, Brest, France, September 16, 2002 user ! + Structure of ACCORD Methodology ACCORD/UML Methodology relizes Modelling tools defined by ACCORD/UML Profile OMG’ Standard profiles !!! SPE profileSPT profileAL profile

Dtsi/SLA/ 47 MDA for Embedded System Development, Brest, France, September 16, 2002 ACCORD/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 Real-Time QoS Model Communication Model Behavior Model Concurrency Model

Dtsi/SLA/ 48 MDA for Embedded System Development, Brest, France, September 16, 2002 Real-time features model domain viewpoint overview Definifion of a Real-Time QoS TimingRTF ReadyTime Deadline SPTprofile::Core Ressource Model QoScharacteristic PriorityRTF Priority Period RTF generic concept of RT QoS Priority-based RT QoS Timing-based RT QoS

Dtsi/SLA/ 49 MDA for Embedded System Development, Brest, France, September 16, 2002 Real-time features model domain viewpoint details PriorityRTF 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 - itsPr:Priority (1-1): It denotes the priority feature of the current priority RTF. -itsPe:Period (0-1): It denotes the period feature of the current priority RTF if necessary. PriorityRTF RTF Priority Period+create(In pr:Priority,In pe:Period,In peNb:integer) itsPr 1 itsPe 0..1

Dtsi/SLA/ 50 MDA for Embedded System Development, Brest, France, September 16, 2002 ► RT_QoStype  “(“ | ”) ::= “(“ “, “ “, “ “,“ “, “ ”)” ::= “(“ “, “ “, “ ”)” ::= “ (RefDate, “ “, “ ” ) ” ::= “ (Deadline, “ “, “ ” ) ” ::= “ (Priority, “ ” ) ” ::= “ (ReadyTime, “ “, “ ” ) ” ::= “ (Period, “ “, “ ” ) ” ::= “ (NoPeriod, “ “, “ ” ) ” ::= | ::= “ ’ ns ’ ” | “ ’ us ’ ” | “ ’ ms ’ ” | “ ’ s ’ ” | “ ’ hr ’ ” | “ ’ days ’ ” | “ ’ wks ’ ” | “ ’ mos ’ ” | “ ’ yrs ’ RTF Real-time features model – UML viewpoint StereotypeBaseClassParentTags « RTF » Action RTF_value Transition Message Tag NameTag TypeMultiplicity RTF_valueRT_QoStype[0..1] From SPT Profile

Dtsi/SLA/ 51 MDA for Embedded System Development, Brest, France, September 16, 2002 Conclusions 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"