SlideShare a Scribd company logo
1 of 34
Download to read offline
Unified Modeling Language:
Past, Present and Future
Steve Cook
Software Architect, Microsoft Visual Studio
Architecture Board and Board of Directors,
Object Management Group
Agenda
• History
• UML today
• UML dilemmas
• Future of UML
Agenda
• History
• UML today
• UML dilemmas
• Future of UML
The Three Amigos and the Unified Method
Grady Booch:
Object Oriented Design (1991)
Object Oriented Analysis and Design (1994)
James Rumbaugh et al:
Object Oriented Modeling and Design (1991)
Ivar Jacobson et al:
Object Oriented Software Engineering (1992)
The OMG: Analysis and Design
Object Analysis and Design: Survey of
Methods 1992
[Andrew Hutt, ICL]
1995/95-09-35: Analysis & Design RFI
[Mary Loomis, HP]
ad/96-05-01: Object Analysis and Design PTF - RFP 1
[Mary Loomis, HP]
ad/97-08-02: UML 1.1
Rational Software, Microsoft, Hewlett-Packard,
Oracle, Sterling Software, MCI Systemhouse, Unisys,
ICON Computing, IntelliCorp, i-Logix, IBM, ObjecTime,
Platinum Technology, Ptech, Taskon, Reich
Technologies, Softeam
UML 1.1 diagrams
UML 1.x Development
• V1.1 November 1997
• [V1.2 was an internal beta release never
issued as a formal specification]
• V1.3 March 2000
• V1.4 September 2001
• V1.5 March 2003 – combines V1.4 and Action
Semantics – a step towards Executable UML.
• UML 2.0 RFI (Request for Information) issued August 1999.
• RFP (Request for Proposals) issued September 2000.
• UML 2.0 July 2005.
– No machine-readable specification due to structural inconsistencies in the
spec.
• V2.1.1 August 2007 == V2.1.2 November 2007
– The first version available in machine-readable form
• V2.2 February 2009
– Fixes bugs
• V2.3 May 2010
– Fixes bugs
• V2.4 to be released early 2011
– Focus on fixing interoperability bugs
UML 2 – “we want more”
Meetings, meetings, meetings …
Where next?
UML 2 diagrams
Agenda
• History
• UML today
• UML dilemmas
• Future of UML
Defined
informally
How UML is defined
Model DiagramVisualizes
and edits
UML MetaModel
Defined using concepts from
MOF Model
Defined using concepts from
UML Constructs
(class, property,
association, etc)
Defined using concepts from
XMI: how UML is interchanged
UML MetaModel
Model
MOF Model
<?xml version="1.0" encoding="UTF-8" ?>
<uml:Model xmi:version="2.1" xmlns:xmi=…
…
…
</uml:Model>
<?xml version="1.0" encoding="UTF-8" ?>
<cmof:Package xmi:version="2.1" xmlns:xmi=…
…
…
</cmof:Package>
<?xml version="1.0" encoding="UTF-8" ?>
<cmof:Package xmi:version="2.1" xmlns:xmi=…
…
…
</cmof:Package>
http://www.omg.org/spec/UML/20090901/Superstructure.cmof
UML.xsd
The Model Interchange Working Group
• http://www.omgwiki.org/model-
interchange/doku.php
• Primarily motivated by government and
defence agencies
• Creating UML and SysML interoperability test
cases
UML is now at the centre of a Family
of Languages
UML
UPDM
SoaMLSysML
C#
java
Testing Real-time &
Embedded
MOF
Executable
UML
BPMN
But is it fit for
purpose?
Agenda
• History
• UML today
• UML dilemmas
• Future of UML
Dilemma 1: UML Value Propositions
• Sketching?
• Documentation?
• Executable UML?
• MDA (Model Driven Architecture)?
• Round Trip Engineering?
• Code Visualization and Architecture Verification?
• Test generation?
• All of the above?
Dilemma 2: UML and Domain Specific
Languages
• DSLs address domains that UML does not.
– UI design
– Vertical domains: mobile phones; software radio;
insurance claim processing; gesture processing; ...
– Platform-specific domains: “code in diagrams”
– Little DSLs as “lifecycle glue”: e.g. config files
• Should DSLs be constructed from scratch, or by
extending UML, or by extending a subset of UML?
– UML does not provide effectively reusable subsets
– UML (surprisingly) does not have well-defined
notation
Dilemma 3: UML and Non-Software
• Is UML supposed to be used to model domains that are
not software?
• Activity diagrams can be used for business processes
– But what is the relationship between them and BPMN?
• Use case diagrams are used to model requirements.
• Many aspects of UML are an imperfect match to
concepts in modern OO programming languages.
– Should we endeavour to make this match better or worse?
Dilemma 4: UML Semantics
• Is UML:
– A reusable syntax that can map into different programming
languages
• *Wikipedia+: “Perhaps the most common form of round-trip
engineering is synchronization between UML (Unified Modeling
Language) models and the corresponding source code.”
– An executable notation with its own execution semantics
• [Wikipedia]: Executable UML supports MDA through specification
of platform-independent models, and the compilation of the
platform-independent models into platform-specific models.
– Both?
• “Semantic Variation Points”.
Agenda
• History
• UML today
• UML dilemmas
• Future of UML
UML 2 – too Large and Complex
“Typically a project that uses UML only uses 20% of the
specification to help build 80% of the code and other
deliverables.”
Ivar Jacobson
“Future of UML” Request for
Information
• Issued December 12, 2008 (chaired by S Cook)
• Response deadline August 17, 2009
• Responses from 16 industry groupings
representing tool vendors and users
• Identified good agreement:
– Simplify and consolidate
– Improve extensibility
– Retain compatibility
– Define diagram syntax
The “2.4 series”
• UML 2.4, MOF 2.4 and XMI 2.4 will be aligned
to:
– Make MOF an exact subset of UML
– Get rid of the special cmof format
– Enable any compliant UML tool to import/export
MOF metamodels
XMI 2.4: how UML 2.4 is interchanged
UML MetaModel
Model <?xml version="1.0" encoding="UTF-8" ?>
<uml:Model xmlns:xmi=…
…
…
</uml:Model>
<?xml version="1.0" encoding="UTF-8" ?>
<uml:Package xmlns:xmi=…
…
…
</uml:Package>
http://www.omg.org/spec/UML/20100901/Superstructure.xmi
UML.xsd
Diagram Definition RFP
• Currently there is no standard for
interchanging UML diagrams effectively, or for
defining precisely what legal UML diagrams
are
• The Diagram Definition RFP is developing a
new “meta-standard” for defining and
interchanging diagrams, led by IBM
• There will (eventually) be a standard for UML
diagrams, based on DD
Metamodels
Models
Instantiates
Specializes
References
UML DD Architecture
UML Diagram Mapping
Specification
Semantic MOF
• MOF is the subset of UML that is used to define
UML and other OMG modelling standards (eg
BPMN)
• Semantic MOF is a proposed extension of MOF
that permits an object (MEL) to belong to
multiple classes and change them dynamically
– E.g. A class could become a state; an attribute could
become an operation; a class could acquire the ability
to have ports.
• Semantic MOF can subsume the current UML
Profiles mechanism
• Semantic MOF has been recommended for
adoption at the OMG
SMOF Examples
UML roadmap
• Complete Diagram Definition capability.
• UML Specification Simplification RFP. Asks to
keep the UML definition the same, but reorganize
the specification so that it is consumable and
manageable
– Remove redundancy (“package merge”), consolidate,
and define notation
– Generate specification from metamodel
– In progress now; planned completion 2011
• Improve OMG “modelling architecture”
– Integrate profile mechanism and MOF using SMOF
– Enable UML to be refactored, unbundled, and reused
Unbundling UML
Smaller, standard languages
Loosely-coupled
Extensible
Backwards compatible
The evolving modelling language
landscape
UML
BPMN
DSLs
SysML
Integrate & Correlate
The End
Thank you

