[논문 리뷰] MAR: A structure-based search engine for models
MAR는 소프트웨어 모델을 위한 일반적이고 구조 기반의 검색 엔진으로, '경로의 집합' 표현을 사용하여 모델을 색인화함으로써 예제 기반 검색을 효율적으로 구현한다. 다양한 출처에서 온 50,000개 이상의 모델을 지원하며, 높은 정밀도를 달성하고 HBase 기반 색인화를 통해 저지연 응답을 제공한다. 메타모델 분류 및 모델 레포지터리 검색과 같은 응용 분야에 적합하다.
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.
연구 동기 및 목표
- 모델 기반 엔지니어링(MDE) 생태계에서 소프트웨어 모델 전용으로 맞춤화된 일반적이고 효율적인 검색 엔진의 부족을 보완한다.
- 개발자가 키워드나 복잡한 쿼리 대신 예제 모델을 사용하여 재사용 가능한 모델을 검색할 수 있도록 한다.
- 빠른 응답 시간과 높은 정밀도를 제공하면서도 50,000개 이상의 모델을 포함한 대규모 모델 레포지터리(50,000개 이상)를 지원한다.
- 구문적 또는 텍스트적 특징이 아닌 구조적 패턴 기반으로 모델을 색인화하는 확장성 있고 유연한 아키텍처를 제공한다.
- 동일한 색인 및 검색 인fra를 활용해 메타모델 분류와 같은 새로운 응용 분야를 가능하게 한다.
제안 방법
- 모델 요소와 속성 값 사이의 지정된 최대 길이를 가진 경로를 사용하여 모델의 구조를 표현함으로써 구조 기반 색인화를 가능하게 한다.
- HBase를 사용하여 역색인(inverted index)에 색인된 경로를 저장함으로써 대규모 레포지터리에서의 효율적 검색과 확장성을 확보한다.
- 사용자가 모델 조각을 제출하면 시스템이 해당 경로를 추출하고 색인과 매칭하는 예제 기반 쿼리 메커니즘을 구현한다.
- 쿼리와 색인된 모델 간의 경로 겹침을 기반으로 점수 함수를 사용하여 결과를 순위 매긴다.
- 모델링 워크플로우 및 외부 도구에 통합하기 위해 REST API, 웹 인터페이스 및 Eclipse 플러그인을 구축한다.
- 정밀도 평가를 위해 모델 변형 기법을 사용하여 실제 모델에서 유도된 합성 쿼리를 자동으로 생성한다.
실험 결과
연구 질문
- RQ1경로 기반 색인화를 사용하는 구조 기반 검색 엔진은 대규모 레포지터리에서 관련 모델을 높은 정밀도와 저지연으로 효과적으로 검색할 수 있는가?
- RQ2키워드나 OCL 기반 쿼리에 비해 모델 조각을 사용하는 예제 기반 접근 방식은 모델 검색에서 얼마나 효과적인가?
- RQ3MAR의 색인 및 검색 메커니즘은 다양한 모델링 언어에 걸쳐 일반적이고 메타모델에 종속되지 않는 모델 검색을 얼마나 잘 지원하는가?
- RQ4MAR의 색인 인프라는 메타모델 분류와 같은 보조 작업에 재사용 가능하며 경쟁적인 정확도를 달성할 수 있는가?
- RQ5레포지터리 크기와 모델 다양성이 증가함에 따라 MAR의 성능은 어떻게 확장되는가?
주요 결과
- MAR는 Ecore, UML, BPMN를 포함한 다양한 출처에서 50,000개 이상의 모델을 색인화하여, 검색 기능을 갖춘 공개된 모델 레포지터리 중 가장 큰 편에 속한다.
- 시스템은 검색에서 높은 정밀도를 달성했으며, 변형 기반 평가를 통해 실제 모델에서 파생된 합성 쿼리에서 뛰어난 성능을 보였다.
- 벤치마크 전반에서 일관되게 빠른 응답 시간을 기록하여 실제 모델링 워크플로우에서의 실용성을 입증했다.
- MAR의 경로 기반 색인화는 k-최근접 이웃 접근 방식을 사용하여 효과적인 메타모델 분류를 가능하게 하였으며, 최첨단 방법과 비교해 유사한 정밀도를 달성했다.
- Eclipse 및 REST API 통합을 통해 모델링 환경에서 원활하게 활용 가능하여 개발자 생산성을 향상시켰다.
- MOOGLE나 WebML 검색 엔진과 같은 기존 솔루션에 비해 수개의 주기수 이상 더 많은 모델을 색인화하는 등 규모 면에서 앞서는 성능을 보였다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.