MAR
- 16 October 2020
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
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. MAR uses a query-by-example approach, that is, it uses example models as queries. The search takes the model structure into account using the notion of bag of paths, which encodes the structure of a model using paths between model elements and is a representation amenable for indexing. MAR is built over HBase using a specific design to deal with large repositories. 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 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 kinds, including Ecore meta-models, BPMN diagrams and UML models. MAR is available at http://mar-search.org.Keywords
Funding Information
- Ramón y Cajal 2017 grant
- Spanish Ministry of Science (TIN2015-73968-JIN AEI/FEDER/UE)
This publication has 24 references indexed in Scilit:
- Collaborative Repositories in Model-Driven Engineering [Software Technology]IEEE Software, 2015
- Search-based metamodel matching with structural and syntactic measuresJournal of Systems and Software, 2014
- Textual and Content-Based Search in Repositories of Web Application ModelsACM Transactions on the Web, 2014
- VMQL: A visual language for ad-hoc model queryingJournal of Visual Languages & Computing, 2011
- Accurate and Efficient Structural Characteristic Feature Extraction for Clone DetectionLecture Notes in Computer Science, 2009
- The Probabilistic Relevance Framework: BM25 and BeyondFoundations and Trends® in Information Retrieval, 2009
- BigtableACM Transactions on Computer Systems, 2008
- MOOGLE: A Model Search EngineLecture Notes in Computer Science, 2008
- An algorithm for suffix strippingProgram: electronic library and information systems, 2006
- Searching the WebACM Transactions on Internet Technology, 2001