Skip to main content
QUICK REVIEW

[논문 리뷰] Super-Languages: Developing Languages and Applications with XMF (Second Edition)

Tony Clark, Paul Sammut|arXiv (Cornell University)|2015. 06. 10.
Distributed and Parallel Computing Systems인용 수 5
한 줄 요약

이 논문은 초언어 프레임워크인 XMF를 소개한다. XMF는 통합적이고 실행 가능한 메타모델링 접근 방식을 통해 도메인 특화 언어(DSL)와 응용 프로그램의 개발을 가능하게 한다. 강력한 객체지향 언어(XOCL)와 선언적 문법 시스템(XBNF)을 결합하여 언어 구조를 정의하고 조작함으로써, DSL의 원활한 파싱, 변환, 실행을 가능하게 하며, 언어 확장성, 참조 해결, 메타순환 실행을 통한 실행 가능한 모델링에서 주요 기여를 한다.

ABSTRACT

The aim of this book is to introduce the language XMF. This is done by defining the language, providing some examples of applications that can be written directly in the XOCL language that comes with XMF, and then by showing how XMF can be used for language engineering. The main focus of this book is on language engineering by example.

연구 동기 및 목표

  • 고수준 도메인 모델과 저수준 구현 코드 사이의 표현 격차를 해소하기 위해 직접 실행 가능한 모델링을 가능하게 하기 위해.
  • 구문, 의미론, 변환 모두를 완전히 지원하는 통합 프레임워크를 제공하여 도메인 특화 언어(DSL)의 정의와 실행을 가능하게 하기 위해.
  • 메타순환적이고 실행 가능한 환경을 통해 확장성 있고 조합 가능하며 유지보수 가능한 언어 공학을 가능하게 하기 위해.
  • 파싱된 DSL 내의 기호 참조를 해결하는 데 도전하는 문제를 해결하기 위해 실행 모델 내에 선언적 참조 해결 메커니즘을 통합하기 위해.

제안 방법

  • XMF는 언어 요소를 일급 객체로 정의하고 조작하기 위해 핵심 언어인 XOCL(실행 가능한 객체 명령어 언어)를 사용하며, 컬렉션, 연산, 제어 흐름에 대한 완전한 지원을 제공한다.
  • 문법은 XBNF라는 선언적 언어를 사용하여 정의되며, 이는 구문과 의미론을 지정하고, 패턴 매칭과 임bedded 표현식을 통해 윈용 가능한 파싱을 가능하게 한다.
  • 시스템은 언어 구조를 실행 가능한 객체로 정의함으로써 직접 언어 요소를 조작하고 변환할 수 있는 메타순환 실행 모델을 사용한다.
  • 참조 해결은 파싱된 값을 순회하고 참조 테이블을 사용하여 기호 참조를 바인딩된 값으로 대체하는 워커 패턴(ResolveRefs)을 통해 수행된다.
  • 파싱은 성공 및 실패 컨티뉴에이션을 사용하는 재귀적 내림차순 프로세스로 구현되며, 비결정적이고 백트래킹 동작을 가능하게 한다.
  • XML 데이터는 일급 객체(XML::Element, XML::Text)로 모델링되며, 속성과 자식 요소를 바인딩하는 패턴 매칭 연산을 통해 파싱이 정의된다.

실험 결과

연구 질문

  • RQ1단일 통합 언어 환경이 언어 정의에서 실행 및 변환에 이르기까지 DSL 개발의 전 주기를 어떻게 지원할 수 있는가?
  • RQ2메타순환 실행 모델 내에서 파싱된 DSL 내의 기호 참조를 효율적이고 안전하게 해결하는 방법은 무엇인가?
  • RQ3성능이나 타입 안정성을 희생시키지 않고도 언어 정의의 확장성과 조합 가능성을 보장하는 메커니즘은 무엇인가?
  • RQ4일致하고 실행 가능한 메타모델을 통해 언어가 인간 가독성과 기계 실행 가능성을 동시에 확보할 수 있는 방법은 무엇인가?
  • RQ5선언적 패턴 매칭과 컨티뉴에이션은 어떻게 강력하고 조합 가능한 언어 처리를 가능하게 하는가?

주요 결과

  • XMF는 단일 실행 가능한 프레임워크 내에서 임베디드 구문, 의미론, 변환 논리까지 포함한 기능이 풍부한 DSL 정의를 가능하게 한다.
  • XOCL와 XBNF의 통합은 직접 실행 가능한 확장성 있고 조합 가능하며 유지보수 가능한 언어 정의를 생성할 수 있도록 한다.
  • 기존에 구축된 식별자 테이블을 사용하여 추상구문트리 내를 순회하는 워커 패턴을 통해 참조 해결이 효율적으로 수행된다.
  • 파싱에서 컨티뉴에이션과 패턴 매칭을 사용함으로써 복잡한 언어 인식에 필수적인 비결정적이고 백트래킹 동작이 가능해진다.
  • XML 데이터는 일급 언어 구조를 사용하여 네이티브로 모델링되고 파싱되며, 속성의 기본값과 중첩된 패턴은 선언적으로 처리된다.
  • 메타순환 실행 모델은 자기 호스팅과 반사 기능을 가능하게 하여 언어가 자신의 구문과 의미론을 데이터로 조작할 수 있도록 한다.

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

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

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

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