Attribute Mapping Inversion
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
- Download and run the Mars 1 Release of the Eclipse IDE for Java and DSL Developers
- Install Subversive (SVN Team Provider) and a svn connector (e.g. SVN-Kit) using the Eclipse Marketplace
- Check-out all plug-in projects of the XOCL4Inv language from the inversion branch of the Vitruvius svn repository (user: anonymous password: anonymous)
- Run the GenerateMIR MWE2-Workflow
- Troubleshooting
- Open the intermediate generator model, right-click an run "Generate Model Code"
- Do the same for the SimplestA genmodel and theSimplestB genmodel
- Clean all workspace projects
Run the editor
- 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).
- create a new *.MIR-file to open the editor
Testing and Evaluation
Prepare Testing and Evaluation Environment
- import both projects in the test plug-in into the workspace of the new runtime Eclipse
Run the JUnit Tests of the Evaluation
- 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
Documentation
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.