executable uml roadmap (as of september 2014)
TRANSCRIPT
Executable UML RoadmapOMG Analysis and Design Task Force, Austin, Texas
17 September 2014
Ed Seidewitz
17 September 2014 1
Past
• Executable Modeling Before UML
• Foundational UML (fUML)
• Action Language for Foundational UML (Alf)
• Precise Semantics of UML Composite Structures (PSCS)
17 September 2014 2
Executable Modeling Before UML
Before UML, there were already a number of approaches to modeling with precise, executable semantics.
1988, 1991 – Shlaer-Mellor Object-Oriented Analysis
1988, 1998 – Harel Statecharts
1994 – Real-Time Object-Oriented Modeling (ROOM)
In 1998, Stephen Mellor came to an Object Management Group meeting for the first time, to talk about defining an action language for UML with precise semantics.
17 September 2014 3
Foundational UML (fUML)
Foundational UML (fUML) is an executable subset of standard UML that can be used to define, in an operational style, the structural and behavioral semantics of systems.
1998 – Action Semantics for the UML RFP
2003 – UML 1.5 with action semantics formalized
2003 – UML 2.0 adopted
2005 – Semantics of a Foundational Subset for Executable UML Models RFP
2008 – fUML 1.0 Beta (based on UML 2.2)
2010 – fUML 1.0 Formal (based on UML 2.3)
2013 – fUML 1.1 Formal (based on UML 2.4.1)
17 September 2014 4
Action Language for fUML (Alf)
The Action Language for Foundational UML (Alf) is a textual surface representation for UML modeling elements with the primary purpose of acting as the surface notation for specifying executable (fUML) behaviors within an overall graphical UML model.
2008 – Concrete Syntax for a UML Action Language RFP
2010 – Alf 1.0 Beta (based on UML 2.4 and fUML 1.0)
2013 – Alf 1.0.1 Formal (based on UML 2.4.1 and fUML 1.1)
17 September 2014 5
Precise Semantics of UML Composite Structures (PSCS)
The Precise Semantics of UML Composite Structures (PSCS) is extension of fUML syntax and semantics to enable modeling and execution of UML composite structures. The term “composite structures” refers to the ability of UML classes to be structured as defined in the UML specification.
2011 – Precise Semantics of UML Composite Structures RFP
2014 – PSCS 1.0 Beta 1 (based on UML 2.4.1/2.5 and fUML 1.1)
17 September 2014 6
Present
• Implementations
• Revision and Finalization
17 September 2014 7
Implementations: Open Source
• fUML Open Source (Reference) Implementation (Lockheed Martin/Model Driven Solutions)– http://fuml.modeldriven.org
• Alf Open Source (Reference) Implementation (Model Driven Solutions)– http://alf.modeldriven.org
• Papyrus Moka (Eclipse)– fUML, PSCS, Alf (under development)
– Animation, Debugging
– https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution
• Moliz Project (Vienna University of Technology)– fUML (Reference Implementation in Eclipse)
– xMOF, Debugging
– http://modelexecution.org
17 September 2014 8
Implementations: Commercial
• CAMEO Simulation Toolkit (No Magic)– fUML, PSCS
– State Machines, Interactions, Scripting Languages, Animation, Debugging
– http://www.nomagic.com/products/magicdraw-addons/cameo-simulation-toolkit.html
• AMUSE for SPARX Enterprise Architect (Lieber Lieber)– fUML
– State Machines, C/C++ Languages, Animation, Debugging, Code Generation
– http://www.lieberlieber.com/model-engineering/amuse/
• Rational Rhapsody (IBM)– fUML, Alf (minimum)
– State Machines, C/C++/C#/Java Languages, Simulation, Code Generation
– http://www.ibm.com/developerworks/rational/library/new-rational-rhapsody-8-0-3-design-manager-4-0-3/index.html
• MetaModules (DESYS) [Under Development]– fUML, Alf
– Development Environment, Code Generation
– http://blog.metamodules.com
17 September 2014 9
Revision and Finalization
• fUML 1.2 RTF (December 2014)
• Alf 1.1 RTF (March 2015)
• PSCS 1.0 FTF (March 2015)
17 September 2014 10
Future
• Next Steps
• Possible Further Steps
• Long-Term Vision
17 September 2014 11
Next Steps
• Move fUML/Alf/PSCS to UML 2.5– Refactor fUML, separating object-oriented semantics from activity
semantics
– Add formal QVT mapping rules for Alf to UML 2.5
– Finalize PSCS as UML 2.5?
• Issue an RFP for Precise Semantics of State Machines– Based on UML 2.5?
– Consideration of SCXML?
17 September 2014 12
Possible Further Steps
• Additional capabilities for activity execution– Partitions, interruptible regions, etc.
– Semantics of instance modeling
• PSCS extension of Alf
• State machine extension of Alf– Based on SCXML?
• Conformance test suites for fUML and Alf– PSCS has a conformance test suite, as required by the RFP
17 September 2014 13
Long-Term Vision: A Suite of Specifications
• Executable UML Semantics– Foundational Semantics for UML Model Execution
– Precise Semantics of Composite Structures
– Precise Semantics of Activities
– Precise Semantics of State Machines
– Precise Semantics of Interactions
– Precise Semantics of Time
– …
• Action Language for Executable UML– Action Language for Structural Modeling
– Action Language for Composite Structures
– Action Language for Activities
– ...
17 September 2014 14
Long-Term Vision: Domain-Specific Executable UML
• Precise Semantics of Profiles– Specification of the semantics, in general, for defining profiles of
executable UML
– Should include a standard framework for defining domain-specific semantics of profiles, as well as abstract and concrete syntax
• Precise Semantics of Specific Profiles– Precise Semantics of SysML
– Precise Semantics of MARTE
– Precise Semantics of SoaML
– …
PSCS Specification already provides non-normative, partial examples of extensions for SysML and MARTE semantics.
17 September 2014 15