SlideShare una empresa de Scribd logo
1 de 13
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

Más contenido relacionado

La actualidad más candente

Hands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierHands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierEd Seidewitz
 
UML: This Time We Mean It!
UML: This Time We Mean It!UML: This Time We Mean It!
UML: This Time We Mean It!Ed Seidewitz
 
Using Alf with Cameo Simulation Toolkit - Part 2: Modeling
Using Alf with Cameo Simulation Toolkit - Part 2: ModelingUsing Alf with Cameo Simulation Toolkit - Part 2: Modeling
Using Alf with Cameo Simulation Toolkit - Part 2: ModelingEd Seidewitz
 
UML: Once More with Meaning
UML: Once More with MeaningUML: Once More with Meaning
UML: Once More with MeaningEd Seidewitz
 
Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Ed Seidewitz
 
Precise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionPrecise Semantics Standards at OMG: Executing on the Vision
Precise Semantics Standards at OMG: Executing on the VisionEd Seidewitz
 
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingLeveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingEd Seidewitz
 
Code Generation 2014 - ALF, the Standard Programming Language for UML
Code Generation 2014  - ALF, the Standard Programming Language for UMLCode Generation 2014  - ALF, the Standard Programming Language for UML
Code Generation 2014 - ALF, the Standard Programming Language for UMLJürgen Mutschall
 
UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification SimplificationEd Seidewitz
 
MDD with Executable UML Models
MDD with Executable UML ModelsMDD with Executable UML Models
MDD with Executable UML ModelsRafael Chaves
 
Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610Representing Patterns In Uml Andy Bulka 200610
Representing Patterns In Uml Andy Bulka 200610melbournepatterns
 
Representing Design Patterns In Uml Andy Bulka Oct2006
Representing Design Patterns In Uml Andy Bulka Oct2006Representing Design Patterns In Uml Andy Bulka Oct2006
Representing Design Patterns In Uml Andy Bulka Oct2006tcab22
 
Chapter3: fundamental programming
Chapter3: fundamental programmingChapter3: fundamental programming
Chapter3: fundamental programmingNgeam Soly
 
Software Engineering - RS2
Software Engineering - RS2Software Engineering - RS2
Software Engineering - RS2AtakanAral
 
Programming in c++ ppt
Programming in c++ pptProgramming in c++ ppt
Programming in c++ pptMalarMohana
 
Programming in c++
Programming in c++Programming in c++
Programming in c++sujathavvv
 
SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!SiriusCon 2015 - Breathe Life into Your Designer!
SiriusCon 2015 - Breathe Life into Your Designer!melbats
 
Executable UML – UML2
Executable UML – UML2Executable UML – UML2
Executable UML – UML2elliando dias
 

La actualidad más candente (20)

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

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

Elm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit 9/7/17 - Planting Seeds with ElmElm Detroit 9/7/17 - Planting Seeds with Elm
Elm Detroit 9/7/17 - Planting Seeds with ElmElm Detroit
 
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...
PracticalExperiences Migrating Unified Modeling Language Models to IBM® Rati...PracticalExperiences Migrating Unified Modeling Language Models to IBM® Rati...
Practical Experiences Migrating Unified Modeling Language Models to IBM® Rati...Einar Karlsen
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
Agile Modeling using the Architecture Tools in VS 2010
Agile Modeling  using the Architecture Tools in VS 2010Agile Modeling  using the Architecture Tools in VS 2010
Agile Modeling using the Architecture Tools in VS 2010Gary Pedretti
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkDave Steinberg
 
Paremus service fabric
Paremus service fabricParemus service fabric
Paremus service fabricpjhInovex
 
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkCarlo Bernaschina
 
01 concepts of_object-orientation (1)
01 concepts of_object-orientation (1)01 concepts of_object-orientation (1)
01 concepts of_object-orientation (1)AaDi RA
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 
User Interface Derivation from Business Processes: A Model-Driven Approach fo...
User Interface Derivation from Business Processes: A Model-Driven Approach fo...User Interface Derivation from Business Processes: A Model-Driven Approach fo...
User Interface Derivation from Business Processes: A Model-Driven Approach fo...Jean Vanderdonckt
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Benoit Combemale
 
Introduction to Business Modeling
Introduction to Business ModelingIntroduction to Business Modeling
Introduction to Business ModelingLaurence White
 
Unit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).pptUnit-II(STATIC UML DIAGRAMS).ppt
Unit-II(STATIC UML DIAGRAMS).pptganeshkarthy
 
Evaluation of meta modeling tools for domain specific modeling language chnjl
Evaluation of meta modeling   tools for domain specific modeling language chnjlEvaluation of meta modeling   tools for domain specific modeling language chnjl
Evaluation of meta modeling tools for domain specific modeling language chnjlPG Scholar
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-oplbergmans
 
An Application of Business Process Modeling System Ilnet.pdf
An Application of Business Process Modeling System Ilnet.pdfAn Application of Business Process Modeling System Ilnet.pdf
An Application of Business Process Modeling System Ilnet.pdfJennifer Holmes
 
Model Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLModel Driven Architecture and eXecutable UML
Model Driven Architecture and eXecutable UMLelliando dias
 

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

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

Más de Ed Seidewitz

SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?Ed Seidewitz
 
The Very Model of a Modern Metamodeler
The Very Model of a Modern MetamodelerThe Very Model of a Modern Metamodeler
The Very Model of a Modern MetamodelerEd Seidewitz
 
SysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesSysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesEd Seidewitz
 
SysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsSysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsEd Seidewitz
 
Model Driven Architecture without Automation
Model Driven Architecture without AutomationModel Driven Architecture without Automation
Model Driven Architecture without AutomationEd Seidewitz
 
Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Executable UML Roadmap (as of September 2014)
Executable UML Roadmap (as of September 2014)Ed Seidewitz
 
Essence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible MethodsEssence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible MethodsEd Seidewitz
 
Succeeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveSucceeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveEd Seidewitz
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfEd Seidewitz
 
Architecting Your Enterprise
Architecting Your EnterpriseArchitecting Your Enterprise
Architecting Your EnterpriseEd Seidewitz
 

Más de Ed Seidewitz (10)

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

Último

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 

Último (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 

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