In this talk we will show how you can employ Eclipse Theia as application framework and Eclipse Sprotty as graphical framework to create a modeling tool. You will learn about the various considerations that have to be made when designing a user interface for interacting with models, and you will see what Theia and Sprotty are able to contribute in this regard.
A modeling tool usually separates the model contents and their graphical views / editors. Sprotty can handle all kinds of model sources, e.g. EMF, Xtext, CDO etc. The user interface of the graphical part can be designed independently of those sources. There is a number of typical questions and challenges that arise while designing those views:
- How to manage graphical views in the modeling tool? Create views on demand or automatically? Should they be persisted?
- How tightly should the contents of the views be coupled with the models? Show exactly what is in the model, or just a selected subset of it?
- How to reconcile the views after the model has changed?
- How to map model elements to graph elements (nodes, edges, ports, labels, compartments)?
- How far should the editing capabilities go in the graphical views (add, remove, connect, rename, etc.)?
- Arrange the graphical layout automatically or manually, or both?
- What style to choose for the graphical representation and layout: composition or connection, free edges or bound to ports, splines or Manhattan routing?
While all these options can be realized using Theia and Sprotty, they may not all be useful in the context of your specific application. We will give you hints that can help you to get to the right decisions.