We’re here to help you

Menu

Release Notes Dezyne Version 2-0-0

The Verum team is pleased to announce that starting with the 29th of June 2016 Dezyne Release 2.0 is available for download.

This version is free for non-commercial use.

If you are interested in a license for commercial evaluation or commercial usage, please contact sales@verum.com.

New features and improvements

Grand unification of the single threaded and multi threaded semantic models.

In Release 2, the Dezyne language has been extended to provide richer semantics. Components and sub systems can handle possibly delayed communication with the outside world and wait for the result, while blocking other events.

Enable integration of Dezyne into other IDEs than Eclipse.

Now Eclipse has become a rather thin client, the Dezyne command line client opens the way for easy integration with other IDEs, such as Microsoft Visual Studio.

Web client replaced

The Web client is not available any more. It has been replaced by the command-line and daemon web view support. See the ‘dzn view’ and ‘dzn browse’ commands.

Language extensions

  • blocking keyword: In a component an event can be specified as ‘blocking’. This blocks all communication on the event’s port until the reply for the blocked port is given, possibly in another port’s in-event handling.

  • external keyword: In a component a requires port can be labelled ‘external’. This indicates that events over this port are not instantaneous, and the delay can cause extra race conditions. The Dezyne verification will take these race conditions into account.

  • integer and boolean reply values: Starting from release 2.0 valued events can have not only an ‘enum’ type, but also ‘bool’ and ‘subint’.

Eclipse

The Eclipse client extensions include:

  • Grand unification of Eclipse and the Dezyne command line: The Dezyne functionality offered by the Eclipse IDE now uses the Dezyne command line client.Each action and its results are logged in the new Dezyne Command Line Console, and can be replayed from there.

  • Automatic installation of node.js and Dezyne command line if not available on your system.

  • Interactive tutorials via welcome screen: In 2.0 the welcome screen gives access to a number of interactive tutorials.

    • Introducing Dezyne

    • Dezyne example: Model and Debug a Messaging Protocol Stack using Dezyne

  • Verification result overview: The results of a verification are summarised in a new overview window. It shows in a table the verification status of each involved interface and component.

  • Namespaces: Dezyne namespaces, introduced in release 1.2, are fully supported by Eclipse.

  • Windows, MacOSX, Linux on par: The Eclipse client 2.0 is available for Windows, MacOSX, and Linux.

Command line

  • npm install: The 2.0 Command line client is available for download as an npm package, and can be installed as such on Windows, MacOSX, and Linux. Please see the Dezyne community site for installation instructions.

    • Take care: Windows can hold resources that prevent installation. Please stop all node/nodejs processes before installation.

  • Daemon: An additional daemon process is introduced between the command line client and the server. This process maintains the Dezyne session state and it serves the different Dezyne views locally.

    • The daemon serves connections on localhost port 4000

  • Query command: This new command lists all available service versions. Currently 1.2.1 and 2.0.0. are available

  • View command: This new command generates all views.

  • Browse command: This new command displays views in a web browser.

  • Table command: This command is deprecated.

  • Depends command: This command has been removed. Its functionality has been moved to the ‘code’ command.

  • Convert command: The convert command synthesizes GlobalTypes.dzn automatically.

Code generation

  • Scoping

    • In C++ code the ‘dezyne’ namespace has been replaced by ‘dzn’.

    • In c code the ‘dezyne’ prefix has been replaced by ‘dzn’

    • In Javascript the scope has been changed to ‘dzn’ also.

  • Pump: The C++ runtime has been extended with ‘container.hh’, ‘context.hh’, ‘coroutine.hh’,’pump.hh’, and ‘pump.cc’. These extensions support ‘blocking’ and thread safety.

  • Generated main: In C++ code generation the generated ‘main’ has been simplified by using a library solution.

  • Thread-safe shell: The C++ code generation optionally generates a thread-safe container for a system component.

  • Compatibility: The generated code is not compatible with version 1.2. Main cause is the change in scoping, but there are other small changes as well.

