ModelJoin
ModelJoin is a Palladio project that helps to combine models that are only loosely coupled. It offers a textual domain-specific language (DSL) which is similar to SQL, and which is used to specify queries on heterogeneous models, which may be instances of different metamodels. The result set of such a query is an instance of a target metamodel which is generated automatically during the execution of the query.
With ModelJoin, developers can rapidly create queries on models using a compact textual expression. The necessary artefacts, such as the target metamodel, and model-to-model transformations are generated on-the-fly by the implementation of ModelJoin.
ModelJoin is used in the Vitruvius approach for the specification of user-specific flexible view types.
Install ModelJoin
The ModelJoin implementation is based on the Eclipse Modeling Framework, QVT-O, and Xtext. To install the sources of ModelJoin, see the following pages:
- Project Setup (for development)
- Plugin Installation Instructions
- Join Execution with Xtend
- Xbase Integration
- Getting Started with example metamodels and example queries
ModelJoin Test Frameworks
ModelJoin comes with two test frameworks for
a) testing the correctness of metamodel and transformation generation for a .mj query file and for
b) evaluating the time performance of ModelJoin for scalable synthetic metamodels and models. Details can be found here.
Technical Documentation
The technical report of ModelJoin can be downloaded at http://digbib.ubka.uni-karlsruhe.de/volltexte/1000037908
BibTeX reference
@techreport{modeljointechreport2014,
title = {{ModelJoin. A Textual Domain-Specific Language
for the Combination of Heterogeneous Models}},
author = {Erik Burger and J{\"o}rg Hen{\ss} and Steffen Kruse
and Martin K{\"u}ster and Andreas Rentschler and Lucia Happe},
institution = {Karlsruhe Institute of Technology, Faculty of Informatics},
series = {Karlsruhe Reports in Informatics},
year = {2014},
number = 1,
ISSN = {2190-4782},
url = {http://digbib.ubka.uni-karlsruhe.de/volltexte/1000037908},
urn = {urn:nbn:de:swb:90-379089}
}
The ModelJoin approach is described in the following article, which appeared in the Springer journal Software and Systems Modeling.
The article is freely downloadable as a pre-print version.
@article{burger2014b,
affiliation = {Karlsruhe Institute of Technology},
author = {Erik Burger and J{\"o}rg Hen{\ss} and Martin K{\"u}ster and Steffen Kruse and Lucia Happe},
doi = {10.1007/s10270-014-0413-5},
editor = {Robert France and Bernhard Rumpe},
issn = {1619-1366},
journal = {Software and Systems Modeling},
pages = {1-24},
publisher = {Springer Berlin / Heidelberg},
title = {View-Based Model-Driven Software Development with ModelJoin},
volume = {14},
year = {2014},
pdf = {https://sdqweb.ipd.kit.edu/publications/pdfs/burger2014b.pdf}
}
Repository/Issue Tracking
The issues related to ModelJoin are captured in the Palladio-Jira as a separate project: http://www.palladio-simulator.com/jira/browse/MJ
The soruces of ModelJoin are located https://svnserver.informatik.kit.edu/i43/svn/code/MDSD/ModelJoin/Core/trunk (user/password:anonymous).