interoperability. designing how to move from requirements to code handling complexity – platforms,...

18
Interoperability Modelling Standards in Visual Studio 2010 Steve Cook Software Architect, Microsoft Visual Studio Architecture Board and Board of Directors, Object Management Group

Upload: edward-arnold

Post on 19-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

Interoperability

Modelling Standards in Visual Studio 2010

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

Object Management Group

Page 2: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

• Designing how to move from requirements to code• Handling complexity– Platforms, libraries, technology evolution, languages,

testing, methodologies, requirements, organization, work, people, …

• Using tools– Abstraction & Views– Visualization– Verification– Generation– Communication

The Application Architect’s Job

Page 3: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

The Modelling Dilemma: Two Masters

• The “Model Centric” Master– Sometimes referred to as “Top Down”

• The “Code Centric” Master– Sometimes referred to as “Code Up”

• The value is in the integration between the two approaches…

Page 4: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

ModelsCode artefacts

DiscoverVisualizeRefactor

Generate

As-Is

To-BeWhat-If

AnalyzeCode

Tests

Debug Traces

Reference

Libraries

Abstract Concrete

Models and Code

Validate

Page 5: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

VS2010 Architecture and Visualization Tools

Understand the Code• Architecture Explorer• Visualization in Graphs• Sequence diagram generation

Understand the Domain with UML• Use Cases• Class diagrams• Activity diagrams• Interaction diagrams• Component diagrams

Maintain Control• Layer diagram• Architecture validation• Work item integration

Extend the Tool Platform• Graph model• UML profiles• Commands, menus, gestures,

validation• DSL Tools• Power tools

Page 6: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

What is the Unified Modeling Language (UML)?

Page 7: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

UML 2.1 diagrams in VS2010

Page 8: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

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 9: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

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 10: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

Diagram Definition

• 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 11: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

UML history

• V2.3 early 2010• V2.2 February 2009• V2.1.2 November 2007• V2.1.1 August 2007• V2.0 July 2005• V1.5 March 2003• V1.4 September 2001• V1.1 November 1997

Page 12: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

UML history

• V2.3 early 2010 <- Microsoft• V2.2 February 2009• V2.1.2 November 2007• V2.1.1 August 2007• V2.0 July 2005• V1.5 March 2003• V1.4 September 2001• V1.1 November 1997 <- Microsoft

Page 13: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

“Future of UML” Request for Information

• Issued December 12, 2008 (chaired by S Cook)• Response deadline August 17, 2009• Responses:

– 01Communications– ARTISAN Software Tools– SOFTEAM– Microsoft– SAP AG– Oose Innovative Informatik Gmbh– Systems Engineering DSIG– No Magic Inc– IBM– Model Driven Solutions– HL7/OMG Working Group– Oracle– BAE Systems, CSC, Mega International, NIST, oose– 88Solutions– AdaCore, CoFluent, EADS, INRIA, THALES– Sparx Systems Pty Ltd

Page 14: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

Plan for future• Step 1: UML 2.4 - a short-term revision doing metamodel/XMI

cleanups on formal issues that inhibit implementation generation and interchange– Completed July 2010

• Step 2: UML Specification Simplification RFP. Keep the UML definition the same, but reorganize the specification so that it is consumable and manageable– Completed December 2010

• Step 3: UML cleanup RFPs– Refactor and simplify– “Unbundle” and reduce dependencies– Eliminate unintended inheritance– Correct conceptual errors– Reorganize OMG modeling architecture– Eventually leading to UML 3.0

Page 15: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

UML is a Family of Languages

UML

UPDM

SoaMLSysML

C#

java

Testing Real-time & Embedded

Page 16: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

Microsoft engagement• Member of OMG Board of Directors• Elected to OMG Architecture Board• Instigator of Future of UML RFI• Co-chair of UML 2.4 RTF• Submitter to SMOF• Future submitters to UML specification

simplification and UML cleanup RFPs• Planned interception of revised standards in our

evolving modelling products

Page 17: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

Keep in [email protected]

http://blogs.msdn.com/stevecook

Visual Studiohttp://msdn.microsoft.com/en-us/vstudio

Visual Studio Visualization and Modeling SDKhttp://code.msdn.microsoft.com/vsvmsdk

Page 18: Interoperability. Designing how to move from requirements to code Handling complexity – Platforms, libraries, technology evolution, languages, testing,

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not

be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.