Skip to main content
QUICK REVIEW

[논문 리뷰] Application Software, Domain-Specific Languages, and Language Design Assistants

Jan Heering|ArXiv.org|2000. 05. 03.
Model-Driven Software Engineering Techniques인용 수 10
한 줄 요약

이 논문은 도메인 특화 언어(DSL)의 개발을 간소화하기 위한 언어 설계 보조자(LDAs)를 메타도구로 제안한다. 이는 응용 소프트웨어의 생산성을 햖थ기 위해 필수적이다. 언어 개발 시스템과 예시 기반 기술을 통합함으로써 LDAs는 사용자 우아한, 예시 기반 언어 사양을 통해 직관적인 DSL 생성을 가능하게 하여 저수준의 메타언어 기술에 대한 의존도를 줄이고, DSL 설계 시 개발자의 효율성을 향상시킨다.

ABSTRACT

While application software does the real work, domain-specific languages (DSLs) are tools to help produce it efficiently, and language design assistants in turn are meta-tools to help produce DSLs quickly. DSLs are already in wide use (HTML for web pages, Excel macros for spreadsheet applications, VHDL for hardware design, ...), but many more will be needed for both new as well as existing application domains. Language design assistants to help develop them currently exist only in the basic form of language development systems. After a quick look at domain-specific languages, and especially their relationship to application libraries, we survey existing language development systems and give an outline of future language design assistants.

연구 동기 및 목표

  • 도메인 전문 지식과 언어 설계 능력을 동시에 요구하는 복잡성 때문에 도메인 특화 언어(DSL)를 효율적으로 개발하는 데 도전하는 것을 목표로 한다.
  • 사용자가 예시를 기반으로 한 방법으로 DSL를 사양 지정할 수 있도록 언어 설계 보조자(LDAs)를 도입하여 DSL 생성의 장벽을 낮추는 것을 목표로 한다.
  • 메타도구를 통해 빠르고 도메인 맞춤형 언어를 생성함으로써 응용 소프트웨어 개발의 생산성을 향상시키는 것을 목표로 한다.
  • 언어 개발 시스템과 예시 기반 기술(DBE)을 통합한 LDAs의 타당성과 설계를 탐구하는 것.
  • DSL 구축을 위한 DBE에서 완전한 추론과 단순하고 예측 가능한 일반화 간의 상호 상충 관계를 평가하는 것.

제안 방법

  • LDA 프레임워크는 언어 개념과 그 관계를 저장하는 언어 지식 기반을 중심으로 구성되어 있어 체계적인 DSL 구축을 가능하게 한다.
  • 언어 빌딩 블록과 그 속성을 표현하기 위해 설계 언어와 시각적/반시각적 메타언어를 사용하며, 이는 대상 언어 개발 시스템의 메타언어로 컴파일된다.
  • LDA는 ASF+SDF나 Eli와 같은 언어 개발 시스템을 백엔드로 활용하여 DSL 사양에서 파arser, 프린터, 타입 체커 등의 도구를 자동 생성한다.
  • 예시 기반 기술(DBE)은 프리티프린팅 및 문법과 같은 특정 언어 요소에 적용되며, 전체 메타언어 사양이 필요로 하지 않고도 일반 규칙을 예시에서 유추한다.
  • 사 customization 및 조합 과정에서 제약 조건 검사를 통합하여 언어 조각을 실시간으로 검증한다.
  • 사전 정의된 언어 빌딩 블록의 커스터마이제이션 및 조합을 통해 점진적 개발을 지원한다.

실험 결과

연구 질문

  • RQ1언어 설계 보조자(LDAs)는 저수준의 메타언어 기술에 대한 의존도를 줄임으로써 도메인 특화 언어(DSL) 생성의 복잡성을 어떻게 줄일 수 있는가?
  • RQ2예시 기반 기술(DBE)은 DSL 개발에서 문법 및 프리티프린팅과 같은 언어 요소에 얼마나 효과적으로 적용될 수 있는가?
  • RQ3언어 설계를 위한 DBE에서 단순하고 예측 가능한 규칙 일반화와 완전한 귀납적 추론 간의 상충 관계는 무엇인가?
  • RQ4언어 개념 간의 관계를 어떻게 구성하여 모듈화되고 확장 가능한 DSL 구축을 지원할 수 있는가?
  • RQ5언어 개발 시스템이 백엔드로 기능함으로써 DSL 사양에서 자동 도구 생성을 어떻게 가능하게 하는가?

주요 결과

  • 언어 설계 보조자(LDAs)는 사용자 우아한, 예시 기반 인터페이스를 통해 저수준의 메타언어 사양의 복잡성을 추상화함으로써 DSL 개발을 크게 간소화할 수 있다.
  • 예시 기반 기술(DBE)은 프리티프린팅 및 문법과 같이 제한적이고 잘 정의된 언어 요소에 대해 가장 실현 가능하며, 예시에서의 추론이 실용적이고 효과적일 수 있다.
  • 오류 발생이나 의도하지 않은 규칙 생성의 위험이 크기 때문에, 복잡한 귀납적 추론보다 단순하고 예측 가능한 일반화가 선호된다.
  • 언어 개발 시스템을 백엔드로 통합함으로써 파서, 프리티프린터, 타입 체커와 같은 필수 도구를 DSL 사양에서 자동 생성할 수 있다.
  • 제약 조건 검사를 통해 검증된 언어 빌딩 블록의 커스터마이제이션 및 조합을 통해 모듈화되고 점진적인 DSL 개발이 가능하다.
  • 진전이 있음에도 불구하고, 특히 일반화가 사용자 의도에서 벗어날 경우 정확성 확보와 사용자 제어를 확보하는 데 도전 과제가 남아 있다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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