Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, [email protected] Senior Software Engineer IBM Rational Modelling Tools
Mar 26, 2015
Diagram Definition: an OverviewThird OMG/Eclipse Symposium25 March 2012
Maged Elaasar, [email protected] Software EngineerIBM Rational Modelling Tools
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
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
Existing Diagram Definition Approaches
Diagram
Interchange
Metamodel
Interchange Syntax Graphical syntax Target Language
Diagram Interchange (DI) 1.0
(deprecated)
Fixed Informal Informal mainly UML
Graphical Modeling Framework (GMF) Notation
Extensible Formal (using code) Formal (fixed patterns) Any
Diagram Definition (DD) 1.0 Extensible Formal (using metamodel) Formal (flexible) Any
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
MOF
DI
AS
M3 spec
M2 spec
M1 user
AS DI
Model Diagram
AbstractSyntax
DiagramSyntax
CS MappingSpecification
Graphics
ConcreteSyntax
CS Mapping
Model(interchanged)
MappingLanguage
MOF
View(rendered)
Controller(executed)
Instantiates
Specializes
References
AS: Abstract Syntax
CS : Concrete Syntax
DG
DD Spec
LanguageSpec
DI : Diagram Interchange
DG: Diagram Graphics
Diagram Definition Architecture
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
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
UML Class Diagram Definition: an Example
We validated the DD architecture on UML
DI
UML
M2
UML DI UML CSMapping 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 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
UML Concrete Syntax MappingUML 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 realizationto a poly line
14
Diagram Definition Export Testing Architecture
What tools provide today
Diagram
Model
Tool-SpecificFormat
StandardFormat
UML DI Model
UMLModel
Export
Export
DGModel
Concrete Syntax
Mapping
SVGImage
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
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
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
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/