Diagram Definition A Case Study with the UML Class Diagram MoDELS 2011, Wellington, NZ By Maged Elaasar 1,2 (Presenter) and Yvan Labiche 1 1 Carleton University, Dep. of System and Computer Engineering, Ottawa, Canada 2 IBM Canada Ltd., Rational Software, Ottawa Lab, Canada
2 2 Outline The Need for Diagram Definition (Problem Statement) Existing Diagram Definition Approaches (Related Works) Diagram Definition Specification (Background) UML Class Diagram Definition Case Study (Contribution) Interchanging an Example Class Diagram (Experiment) Limitations and 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 Diagran Interchange Metamodel Diagram Interchange Rules for a language Graphical syntax Mapping (rendering rules) Target Language Diagram Interchange (DI) v1.0 FixedInformal Informal (mixed with interchange rules) Any (mainly UML) Graphical Modeling Framework (GMF) ExtensibleFormal (using code)Formal (inflexible)Any XML Process Definition Language (XPDL) Merged with abstract syntax Given by abstract syntax No need for mapping BPMN Diagram Definition (DD) v1.0 ExtensibleFormal (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: a Case Study 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 UML Diagram Interchange Metamodel design principles: –Avoid interchanging specification-controlled info –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 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 UML Concrete Syntax Mapping: UML Elements to Strings Define signature of an element Define signature of a property Define signature of an interface
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 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 Interchanging an Example Class Diagram: an Experiment RSA Diagram Exported Diagram
16 Limitations and Future Works No normative mapping from DG to SVG (needed to bootstrap DD) Mapping language is textual (need a simpler graphical mapping language) Mapping is unidirectional (abstract/diagram syntax -> concrete syntax)
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 a case study 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 Thank You Questions? Maged Elaasar,