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

Preview:

Citation preview

Diagram Definition: an OverviewThird OMG/Eclipse Symposium25 March 2012

Maged Elaasar, melaasar@ca.ibm.comSenior 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/

19

Thank YouQuestions?

Maged Elaasar, melaasar@ca.ibm.com

Recommended