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).
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.
Phases of Develoipment
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 the other three KIELER sub-projects (namely KiVi, KSBasE and KLighD) and evaluating the specific requirements for integrating them into the editors(explained below).
Timeline and Schedule
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.</p>
Before the beginning (Community Bonding Period)
- 2 May - 13 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 - 20 May : Implementing the transformation of Hierarchical State Machine Diagrams to KGraph meta-model instance.
- 21 May - 27 May : Implementing the transformation of KGraph instance to Hierarchical State Machine Diagrams.
- 28 May - 3 June : Implementing the transformation of Actor Structural Diagrams of ROOM models to KGraph instance.
- 4 June - 10 June : 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)
- 11 June - 17 June : Gathering information about the required situations for automatic layout triggering
- 18 June - 24 June : Implementing layout triggering for the gathered situation
- 25 June - 3 July : Implementing layout triggering for the gathered situation
- 4 July - 8 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.
III Phase (Integrating KiVi, KSBasE and KLighD into the editors)
- 16 July - 23 July : Investigation of KiVi project to adapt the present editors for its integration (improvisation of the code).
[ 24 July : Return back to the my institution (holidays end) ]
- 25 July - 29 July : Investigation of KSBasE project and adapting the present code for its integration.
- 30 July - 5 August : Investigation of KLighD project and adapting the present code for its integration.
- 6 August - 12 August : A backup week(if something runs out of schedule). If everything on time, code and Documentation review starts
- 13 August - 19 August : Final Review of the Code and documentation for final submission.
The following calendar shows the details of the various tasks to be completed and the deadlines during the project tenure :-
Click Here to see the project proposal at GSoC's website .
eTrice Project Links
KIELER Project Links
- KIELER Home
- KIELER Project Wiki : Contains links for all sub-projects
- KIELER Git Repository on Gitrious