Automatic Layout and Structure-Based Editing of UML...
Transcript of Automatic Layout and Structure-Based Editing of UML...
![Page 1: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/1.jpg)
Automatic Layout and Structure-Based Editingof UML Diagrams
Miro SponemannHauke Fuhrmann Michael Matzen Reinhard von Hanxleden
Real-Time and Embedded Systems Group, Department of Computer ScienceChristian-Albrechts-Universitat zu Kiel, Germany{msp,haf,mim,rvh}@informatik.uni-kiel.de
M-BED 2010, March 12th
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 1 / 18
![Page 2: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/2.jpg)
Outline
1 Pragmatics of MBE
2 Automatic LayoutEclipse IntegrationAlgorithms
3 Structure-Based EditingThe ApproachObject Class Transformations
4 Conclusion
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 2 / 18
![Page 3: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/3.jpg)
Pragmatics of MBE
Semantics define the structure and meaning of a modelI how to interpret it
Syntax defines the notation of a modelI how to visualize it
Pragmatics defines the interaction with a modelI how to edit it
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 3 / 18
![Page 4: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/4.jpg)
Pragmatics of MBE
Semantics define the structure and meaning of a modelI how to interpret it
Syntax defines the notation of a modelI how to visualize it
Pragmatics defines the interaction with a modelI how to edit it
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 3 / 18
![Page 5: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/5.jpg)
Pragmatics of MBE
Semantics define the structure and meaning of a modelI how to interpret it
Syntax defines the notation of a modelI how to visualize it
Pragmatics defines the interaction with a modelI how to edit it
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 3 / 18
![Page 6: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/6.jpg)
Pragmatics of MBE
Textual editing is well known
Advanced editors offer versatile assistance for editing andformatting of text
I 1-dimensional representation: relatively simple problem
Graphical editing often limited to drag-and-drop
Little automated editing and formattingI 2-dimensional representation: complex problem
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 4 / 18
![Page 7: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/7.jpg)
Pragmatics of MBE
Textual editing is well known
Advanced editors offer versatile assistance for editing andformatting of text
I 1-dimensional representation: relatively simple problem
Graphical editing often limited to drag-and-drop
Little automated editing and formattingI 2-dimensional representation: complex problem
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 4 / 18
![Page 8: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/8.jpg)
Pragmatics of MBE
Textual editing is well known
Advanced editors offer versatile assistance for editing andformatting of text
I 1-dimensional representation: relatively simple problem
Graphical editing often limited to drag-and-drop
Little automated editing and formattingI 2-dimensional representation: complex problem
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 4 / 18
![Page 9: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/9.jpg)
Pragmatics of MBE
Textual editing is well known
Advanced editors offer versatile assistance for editing andformatting of text
I 1-dimensional representation: relatively simple problem
Graphical editing often limited to drag-and-drop
Little automated editing and formattingI 2-dimensional representation: complex problem
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 4 / 18
![Page 10: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/10.jpg)
Resulting Problems
A lot of time spent on the notation of modelsI Position new elements, arrange connections and surrounding
elements. . .
High cost of model maintenance
Solution: focus on the structure of models
Perform structural modification, then let the computer do the layout!
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 5 / 18
![Page 11: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/11.jpg)
Resulting Problems
A lot of time spent on the notation of modelsI Position new elements, arrange connections and surrounding
elements. . .
High cost of model maintenance
Solution: focus on the structure of models
Perform structural modification, then let the computer do the layout!
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 5 / 18
![Page 12: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/12.jpg)
Resulting Problems
A lot of time spent on the notation of modelsI Position new elements, arrange connections and surrounding
elements. . .
High cost of model maintenance
Solution: focus on the structure of models
Perform structural modification, then let the computer do the layout!
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 5 / 18
![Page 13: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/13.jpg)
Resulting Problems
A lot of time spent on the notation of modelsI Position new elements, arrange connections and surrounding
elements. . .
High cost of model maintenance
Solution: focus on the structure of models
Perform structural modification, then let the computer do the layout!
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 5 / 18
![Page 14: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/14.jpg)
Outline
1 Pragmatics of MBE
2 Automatic LayoutEclipse IntegrationAlgorithms
3 Structure-Based EditingThe ApproachObject Class Transformations
4 Conclusion
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 6 / 18
![Page 15: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/15.jpg)
Eclipse Integration
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 16: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/16.jpg)
Eclipse Integration
Edit Parts
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 17: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/17.jpg)
Eclipse Integration
Edit Parts
File System
Domain Model
Notation Model
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 18: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/18.jpg)
Eclipse Integration
Edit Parts
File System
Domain Model
Notation Model
KGraph
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 19: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/19.jpg)
Eclipse Integration
Edit Parts
File System
Domain Model
Notation Model
KGraph
KLayoutData width: 20 height: 20
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 20: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/20.jpg)
Eclipse Integration
Edit Parts
File System
Domain Model
Notation Model
KGraph
StyleAnnotation
KOption KLayoutData width: 20 height: 20KOption
KOption
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 21: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/21.jpg)
Eclipse Integration
Edit Parts
File System
Domain Model
Notation Model
KGraph
StyleAnnotation
KOption KLayoutData width: 20 height: 20KOption
KOption
LayoutAlgorithm
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 22: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/22.jpg)
Eclipse Integration
Edit Parts
File System
Domain Model
Notation Model
KGraph
StyleAnnotation
KOption KLayoutData width: 20 height: 20 x: 324 y: 117
KOption
KOption
LayoutAlgorithm
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 23: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/23.jpg)
Eclipse Integration
Edit Parts
File System
Domain Model
Notation Model
KGraph
StyleAnnotation
KOption KLayoutData width: 20 height: 20 x: 324 y: 117
KOption
KOption
LayoutAlgorithm
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 7 / 18
![Page 24: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/24.jpg)
Extension Points
Use Eclipse extension points to define an XML-based interface
Plug in new layout algorithms
Configure default layout options
Register structure-based operations (presented later)
The goal: offer the most suitable layout forI each type of diagramI each part of a structured diagram
Layout works without any adaptions for most editors of the EclipseGraphical Modeling Framework (GMF).
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 8 / 18
![Page 25: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/25.jpg)
Extension Points
Use Eclipse extension points to define an XML-based interface
Plug in new layout algorithms
Configure default layout options
Register structure-based operations (presented later)
The goal: offer the most suitable layout forI each type of diagramI each part of a structured diagram
Layout works without any adaptions for most editors of the EclipseGraphical Modeling Framework (GMF).
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 8 / 18
![Page 26: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/26.jpg)
Extension Points
Use Eclipse extension points to define an XML-based interface
Plug in new layout algorithms
Configure default layout options
Register structure-based operations (presented later)
The goal: offer the most suitable layout forI each type of diagramI each part of a structured diagram
Layout works without any adaptions for most editors of the EclipseGraphical Modeling Framework (GMF).
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 8 / 18
![Page 27: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/27.jpg)
Extension Points
Use Eclipse extension points to define an XML-based interface
Plug in new layout algorithms
Configure default layout options
Register structure-based operations (presented later)
The goal: offer the most suitable layout forI each type of diagramI each part of a structured diagram
Layout works without any adaptions for most editors of the EclipseGraphical Modeling Framework (GMF).
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 8 / 18
![Page 28: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/28.jpg)
Extension Points
Use Eclipse extension points to define an XML-based interface
Plug in new layout algorithms
Configure default layout options
Register structure-based operations (presented later)
The goal: offer the most suitable layout forI each type of diagramI each part of a structured diagram
Layout works without any adaptions for most editors of the EclipseGraphical Modeling Framework (GMF).
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 8 / 18
![Page 29: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/29.jpg)
Extension Points
Use Eclipse extension points to define an XML-based interface
Plug in new layout algorithms
Configure default layout options
Register structure-based operations (presented later)
The goal: offer the most suitable layout forI each type of diagramI each part of a structured diagram
Layout works without any adaptions for most editors of the EclipseGraphical Modeling Framework (GMF).
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 8 / 18
![Page 30: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/30.jpg)
Graph Drawing Algorithms
Connect existing implementations to our layout interface:I Graphviz, a widely used command line toolI Zest, part of the Eclipse Graphical Editing Framework (GEF)I OGDF, a C++ library developed at the TU Dortmund
Specialized algorithms for specific diagram typesI Developed a layouter for data flow diagrams, e. g. Simulink, SCADE,
PtolemyI OGDF has a special layouter for class diagrams
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 9 / 18
![Page 31: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/31.jpg)
Graph Drawing Algorithms
Connect existing implementations to our layout interface:I Graphviz, a widely used command line toolI Zest, part of the Eclipse Graphical Editing Framework (GEF)I OGDF, a C++ library developed at the TU Dortmund
Specialized algorithms for specific diagram typesI Developed a layouter for data flow diagrams, e. g. Simulink, SCADE,
PtolemyI OGDF has a special layouter for class diagrams
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 9 / 18
![Page 32: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/32.jpg)
Data Flow Diagram Layout
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 10 / 18
![Page 33: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/33.jpg)
Outline
1 Pragmatics of MBE
2 Automatic LayoutEclipse IntegrationAlgorithms
3 Structure-Based EditingThe ApproachObject Class Transformations
4 Conclusion
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 11 / 18
![Page 34: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/34.jpg)
Structure-Based Editing
Use a model transformation language to specify operationsI E. g. Xtend (Eclipse M2T project)
Operate directly on the semantic model instead of the notation model
Perform automatic layout after each operation
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 12 / 18
![Page 35: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/35.jpg)
Structure-Based Editing
Use a model transformation language to specify operationsI E. g. Xtend (Eclipse M2T project)
Operate directly on the semantic model instead of the notation model
Perform automatic layout after each operation
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 12 / 18
![Page 36: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/36.jpg)
Structure-Based Editing
Use a model transformation language to specify operationsI E. g. Xtend (Eclipse M2T project)
Operate directly on the semantic model instead of the notation model
Perform automatic layout after each operation
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 12 / 18
![Page 37: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/37.jpg)
Xtend Operations
Create a successor action in an activity diagram
Void createSuccessor(Action action):
let newAction = new OpaqueAction:
newAction.setActivity(action.activity) ->
controlFlow(action, newAction);
Void controlFlow(Action action1, Action action2):
let flow = new ControlFlow:
flow.setActivity(action1.activity) ->
flow.setSource(action1) ->
flow.setTarget(action2);
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 13 / 18
![Page 38: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/38.jpg)
Object Class Transformations
The UML metamodel has many specializationsI E. g. OpaqueAction, CallBehaviorAction, CallOperationAction,
CreateObjectAction, AcceptEventAction, SendSignalAction. . .
To change an instance, remove it, add the new instance, and fix allproperties and connections
Structure-based editing can be used to simplify this
Write toggling operations that perform all these steps automatically
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 14 / 18
![Page 39: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/39.jpg)
Object Class Transformations
The UML metamodel has many specializationsI E. g. OpaqueAction, CallBehaviorAction, CallOperationAction,
CreateObjectAction, AcceptEventAction, SendSignalAction. . .
To change an instance, remove it, add the new instance, and fix allproperties and connections
Structure-based editing can be used to simplify this
Write toggling operations that perform all these steps automatically
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 14 / 18
![Page 40: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/40.jpg)
Object Class Transformations
The UML metamodel has many specializationsI E. g. OpaqueAction, CallBehaviorAction, CallOperationAction,
CreateObjectAction, AcceptEventAction, SendSignalAction. . .
To change an instance, remove it, add the new instance, and fix allproperties and connections
Structure-based editing can be used to simplify this
Write toggling operations that perform all these steps automatically
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 14 / 18
![Page 41: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/41.jpg)
Object Class Transformations
The UML metamodel has many specializationsI E. g. OpaqueAction, CallBehaviorAction, CallOperationAction,
CreateObjectAction, AcceptEventAction, SendSignalAction. . .
To change an instance, remove it, add the new instance, and fix allproperties and connections
Structure-based editing can be used to simplify this
Write toggling operations that perform all these steps automatically
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 14 / 18
![Page 42: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/42.jpg)
Conclusion
Introduced a framework for automatic layout in Eclipse
Perform structural operations employing automatic layoutI Structure-based editing
Concepts can be applied with minimal effort to all GMF diagrameditors
I E. g. SyncCharts, a synchronous Statecharts dialect
Available in the open source project KIELER
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 15 / 18
![Page 43: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/43.jpg)
Conclusion
Introduced a framework for automatic layout in Eclipse
Perform structural operations employing automatic layoutI Structure-based editing
Concepts can be applied with minimal effort to all GMF diagrameditors
I E. g. SyncCharts, a synchronous Statecharts dialect
Available in the open source project KIELER
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 15 / 18
![Page 44: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/44.jpg)
Conclusion
Introduced a framework for automatic layout in Eclipse
Perform structural operations employing automatic layoutI Structure-based editing
Concepts can be applied with minimal effort to all GMF diagrameditors
I E. g. SyncCharts, a synchronous Statecharts dialect
Available in the open source project KIELER
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 15 / 18
![Page 45: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/45.jpg)
Conclusion
Introduced a framework for automatic layout in Eclipse
Perform structural operations employing automatic layoutI Structure-based editing
Concepts can be applied with minimal effort to all GMF diagrameditors
I E. g. SyncCharts, a synchronous Statecharts dialect
Available in the open source project KIELER
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 15 / 18
![Page 46: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/46.jpg)
Future Work
Define a concrete set of transformations on the UML metamodel
Evaluate resulting operations in the context of actual developmentprojects
Synchronize graphical diagrams with textual representations
View management: dynamic creation of graphical viewsI Display models with different levels of detail
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 16 / 18
![Page 47: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/47.jpg)
Future Work
Define a concrete set of transformations on the UML metamodel
Evaluate resulting operations in the context of actual developmentprojects
Synchronize graphical diagrams with textual representations
View management: dynamic creation of graphical viewsI Display models with different levels of detail
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 16 / 18
![Page 48: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/48.jpg)
Future Work
Define a concrete set of transformations on the UML metamodel
Evaluate resulting operations in the context of actual developmentprojects
Synchronize graphical diagrams with textual representations
View management: dynamic creation of graphical viewsI Display models with different levels of detail
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 16 / 18
![Page 49: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/49.jpg)
Future Work
Define a concrete set of transformations on the UML metamodel
Evaluate resulting operations in the context of actual developmentprojects
Synchronize graphical diagrams with textual representations
View management: dynamic creation of graphical viewsI Display models with different levels of detail
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 16 / 18
![Page 50: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/50.jpg)
View Management: UML Metamodel
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 17 / 18
![Page 51: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/51.jpg)
View Management: UML Metamodel
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 17 / 18
![Page 52: Automatic Layout and Structure-Based Editing of UML …rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/mbed10-talk.pdf · Automatic Layout and Structure-Based Editing ... I Zest,](https://reader031.fdocuments.in/reader031/viewer/2022013014/5ad887767f8b9a9d5c8d6ffb/html5/thumbnails/52.jpg)
Contact
www.informatik.uni-kiel.de/rtsys
Miro Sponemann (University of Kiel) Layout and Editing for UML M-BED 2010 18 / 18