Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
ETrice/GSoC/2012/DiagramLayout Kieler
This project "Diagram Layout in eTrice with KIELER" aims at improving the Graphical User Interface of eTrice ( a project under the Eclipse Modelling Domain intended towards implementation of the ROOM modelling language) by providing automatic lay-outing of ROOM diagrams in it's graphical editors. The lay-outing algorithms being employed are available under the KIELER project, which provides a lot of infrastructure for configuration and execution of layouts in various graphical editors in eclipse (eg: GMF and Graphiti based editors).
Contents
Deliverables
The deliverables of the project would be :
- Two fully-functional graphical editors for eTrice with automatic lay-outing features for diagrams using the KIELER framework :
- one for modelling hierarchical Structures of actors
- another for modelling hierarchical State Machine Diagram (behaviour) of actors.
- User will be provided the following methods to use the feature:
- A toolbar and menu action to trigger layout on the active diagram.
- A "Layout" view for layout option configuration.
- User Documentation for how to use these features in both the editors.
- Developer's Documentation for explaining the current implementation ( to facilitate any changes to be made in future and re-usability of the present code )
- Resources (proper interfaces) for further extending the features of the editors by using the KiVi, KSBasE and KLighD Frameworks (provided by KIELER).
- Documentation for the above resources for facilitating the extension.
- Tests for proving bug-freeness of the developed feature.
Project Implementaion
Phases of Development
The project implementation will be divided into three major phases :
- Integrating KIML with present graphical editors, which is the basis for all further improvisation and enhancements.
- Designing of the interaction mechanisms such that the layout is performed automatically in certain situations, eg. making of a new actor and binding it with another in Structural Editor (or) defining a new state and connecting it to others in Behavioural Editor will automatically trigger lay-outing.
- Investigating and Implementing KLighD into the eTrice editors. If time permits the other two KIELER sub-projects (namely KiVi, KSBasE) will also be investigated.
Timeline
Calendar
The following calendar shows the details of the various tasks to be completed and the deadlines during the project tenure :-
Basic Tentaive schedule
A superficial schedule of the project would be as follow:
- Before 2 May : Preparing the project Wiki and improving the understanding of the implementation process.
Before the beginning (Community Bonding Period)
- 2 May - 21 May : Gathering the background knowledge as indicated by above sections(Background), Detailing of the schedule to make it more rigid and easily track-able.
I Phase (Integrating KIML with present graphical editors)
- 14 May - 24June :
- Implementing the transformation of Hierarchical State Machine Diagrams to KGraph meta-model instance.
- Implementing the transformation of KGraph instance to Hierarchical State Machine Diagrams.
- Implementing the transformation of Actor Structural Diagrams of ROOM models to KGraph instance.
- Implementing the transformation of KGraph instance back to the Structural Actor Diagrams and combining the above implementations to complete phase I with tests.
II Phase (Designing of the interaction mechanisms)
- 25 June - 7 July :
- Gathering information about the required situations for automatic layout triggering
- Implementing layout triggering for the gathered situation
- Some more interaction mechanisms will be implemented after the Mid-Tern Evaluation
- 7 July - 9 July : Combining all implementations from Phase I and Phase II for preparing a stable version for mid-term evaluation.
- 9 July - 13 July : Mid-Term Evaluation
- 14 July - 15 July : Feedback reception and changes if required.
- 16 July - 22 July :
- Gathering 'more' information about the required situations for automatic layout triggering
- Implementing layout triggering for the gathered situation
- [ 23 July : Return back to the my institution (holidays end) ]
III Phase (Investigating KLighD and providing a basic integartion into the editors)
- 23 July - 29 July : Investigation of KiVi, KSBasE and KLighD projects(with special emphasis on KLighD)
- 30 July - 12 August :
- Performimg the integartion of KLighD into the editors of eTrice.
Review phase
- 13 August - 19 August : Final Review of the Code and documentation for final submission.
Project Proposal
Click Here to see the project proposal at GSoC's website.
Plug-ins
For running the delivered plug-in (to perform layout in eTrice Diagrams), following KIELER plugins are required :
- de.cau.cs.kieler.core
- de.cau.cs.kieler.core.kgraph
- de.cau.cs.kieler.core.ui
- de.cau.cs.kieler.kiml
- de.cau.cs.kieler.kiml.graphiti
- de.cau.cs.kieler.kiml.service
- de.cau.cs.kieler.kiml.ui
- de.cau.cs.kieler.klay.layered
- de.cau.cs.kieler.core.kivi
The plugins can be fetched from the KIELER git repository. (link below).
Moreover, some google libraries are also required. They are:
- com.google.guava (9.0.0)
It could be fetched from here.
(For mentors) The delivered plug-in could be reviewed on the Gerrit Code review system.
Useful Links
eTrice Project Links
KIELER Project Links
- KIELER Home
- KIELER Project Wiki : Contains links for all sub-projects
- KIELER Git Repository on Gitrious