Visualisation

  • System view: The system view has been changed in some aspects:

    • Foreign components have a distinctive blue colour

    • External ports are colored yellow.

Documentation

  • The Dezyne documentation has been updated with all new language features

  • A glossary has been added.

Solved issues

  • 7126 No sequence trace displayed when starting simulation

  • 7125 Table Layout problems

  • 7124 Problems drawing tables

  • 7119 Incorrect path

  • 7116 Simulator not highlighting updates in watch window

  • 7103 Verification fails – no sequence trace

  • 7100 Command line error in Eclipse

  • 7096 Exception backtrace

  • 7092 syntax error results in Java null pointer exception

  • 7089 simulator window moves to top at every update

  • 7088 subint errors

  • 7086 component selection using System view pulldown causes Dezyne crash (fatal error Java Runtime Environment)

  • 7085 Internal error occurred during XtextReconcilerJob

  • 7082 interface definition gives parser error during verification

  • 7078 Unable to simulate model with two nested namespaces

  • 7075 Not keyword on runtime.cc

  • 7074 Dezyne runtime generated files

  • 7069 Select model dialogs shall display fully qualified model name including namespace

  • 7068 Editor shall support nested namespace shorthand notation of arbitrary depth

  • 7066 I would like to have Breadcrumbs ON by default

  • 7065 I would like access from the tool to a set of cheat sheets / guidelines especially for new users

  • 7063 Provide better search results

  • 7059 Unable to simulate, using the Eclipse Dezyne client, a component specified in a namespace

  • 7055 Null pointer exception when creating State Chart view

  • 7054 Syntax checking failure, system view failure – out of stack space

  • 7052 Open Sequence view if closed when displaying failed verification results

  • 7050 Dialogs over dialogs

  • 7042 Enhancement: highlight hand-crafted components in System View

  • 7041 Model verifies OK but System View fails saying connection error

  • 7032 Verification error in imported file not properly identified

  • 7031 Eclipse client file data out of synch with file system – file Save As failure etc

  • 7028 Unable to import a file that has a simple name

  • 7026 Should report an import file that was not found or was not usable

  • 7024 Verification should detect and flag file-import recursion

  • 7022 Unable to generate code using the Dezyne commandline client under Windows

  • 7021 Unable to see a System View for a model file with nested namespaces

  • 7020 Ensure that a verification starts with an empty Sequence View

  • 7019 Unable to verify, using the Eclipse Dezyne client, a component specified in a namespace

  • 7010 dzn commandline references remote paths

  • 7000 Allow configuring auto formatting rules

  • 6961 Lifeline chopped up for actions following out event

  • 6987 Reduce the manual work when importing models with external types

  • 6937 Code completion: boolean variables not visible inside guard statement

  • 6935 Initially Code completion shows generic event names, second attempt shows correct ones

  • 6924 Code completion: selection list not complete (optional and inevitable missing)

  • 6916 Code completion shows events that are not in scope

  • 6815 Consider to show the progress of verification

Known issues

  • In addition to the Eclipse proxy settings, also the ‘http_proxy’ environment variable has to be set. See ‘dzn –help’ for instructions.

  • Eclipse client does not work with Dezyne command line client 1.3.0. Please uninstall this version. The Dezyne Eclipse client will install the new command line client automatically.

  • Print and export button of Dezyne views is disabled.

  • The webclient has been removed, evaluation from the browser is supported via the command line.

  • The blocking and external keywords have meaning in C++ only.

  • In case the daemon is stopped, it will be restarted automatically. In Eclipse however one has to do a logout;login to reconnect to the new daemon process.

  • The absence of an open source header in generated code does not imply commercial support.

  • See the known issues for a list of known issues.

Your free copy of Dezyne is waiting for you, and we encourage you to put Dezyne 2.0.0 to good use and provide us with all your feedback.

Good Dezyning!

The Verum team.

If you have questions that weren’t answered by this Guide,
let our support team help you out.

Enjoy this article? Don't forget to share.