® IBM Software Group © 2006 IBM Corporation Diagram Definition: Initial Submission Maged Elaasar, IBM ADTF, OMG June 2009, San Jose, Costa Rica
IBM Software Group | Rational software 2 Agenda DD Status DI Metamodel Example for UML DI Refinements DI more abstractions DI concrete classes DI extensibility DI interchange format DI common properties DI style sheets DG Discussions
IBM Software Group | Rational software 3 Problem Statement 1.Diagram Interchange How diagrams should be represented and persisted (diagram syntax) Changes Connectors association is from View to Connector Connectors are owned by lowest common parent of the source and target (constraint) Waypoints are ordered and non unique Master style sheet (ordered) Change StyleRule.context to something different from View.context Incorporate application style sheets 2.Diagram Graphics How diagrams should be rendered to graphics (concrete syntax)
IBM Software Group | Rational software 4 Proposed Diagram Interchange (DI) MOF DI DSL M3 M2 M1 DSL DI user ModelDiagram Abstract Syntax Diagram Syntax spec 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 Is Instance of Inherits References
IBM Software Group | Rational software 5 Diagram Interchange (DI)
IBM Software Group | Rational software 6 UML Class Shape Example Node Diagram Node x y width ratio -showTitle -collapsed -visible height -showTitle -collapsed -visible
IBM Software Group | Rational software 7 UML Class Shapes
IBM Software Group | Rational software 8 UML Class Connectors
IBM Software Group | Rational software 9 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
IBM Software Group | Rational software 10 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?)
IBM Software Group | Rational software 11 DI Interchange Format XMI problems XMI to XSD mapping is subject to options that individual specs did not agree to set XMI to XSD mapping is not likeable and creates problems in XSD tools/communitiies Propagate these requirements to XMI RTF BPMN2 should address this problem on their own for now
IBM Software Group | Rational software 12 DI Style Sheets
IBM Software Group | Rational software 13 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 Graphics DSL DG Mapping Model (abstract syntax) Controller (mapping) View (concrete syntax)
IBM Software Group | Rational software 14 Proposed Diagram Definition Architecture MOF DI UML M3 M2 M1 UML DI DG UML DG user ModelDiagram Abstract Syntax Diagram Syntax Diagram Graphics spec Rendered Graphics 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 Is Instance of Inherits References Input
IBM Software Group | Rational software 15 Diagram Graphics (DG) – Declarative Graphics Classifier Figure Label Diagram Figure Compartment Figure Label [*] XY Layout Toolbar Layout Toolbar Layout Label Compartment Figure Label [*] Toolbar Layout Label ratio bounds
IBM Software Group | Rational software 16 Diagram Graphics (DG) – Declarative Map Model (abstract syntax) Controller (map) View (concrete syntax)