![]() Altogether, searching for models is still an open problem in the MDE community. Which is more, when results come from different sources only manual comparison is possible. The results are typically not ranked according to its relevance with respect to the query. Then, for each source, a dedicated query must be written (or a manual lookup must be done if no query mechanism is available), and candidate results must be collected. First, she needs to find out herself potential sources for models (e.g. Nowadays, when a developer faces the task of finding models, she needs to perform several steps manually. Therefore, to date, there has been little success in creating a generic and efficient search engine specially tailored to the modelling domain and publicly available. Another aspect is that existing approaches are not useful in practice since they do not provide access to a high number of diverse and public models. Other search approaches are based on OCL-like queries which can be efficient but only select exact matches. However, it only scales to a few hundreds of models. In, a query-by-example search engine specific for WebML models is presented. For example, Moogle is a text-based search engine but it does not include model crawlers and it is discontinued. In this setting, search engines are the proper tool for users to be able to locate the relevant models for their tasks. However, these services do not provide model-specific features to facilitate the discovery of relevant models. Source code repositories like GitHub and GitLab also host thousands of models of different kinds. For instance, the GenMyModel Footnote 1 cloud modelling service features a public repository with thousands of available models, although it does not support any search mechanism. There are several model repositories available, some of which offer public models. The availability of mechanisms for effective navigation and retrieval of software models are essential for the success of the MDE paradigm, since they have the potential to foster communities of modellers, improve learning by letting newcomers explore existing models and to discover high-quality models which can be reused. ![]() MAR has currently indexed over 500,000 valid models of different kinds, including Ecore meta-models, BPMN diagrams, UML models and Petri nets. Finally, we have evaluated the indexing times, the response time and search precision using different configurations. We have also added a web user interface intended to facilitate writing queries and exploring the results. The indexing process is now incremental and a new index for keyword-based search has been added. ![]() ![]() We present the crawling and analysis architecture with which we have processed about 600,000 models. In this paper, we report new developments of MAR which are aimed at making it a useful and stable resource for the community. The goal of MAR is to assist developers in the task of finding relevant models. In the previous work, we presented MAR, a search engine for models which has been designed to support a query-by-example mechanism with fast response times and improved precision over simple text search engines. There exist search engines for websites, images, code, etc., but the specific properties required to build a search engine for models have not been explored much. A search engine typically crawls the web to gather data, analyses and indexes it and provides some query mechanism to obtain ranked results. Search engines extract data from relevant sources and make them available to users via queries.
0 Comments
Leave a Reply. |