More Related Content

What's hot

6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
Majong DevJfu
 
UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)
elliando dias
 
The Expressive Power of UML-based Web Engineering (UWE)
The Expressive Power of UML-based Web Engineering (UWE)The Expressive Power of UML-based Web Engineering (UWE)
The Expressive Power of UML-based Web Engineering (UWE)
elliando dias
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Uml
guest514814
 

What's hot (20)

Eugenia
EugeniaEugenia
Eugenia
 
QVT & MTL In Eclipse
QVT & MTL In EclipseQVT & MTL In Eclipse
QVT & MTL In Eclipse
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Uml3
Uml3Uml3
Uml3
 
TextUML Toolkit
TextUML ToolkitTextUML Toolkit
TextUML Toolkit
 
UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)
 
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
Programming in UML: An Introduction to fUML 1.3 and Alf 1.1
 
UML - Unified Modelling Language
UML - Unified Modelling LanguageUML - Unified Modelling Language
UML - Unified Modelling Language
 
The Expressive Power of UML-based Web Engineering (UWE)
The Expressive Power of UML-based Web Engineering (UWE)The Expressive Power of UML-based Web Engineering (UWE)
The Expressive Power of UML-based Web Engineering (UWE)
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Uml
 
ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009 ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009
 
08 component level_design
08 component level_design08 component level_design
08 component level_design
 
