executable uml roadmap (as of september 2014)

15

Click here to load reader

Upload: ed-seidewitz

Post on 15-Jul-2015

692 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Executable UML Roadmap (as of September 2014)

Executable UML RoadmapOMG Analysis and Design Task Force, Austin, Texas

17 September 2014

Ed Seidewitz

17 September 2014 1

Page 2: Executable UML Roadmap (as of September 2014)

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

Page 3: Executable UML Roadmap (as of September 2014)

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

Page 4: Executable UML Roadmap (as of September 2014)

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

Page 5: Executable UML Roadmap (as of September 2014)

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

Page 6: Executable UML Roadmap (as of September 2014)

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

Page 7: Executable UML Roadmap (as of September 2014)

Present

• Implementations

• Revision and Finalization

17 September 2014 7

Page 8: Executable UML Roadmap (as of September 2014)

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

Page 9: Executable UML Roadmap (as of September 2014)

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

Page 10: Executable UML Roadmap (as of September 2014)

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

Page 11: Executable UML Roadmap (as of September 2014)

Future

• Next Steps

• Possible Further Steps

• Long-Term Vision

17 September 2014 11

Page 12: Executable UML Roadmap (as of September 2014)

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

Page 13: Executable UML Roadmap (as of September 2014)

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

Page 14: Executable UML Roadmap (as of September 2014)

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

Page 15: Executable UML Roadmap (as of September 2014)

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