Stevecook uml mdday2010

Post on 18-Dec-2014

1.817 views 0 download

description

 

Transcript of Stevecook uml mdday2010

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