Constructing DSMLs
Constructing DSMLsConstructing DSMLs
Constructing DSMLs
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
SysCon 2013 SysML & Requirements
SysCon 2013 SysML & RequirementsSysCon 2013 SysML & Requirements
SysCon 2013 SysML & Requirements
 
Uml assignment help
Uml assignment helpUml assignment help
Uml assignment help
 
Modal Driven Architecture In Software Engineering By NADEEM AHMED
Modal Driven Architecture In Software Engineering By NADEEM AHMED Modal Driven Architecture In Software Engineering By NADEEM AHMED
Modal Driven Architecture In Software Engineering By NADEEM AHMED
 
Advanced Techniques for Ext Designer
Advanced Techniques for Ext DesignerAdvanced Techniques for Ext Designer
Advanced Techniques for Ext Designer
 

Similar to Stevecook uml mdday2010

Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Piero Fraternali
 
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptxSDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
amitdolas721
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodels
Ivano Malavolta
 

Similar to Stevecook uml mdday2010 (20)

Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
ALT
ALTALT
ALT
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
3.UML Diagrams.pptx
3.UML Diagrams.pptx3.UML Diagrams.pptx
3.UML Diagrams.pptx
 
UML Intro
UML IntroUML Intro
UML Intro
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
 
Chapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdfChapter-2 UML and UML Diagrams.pdf
Chapter-2 UML and UML Diagrams.pdf
 
Uml introduction
Uml introductionUml introduction
Uml introduction
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML Workshop
 
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptxSDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
SDAM a ddnd mmdmsmfkvskkejj sehfjvksxkmwnejjfjbjsnenfPRESENTATION.pptx
 
Uml2 David Kemp 20060716
Uml2 David Kemp 20060716Uml2 David Kemp 20060716
Uml2 David Kemp 20060716
 
1 modeling concepts
1 modeling concepts1 modeling concepts
1 modeling concepts
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System Modeling
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodels
 

More from MD DAY

Sogeti mdday2010
Sogeti mdday2010Sogeti mdday2010
Sogeti mdday2010
MD DAY
 
Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010
MD DAY
 
Etatdegeneve mdday2010
Etatdegeneve mdday2010Etatdegeneve mdday2010
Etatdegeneve mdday2010
MD DAY
 
Intro mdday2010
Intro mdday2010Intro mdday2010
Intro mdday2010
MD DAY
 
W4 mdday2010
W4 mdday2010W4 mdday2010
W4 mdday2010
MD DAY
 
Capgemini mdday2010
Capgemini mdday2010Capgemini mdday2010
Capgemini mdday2010
MD DAY
 
Sodius cassidian mdday2010
Sodius cassidian mdday2010Sodius cassidian mdday2010
Sodius cassidian mdday2010
MD DAY
 
Objetdirect redsen
Objetdirect redsenObjetdirect redsen
Objetdirect redsen
MD DAY
 
Dcns mdday2010
Dcns mdday2010Dcns mdday2010
Dcns mdday2010
MD DAY
 
Objecteering mdday2010
Objecteering mdday2010Objecteering mdday2010
Objecteering mdday2010
MD DAY
 
Obeo mdday2010
Obeo mdday2010Obeo mdday2010
Obeo mdday2010
MD DAY
 
Microsoft mdday2010
Microsoft mdday2010Microsoft mdday2010
Microsoft mdday2010
MD DAY
 
Soyatec mdday2010
Soyatec mdday2010Soyatec mdday2010
Soyatec mdday2010
MD DAY
 
Britair mdday2010
Britair mdday2010Britair mdday2010
Britair mdday2010
MD DAY
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010
MD DAY
 
Jaxio mdday2010
Jaxio  mdday2010Jaxio  mdday2010
Jaxio mdday2010
MD DAY
 
BluAge sopra mdday2010
BluAge sopra mdday2010BluAge sopra mdday2010
BluAge sopra mdday2010
MD DAY
 
Aspectize mdday2010
Aspectize mdday2010Aspectize mdday2010
Aspectize mdday2010
MD DAY
 

More from MD DAY (18)

Sogeti mdday2010
Sogeti mdday2010Sogeti mdday2010
Sogeti mdday2010
 
Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010
 
Etatdegeneve mdday2010
Etatdegeneve mdday2010Etatdegeneve mdday2010
Etatdegeneve mdday2010
 
