Skip to main content
Jump to: navigation, search

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).


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 Develoipment

The project implementation will be divided into three major phases :

  1. Integrating KIML with present graphical editors, which is the basis for all further improvisation and enhancements.
  2. 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.
  3. 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).



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.</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
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 .

Useful Links

eTrice Project Links

KIELER Project Links

Graphiti Project Links

Plugin Development Links

Back to the top