The KIELER Lightweight Diagrams project aims at offering transient lightweight representations of models or parts of them, without incorporating complex editing facilities like graphical editors.
Instead graphical or textual representations are to be synthesized from a chosen fraction of a model base and dismissed if they are not needed anymore. This way the Model-View-Controller paradigm (MVC) shall be established at the users' front end of modeling tools. Although KLighD is intended to address graphical as well as textual transient views, the graphical ones are currently in the focus. The layout of those views is contributed by KIML.
In order to get started with realizing your own diagrams by means of KLighD we suggest to install our layout infrastructure into your Eclipse development environment as shown in the following picture (the GMF runtime is available in Eclipse modeling distributions anyway). This reduces the plugins you need to checkout in to workspace. In case you're interested in creating state machine diagrams we suggest you to install the Graphviz support, too. Note that employing Graphviz requires to also install the native library, see http://www.graphviz.org/ The OGDF support brings optimized layout algorithms, e.g., for class diagrams.
Clone our git repository called 'kieler-pragmatics' accessible via http://git.rtsys.informatik.uni-kiel.de/scm/KIELER/pragmatics.git (you need to create an account on that portal first). Afterwards, import the following plugins into your workspace:
- de.cau.cs.kieler.klighd.examples (you won't need it at runtime but it contains some exemplary diagram synthesis implementations)
Create a simple diagram synthesis implementation like those of the 'examples' project, you need not to use Xtend, pure Java is also fine. Register your transformation via the 'modelTransformation' extension point, see the plugin.xml of the 'examples' project on how to to that.
Now you only need to call
DiagramViewManager.getInstance().createView(<someViewId>, <someViewTitle>, yourModel);, e.g., via a menu entry.
- Graphical representations of given models with at chosen level of detail on demand (querying);
Example: Visualization of data structures:
- Continuous maintenance of a graphical representation while a model is elaborated
- Advanced navigation