Presentation is loading. Please wait.

Presentation is loading. Please wait.

Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, Senior Software Engineer.

Similar presentations


Presentation on theme: "Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, Senior Software Engineer."— Presentation transcript:

1 Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer IBM Rational Modelling Tools

2 2 Outline The Need for Diagram Definition Existing Diagram Definition Approaches Diagram Definition Specification UML Class Diagram Definition Case Study Interchanging an Example Class Diagram Future Work

3 3 The Need for Diagram Definition Graphical modeling languages are defined with their: Abstract syntax: formally using MOF Concrete graphical syntax: informally using text and (example) figures Formal diagram definition is needed Enables interchange of modeling diagrams among tools Enables consistent rendering of diagrams by tools Enables consistent interpretation of diagrams by users

4 4 Existing Diagram Definition Approaches Diagram Interchange Metamodel Interchange SyntaxGraphical syntaxTarget Language Diagram Interchange (DI) 1.0 (deprecated) FixedInformal mainly UML Graphical Modeling Framework (GMF) Notation ExtensibleFormal (using code)Formal (fixed patterns)Any Diagram Definition (DD) 1.0ExtensibleFormal (using metamodel)Formal (flexible)Any

5 5 Diagram Definition (DD) Specification DD defines two standard metamodels Diagram Interchange (DI): enables defining the diagram interchange syntax Diagram Graphics (DG): enables defining the concrete graphical syntax

6 6 MOF DI AS M3 spec M2 spec M1 user AS DI ModelDiagram Abstract Syntax Diagram Syntax CS Mapping Specification Graphics Concrete Syntax CS Mapping Model (interchanged) Mapping Language MOF View (rendered) Controller (executed) Instantiates Specializes References AS: Abstract Syntax CS : Concrete Syntax DG DD Spec Language Spec DI : Diagram Interchange DG: Diagram Graphics Diagram Definition Architecture

7 7 Diagram Interchange (DI) Defines diagram interchange syntax (what users can control) Examples: diagram layout, appearance options, notational options Provides basic primitives that can be extended for each language

8 8 Diagram Graphics (DG) Defines concrete graphical syntax (what language specifications control) Examples: shape and line notations for each abstract syntax element Provides extensive 2D graphics primitives (similar to SVG)

9 9 UML Class Diagram Definition: an Example We validated the DD architecture on UML DI UML M2 UML DI UML CS Mapping DG We used a subset of the UML class diagram Three classifiers: Class, Interface and Datatype Three relations: Association, Generalization and InterfaceRealization

10 10 UML Diagram Interchange Metamodel design principles: Avoid interchanging redundant info with the referenced model Avoid interchanging purely stylistic info (e.g., colors) Interchange simple layout info (bounds / waypoints relative to diagram) Interchange overlapping order (using ordered collections) Keep the inheritance hierarchy small (mixed bags of optional properties)

11 11 UML Concrete Syntax Mapping UML DI Elements to Graphics Map all diagram to graphics Map all diagram elements to graphics Map a shape to a group {a graphic, labels and compartments} Map an edge to a group {a poly line and labels} Map a compartment to a group {rectangle and nested elements} Map a label to a text with appropriate string

12 12 UML Concrete Syntax Mapping: UML Elements to Strings Define signature of an element Define signature of a property Define signature of an interface

13 13 UML Concrete Syntax Mapping: UML Element to Graphics Map a class a rectangle Map an interface to a rectangle Map an interface to a circle Define an interface realization line style Define an interface realization line marker Map an interface realization to a poly line

14 14 Diagram Definition Export Testing Architecture What tools provide today Diagram Model Tool-Specific Format Standard Format UML DI Model UML Model Export DG Model Concrete Syntax Mapping SVG Image Rendering To Graphics RSA Tool M2M Transformation M2M Transformation M2M Transformation M2T Transformation

15 15 Interchanging an Example Class Diagram: an Experiment RSA Diagram Exported Diagram

16 16 Limitations and Future Works normative mapping from DG to SVG (needed to bootstrap DD) Graphical mapping language (Graphical BNF) Full UML DD (UML DI as a first step)

17 17 Conclusion Diagram definition is needed for consistent interchange and interpretation Diagram definition (DD) v1.0 is a new specification to address this need. We validated DD with an example involving a subset of UML class diagram Defined UML DI metamodel Defined a mapping from UML DI metamodel to DG metamodel Defined a tool architecture for testing DD (export) Carried an experiment for interchanging an example class diagram successfully

18 18 More Information Elaasar, M; Labiche, Y.: Diagram Definition: a Case Study with the UML Class Diagram. MoDELS'11, LNCS, vol. 6981, pp. 364-378, 2011. http://www.springerlink.com/content/y7h4820238438014/

19 19 Thank You Questions? Maged Elaasar, melaasar@ca.ibm.com


Download ppt "Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, Senior Software Engineer."

Similar presentations


Ads by Google