Model Interchange Working Group MIWG Update Overview Status

  • Slides: 53
Download presentation
Model Interchange Working Group (MIWG) Update Overview, Status, Lessons Learned, and Plans March 23,

Model Interchange Working Group (MIWG) Update Overview, Status, Lessons Learned, and Plans March 23, 2011 http: //www. omgwiki. org/model-interchange Sanford Friedenthal MIWG Chair safriedenthal@gmail. com Copyright © 2009 -2011 by Object Management Group.

Agenda • • • MIWG Overview – Sanford Friedenthal (10 min) MI Status of

Agenda • • • MIWG Overview – Sanford Friedenthal (10 min) MI Status of Test Cases – Pete Rivett (15 min) MI Observations and Lessons Learned – Ed Seidewitz(10 min) Future Directions (5 min) – Pete Rivett XMI Validator Tool Suite Overview (5 min) – Peter Denno Q&A - All (15 min) 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 2

Model Interchange Working Group: Overview Sanford Friedenthal 23 March 2011 Copyright © 2009 -2011

Model Interchange Working Group: Overview Sanford Friedenthal 23 March 2011 Copyright © 2009 -2011 by Object Management Group.

Why Model? • Models provides a precise and unambiguous way to capture and share

Why Model? • Models provides a precise and unambiguous way to capture and share information about a system – Contrast with text documents, powerpoint, … UPDM, Sys. ML, and UML are standard modeling languages to support architecture development 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 4

Why Model Interchange Standards? • Support interchange among tools – Different users may use

Why Model Interchange Standards? • Support interchange among tools – Different users may use the model information for different purposes in different tools – Standards enable automated information exchange • Efficiency, Accuracy Model/Data Interchange XMI • . . • • . . • - XMI is the model interchange standard for UML and its profiles (Sys. ML, UPDM, . . ) 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 5

Model Interchange Working Group (MIWG) Objectives and Approach • Objectives – Enhance and demonstrate

Model Interchange Working Group (MIWG) Objectives and Approach • Objectives – Enhance and demonstrate interoperability of MOF/XMI-based tools among UML, Sys. ML, and UPDM-capable tools • Approach – Multiple tool vendors – Each test case verifies interchange of selected model features – NIST tool suite used to validate XMI exports against specification 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 6

