Stevecook uml mdday2010

2,532 views

Published on

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,532
On SlideShare
0
From Embeds
0
Number of Embeds
234
Actions
Shares
0
Downloads
69
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Stevecook uml mdday2010

  1. 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. 2. Agenda • History • UML today • UML dilemmas • Future of UML
  3. 3. Agenda • History • UML today • UML dilemmas • Future of UML
  4. 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. 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. 6. UML 1.1 diagrams
  7. 7. 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.
  8. 8. • 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?
  9. 9. UML 2 diagrams
  10. 10. Agenda • History • UML today • UML dilemmas • Future of UML
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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?
  15. 15. Agenda • History • UML today • UML dilemmas • Future of UML
  16. 16. 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?
  17. 17. 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
  18. 18. 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?
  19. 19. 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”.
  20. 20. Agenda • History • UML today • UML dilemmas • Future of UML
  21. 21. 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
  22. 22. “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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. Metamodels Models Instantiates Specializes References UML DD Architecture UML Diagram Mapping Specification
  27. 27. 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
  28. 28. SMOF Examples
  29. 29. 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
  30. 30. Unbundling UML Smaller, standard languages Loosely-coupled Extensible Backwards compatible
  31. 31. The evolving modelling language landscape UML BPMN DSLs SysML Integrate & Correlate
  32. 32. The End Thank you

×