Dezyne 2.18.3 is a bug-fix release.
Enjoy!
The Dezyne developers.
Download
git clone git://git.savannah.nongnu.org/dezyne.git
Here are the compressed sources and a GPG detached signature[*]:
dezyne-2.18.3.tar.gz
dezyne-2.18.3.tar.gz.sig
Here are the SHA1 and SHA256 checksums:
9b79fc61daaebfce1194fa201a38e78537d5a4bd dezyne-2.18.3.tar.gz
488be70f8991ebcfec42414bfc2675a729f1aecef5a58fe635d1097adf888bb0 dezyne-2.18.3.tar.gz
[*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this:
gpg --verify .sig
If that command fails because you don't have the required public key, then run this command to import it:
gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
and rerun the gpg --verify
command.
Alternatively, Dezyne can be installed using GNU Guix:
guix pull
guix install dezyne
NEWS
Changes in 2.18.3 since 2.18.2
Code
- The thread pool destructor in the C++ runtime now documents the pre-condition explicitly using an assert.
Noteworthy bug fixes
Shared state in the requires ports can now also be used in guards in the component behavior.
A semantic inconsistency between simulation and code and verification has been resolved by communicating trailing assignments after flushing the component queue.
To and from string enum functions for enums nested in components are now also generated. This was a regression introduced in 2.18.0.
Well-formedness checks have been added for replying or returning a non-literal void expression.
A well-formedness check was added to assert function parameters and variables are not declared of type void.
A problem where the well-formedness check would erroneously report a recursion error for a deferred call has been fixed.
A bug has been fixed in the simulator where simulating strictly up to a choice with a subint value would cause a crash. This was a regression introduced in 2.18.2.
The unobservable non-determinism check in the simulator now also reports non-determinism when there are two or more deterministic traces in addition to non-deterministic traces.
The unobservable non-determinism check in the simulator no longer reports non-determinism when the traces are observably different.
For changes in the previous release see Dezyne release 2.18.2.
About Dezyne
Dezyne is a programming language and a set of tools to specify, validate, verify, simulate, document, and implement concurrent control software for embedded and cyber-physical systems.
The Dezyne language has formal semantics expressed in mCRL2 developed at the department of Mathematics and Computer Science of the Eindhoven University of Technology (TUE). Dezyne requires that every model is finite, deterministic and free of deadlocks, livelocks, and contract violations. This is achieved by means of the language itself as well as builtin verification through model checking. This allows the construction of complex systems by assembling independently verified components.
Dezyne is free software, it is distributed under the terms of the GNU Affero General Public Licence version 3 or later.
About Verum
Verum, the organization behind the Dezyne language, is committed to continuing to invest in the language for the benefit of all its users. Verum assists its customers and partners in solving the software challenges of today and tomorrow, by offering expert consultancy on the application of the Dezyne language and the development and use of its tools, as well as on Verum's commercial tools like Verum-Dezyne's IDE support based on the LSP (Language Server Protocol), interactive integrated graphics, interactive simulation, (custom) code generation and (custom) runtime library support.