What is MOMoT?

MOMoT is a framework that combines model-driven engineering (MDE) techniques with search-based optimization (population-based search and local search) to solve highly complex problems on model level. In this framework, problems are represented through Ecore meta-models and their respective model instances. These problem instances can be manipulated through dedicated model transformations modeled as graph transformation rules Henshin. Desired and prohibited characteristics (objectives and constraints) of the output model can be specified using OCL or a Java-like expression language (Xbase). Search-based optimization techniques can then be used to search for a Pareto-optimal set of transformation orchestrations, i.e., an ordered sequence of transformations and their parameters, to produce models with these characteristics.

How to use MOMoT?

MOMoT is developed for the Eclipse platform and provides a dedicated configuration language providing support for model engineers to configure the search process. MOMoT has been successfully applied on several case studies which showcase how to use MOMoT in a specific scenario. A description about the specific case study, the necessary inputs and the configuration can be found on the respective case study page:

You can view download the necessary Eclipse plugins projects from GitHub or directly using the Eclipse Update Site. As dependencies you also need to have Xtext and Henshin installed which are automatically retrieved when you use the update site.

Authors and Contributors

MOMoT has been developed by Martin Fleck (@martin-fleck), Javier Troya (@javitroya) and Manuel Wimmer (@manuelWimmer). At this point, we would like to thank the developers of the following frameworks, which we have used in order to develop MOMoT:

Support or Contact

If you have encountered any problems with MOMoT or have suggestions of how we can improve it, please do not hesitate to contact Martin Fleck.