Write a Blog >>
Fri 16 - Fri 23 October 2020
Fri 23 Oct 2020 13:35 - 13:55 at Room A - A6-Modeling Environments and Model Search Chair(s): Antonio Cicchetti

The availability of shared software models provides opportunities for reusing, adapting and learning from them. Public models are typically stored in a variety of locations, including model repositories, regular source code repositories, web pages, etc. To profit from them developers need effective search mechanisms to locate the models relevant for their tasks. However, to date, there has been little success in creating a generic and efficient search engine specially tailored to the modelling domain. In this paper we present MAR, a search engine for models. MAR is generic in the sense that it can index any type of model if its meta-model is known. Moreover, MAR takes the model structure into account in order to improve the precision of the search. We tackle the challenge of encoding the models’ structure in an indexable manner by extracting paths between model elements. MAR is built over HBase which allows us to deal with large repositories offering a quick response to the queries. Our benchmarks show that the engine is efficient and has fast response times in most cases. We have also evaluated the precision of the search engine by creating model mutants which simulate user’s queries. A REST API is available to perform queries and an Eclipse plug-in allows end users to connect to the search engine from model editors. We have currently indexed more than 50.000 models of different kind, including Ecore meta-models, BPMN diagrams and UML models.