Intro mdday2010
Intro mdday2010Intro mdday2010
Intro mdday2010
 
W4 mdday2010
W4 mdday2010W4 mdday2010
W4 mdday2010
 
Capgemini mdday2010
Capgemini mdday2010Capgemini mdday2010
Capgemini mdday2010
 
Sodius cassidian mdday2010
Sodius cassidian mdday2010Sodius cassidian mdday2010
Sodius cassidian mdday2010
 
Objetdirect redsen
Objetdirect redsenObjetdirect redsen
Objetdirect redsen
 
Dcns mdday2010
Dcns mdday2010Dcns mdday2010
Dcns mdday2010
 
Objecteering mdday2010
Objecteering mdday2010Objecteering mdday2010
Objecteering mdday2010
 
Obeo mdday2010
Obeo mdday2010Obeo mdday2010
Obeo mdday2010
 
Microsoft mdday2010
Microsoft mdday2010Microsoft mdday2010
Microsoft mdday2010
 
Soyatec mdday2010
Soyatec mdday2010Soyatec mdday2010
Soyatec mdday2010
 
Britair mdday2010
Britair mdday2010Britair mdday2010
Britair mdday2010
 
Mia software mdday2010
Mia software mdday2010Mia software mdday2010
Mia software mdday2010
 
Jaxio mdday2010
Jaxio  mdday2010Jaxio  mdday2010
Jaxio mdday2010
 
BluAge sopra mdday2010
BluAge sopra mdday2010BluAge sopra mdday2010
BluAge sopra mdday2010
 
Aspectize mdday2010
Aspectize mdday2010Aspectize mdday2010
Aspectize mdday2010
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

