Stevecook uml mdday2010

34
Unified Modeling Language: Past, Present and Future Steve Cook Software Architect, Microsoft Visual Studio Architecture Board and Board of Directors, Object Management Group

description

 

Transcript of Stevecook uml mdday2010

Page 1: Stevecook uml mdday2010

Unified Modeling Language: Past, Present and Future

Steve CookSoftware Architect, Microsoft Visual StudioArchitecture Board and Board of Directors,

Object Management Group

Page 2: Stevecook uml mdday2010

Agenda

• History

• UML today

• UML dilemmas

• Future of UML

Page 3: Stevecook uml mdday2010

Agenda

• History

• UML today

• UML dilemmas

• Future of UML

Page 4: Stevecook uml mdday2010

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)

Page 5: Stevecook uml mdday2010

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

Page 6: Stevecook uml mdday2010
Page 7: Stevecook uml mdday2010

UML 1.1 diagrams

Page 8: Stevecook uml mdday2010

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.

Page 9: Stevecook uml mdday2010

• 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?

Page 10: Stevecook uml mdday2010

UML 2 diagrams

Page 11: Stevecook uml mdday2010
Page 12: Stevecook uml mdday2010

Agenda

• History

• UML today

• UML dilemmas

• Future of UML

Page 13: Stevecook uml mdday2010

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

Page 14: Stevecook uml mdday2010

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

Page 15: Stevecook uml mdday2010

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

Page 16: Stevecook uml mdday2010

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?

Page 17: Stevecook uml mdday2010

Agenda

• History

• UML today

• UML dilemmas

• Future of UML

Page 18: Stevecook uml mdday2010

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?

Page 19: Stevecook uml mdday2010

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

Page 20: Stevecook uml mdday2010

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?

Page 21: Stevecook uml mdday2010

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”.

Page 22: Stevecook uml mdday2010

Agenda

• History

• UML today

• UML dilemmas

• Future of UML

Page 23: Stevecook uml mdday2010

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

Page 24: Stevecook uml mdday2010

“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

Page 25: Stevecook uml mdday2010

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

Page 26: Stevecook uml mdday2010

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

Page 27: Stevecook uml mdday2010

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

Page 28: Stevecook uml mdday2010

Metamodels

Models

Instantiates

Specializes

References

UML DD Architecture

UML Diagram Mapping Specification

Page 29: Stevecook uml mdday2010

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

Page 30: Stevecook uml mdday2010

SMOF Examples

Page 31: Stevecook uml mdday2010

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

Page 32: Stevecook uml mdday2010

Unbundling UML

Smaller, standard languagesLoosely-coupledExtensibleBackwards compatible

Page 33: Stevecook uml mdday2010

The evolving modelling language landscape

UML

BPMN

DSLsSysML

Integrate & Correlate

Page 34: Stevecook uml mdday2010

The EndThank you