论文标题

3月:模型的基于结构的搜索引擎

MAR: A structure-based search engine for models

论文作者

López, José Antonio Hernández, Cuadrado, Jesús Sánchez

论文摘要

共享软件模型的可用性为重复使用,适应和学习提供了机会。公共模型通常存储在各种位置,包括模型存储库,常规源代码存储库,网页等,以从他们那里获取开发人员需要有效的搜索机制来找到与其任务相关的模型。但是,迄今为止,创建专门针对建模域而定制的通用和高效搜索引擎几乎没有成功。 在本文中,我们介绍了Mar,这是模型的搜索引擎。 MAR是通用的,在某种意义上,如果已知的元模型,它可以为任何类型的模型索引。 MAR使用典型查询方法,也就是说,它使用示例模型作为查询。搜索使用路径袋的概念考虑了模型结构,该路径概念使用模型元素之间的路径编码模型的结构,并且是索引的表示形式。 MAR是在HBASE上使用特定设计来处理大型存储库的。我们的基准表明,在大多数情况下,发动机效率很高,并且具有快速的响应时间。我们还通过创建模拟用户查询的模型突变体来评估搜索引擎的精度。可用于执行查询的REST API,Eclipse插件允许最终用户从模型编辑器连接到搜索引擎。目前,我们已经索引了超过50.000种不同种类的模型,包括Ecore Meta模型,BPMN图和UML模型。 Mar可在http://mar-search.org上找到。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源