Presentation is loading. Please wait.

Presentation is loading. Please wait.

Diagram Interchange Proposal

Similar presentations


Presentation on theme: "Diagram Interchange Proposal"— Presentation transcript:

1 Diagram Interchange Proposal
Maged Elaasar, IBM

2 Proposed Diagram Interchange (DI)
Diagram Interchange (DI) (replaces current DI) Provides an abstract metamodel that defines diagram interchange syntax Domains extend DI using inheritance to define domain specific DI Diagrams are interchanged as instances of the domain-specific DI MOF M3 spec DI M2 spec DSL DSL DI Model Diagram M1 user Abstract Syntax Diagram Syntax Is Instance of Inherits References

3 DI Metamodel - View Hierarchy
Connector is owned by the lowest common parent of the source and target view (constraint) Connector’s source and target associations are uni-directional Waypoints are ordered and non unique

4 DI Metamodel – Style Sheet
StyleRules are ordered MasterSheets are many and ordered StyleRule does not need explicit ‘type:Class’ association, since can be infered from ‘property.type’

5 UML Class Shape Example
Diagram width x y Node height ratio Node showTitle collapsed visible ratio Node showTitle collapsed visible <Diagram xmi:id="1"> <definitions mxi:type="dd:DiagramDefinition" href="uml.definition#//ClassDiagram"/> <children mxi:id="2"> <definitions mxi:type="dd:NodeDefinition" href="uml.definition#//Class"/> <element xmi:type="uml:Class" href="model.uml#//..."/> <children xmi:id="3"> <definitions mxi:type="dd:NodeDefinition" href="uml.definition#//AttributeCompartment"/> <styles key="collapsed" value="true"/> <styles key="ratio" value=".25"/> </children> <children xmi:id="4"> <definitions mxi:type="dd:NodeDefinition" href="uml.definition#//OperationCompartment"/> <styles key="showTitle" value="true"/> <styles key="ratio" value=".75"/> <sourceConnectors href="8"/> <styles key="x" value="100"/> <styles key="y" value="200"/> <styles key="fillColor" value="0x00FF000000"/> <children mxi:id="5"> <children xmi:id="6"> <children xmi:id="7"> <targetConnectors href="8"/> <styles key="x" value="300"/> <connectors mxi:id="8"> <definitions mxi:type="dd:ConnectorDefinition" href="uml.definition#//Generlization"/> <element xmi:type="uml:Generalization" href="model.uml#//..."/> <source xmi:type="di:Node" href="2"/> <target xmi:type="di:Node" href="5"/> <bendpoints x="50" y="10"/> <bendpoints x="100" y="200"/> <styles key="lineColor" value="0x0000FF0000"/> </connectors> </Diagram>

6 UML Association and Interface Realization Connector
Node Node offset offset Node offset Node Node offset offset Connector

7 UML DI Metamodel – View Hierarchy
Two subtypes of Compartment for UML : List Compartment and Diagram comparemtment Diagram’s umlShape and umlConnector are derived unions subsetting child and connector, respectively How do we make the Diagram.child collection ordered (needed for z-order)?

8 UML DI Metamodel – Common Views

9 UML DI Metamodel – Class Diagram

10 UML DI Metamodel – Class Diagram Shapes

11 UML DI Metamodel – Class Diagram Connectors

12 DI More Abstractions Try to have a crack at it but it is not critical (not show stopper) Could define them as concrete to allow creating adhoc diagrams Define common properties as mixin types in separate DI packages

13 DI Extensibility Profiles
Allow subsetting, redefinition of base properties in stereotypes Clarify what types other than stereotypes are allowed in profiles and what it means What DD needs to do to get access to profiles (package merge?)

14 Proposed Diagram Graphics
Diagram Graphics (DG) Provides an abstract metamodel that defines diagram graphics syntax Provides a way to map the abstract syntax (DSL+DI) to the graphical syntax (DG) Domains extend DG to create domain specific DG and its mapping from their DSL+DI DI DG Mapping DG Graphics DSL Model (abstract syntax) Controller (mapping) View (concrete syntax)

15 Proposed Diagram Definition Architecture
Diagram Graphics (DG) Provides an abstract metamodel that defines diagram graphics syntax and how it maps to the abstract syntax (DSL+DI) Domains extend DG to create domain specific DG metamodel MOF M3 spec DI DG M2 spec DSL DSL DI DSL DG Rendered Graphics Model Diagram M1 user Is Instance of Abstract Syntax Diagram Syntax Diagram Graphics Inherits References Uses

16 Diagram Graphics (DG) – Declarative Graphics
Class Diagram Figure width x y Classifier Figure [*] Node Stereotype Label Figure [1] height Name Label Figure [1] ratio Node showTitle collapsed visible Package Label Figure [1] Attribute Compartment Figure [1] Title Label Figure [1] ratio Node List Container Figure [1] showTitle collapsed visible Label Figure [*] Operation Compartment Figure [1] Title Label Figure [1] List Container Figure [1] Label Figure [*]

17 Diagram Graphics (DG) – Declarative Map
Model (abstract syntax) Controller (map) View (concrete syntax)


Download ppt "Diagram Interchange Proposal"

Similar presentations


Ads by Google