SlideShare a Scribd company logo
Standards-Based Executable UML®
Today’s Reality and Tomorrow’s Promise
Object Management Group® Webinar
Ed Seidewitz
Director of Research and Development
nMeta LLC ● http://www.nmeta.us
ed@nmeta.us ● @seidewitz
8 March 2017
Copyright © 2017 Ed Seidewitz
Page 2
Traditional Modeling is Extra Work
Copyright © 2017 Ed Seidewitz
Developers provide feedback
to the architects (maybe)
It is hard to validate the correctness of the models before development.
The developers may not follow the models, without providing feedback.
It is hard to keep the models and development artifacts in sync during
development (and maintenance).
Architects give models to developers
Developers
create artifacts
based on the
models
(maybe)
Architects
create the
models
Page 3
Executable Modeling Just Works!
Copyright © 2017 Ed Seidewitz
The models are validated in a
development/test environment
The models are deployed in a production
environment
Developers
create fully
executable
models
Developers iteratively execute,
test and update the models
Agile development…with executable models!
Page 4
This is not a new idea…
Shlaer-Mellor
1988, 1991
Harel State Charts
1988, 1998
Real-Time OO Modeling
(ROOM)
1994
Became Executable /
Translatable UML (xtUML)
Incorporated into UML as
State Machines
Became UML for Real Time
(UML/RT)
Copyright © 2017 Ed Seidewitz
Page 5
But it wasn’t standardized before…
Copyright © 2017 Ed Seidewitz
1997
1998
2003
2005
2010
2011
2018
2017
2016
2015
Action Semantics for the UML RFP
Semantics of a Foundational Subset
for Executable UML Models RFP
Foundational UML (fUML) 1.0
fUML 1.2.1 (current version)
fUML 1.3 (in process)
fUML 1.4 (planned)
UML 1.1 (first OMG version)
UML 1.5 (with action semantics)
UML 2.4.1
UML 2.5 (current version)
UML 2.0
UML 2.3
Page 6
Precise
Semantics of
Composite
Structure
(PSCS)
Precise
Semantics of
State Machines
(PSSM)
Precise
Semantics of
Interactions
Executable UML Standards (current/in process/planned)
Precise
Semantics of
Profiles
Precise
Semantics of
Time
Copyright © 2017 Ed Seidewitz
Action Language for fUML (Alf)
Foundational UML (fUML)
Executable subset of standard UML that can be used to define, in an
operational style, the structural and behavioral semantics of systems
v1.2.1 (2015) / v1.3 (2017) / v1.4 (2018)
Textual surface representation for fUML
models, particularly executable behaviors
v1.0.1 (2013) / v1.1 (2017) / v1.2 (2018)
An extension of fUML for the execution
of composite structure models
v1.0 (2015) / v1.1 (2017) / v1.2 (2018)
An extension of fUML for the
execution of state machine models
beta (2016) / v1.0 (2018)
Possible future standards
Page 7
Customer Order Example
Copyright © 2017 Ed Seidewitz
: Why can’t this be our code?
This is a structural model of an
order as a set of product line
items, for a specific customer.
…and of asynchronous
behavior for charging the
order to a credit card.
But it is also a model of
synchronous behavior for
managing an order….
✓
✓
✓
These are
active classes.
Page 8
Using Alf for Operation Methods
Copyright © 2017 Ed Seidewitz
«Create» Order
this.datePlaced = datePlaced;
this.cardToCharge = cardToCharge;
Order_Customer.createLink(this, customer);
return this;
cancel
Order_Customer.destroyLink(this, this.customer);
addProduct
lineItem = new OrderLineItem(product, quantity);
this.lineItems->add(lineItem);
this.totalAmount =
Add(this.totalAmount, lineItem.amount);
removeProduct
items = this.lineItems->
select item (item.product == product);
this.lineItems->removeAll(items);
this.totalAmount = Subtract(this.totalAmount,
items.amount->reduce Add ?? ToMoney(0.0));
items.destroy();
Alf semantics are
fUML semantics.
Page 9
Using Alf as a Textual Notation for Activities
Copyright © 2017 Ed Seidewitz
An Alf compiler can create
an activity model for you –
better than by hand
Page 10
Using Alf for State Behaviors
Copyright © 2017 Ed Seidewitz
State machine transitions are
triggered by the receipt of
asynchronous signals.
Entry behaviors are executed
when a state is entered.
This Alf statement creates a
new credit card charge object
and begins its active behavior.
This Alf statement sends a
signal to the customer object.
Page 11
Executable UML for Multi-Core Programming
Traditional processor architecture
Single processor
Local registers / cache
Remote memory
Multi-core processor architecture
Many processors
Much local memory
Global/distributed memory
Concurrency is
natural here
Traditional modeling language
Things / Relationships
Events / Behaviors
Communication
Concurrency is
natural here
Traditional programming language
Functions / procedures
Local variables / stack
Heap memory
Concurrency is
NOT natural here!
Executable
UML
Page 12
Executable UML Ecosystem
Execution/Simulation
Engine
Model Development
Environment
Other Tools
Target Platform
Copyright © 2017 Ed Seidewitz
Enabled by
standardized
executable modeling.
Page 13
Some Executable UML Implementations
Open Source
Modeldriven.org (Reference) Implementations (fUML, Alf)
http://fuml.modeldriven.org, http://alf.modeldriven.org
Eclipse Papyrus UML Tool (fUML, PSCS, PSSM, Alf incubation)
https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution
Used in Demo
No Magic MagicDraw (fUML, PSCS, PSSM, Alf beta)
https://www.magicdraw.com/simulation
Others
List of Executable UML Tools
http://modeling-languages.com/list-of-executable-uml-tools/
Copyright © 2017 Ed Seidewitz