Model Interchange vs Diagram Interchange • Model interchange with XMI exchanges model information (e.

Model Interchange vs Diagram Interchange • Model interchange with XMI exchanges model information (e. g. , classes, associations, activities) • Model interchange does not currently include diagram layout information – However, most tools provide auto-layout capability to quickly generate the diagrams – Diagram definition and interchange standard approved by OMG 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 7

Current Vendor Demo Participants • Atego Artisan® Studio • IBM RSx • IBM Rhapsody

Current Vendor Demo Participants • Atego Artisan® Studio • IBM RSx • IBM Rhapsody • No. Magic. Draw • SOFTEAM Modelio • Sparx Systems Enterprise Architect 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 8

MIWG Results • MIWG kickoff over 2 years ago (Dec ‘ 08) • Finishing

MIWG Results • MIWG kickoff over 2 years ago (Dec ‘ 08) • Finishing 16 test cases for UML and Sys. ML • General exchange capability demonstrated among vendors, but some issues remain • Vendors continue to update their tools to address interchange issues • Refinements to UML spec identified to reduce ambiguity and correct errors • Guidelines being established for vendor interoperability • Test coverage reflects most of the commonly used UML/Sys. ML features by end of Phase 2 Testing 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 9

Incremental Testing Process Implementor is whoever is deemed responsible --Consumer tool --Producer tool --Specification

Incremental Testing Process Implementor is whoever is deemed responsible --Consumer tool --Producer tool --Specification RTF --MIWG --…. 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 10

Activities (Test Case 12 b) Test Case also includes a class diagram and package

Activities (Test Case 12 b) Test Case also includes a class diagram and package diagram 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 11

Activities (Test Case 12 b) Valid XMI Snippet For illustration only <? xml version="1.

Activities (Test Case 12 b) Valid XMI Snippet For illustration only <? xml version="1. 0" encoding="UTF-8" ? > - <uml: Model xmi: version="2. 1" xmlns: xmi="http: //schema. omg. org/spec/XMI/2. 1" xmlns: xsi="http: //www. w 3. org/2001/XMLSchemainstance" xmlns: uml="http: //schema. omg. org/spec/UML/2. 2" xmi: id="_qcmm. ILQSEd-ZR 7 RPg. U 7 rtg" name="Test. Case 12 b"> - <packaged. Element xmi: type="uml: Package" xmi: id="_qcmm. Ib. QSEd-ZR 7 RPg. U 7 rtg" name="Structure"> - <packaged. Element xmi: type="uml: Class" xmi: id="_qcmm. Ir. QSEd-ZR 7 RPg. U 7 rtg" name="Detection System" is. Active="true" classifier. Behavior="_qcmm. Qr. QSEd-ZR 7 RPg. U 7 rtg"> <owned. Attribute xmi: id="_qcmm. I 7 QSEd-ZR 7 RPg. U 7 rtg" name="sensor" type="_qcmm. OLQSEd-ZR 7 RPg. U 7 rtg" aggregation="composite" association="_qcmm. L 7 QSEd-ZR 7 RPg. U 7 rtg" /> <owned. Attribute xmi: id="_qcmm. Jr. QSEd-ZR 7 RPg. U 7 rtg" name="processor" type="_qcmm. Ob. QSEd-ZR 7 RPg. U 7 rtg" aggregation="composite" association="_qcmm. Mr. QSEd-ZR 7 RPg. U 7 rtg" /> <owned. Attribute xmi: id="_qcmm. Kb. QSEd-ZR 7 RPg. U 7 rtg" name="alarm" type="_qcmm. Or. QSEd-ZR 7 RPg. U 7 rtg" aggregation="composite" association="_qcmm. Nb. QSEd-ZR 7 RPg. U 7 rtg" /> <owned. Reception xmi: id="_qcmm. Lb. QSEd-ZR 7 RPg. U 7 rtg" name="Set" signal="_qcmm. P 7 QSEd-ZR 7 RPg. U 7 rtg" /> <owned. Reception xmi: id="_qcmm. Lr. QSEd-ZR 7 RPg. U 7 rtg" name="Reset" signal="_qcmm. QLQSEd-ZR 7 RPg. U 7 rtg" /> - <owned. Behavior xmi: type="uml: Activity" xmi: id="_qcmm. Qr. QSEd-ZR 7 RPg. U 7 rtg" name="Detect Intruder" partition="_qcmmbb. QSEd. ZR 7 RPg. U 7 rtg _qcmmb 7 QSEd-ZR 7 RPg. U 7 rtg"> - <owned. Parameter xmi: id="_qcmm. Q 7 QSEd-ZR 7 RPg. U 7 rtg" name="Parameter 1" type="_qcmm. O 7 QSEd-ZR 7 RPg. U 7 rtg" is. Stream="true"> <upper. Value xmi: type="uml: Literal. Unlimited. Natural" xmi: id="_qcmm. RLQSEd-ZR 7 RPg. U 7 rtg" value="1" /> <lower. Value xmi: type="uml: Literal. Integer" xmi: id="_qcmm. Rb. QSEd-ZR 7 RPg. U 7 rtg" value="1" /> </owned. Parameter> There’s more than meets the Eye Copyright © 2009 -2011 by Object Management Group. 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 12

UML/Sys. ML Interchange Testing Phase 2 Completion Criteria • • Release definition that is

UML/Sys. ML Interchange Testing Phase 2 Completion Criteria • • Release definition that is publically available on the MIWG Wiki – Can be used to independently evaluate interchange – Test case definitions 1 -16 based on UML 2. 3/Sys. ML 1. 2/XMI 2. 1. 1 – UML/Sys. ML Coverage maps – Vendor exports with their latest tool versions Canonical XMI tooling to support scalable interchange testing • Vendor commitment to support next phase of testing (e. g. , UPDM) 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 13

Summary • Model interchange standards enable automated exchange of modeling information among tools •

Summary • Model interchange standards enable automated exchange of modeling information among tools • MIWG has defined and validated a rigorous incremental multivendor testing process supported by validation tools • Completed interchange testing for Test Cases 1 -16 – Interchange testing based on UML and Sys. ML – Demonstrated significant interchange capability among multiple vendors – Demonstrated ability to interchange domain specific profiles – Results will be publically available on MIWG Wiki • Canonical XMI approach will provide scalable interchange testing for evolving standards and tools (UML, Sys. ML and UPDM) Commitment from Vendor Community Resulting in Continued Progress 03 -23 -2011 Copyright © 2009 -2011 by Object Management Group. 14

Model Interchange Working Group: Status - Test Cases 1 -16 Pete Rivett 23 March

Model Interchange Working Group: Status - Test Cases 1 -16 Pete Rivett 23 March 2011

Test Cases • Produced by different source tools • Each is driven by the

Test Cases • Produced by different source tools • Each is driven by the diagrams – With a ‘valid’ XMI file for reference • Most contain multiple diagrams • Designed to have high coverage but low size – To permit easy checking • All diagrams and exports for each tool available on wiki

Coverage Matrix • Overall percentage: – 58% of UML metaclasses – 55% of Sys.

Coverage Matrix • Overall percentage: – 58% of UML metaclasses – 55% of Sys. ML stereotypes

TC 1, TC 2 – Classes

TC 1, TC 2 – Classes

TC 3 – Profile and Model

TC 3 – Profile and Model

TC 4 - Activities

TC 4 - Activities

TC 5 – Advanced Activities

TC 5 – Advanced Activities

TC 6 – Composite Structure

TC 6 – Composite Structure

TC 7 - States

TC 7 - States

TC 8 – Use Cases

TC 8 – Use Cases

TC 9 - Interactions

TC 9 - Interactions

TC 10 – Sys. ML Blocks

TC 10 – Sys. ML Blocks

TC 11 – Sys. ML Requirements

TC 11 – Sys. ML Requirements

TC 12 – UML and Sys. ML Activities

TC 12 – UML and Sys. ML Activities

TC 13 – Instance Diagrams

TC 13 – Instance Diagrams

TC 14 – Sys. ML Parametrics

TC 14 – Sys. ML Parametrics

TC 15 Advanced Activities

TC 15 Advanced Activities

TC 16 – Sys. ML Allocations

TC 16 – Sys. ML Allocations

Test Case Summary – – – – Test Case 1 - Basic Class Modeling

Test Case Summary – – – – Test Case 1 - Basic Class Modeling Test Case 2 - Advanced Class Modeling Test Case 3 - Profile Definition and Application Test Case 4 – Simple Activity (including f. UML execution) Test Case 5 – Activity (including f. UML execution) Test Case 6 – Composite Structure Test Case 7 – State Machines Test Case 8 – Use Cases Test Case 9 – Interactions Test Case 10 – Sys. ML Blocks Test Case 11 – Sys. ML Requirements Test Case 12 – Sys. ML + UML Intermediate activities Test Case 13 – Instances Test Case 14 – Sys. ML Parametrics Test Case 15 – Advanced Activities Test Case 16 – Sys. ML Allocations

Model Interchange Working Group: Observations and Lessons Learned Ed Seidewitz 23 March 2011

Model Interchange Working Group: Observations and Lessons Learned Ed Seidewitz 23 March 2011

MIWG Test Suite • Test Suite currently includes 16 test cases, covering a majority

MIWG Test Suite • Test Suite currently includes 16 test cases, covering a majority of commonly used UML and Sys. ML modeling features • This is a complex testing context – Multiple versions of UML (originally 2. 1. 2, then 2. 2, moving to 2. 3) – Multiple languages (UML, Sys. ML, planning UPDM, Soa. ML, other profiles) – Multiple vendors with multiple versions of their tools – Potentially multiple XMI versions (has been XMI 2. 1, UML 2. 4 moves to XMI 2. 4) 23 March 2011 35

MIWG Test Suite (continued) • Two tests of activity models included execution of tool

MIWG Test Suite (continued) • Two tests of activity models included execution of tool export per the f. UML 1. 0 specification. – Ability to correctly execute places stringent requirements on the correctness of model serialization. – Having rigorous syntactic interchange is a prerequisite for achieving semantic interchange (e. g. , of executable architectures). • Sys. ML testing also demonstrates the ability of a non-Sys. MLspecific UML tool to import the Sys. ML profile and so interchange Sys. ML model files. – There is one case in which a standard UML constraint does not apply to Sys. ML models. – General UML tool will not necessarily handle Sys. ML specific diagram notation (may be addressed by Diagram Definition standard in the future). 23 March 2011 36

Test Coverage: UML Metaclasses Covered: 58% Abstraction Accept. Event. Action Activity. Final. Node Activity.

Test Coverage: UML Metaclasses Covered: 58% Abstraction Accept. Event. Action Activity. Final. Node Activity. Parameter. Node Activity. Partition Actor Add. Structural. Feature. Value. Action Association. Class Behavior. Execution. Specification Call. Behavior. Action Call. Event Call. Operation. Action Change. Event Class Clause Clear. Association. Action Comment Conditional. Node Connection. Point. Reference Connector. End Constraint Control. Flow Create. Link. Action Create. Object. Action Creation. Event Data. Type Decision. Node Dependency Destroy. Link. Action Destroy. Object. Action Destruction. Event Enumeration. Literal Exception. Handler Execution. Event Execution. Occurrence. Specification Expansion. Node Expansion. Region Extend Extension. End Extension. Point Final. State 23 March 2011 Flow. Final. Node Fork. Node Generalization. Set Image Include Information. Flow Initial. Node Input. Pin Instance. Specification Instance. Value Interaction Interface. Realization Interruptible. Activity. Region Join. Node Lifeline Link. End. Creation. Data Link. End. Destruction. Data Literal. Boolean Literal. Integer Literal. String Literal. Unlimited. Natural Loop. Node Merge. Node Message. Occurrence. Specification Model Object. Flow Opaque. Expression Operation Output. Pin Package. Import Package. Merge Parameter Port Primitive. Type Profile. Application Property Protocol. State. Machine Protocol. Transition Pseudostate Raise. Exception. Action Read. Extent. Action Read. Link. Action Read. Self. Action Read. Structural. Feature. Action Receive. Operation. Event Receive. Signal. Event Reception Region Send. Operation. Event Send. Signal. Event Slot State. Machine Stereotype Structured. Activity. Node Test. Identity. Action Transition Trigger Usage Use. Case Value. Specification. Action Not Covered: 42% Accept. Call. Action. Execution. Specification Action. Input. Pin Add. Variable. Value. Action Any. Receive. Event Artifact Broadcast. Signal. Action Central. Buffer. Node Classifier. Template. Parameter Clear. Structural. Feature. Action Clear. Variable. Action Collaboration. Use Combined. Fragment Communication. Path Component. Realization Connectable. Element. Template. Parameter Consider. Ignore. Fragment Continuation Create. Link. Object. Action Data. Store. Node Deployment. Specification Device Duration. Constraint Duration. Interval Duration. Observation Element. Import Execution. Environment Expression Function. Behavior Gate General. Ordering Information. Item Interaction. Constraint Interaction. Operand Interaction. Use Interval. Constraint Literal. Null Manifestation Node Occurrence. Specification Opaque. Action Opaque. Behavior Operation. Template. Parameter. Set Part. Decomposition Protocol. Conformance Qualifier. Value Read. Is. Classified. Object. Action Read. Link. Object. End. Qualifier. Action Read. Variable. Action Realization Reclassify. Object. Action Redefinable. Template. Signature Reduce. Action Remove. Structural. Feature. Value. Action Remove. Variable. Value. Action Reply. Action Send. Object. Action Send. Signal. Action Sequence. Node Start. Classifier. Behavior. Action Start. Object. Behavior. Action State. Invariant String. Expression Substitution Template. Binding Template. Parameter. Substitution Template. Signature Time. Constraint Time. Event Time. Expression Time. Interval Time. Observation Unmarshall. Action Value. Pin Accept. Call. Action

Test Coverage: Sys. ML Stereotypes Covered: 55% Allocated Binding. Connector Block Constraint. Property Continuous

Test Coverage: Sys. ML Stereotypes Covered: 55% Allocated Binding. Connector Block Constraint. Property Continuous Derive. Reqt Flow. Port Flow. Property Flow. Specification Item. Flow Nested. Connector. End Quantity. Kind Rationale Requirement. Related Satisfy Unit Value. Type Verify 23 March 2011 Not Covered: Allocate. Activity. Partition 45% Conform Connector. Property Control. Operator Copy Discrete Distributed. Property No. Buffer Optional Overwrite Participant. Property Probability Problem Rate Test. Case Viewpoint

UML and XMI Specs • XMI is generally viewed by the vendors to be

UML and XMI Specs • XMI is generally viewed by the vendors to be an effective interchange mechanism. • However, the XMI 2. 1 spec is complex and can be difficult to implement. – XMI 2. 4 will address some of this • Most of the issues have been with UML specification ambiguities/errors and vendor implementations of UML. – At least five MIWG-related issues have been addressed in UML 2. 4. • The most significant UML interchange issue was with sequence diagrams, in which the spec did not fully define how diagrams were to be represented in the UML abstract syntax. – This has been addressed in UML 2. 4 as a result of the MIWG experience. 23 March 2011 39

UML Tools • MIWG testing has proved beneficial for improving tool support for interchange.

UML Tools • MIWG testing has proved beneficial for improving tool support for interchange. – As testing has proceeded, a number of issues uncovered in testing have been resolved in releases of subsequent tool versions. • Tools are still at various versions of UML – Tools are moving to UML 2. 3, but are not all there yet. – Backwards compatibility remains an issue. • There is also still less support by tools for advanced features, such as advanced activity models. 23 March 2011

Moving Forward • • • The amount of effort required for the current testing

Moving Forward • • • The amount of effort required for the current testing process is not sustainable as the Test Suite expands. Making import results publicly available is problematic, because they become out of date as vendors respond to issues. The solution: – Move to automated testing of test case exports • This is made possible by converting exported XMI to a “canonical form” that may be compared to the test case XMI using a textual diff. – Make just exports public, allowing the users of any UML tool to do their own import testing against the latest publicly available exports from other tools. 23 March 2011

Model Interchange Working Group: Future Directions Pete Rivett 23 March 2011

Model Interchange Working Group: Future Directions Pete Rivett 23 March 2011

Canonical XMI • Current process requires import and diagram creation for each other tool

Canonical XMI • Current process requires import and diagram creation for each other tool and each test case • Limits scalability for: – More tools – More test cases • Canonical XMI provides a single standard representation for each test case • Easy check for exported content • And requires single import per test case

Canonical XMI - Process

Canonical XMI - Process

Canonical XMI - Metrics • T= # test cases, N= # tools, V =

Canonical XMI - Metrics • T= # test cases, N= # tools, V = # versions • Current cost = T*N*V(export + validation + (N-1)(import + diagram check)) – T*6*4(1+2+5(1+5)) = T*24(8(6)) = T*1152 • Proposed cost = T*(transform + N(import + diagram check)+N*V (export + validation + transform + compare)) – T*(2+6(1+5)+6*4(1+2+2+1)) = T*(8(6)+24(6) = T*(48+144) = T*192

Future Directions • Move to UML 2. 3 for all Test Cases – At

Future Directions • Move to UML 2. 3 for all Test Cases – At moment mixture of UML 2. 1 and UML 2. 2 • Scalability using Canonical XMI • Make Canonical XMI an official part of the XMI standard • Extend testing to UPDM • Diagram Interchange

Model Interchange Working Group: XMI Validator Tool Suite Overview Peter Denno 23 March 2011

Model Interchange Working Group: XMI Validator Tool Suite Overview Peter Denno 23 March 2011

Validator • Web based environment that is publically accessible and available to upload UML

Validator • Web based environment that is publically accessible and available to upload UML or Sys. ML based XMI file for analysis • Provides capability to assess quality of XMI file – Identifies potential errors in UML or Sys. ML XMI files – Provides diff report and evaluation of vendor XMI export relative to valid XMI file for test cases 1 -16 • Developed by NIST 03 -23 -2011 48

NIST Validator http: //syseng. nist. gov/se-interop/validator

NIST Validator http: //syseng. nist. gov/se-interop/validator

NIST Validator: Error Detail

NIST Validator: Error Detail

NIST Validator : List of conformance issues

NIST Validator : List of conformance issues

NIST Validator : Object Inventory

NIST Validator : Object Inventory

NIST Validator : Object Navigation

NIST Validator : Object Navigation