Page History
Warning | ||
---|---|---|
| ||
Pragmatics 2014-10 hasn't been released yet. These release notes are preliminary! |
KIELER Pragmatics 2014/10
...
As a bonus, we are co-releasing our KLighD-based KIELER Ptolemy Browser.
...
title | What's with the new version numbering scheme? |
---|
...
.
...
Table of Contents | ||
---|---|---|
|
Installation
KIELER Pragmatics 2014/05 10 is provided as a set of features, available to be added to your Eclipse installation via an update site. KIELER Pragmatics 2014/05 10 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 Also refer to the KIELER Tools and LibrariesDownloads 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 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/
...
10
This is a summary of the API changes introduced with version 2014/0510:
- 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.Core ChangesIPropertyHolder
'ssetProperty(...)
andcopyProperties(...)
now returnIPropertyHolder
instead ofvoid
, implementations are supposed to returnthis
for convenience- KIELER Lightweight Diagrams
- Added
DiagramSyntheses
class providing lots of convenience methods for configuring the view model in diagram synthesis implementations (preliminary version introduced with last previous release) IViewer
providesgetZoomLevel()
IViewer
provides methods for registeringIViewChangeListener
sIUpdateStrategy
now requires the methodrequiresDiagramSynthesisReRun(...)
that allows to tell KLighD's runtime whether a new synthesis run is required for performing a (certain) diagram update- Introduced
IKlighdSelection
interface abstractingKlighdTreeSelection
andKlighdTextSelection
- Updated
layoutDiagram(...)
methods inLightDiagramServices
- Added
New Features Included in 2014/
...
10
Here's a few highlights of what's new in version 2014/0510:
- 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
andLayoutOptions.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
):
- 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 descriptionsImproved integration of the magnifying lens (hit
alt + ctrl/cmd)
and rubber band zoom (pressctrl/cmd
and drag on canvas) - Enabled the contribution of action invocation buttons (execution of
IActions
) in the diagram side bar (so far actions could only be executed by clicking on a diagram element of via menu contributions), see related hook inAbstractDiagramSynthesis
- Added
editable
flag toKText
in order to distinguish cursor selectability and editability - Enabled the zoom level-based visibility of diagram elements (nodes, ports, edges, labels) and figure elements (fine grained figure details, texts, ...), see
setUpperVisibilityScaleBound
&setLowerVisibilityScaleBound
methods inDiagramSyntheses
- Enabled output-dependent visibility (main diagram, outline, printout, image export) of figure elements (highlightings, fine grained figure details, texts, ...), see corresponding methods in
DiagramSyntheses
- Diagram image export now supports tiled exports enabling the export of huge diagrams, which may be prevented by memory limitations in the past
- Contributed appropriate print support and (customizable) print dialog with preview
- Contributed a customized SVG image exporter based on FreeHEP (http://freehep.github.io/freehep-vectorgraphics/) being able to attach semantic data to the image data
- Contributed generic
PortRotationModifier
(style modifier) that realizes the rotation of port figures in case ports are moved to a different side by the automatic layout computation - Added zoom style
ZOOM_TO_ACTUAL_SIZE
, added corresponding configuration methods inIAction.ActionResult
- Added switch in
KlighdSynthesisProperties
to deactivate minimal diagram figure size estimation in case size data are already available
- 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 descriptionsImproved integration of the magnifying lens (hit
- KGraph Text
- A new option
de.cau.cs.kieler.kgraphsynthesis.defaults
can enable default values for element sizes and labels to make KGT files more compact.
- A new option
Important Bugs Fixed in 2014/10
Among others, the following bugs were fixed in version 2014/10:
- KIELER Layout Algorithms
- In KLay Layered, the polyline edge router could produce results where edges overlapped nodes.
- In KLay Layered, the polyline edge router could produce weird results when more than one edge leaves a given port.
Quickstart
Diagram Layout
...
- Save a Ptolemy model as a
.moml
file somewhere. Download and start our Ptolemy Model Browser.
Tip title - Note for Mac OS UsersOpen 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
- Starting with Mac OS X Mountain Lion, trying to start the Ptolemy Model Browser our software may give you the following an error message similar to this:
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
The solution is to open your system preferences and navigate to the Security & Privacy settings. Therein, make sure to set either click on Open Anyway if available or change Allow apps downloaded from to Anywhere:.Start the Ptolemy Browser again. This will
Starting our software will now result in the following warningmessage:
Simple Simply 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 .
- Upon starting the Ptolemy Model Browser, you may get something like this:
The solution is to exit the application, remove your existing workspace, and restart the Ptolemy Model Browser. Your workspace can be found in your home folder and is calledkielerPtolemyWs
. - The Ptolemy Model Browser 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.
...