More Related Content

PPT
Programming in UML: Why and How
PPT
Models, Programs and Executable UML
PPTX
UML as a Programming Language
PPT
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
PPTX
Using Alf with Cameo Simulation Toolkit - Part 1: Basics
PPTX
Leveraging Alf for SysML, Part 1: Better Simulation Modeling
PPT
A Unified View of Modeling and Programming
PPT
Executable UML and SysML Workshop
Programming in UML: Why and How
Models, Programs and Executable UML
UML as a Programming Language
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Using Alf with Cameo Simulation Toolkit - Part 1: Basics
Leveraging Alf for SysML, Part 1: Better Simulation Modeling
A Unified View of Modeling and Programming
Executable UML and SysML Workshop

What's hot (20)

PPTX
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
PPSX
UML: This Time We Mean It!
PPTX
Using Alf with Cameo Simulation Toolkit - Part 2: Modeling
PPTX
UML: Once More with Meaning
PPTX
Introduction to the OMG Systems Modeling Language (SysML), Version 2
PPTX
Precise Semantics Standards at OMG: Executing on the Vision
PPTX
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
PDF
Code Generation 2014 - ALF, the Standard Programming Language for UML
PPTX
UML 2.5: Specification Simplification
PPTX
Argo uml
PDF
MDD with Executable UML Models
PDF
TextUML Toolkit
PPT
Representing Patterns In Uml Andy Bulka 200610
PPT
Representing Design Patterns In Uml Andy Bulka Oct2006
PPTX
Chapter3: fundamental programming
PDF
Software Engineering - RS2
PPTX
Programming in c++ ppt
PPTX
Programming in c++
PDF
SiriusCon 2015 - Breathe Life into Your Designer!
PPT
Executable UML – UML2
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
UML: This Time We Mean It!
Using Alf with Cameo Simulation Toolkit - Part 2: Modeling
UML: Once More with Meaning
Introduction to the OMG Systems Modeling Language (SysML), Version 2
Precise Semantics Standards at OMG: Executing on the Vision
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Code Generation 2014 - ALF, the Standard Programming Language for UML
UML 2.5: Specification Simplification
Argo uml
MDD with Executable UML Models
TextUML Toolkit
Representing Patterns In Uml Andy Bulka 200610
Representing Design Patterns In Uml Andy Bulka Oct2006
Chapter3: fundamental programming
Software Engineering - RS2
Programming in c++ ppt
Programming in c++
SiriusCon 2015 - Breathe Life into Your Designer!
Executable UML – UML2
Ad

Similar to Standards-Based Executable UML: Today's Reality and Tomorrow's Promise (20)

