Methodology François Terrier, Sébastien Gérard DRT-LIST/DTSI/SOL/LLSP, CEA/Saclay, F-91191 Gif sur Yvette Cedex France Phone: +33 1 69 08 62 59 ; Fax: +33 1 69 08 83 95 Francois.Terrier@cea.fr ; Sebastien.Gerard@cea.fr OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 1
ACCORD/UML Methodology 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 OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 2
Model Driven Engineering Component Based Modeling in UML RegulatorScreen Verification Requirement tracability Scheduling & performance P h a s e P h a s e P h a s e WCET Phase de déclin d 'in tro d u c tio n de croissance d e m a tu rité T o ta l analysis d e s v e n te s Tests T e m p s Platform Specific Models Platform Models «component» SpeedRegulator «component»» RegulatorScreen «component» ControlRegul Syst1 Syst2 CORBA CCM, EJB, XML/SOAP, Dedicated midd. Interaction models Containers Assembly, configuration, deployment Services for RT/E component container Predefined components Preexisting component container Execution Infrastucture Preexisting component container OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 3
Model Driven Engineering Component Based Modeling in UML RegulatorScreen Verification Requirement tracability Scheduling & performance P h a s e P h a s e P h a s e WCET P h a s e d e d é c lin d 'in tr o d u c tio n d e c r o is s a n c e d e m a tu r ité T o t a l analysis d e s v e n te s Tests T e m p s Platform Specific Models Platform Models «component» SpeedRegulator «component»» RegulatorScreen «component» ControlRegul Syst1 Syst2 CORBA CCM, EJB, XML/SOAP, Dedicated midd. component container Preexisting component container Execution Infrastucture Preexisting component container OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 4
Structure of the Methodology OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 5
Several modeler points of view System models struct. based on dev. cycle PAM, DAM, VaM, PrM, TeM OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 6
Activity build preliminary analysis Requirements Analyst IRD compile dictionnary Dictionnary Iteration {until Domain Expert Agreement} thesystem [ All UC * described ] describe use cases Use Cases Model thesystem describe high-level scenario High-Level Scenarios Model classify actors OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 7
Introduction of Modeling concepts Active / passive actors Signal communication Control / Trigger state machines UML2.0 Real Time Objects / Passive Objects Real Time Feature SPT & QoS profiles OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 8
«classify actors» (seq.) Interactions from environnement to system Interactions from environnement to system OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 9
«build structural basis» (seq.) How to use the system How to plug the system OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 10
E.g.: ACCORD/UML PAM DAM PAM : interactions with the system as a blak box Focuss on use case definition and collaboration specifications OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 11
E.g.: ACCORD/UML PAM DAM DAM squeleton synthesis + traceability links OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 12
Additional Well-Formedness Rules SendAction [3] The target of a SendAction is the set of instances constituent of the system and owning a reception to the signal associated to executed send action. self.target.body = all SignalEvent [1] The parameter direction of a signal event are always in parameters. self.parameter forall( p p.kind = # in ) [2] A SignalEvent has as many paramaters as its associated signal has attributes. self.parameter size = self.signal.allattributes size OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 13
Behaviour modelling Usual form of UML state machine!"#" $"% " & Sample of usage Regulator tgspeed : int initreg() stopreg() initreg[cptvit->getspeed()=<30] /display("on"); Off On stopreg/display("off"); tm(100)/tgspeed = cptvit->getspeed(); C [carspeed=<30]/display("off"); Issues related to this situation /delta=k1*atan(tgspeed-cuspeed); mot->sendcmd(couplevariation); Maintainability because of different aspects combination Reusability because of state-machine inheritance issues OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 14
Activity describe behavioural view Method Behaviour Model = Algorithmic aspect of behaviour Regulator +tgspeed : integer +initreg() +stopreg() +maintainsp() carspeed = cptvit.getspeed() delta=k1*atan(tgspeed-cuspeed) mot.sendcmd(couplevariation) Off initreg() stopreg() maintainsp() On Class Behaviour Model = Logic aspect of behaviour New operation introduced to integrate algorithmic aspect UML2 UML2 protocole state state machines Advantages of this proposition Maintainability because of separation of concerns An An action action language definition Reusability because of availability of usual OO inheritance mechanisms OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 15
Real Time Object Based Analysis and Design for synchronous implantation Fonctional Model Restrict the UML model semantics ACCORD An automaton : active object life cycle Algorithms inside the operations Introduction of an action language ACCORD/UML - UML Syntaxe - UML Sémantique - Extensions - Modeling rules SIGNAL Management of a «Message File» struct Execution of the related automaton Translation of the action language Action clocks synthesis: operation calls, send of signals, exploitation of message parameters Simulation & Verification 16
Real Time Object Based Analysis and Design for synchronous implantation UML Architecture model Characterisation model HW archi model Characterisation Operations Datas Deploiement Iimplementation model Fonctional Model Implementation Model SynDEx Archi translation. Algo. import (SIGNAL) Translation mapping Adequation Coding 17
Express system timing requirements Users (PSA, Delphi, IntraCOM) requirements: set deadlines, readytimes, periods, jitters Required Real-Time QoS constraints set on on message!! {RTF} '('( Possibility to trigger a same service with required RT-QoS OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 18
UML extensions Profile with Real-Time Features (RTF) and its associated Tagged values #) *$ Examples of usage %'(!"#$%%&'( ). + *+,-!"#$%&'( OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 19
Express implem. timing properties Users (MBDA, CS-SI ) set computation time Offered QoS properties or or hypothesis on on procedures!! {RTF} {WCET} Values depend on mapping of functionnal models (PIM) on actual deployment models (PSM) OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 20
Profile with architecture, deployment and performance description Architecbture Model Implementation Model OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 21
MDA development chain for DRE components QoS Analysis asynchronous synchronous Execution Platform Design Hard POSIX CORBA Linux RTO Proxy ACCORD Implementation ACCORD/UML Method Solaris XML/SOAP VxWorks Application OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 22
Connection between ACCORD/UML method and test case generation tool AGATHA + ACCORD/UML Environnement Product AGATHA Test cases Path constraints OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 23
Agatha analysis of UML models Formal analysis of system behavior from its UML model OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 24
Test case representation in UML Test sequences automatically generated and imported in modeler OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 25
OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 26 Schedulability analysis on UML models!, ) -,., / / ), 01 - / 0 - ) -, 2,,! / 1 0 / 0, 1 Task model calculus & schedulability analysis Worst Case Execution Time calculus
Basis in other projects Methodology Dissemination MoDeVa MoDeVaWS WS at at ISSRE ISSRE SPT SPT feedback feedback WS WS at at RTAS RTAS MDA MDA for for DRES DRES summer summerschool school Architecture SPT profile, UML2 RTE profile Product lines Distributed components Action language Limitation on modelling tool, transformation tools Needs of openess and interoperation OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 27
TopModL Initiative Promote Model Driven Software Engineering Open-Source & Open-Model Reference implementation of OMG s Standards (UML2, MDA ) Framework for research, tool experiment and development Meta-models Formalims Definition Model Edition Model Exploitation Graphic Editor Textual Edition Development of systems & softwares Development Configuration of software tools - Triskell All other welcome!
Web sites associated to the subject wooddes.intranet.gr www.acotris.c-s.fr www.systemes-critiques.org/artist www.east-eea.net www.esi.es/en/projects/families www.carroll-research.org www.topmodl.org «MDA and DRES summer School» sancy.ensieta.fr/mda «SIVOES-SPT workshop on feedback on SPT profile www.cs.virginia.edu/rtas04 «SIVOES MoDeVa workshop on Modelling, Design and Validation» www.issre.org/2004 www-drt.cea.fr/acclist.htm OMEGA (Paris, March 04, 2004) - Dr. S. Gérard & Pr. F. Terrier (L-LSP) 29