Top Banner
Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, [email protected] Senior Software Engineer IBM Rational Modelling Tools
19

Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, [email protected]@ca.ibm.com Senior Software Engineer.

Mar 26, 2015

Download

Documents

Evan Ramirez
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

Diagram Definition: an OverviewThird OMG/Eclipse Symposium25 March 2012

Maged Elaasar, [email protected] Software EngineerIBM Rational Modelling Tools

Page 2: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 3: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 4: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 5: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 6: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 7: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 8: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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)

Page 9: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 10: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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)

Page 11: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 12: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

12

UML Concrete Syntax Mapping: UML Elements to Strings

Define signature of an element

Define signature of a property

Define signature of an interface

Page 13: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 14: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 15: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

15

Interchanging an Example Class Diagram: an Experiment

RSA

Diagram

Exported

Diagram

Page 16: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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)

Page 17: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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

Page 18: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

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/

Page 19: Diagram Definition: an Overview Third OMG/Eclipse Symposium 25 March 2012 Maged Elaasar, melaasar@ca.ibm.commelaasar@ca.ibm.com Senior Software Engineer.

19

Thank YouQuestions?

Maged Elaasar, [email protected]