PPTX
Elm Detroit 9/7/17 - Planting Seeds with Elm
PDF
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...
PDF
EclipseCon Eu 2015 - Breathe life into your Designer!
PPTX
Agile Modeling using the Architecture Tools in VS 2010
PDF
Breathe Life Into Your IDE
PPT
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
PPT
Paremus service fabric
PPTX
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
PPT
01 concepts of_object-orientation (1)
PPT
xUMLFinalPresentation.ppt
PPT
User Interface Derivation from Business Processes: A Model-Driven Approach fo...
PDF
Model Execution: Past, Present and Future
PDF
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
PPTX
Introduction to Business Modeling
PPT
Unit-II(STATIC UML DIAGRAMS).ppt
PPTX
Evaluation of meta modeling tools for domain specific modeling language chnjl
PPT
Software development effort reduction with Co-op
DOCX
Accenture - Aug 2015
PDF
An Application of Business Process Modeling System Ilnet.pdf
PPT
Model Driven Architecture and eXecutable UML
Elm Detroit 9/7/17 - Planting Seeds with Elm
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...
EclipseCon Eu 2015 - Breathe life into your Designer!
Agile Modeling using the Architecture Tools in VS 2010
Breathe Life Into Your IDE
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
Paremus service fabric
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
01 concepts of_object-orientation (1)
xUMLFinalPresentation.ppt
User Interface Derivation from Business Processes: A Model-Driven Approach fo...
Model Execution: Past, Present and Future
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Introduction to Business Modeling
Unit-II(STATIC UML DIAGRAMS).ppt
Evaluation of meta modeling tools for domain specific modeling language chnjl
Software development effort reduction with Co-op
Accenture - Aug 2015
An Application of Business Process Modeling System Ilnet.pdf
Model Driven Architecture and eXecutable UML
Ad

More from Ed Seidewitz (10)

PPTX
SysML v2 - What's the big deal, anyway?
PPTX
The Very Model of a Modern Metamodeler
PPTX
SysML v2 and the Next Generation of Modeling Languages
PPTX
SysML v2 and MBSE: The next ten years
PPTX
Model Driven Architecture without Automation
PPTX
Executable UML Roadmap (as of September 2014)
PPTX
Essence: A Common Ground for Flexible Methods
PPSX
Succeeding with Agile in the Federal Government: A Coach's Perspective
PPSX
Programming in UML: An Introduction to fUML and Alf
PPT
Architecting Your Enterprise
SysML v2 - What's the big deal, anyway?
The Very Model of a Modern Metamodeler
SysML v2 and the Next Generation of Modeling Languages
SysML v2 and MBSE: The next ten years
Model Driven Architecture without Automation
Executable UML Roadmap (as of September 2014)
Essence: A Common Ground for Flexible Methods
Succeeding with Agile in the Federal Government: A Coach's Perspective
Programming in UML: An Introduction to fUML and Alf
Architecting Your Enterprise

Recently uploaded (20)

PPTX
L1 - Introduction to python Backend.pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Essential Infomation Tech presentation.pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
System and Network Administraation Chapter 3
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
Transform Your Business with a Software ERP System
PPTX
Introduction to Artificial Intelligence
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
L1 - Introduction to python Backend.pptx
CHAPTER 2 - PM Management and IT Context
Essential Infomation Tech presentation.pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Softaken Excel to vCard Converter Software.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
PTS Company Brochure 2025 (1).pdf.......
Odoo Companies in India – Driving Business Transformation.pdf
Design an Analysis of Algorithms I-SECS-1021-03
How to Migrate SBCGlobal Email to Yahoo Easily
System and Network Administraation Chapter 3
Operating system designcfffgfgggggggvggggggggg
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
How Creative Agencies Leverage Project Management Software.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Transform Your Business with a Software ERP System
Introduction to Artificial Intelligence
How to Choose the Right IT Partner for Your Business in Malaysia

