KIELER Pragmatics 2014/05

We are happy to provide release 2014/05 of the KIELER Pragmatics Project! It is a framework for enhanced user interaction in graphical modeling that builds on the Eclipse platform. This document describes how to install the release and highlights the most exciting new features.

As a bonus, we are co-releasing our KLighD-based KIELER Ptolemy Browser. As a further bonus, the next few days will see the first release of our KIELER KLayJS libraries that bring our very own KLay Layered layout algorithm to the world of JavaScript.

What's with the new version numbering scheme?

Instead of naming this release KIELER Pragmatics 0.12.0, we decided to name it KIELER Pragmatics 2014/05. This way, people immediately see when this version was released. Also, since the plug-ins and features carry a timestamp, people can immediately see which release a particular plug-in or feature belongs to. All hail to clarity!

Installation

KIELER Pragmatics 2014/05 is provided as a set of features, available to be added to your Eclipse installation via an update site. KIELER Pragmatics 2014/05 was tested on Eclipse 4.3 "Kepler", but may also be compatible with other versions of Eclipse.

  • See the KIELER Downloads site for download details.
  • KIELER Pragmatics requires an installed Java Runtime Environment >= version 1.5.
  • The layout components of KIELER can make use of the layout algorithms provided by the Graphviz library. You may want to install that.

See the KIELER Tools and Libraries page to download the KIELER Ptolemy Browser and the KIELER Web Service.

Release Notes

The 2014/05 release of KIELER Pragmatics continues our efforts to redesign our core APIs, KIML and KLighD. It includes a number of API-breaking changes, so beware of upgrading to this release if you currently do not have time to adapt your code accordingly. You can find a list of solved tickets for this release at our issue tracking system. Release notes of older releases can be found at our Old Release Notes page.

If you're wondering where components have gone that were traditionally a part of KIELER, you might not know yet that the KIELER was split into two separate projects, KIELER Pragmatics and KIELER Semantics, which release pretty much independently.

API Changes in 2014/05

This is a summary of the API changes introduced with version 2014/05:

  • KIELER Lightweight Diagrams
  • KIELER Infrastructure for Meta-Layout*

    Renamed LayoutDataService to LayoutMetaDataService and renamed ILayoutData to ILayoutMetaData in order to avoid confusion with the KLayoutData meta model and the respective interface.

    • Removed generic type argument from LayoutOptionData.
    • ILayoutConfig: renamed API method enrich() to getContextValue(..), renamed getValue(..) to getOptionValue(..), renamed setValue(..) to setOptionValue(..), renamed clearValues() to clearOptionValues(..) – see Configuring Automatic Layout for more details.

    • IDiagramLayoutManager does not inherit from IAdapterFactory anymore; adapter values are now accessed with layoutManager.getDiagramConfig().getContextValue(..)

    • Graphiti bridge: moved some methods from KimlGraphitiUtil to GraphitiDiagramLayoutManager in order to allow easier adaptation in subclasses. Furthermore, we now differentiate margins (spacing to visible part of a node) and insets (spacing to nested subgraph).

    • Made a design review of the de.cau.cs.kieler.core plugin and improved the API of some core classes and interfaces.

New Features Included in 2014/05

Here's a few highlights of what's new in version 2014/05:

  • KIELER Lightweight Diagrams
  • KIELER Infrastructure for Meta-Layout*

    Made categorization of the Layout View more understandable.

    • Added a creation method for VolatileLayoutConfig that makes the far too complicated STATIC_CONFIG of layout managers unnecessary.

  • KIELER Layout Algorithms
    • KLay Layered now makes sure that labels of compound node ports placed on the inside of the compound node are not overlapped by nodes inside the compound node.
    • KLay Layered now supports controlling the spacing between and around ports through the new layout options LayoutOptions.PORT_SPACING and LayoutOptions.ADDITIONAL_PORT_SPACING.
    • KLay Layered now understands LayoutOptions.NO_LAYOUT, which can be set to exclude particular graph elements from automatic layout.
    • KLay Layered now understands a new programmatic option for edge thickness.
    • When in hierarchical layout mode, KLay Layered now properly places edge labels of cross-hierarchy edges.
    • When in hierarchical layout mode, KLay Layered can now compact cross-hierarchy edges as it can compact regular edges (Properties.MERGE_HIERARCHICAL_PORTS):
      merge_hierarchy.png
  • KGraph Text
    • The textual language for defining KGraphs now has a lot more defaults. Node and port labels are automatically extracted from the node's and port's ID. Nodes and ports also have a default size. This makes for shorter diagram descriptions.

Quickstart

Diagram Layout

One of the core features of KIELER Pragmatics is the KIELER Infrastructure for Meta-Layout (KIML). It provides the glue between diagram editors and layout algorithms. If you have installed layout support for GMF editors, you may want to try the following:

  • Open a diagram using a GMF editor.
  • Press the Layout button in the toolbar:kieler-arrange.gif
  • Open the Layout View by clicking Window -> Show View -> Other... and choosing Layout from the KIELER Layout category.
  • Change some of the values and press the Layout button again.

Viewing Ptolemy Models

If you have a Ptolemy installation, try the following:

  • Save a Ptolemy model as a .moml file somewhere.
  • Download and start our Ptolemy Model Browser.

    Note for Mac OS Users

    Starting with Mac OS X Mountain Lion, trying to start the Ptolemy Model Browser may give you the following error message:

    damaged_error.png

    The problem is not that our application file is damaged in any way. Much rather, we have not invested the money to obtain a proper developer certificate with which this error would not be generated. The solution is to open your system preferences and navigate to the Security & Privacy settings. Therein, make sure to set Allow apps downloaded from to Anywhere:

    security_preferences.png

    Start the Ptolemy Browser again. This will result in the following warning:

    untrusted_error.png

    Simple click "Open" and you're good to go at last.

  • Open your moml file.
  • Double-click actors that have further models inside them. Also double-click modal model states that have refinements. Use the sidebar on the right to influence how your model is displayed.

Known Problems and Limitations

  • The Ptolemy Model Viewer can properly display only a limited set of actors. Other actors may look a lot different than they do in Ptolemy.
  • Currently there is no full-blown user documentation integrated. See our Kieler for more information.

Bug Reports, Comments

We're working hard to make the graphical modeling user experience as convenient as possible. However, bugs can still remain in the code and some things might not be as you would expect them. Please don't hesitate to send in bug reports or give other comments like feature requests.

Send bug reports to kieler@…, please. For news or general questions subscribe to the rt-kieler mailing list.

Tags: