Eclipse Sprotty

Primary tabs


Within the scope of Eclipse Sprotty are

  • Diagrams to browse and manipulate models in web applications.

  • Support for a distributed runtime: share the workload between a client and server.

  • An extensible protocol for the communication between client and server

  • Diagram authoring facilities: choosing the content of a diagram, arranging diagram elements manually, adding/removing diagram elements, exploring the neighborhood of an element, reconciling a diagram with changes of the underlying model, trigger auto-layout.

  • Diagram navigation facilities: open elements, drill up/down, zoom/scroll/center/fit, selection etc.

  • Graphical editing facilities: changing the underlying model via the diagram, create/delete/change/customize/connect elements, undo/redo etc.

  • Exporting diagrams to a vector-based graphics format.

  • Integration with Xtext and LSP to visualize programming artifacts.

  • Integration with IDE frontends like Eclipse Theia or Eclipse IDE.

  • Integration with auto-layout engines such as the ELK.

Out of scope are

  • Auto-layout algorithms for diagrams. We rely on existing frameworks like ELK instead.

  • Visualization of huge datasets, like statistical data or timeseries. These are much better handled with frameworks like D3.js. Sprotty focusses on models, i.e. connected elements with fewer properties.

  • 3-dimensional visualization.

  • Specific model editors/views, e.g. for UML. Of course, Sprotty can be used to implement such a thing, but this should be done in separate downstream projects.

  • Tools to author specific diagram editors, like GMF Tooling or Sirius do.

Creation Review2018-08-01