Home

Welcome to the AlloyMDA project wiki!

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:

  • alloy2cd (transforms Alloy models to Class Diagrams)
  • alloy2ocl (transforms Alloy models to OCL specifications)
  • cd2alloy (transforms Class Diagrams to Alloy)
  • ocl2alloy (transforms OCL specifications to Alloy models)

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:

Input Output
[Book.als] [alloy2cd < Book.als]
[Book.als] [alloy2ocl < Book.als]
[Book.uml] [cd2alloy < Book.uml]
[Book.uml] [Book.ocl] [ocl2alloy Book.uml < Book.ocl]
[FileSystem.als] [alloy2cd < FileSystem.als]
[FileSystem.als] [alloy2ocl < FileSystem.als]
[FileSystem.uml] [cd2alloy < FileSystem.uml]
[FileSystem.uml] [FileSystem.ocl] [ocl2alloy FileSystem.uml < FileSystem.ocl]
[Student.als] [alloy2cd < Student.als]
[Student.als] [alloy2ocl < Student.als]
[Student.uml] [cd2alloy < Student.uml]
[Student.uml] [Student.ocl] [ocl2alloy Student.uml < Student.ocl]
[Genealogy.uml] [cd2alloy < Genealogy.uml]
[Genealogy.uml] [Genealogy.ocl] [ocl2alloy Genealogy.uml < Genealogy.ocl]
[Genealogy.als] [alloy2cd < Genealogy.als]
[Genealogy.als] [alloy2ocl < Genealogy.als]

Project Admins:


Related

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

MongoDB Logo MongoDB