Skip to content

4.0.0 Re-structure Release

Pre-release
Pre-release
Compare
Choose a tag to compare
@nickbattle nickbattle released this 19 Dec 13:03
· 3053 commits to master since this release

This release does not add any new functionality, but it has a large scale restructuring of the internals of VDMJ.

Version 3 and earlier of VDMJ have a monolithic structure, where the code for each type of analysis on a node type (for example, type checking, execution and PO generation) is included in the single AST node of that type. Version 4 onwards splits the functionality of the different analyses into separate classes. Before an analysis is performed, the system generates a new tree of objects specifically for that analysis (once only). This means we can keep new analyses independent of existing code and the AST, but without using visitors, which can become cumbersome for very large ASTs.

4.0.0 Build 161219, Alpha release for testing.
4.0.0 Build 170105, Correction for international charsets
4.0.0 Build 170113, Performance tweak for union/pattern processing
4.0.0 Build 170215, Correction to function instantiation argument processing
4.0.0 Build 170308, Improved support for multi-threaded debugging
4.0.0 Build 170420, Added VDMJC client and DBGP protocol handling
4.0.0 Build 170604, Fixed a pure op bug with class invariants
4.0.0 Build 170704, Added some cyclic dependency checking to the type checker