Post on 18-Dec-2014
description
transcript
Unified Modeling Language: Past, Present and Future
Steve CookSoftware Architect, Microsoft Visual StudioArchitecture 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 DesignObject 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 DiagramVisualizesand 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 ModelingLanguage) 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 (egBPMN)
• 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 languagesLoosely-coupledExtensibleBackwards compatible
The evolving modelling language landscape
UML
BPMN
DSLsSysML
Integrate & Correlate
The EndThank you