Skip to main content
QUICK REVIEW

[논문 리뷰] Efficient Editor Generation for Compositional DSLs in Eclipse

Holger Krahn, Bernhard Rumpe⋆|arXiv (Cornell University)|2014. 09. 22.
Model-Driven Software Engineering Techniques참고 문헌 10인용 수 29
한 줄 요약

이 논문은 MontiCore DSL 프레임워크를 사용하여 Eclipse IDE에서 구성적 도메인 특화 언어(DSL)용 에디터를 효율적으로 생성하는 방법을 제시한다. MontiCore의 언어 정의 언어를 확장함으로써, 구성적 언어 설계를 지원하는 완전히 통합되고 재사용 가능한 에디터를 자동으로 생성할 수 있으며, 이는 DSL의 발전에 따라 개발 시간을 크게 단축하고 유지보수성을 향상시킨다.

ABSTRACT

When a domain specific language (DSL) shall be commonly used, it is important for the development team to have a comfortable editor well integrated in the project's development environment. As DSL are rather often subject to changes, efficient development and evolvement of a comfortable editor is an important success criterion for the acceptance of domain specific languages. In this paper we demonstrate how this issue is addressed in the MontiCore DSL development framework. Basically an extension of the MontiCore DSL definition language can be used to efficiently generate DSL editors for Eclipse. The generation tool also supports the compositional language definition features of MontiCore and allows therefore the reuse of existing language and editor definitions.

연구 동기 및 목표

  • Eclipse에서 도메인 특화 언어(DSL)용 편리하고 통합된 에디터를 구축하고 유지보수하는 데 도전 과제를 해결하기 위해.
  • DSL이 시간이 지남에 따라 변화함에 따라 DSL 에디터를 개발하고 진화시키는 데 소요되는 노력을 줄이기 위해.
  • 기존의 언어 및 에디터 정의를 재사용할 수 있도록 해서 구성적 언어 설계를 지원하기 위해.
  • DSL 에디터를 Eclipse 개발 환경에 간편하게 통합하기 위해.
  • 수동 코딩 없이도 고품질의 에디터를 생성하기 위한 확장 가능한 솔루션을 제공하기 위해.

제안 방법

  • 에디터 생성을 위한 문법 및 의미 체계를 추가한 MontiCore DSL 정의 언어 확장.
  • Eclipse RCP 호환 에디터 컴포넌트를 자동으로 생성하는 코드 생성 도구 사용.
  • MontiCore의 구성적 언어 기능을 활용하여 언어 및 에디터 정의의 모듈식 재사용을 가능하게 하기 위해.
  • 기존 Eclipse UI 및 인프라와 원활하게 통합되는 에디터 생성.
  • 언어 정의에 영향을 받는 부분만 재생성함으로써 DSL의 점진적 업데이트를 지원하기 위해.
  • DSL 문법과 생성된 에디터 간의 형식적 안정성과 일관성을 확보하기 위해.

실험 결과

연구 질문

  • RQ1어떻게 하면 Eclipse 환경에서 최소한의 수동 작업으로 효율적으로 DSL 에디터를 생성할 수 있는가?
  • RQ2다양한 DSL 및 그 에디터 간에 구성적 언어 정의를 얼마나 많이 재사용할 수 있는가?
  • RQ3DSL의 진화에 따라 에디터 생성 과정을 점진적이고 유지보수 가능하게 만들 수 있는가?
  • RQ4개발 시간과 코드 품질 측면에서 수동 에디터 개발에 비해 이 방법은 어떻게 비교되는가?
  • RQ5자동 에디터 생성이 DSL의 유지보수성에 어떤 영향을 미치는가?

주요 결과

  • 이 방법은 최소한의 수동 간섭으로 DSL 사양에서 완전 기능을 갖춘 Eclipse 통합 에디터를 자동으로 생성할 수 있다.
  • 구성적 언어 정의의 사용은 여러 DSL 간에 언어 및 에디터 컴포넌트의 모듈식 재사용을 가능하게 한다.
  • 생성 과정은 효율적이고 확장 가능하며, 전체 에디터를 다시 생성하지 않고도 DSL의 점진적 업데이트를 지원한다.
  • 생성된 에디터는 DSL 문법과 형식적으로 일관되며, 구현 오류를 줄인다.
  • 수동 에디터 구현에 비해 개발 시간과 유지보수 오버헤드를 크게 줄인다.
  • 언어 정의가 변경될 때 쉽게 에디터를 재생성할 수 있기 때문에, 이 프레임워크는 DSL의 진화를 지원한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.