Return to CELL: Software evolution challenge

ACE: Architectural Contract Evaluator

ACE is a tool for evaluating architectural contracts. These contracts consist of a set of constraints on architetcural evolution of component-based applications. The language used to define these constraints is OMG‘s standard, OCL. ACE use OCL Compiler to generate the AST (Abstract Syntax Tree) for the constraints. It then evaluates the contract using a metamodel which describes architectures of components and an architectural descriptor. In its current version, ACE supports architectural descriptors defined with the Fractal ADL.
Download the first prototype of ACE :
  • Linux version (ace.tgz, ~1420Kb): Please contact the team to get the software.
  • Windows version (, ~1420Kb): Please contact the team to get the software.

An example is provided within the downloaded archive. To launch ACE and test the example, follow the instructions:

  1. Decompress the archive :
    • For Linux version: on a terminal, move to the directory where you saved ace.tgz and then type the following command: tar -xvzf ace.tgz
    • For Windows version, decompress the downloaded file in a directory of your choice.
  2. Move to ace directory,
  3. Launch the following command: java -jar ace.jar
  4. On the graphical interface of ACE,
    1. Select the metamodel (metaModel.xmi),
    2. Select the architectural description file (MuCAS.fractal),
    3. Select the evolution contract: choose the file,
    4. Click on the button “Evaluate Contract ” for evaluating the contract,
    5. The tool affirms that the architecture defined in MuCAS.fractal conforms to the evolution contract,
    6. Now, you can introduce a new architectural descriptor (for example, and then reevaluate the constraints,
    7. The tool returns an error message stipulating the fact that the new architecture doesn’t conform to the evolution contract.

Permanent link to this article: