This project intends to develop tools to enable MDA support for the formal modeling language Alloy. So far, we have implemented the following model transformation tools:
All tools read models from the standard input and produce models in the standard output. The ocl2alloy tool must receive as argument a file with a class diagram. Class diagrams are stored in XMI format. Alloy and OCL models must conform to the syntax described in the following paper:
The tools have been developed in Haskell with GHC. The most current version of the source code can be downloaded from the SVN trunk repository. To compile it you will need the following Haskell packages: mtl, syb, and parsec. The last stable version is the SoSyM one, available in the downloads section. Here are some examples of running the tools:
Wiki: Book.als
Wiki: Book.ocl
Wiki: Book.uml
Wiki: FileSystem.als
Wiki: FileSystem.ocl
Wiki: FileSystem.uml
Wiki: Genealogy.als
Wiki: Genealogy.ocl
Wiki: Genealogy.uml
Wiki: Student.als
Wiki: Student.ocl
Wiki: Student.uml
Wiki: alloy2cd < Book.als
Wiki: alloy2cd < FileSystem.als
Wiki: alloy2cd < Genealogy.als
Wiki: alloy2cd < Student.als
Wiki: alloy2ocl < Book.als
Wiki: alloy2ocl < FileSystem.als
Wiki: alloy2ocl < Genealogy.als
Wiki: alloy2ocl < Student.als
Wiki: cd2alloy < Book.uml
Wiki: cd2alloy < FileSystem.uml
Wiki: cd2alloy < Genealogy.uml
Wiki: cd2alloy < Student.uml
Wiki: ocl2alloy Book.uml < Book.ocl
Wiki: ocl2alloy FileSystem.uml < FileSystem.ocl
Wiki: ocl2alloy Genealogy.uml < Genealogy.ocl
Wiki: ocl2alloy Student.uml < Student.ocl