Standards-Based Executable UML: Today's Reality and Tomorrow's Promise

  • 1. Standards-Based Executable UML® Today’s Reality and Tomorrow’s Promise Object Management Group® Webinar Ed Seidewitz Director of Research and Development nMeta LLC ● http://www.nmeta.us ed@nmeta.us ● @seidewitz 8 March 2017 Copyright © 2017 Ed Seidewitz
  • 2. Page 2 Traditional Modeling is Extra Work Copyright © 2017 Ed Seidewitz Developers provide feedback to the architects (maybe) It is hard to validate the correctness of the models before development. The developers may not follow the models, without providing feedback. It is hard to keep the models and development artifacts in sync during development (and maintenance). Architects give models to developers Developers create artifacts based on the models (maybe) Architects create the models
  • 3. Page 3 Executable Modeling Just Works! Copyright © 2017 Ed Seidewitz The models are validated in a development/test environment The models are deployed in a production environment Developers create fully executable models Developers iteratively execute, test and update the models Agile development…with executable models!
  • 4. Page 4 This is not a new idea… Shlaer-Mellor 1988, 1991 Harel State Charts 1988, 1998 Real-Time OO Modeling (ROOM) 1994 Became Executable / Translatable UML (xtUML) Incorporated into UML as State Machines Became UML for Real Time (UML/RT) Copyright © 2017 Ed Seidewitz
  • 5. Page 5 But it wasn’t standardized before… Copyright © 2017 Ed Seidewitz 1997 1998 2003 2005 2010 2011 2018 2017 2016 2015 Action Semantics for the UML RFP Semantics of a Foundational Subset for Executable UML Models RFP Foundational UML (fUML) 1.0 fUML 1.2.1 (current version) fUML 1.3 (in process) fUML 1.4 (planned) UML 1.1 (first OMG version) UML 1.5 (with action semantics) UML 2.4.1 UML 2.5 (current version) UML 2.0 UML 2.3
  • 6. Page 6 Precise Semantics of Composite Structure (PSCS) Precise Semantics of State Machines (PSSM) Precise Semantics of Interactions Executable UML Standards (current/in process/planned) Precise Semantics of Profiles Precise Semantics of Time Copyright © 2017 Ed Seidewitz Action Language for fUML (Alf) Foundational UML (fUML) Executable subset of standard UML that can be used to define, in an operational style, the structural and behavioral semantics of systems v1.2.1 (2015) / v1.3 (2017) / v1.4 (2018) Textual surface representation for fUML models, particularly executable behaviors v1.0.1 (2013) / v1.1 (2017) / v1.2 (2018) An extension of fUML for the execution of composite structure models v1.0 (2015) / v1.1 (2017) / v1.2 (2018) An extension of fUML for the execution of state machine models beta (2016) / v1.0 (2018) Possible future standards
  • 7. Page 7 Customer Order Example Copyright © 2017 Ed Seidewitz : Why can’t this be our code? This is a structural model of an order as a set of product line items, for a specific customer. …and of asynchronous behavior for charging the order to a credit card. But it is also a model of synchronous behavior for managing an order…. ✓ ✓ ✓ These are active classes.
  • 8. Page 8 Using Alf for Operation Methods Copyright © 2017 Ed Seidewitz «Create» Order this.datePlaced = datePlaced; this.cardToCharge = cardToCharge; Order_Customer.createLink(this, customer); return this; cancel Order_Customer.destroyLink(this, this.customer); addProduct lineItem = new OrderLineItem(product, quantity); this.lineItems->add(lineItem); this.totalAmount = Add(this.totalAmount, lineItem.amount); removeProduct items = this.lineItems-> select item (item.product == product); this.lineItems->removeAll(items); this.totalAmount = Subtract(this.totalAmount, items.amount->reduce Add ?? ToMoney(0.0)); items.destroy(); Alf semantics are fUML semantics.
  • 9. Page 9 Using Alf as a Textual Notation for Activities Copyright © 2017 Ed Seidewitz An Alf compiler can create an activity model for you – better than by hand
  • 10. Page 10 Using Alf for State Behaviors Copyright © 2017 Ed Seidewitz State machine transitions are triggered by the receipt of asynchronous signals. Entry behaviors are executed when a state is entered. This Alf statement creates a new credit card charge object and begins its active behavior. This Alf statement sends a signal to the customer object.
  • 11. Page 11 Executable UML for Multi-Core Programming Traditional processor architecture Single processor Local registers / cache Remote memory Multi-core processor architecture Many processors Much local memory Global/distributed memory Concurrency is natural here Traditional modeling language Things / Relationships Events / Behaviors Communication Concurrency is natural here Traditional programming language Functions / procedures Local variables / stack Heap memory Concurrency is NOT natural here! Executable UML
  • 12. Page 12 Executable UML Ecosystem Execution/Simulation Engine Model Development Environment Other Tools Target Platform Copyright © 2017 Ed Seidewitz Enabled by standardized executable modeling.
  • 13. Page 13 Some Executable UML Implementations Open Source Modeldriven.org (Reference) Implementations (fUML, Alf) http://fuml.modeldriven.org, http://alf.modeldriven.org Eclipse Papyrus UML Tool (fUML, PSCS, PSSM, Alf incubation) https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution Used in Demo No Magic MagicDraw (fUML, PSCS, PSSM, Alf beta) https://www.magicdraw.com/simulation Others List of Executable UML Tools http://modeling-languages.com/list-of-executable-uml-tools/ Copyright © 2017 Ed Seidewitz