In the first phase of this project (integrated in the laboratory work for the Métodos Formais de Programação II course), I made a reengennering of the PUReCamila interpreter, described here.
In the second of this project (integrated in Laboratório de Métodos Formais), I am working on the implementation of VDM and VDM++ features in Haskell to integrate in Camila.
VDM++ features
VDM++, in comparison with VDM has the following extra features:
Allows the definition of classes and objects
Inheritance (specialization and generalization)
Operations and functions to describe functional behaviour of the objects
Threads and synchronisation constraints
I have a report (pdf) explaining how to mimic VDM++ features (parallelism not included) in Haskell.
Bibliography
Monads ans State in Haskell
Philip Wadler, Monads for functional programming(ps)
Philip Wadler and Peter Thiemann, The marriage of effects and monads(pdf)