User Tools

Site Tools


changelog:v3.0.0

Workcraft v3.0.0 (2014-10-01)

Usability improvements

  • Hierarchical modelling with pages
    • Support for hierarchical graph models is the main change in this release of Workcraft. This is implemented by a concept of Pages. A page is similar to a group, but also provide a separate namespace for the graph nodes inside it. This will be further extended to enable co-simulation and co-verification of the models of different types.
    • Currently the following plugins support hierarchical modelling: Directed graph, Petri net, Circuit and STG.
    • Plugins that do not currently support the hierarchical modelling (FSM, xMAS, DFS, Policy net, CPOG) have the Page tool disabled.
  • Simulation tools and simulation trace handling
    • Save marking and Load marking buttons are removed as the same functionality can be achieved by copying and pasting of the whole trace state.
    • The trace parser is improved to support a slightly different output of the new PNML-enabled MPSat tool.
    • The active trace is remembered when leaving the simulation mode and restored when entering the simulation again. The trace is preserved until it is explicitly reset or overwritten with a new trace.
    • The state of the navigation buttons for browsing the simulation trace is correctly set when MPSat counterexample traces are passed for simulation.
  • Property editor
    • Node coordinates are recalculated to the root component, so the values X and Y values are consistent to the those indicated at the graph editor rulers.
    • Support for comma as a valid decimal number separator.
    • Unchangeable or irrelevant information about the currently selected nodes is filtered out from the property editor (e.g. names of the connections and implicit places, fill color for the
    • Changes in the text fields are remembered after the lost of the focus. Pressing Enter to confirm the changes is not necessary.
    • Connections can be assigned a color and a label.
  • Model editor
    • Implementation of multi-line labels. Double clicking on a textual note opens it up so that the label text can be edited. The user can introduce a new line when Return is pressed, and leaves the note by clicking anywhere outside it. For editing a component label in the property editor use a vertical line symbol to introduce the new lines (e.g., aaa|bbb|ccc for a three-line label).
    • The verbosity of the model title in the editor tab can be specified in the Edit→Preferences.. window under the Common→Editor→Model title style. The model title style can be set as long (full model type), short (abbreviated model type) or minimal (no model type). Shorten model type (usually abbreviated from the full names, e.g. DG, PN, STG) is the default choice as it allows to preserve the important information in a compact form.
    • Highlight the node under the mouse cursor. This simplifies selection of a specific component or connection that overlaps with other nodes.
    • Selection of connections is prioritised over components in order allow their modification when they are located on top of other nodes.
  • Main menu
    • A list of recently opened files is added to the File→Open recent menu.
    • Popup menu is added to the Output and Problems windows to enable select, copy and clear the logs.
    • Tools menu is disabled in the simulation mode to prevent unexpected transformations of the model.
    • File→Export and Edit menus are disabled when no work is open.

Model and tool plugins

  • Finite State Machine plugin
    • This is a new plugin to specify, edit, simulate and verify the finite state machine models.
    • Translation of FSMs into Petri nets (Tools→Conversion→Generate Petri net menu) enables reuse of simulation and verification tools that are already developed for Petri nets.
    • This plugin will serve as a basis for visualisation and analysis of state graphs derived from Petri nets, STGs and high-level models.
  • Digital Circuit plugin
    • Output ports are explicitly added to the STG generated from circuits.
    • Boolean expressions on the output ports are updated when the involved port are renamed.
  • Structured Occurrence Net plugin
    • Tools for creating Supergroups and Blocks.
    • Explicit labels for Occurrence Net groups.
    • Backward compatibility with the previous version of work files is restored.
  • Conditional Partial Order Graph plugin
    • Interface to the programmer tool for advanced encoding of scenarios.
  • MPSat tool plugin
    • Enable the use of PNML versions of Punf and MPSat tools. This can be selected in the Edit→Preferences.. window under External tools→MPSat→Use PNML-based unfolding (where possible)
  • PComp tool plugin
    • Enable the shared STG output option in the interface to pcomp tool.
    • Use shared STG outputs to simplify circuit composition with its environment STG.

Fixes and technical stuff

  • Code refactoring
    • Simplified generation of default reference names
    • Refactoring of SON plugin to simplify SON connections with different semantics.
    • Simplification of the simulation tools and the trace data structures.
    • Unified code for Group and Page grouping.
    • Refactoring of file-related operations (open, save, merge).
    • Clean up of the properties and property descriptors implementation.
    • Property descriptor for node names is moved to the core.
  • Miscellaneous fixes
    • Corrections to workcraft start script so it is compatible both with Linux and MacOS.
    • The initial size of the bounding box for groups and pages is correctly calculated.
    • Fix for creating pages with circuit gates that contain self-loops (previously this led to an exception).