Stevecook uml mdday2010

  • 1. Unified Modeling Language: Past, Present and Future Steve Cook Software Architect, Microsoft Visual Studio Architecture Board and Board of Directors, Object Management Group
  • 2. Agenda • History • UML today • UML dilemmas • Future of UML
  • 3. Agenda • History • UML today • UML dilemmas • Future of UML
  • 4. The Three Amigos and the Unified Method Grady Booch: Object Oriented Design (1991) Object Oriented Analysis and Design (1994) James Rumbaugh et al: Object Oriented Modeling and Design (1991) Ivar Jacobson et al: Object Oriented Software Engineering (1992)
  • 5. The OMG: Analysis and Design Object Analysis and Design: Survey of Methods 1992 [Andrew Hutt, ICL] 1995/95-09-35: Analysis & Design RFI [Mary Loomis, HP] ad/96-05-01: Object Analysis and Design PTF - RFP 1 [Mary Loomis, HP] ad/97-08-02: UML 1.1 Rational Software, Microsoft, Hewlett-Packard, Oracle, Sterling Software, MCI Systemhouse, Unisys, ICON Computing, IntelliCorp, i-Logix, IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies, Softeam
  • 6.
  • 8. UML 1.x Development • V1.1 November 1997 • [V1.2 was an internal beta release never issued as a formal specification] • V1.3 March 2000 • V1.4 September 2001 • V1.5 March 2003 – combines V1.4 and Action Semantics – a step towards Executable UML.
  • 9. • UML 2.0 RFI (Request for Information) issued August 1999. • RFP (Request for Proposals) issued September 2000. • UML 2.0 July 2005. – No machine-readable specification due to structural inconsistencies in the spec. • V2.1.1 August 2007 == V2.1.2 November 2007 – The first version available in machine-readable form • V2.2 February 2009 – Fixes bugs • V2.3 May 2010 – Fixes bugs • V2.4 to be released early 2011 – Focus on fixing interoperability bugs UML 2 – “we want more” Meetings, meetings, meetings … Where next?
  • 11.
  • 12. Agenda • History • UML today • UML dilemmas • Future of UML
  • 13. Defined informally How UML is defined Model DiagramVisualizes and edits UML MetaModel Defined using concepts from MOF Model Defined using concepts from UML Constructs (class, property, association, etc) Defined using concepts from
  • 14. XMI: how UML is interchanged UML MetaModel Model MOF Model <?xml version="1.0" encoding="UTF-8" ?> <uml:Model xmi:version="2.1" xmlns:xmi=… … … </uml:Model> <?xml version="1.0" encoding="UTF-8" ?> <cmof:Package xmi:version="2.1" xmlns:xmi=… … … </cmof:Package> <?xml version="1.0" encoding="UTF-8" ?> <cmof:Package xmi:version="2.1" xmlns:xmi=… … … </cmof:Package> http://www.omg.org/spec/UML/20090901/Superstructure.cmof UML.xsd
  • 15. The Model Interchange Working Group • http://www.omgwiki.org/model- interchange/doku.php • Primarily motivated by government and defence agencies • Creating UML and SysML interoperability test cases
  • 16. UML is now at the centre of a Family of Languages UML UPDM SoaMLSysML C# java Testing Real-time & Embedded MOF Executable UML BPMN But is it fit for purpose?
  • 17. Agenda • History • UML today • UML dilemmas • Future of UML
  • 18. Dilemma 1: UML Value Propositions • Sketching? • Documentation? • Executable UML? • MDA (Model Driven Architecture)? • Round Trip Engineering? • Code Visualization and Architecture Verification? • Test generation? • All of the above?
  • 19. Dilemma 2: UML and Domain Specific Languages • DSLs address domains that UML does not. – UI design – Vertical domains: mobile phones; software radio; insurance claim processing; gesture processing; ... – Platform-specific domains: “code in diagrams” – Little DSLs as “lifecycle glue”: e.g. config files • Should DSLs be constructed from scratch, or by extending UML, or by extending a subset of UML? – UML does not provide effectively reusable subsets – UML (surprisingly) does not have well-defined notation
  • 20. Dilemma 3: UML and Non-Software • Is UML supposed to be used to model domains that are not software? • Activity diagrams can be used for business processes – But what is the relationship between them and BPMN? • Use case diagrams are used to model requirements. • Many aspects of UML are an imperfect match to concepts in modern OO programming languages. – Should we endeavour to make this match better or worse?
  • 21. Dilemma 4: UML Semantics • Is UML: – A reusable syntax that can map into different programming languages • *Wikipedia+: “Perhaps the most common form of round-trip engineering is synchronization between UML (Unified Modeling Language) models and the corresponding source code.” – An executable notation with its own execution semantics • [Wikipedia]: Executable UML supports MDA through specification of platform-independent models, and the compilation of the platform-independent models into platform-specific models. – Both? • “Semantic Variation Points”.
  • 22. Agenda • History • UML today • UML dilemmas • Future of UML
  • 23. UML 2 – too Large and Complex “Typically a project that uses UML only uses 20% of the specification to help build 80% of the code and other deliverables.” Ivar Jacobson
  • 24. “Future of UML” Request for Information • Issued December 12, 2008 (chaired by S Cook) • Response deadline August 17, 2009 • Responses from 16 industry groupings representing tool vendors and users • Identified good agreement: – Simplify and consolidate – Improve extensibility – Retain compatibility – Define diagram syntax
  • 25. The “2.4 series” • UML 2.4, MOF 2.4 and XMI 2.4 will be aligned to: – Make MOF an exact subset of UML – Get rid of the special cmof format – Enable any compliant UML tool to import/export MOF metamodels
  • 26. XMI 2.4: how UML 2.4 is interchanged UML MetaModel Model <?xml version="1.0" encoding="UTF-8" ?> <uml:Model xmlns:xmi=… … … </uml:Model> <?xml version="1.0" encoding="UTF-8" ?> <uml:Package xmlns:xmi=… … … </uml:Package> http://www.omg.org/spec/UML/20100901/Superstructure.xmi UML.xsd
  • 27. Diagram Definition RFP • Currently there is no standard for interchanging UML diagrams effectively, or for defining precisely what legal UML diagrams are • The Diagram Definition RFP is developing a new “meta-standard” for defining and interchanging diagrams, led by IBM • There will (eventually) be a standard for UML diagrams, based on DD
  • 29. Semantic MOF • MOF is the subset of UML that is used to define UML and other OMG modelling standards (eg BPMN) • Semantic MOF is a proposed extension of MOF that permits an object (MEL) to belong to multiple classes and change them dynamically – E.g. A class could become a state; an attribute could become an operation; a class could acquire the ability to have ports. • Semantic MOF can subsume the current UML Profiles mechanism • Semantic MOF has been recommended for adoption at the OMG
  • 31. UML roadmap • Complete Diagram Definition capability. • UML Specification Simplification RFP. Asks to keep the UML definition the same, but reorganize the specification so that it is consumable and manageable – Remove redundancy (“package merge”), consolidate, and define notation – Generate specification from metamodel – In progress now; planned completion 2011 • Improve OMG “modelling architecture” – Integrate profile mechanism and MOF using SMOF – Enable UML to be refactored, unbundled, and reused
  • 32. Unbundling UML Smaller, standard languages Loosely-coupled Extensible Backwards compatible
  • 33. The evolving modelling language landscape UML BPMN DSLs SysML Integrate & Correlate