Attribute Mapping Inversion

From SDQ-Wiki
Jump to: navigation, search

BXAML is a bidirectional (bx) language for expressing attribute mappings of Ecore-based models in an Java-aligned syntax. It is built using the Xtext framework and extends the Xbase Expression language.

The BXAML language makes it possible to derive a backward transformation for an attribute mapping using an extensible library of operator-specific inverters.

BXAML was developed in the context of the Vitruvius Project.

Development and Usage

Prepare Development Environment

  1. Download and run the Mars 1 Release of the Eclipse IDE for Java and DSL Developers
  2. Install Subversive (SVN Team Provider) and a svn connector (e.g. SVN-Kit) using the Eclipse Marketplace
  3. Check-out all plug-in projects of the XOCL4Inv language from the inversion branch of the Vitruvius svn repository (user: anonymous password: anonymous)
  4. Run the GenerateMIR MWE2-Workflow
  5. Troubleshooting

Run the editor

  1. to run the BXAML editor start a new Eclipse instance from the Eclipse in which all plug-ins where checked out as specified above (this can be obtained e.g. by creating a new run configuration with default settings).
  2. create a new *.MIR-file to open the editor

Testing and Evaluation

Prepare Testing and Evaluation Environment

  1. import both projects in the test plug-in into the workspace of the new runtime Eclipse

Run the JUnit Tests of the Evaluation

  1. run all JUnit-Tests in the test1 folder

Analyse the ATL Zoo Transformations

Jira Project

Please report bugs using the JIRA Issue Management for Vitruvius


The attribute mapping language and the inversion approach are described in an article that is currently under revision. It will be linked and accompanied by a technical report as soon as the article is published.