Skip to main content
QUICK REVIEW

[논문 리뷰] Attempto - From Specifications in Controlled Natural Language towards Executable Specifications

Rolf Schwitter, Norbert E. Fuchs|ArXiv.org|1996. 03. 12.
Logic, programming, and type systems참고 문헌 13인용 수 26
한 줄 요약

이 논문은 Attempto라는 시스템을 제안한다. 이 시스템은 자연어의 제한된, 컴퓨터가 처리할 수 있는 하위집합인 Attempto Controlled English(ACE)로 작성된 사양을 Discourse Representation Structures(DRS)를 통해 실행 가능한 Prolog 코드로 번역한다. 이 접근법은 도메인 전문가들이 형식적으로 검증되고 시뮬레이션 가능한 명확하고 자연스러운 언어로 요구사항을 작성할 수 있도록 하여, 비형식적인 요구사항과 실행 가능한 소프트웨어 모델 사이의 격차를 메운다.

ABSTRACT

Deriving formal specifications from informal requirements is difficult since one has to take into account the disparate conceptual worlds of the application domain and of software development. To bridge the conceptual gap we propose controlled natural language as a textual view on formal specifications in logic. The specification language Attempto Controlled English (ACE) is a subset of natural language that can be accurately and efficiently processed by a computer, but is expressive enough to allow natural usage. The Attempto system translates specifications in ACE into discourse representation structures and into Prolog. The resulting knowledge base can be queried in ACE for verification, and it can be executed for simulation, prototyping and validation of the specification.

연구 동기 및 목표

  • 응용 도메인 전문가와 형식적인 소프트웨어 사양 사이의 개념적 격차를 줄이기 위해.
  • 형식 논리 교육 없이도 도메인 전문가가 자연어를 사용해 정확하고 모호하지 않은 요구사항을 작성할 수 있도록 하기 위해.
  • 이러한 자연어 사양을 실행 가능한 코드로 번역하는 시스템을 개발하기 위해.
  • 인간이 읽을 수 있는 제어된 언어를 사용하여 실행 가능하고 검증 가능하며 유지보수 가능한 소프트웨어 사양을 만들 수 있도록 지원하기 위해.

제안 방법

  • 자연어의 형식화된 하위집합인 Attempto Controlled English(ACE)를 사용한다. 이는 명확한 문법과 의미를 가진다.
  • ACE 문장을 형식적인 논리적 구조로 번역하기 위해 Discourse Representation Theory(DRS)를 활용한다.
  • DRS 표현을 실행 가능하고 논리적 추론이 가능한 Prolog 절로 변환한다.
  • 의문문(예/아니요 및 wh-질문)을 Prolog 쿼리로 번역하여 질의를 지원한다.
  • I/O 작업과 같은 실제 세계의 이벤트를 시뮬레이션하기 위해 Prolog의 부작용 예측자(프레디케이트)를 도입한다.
  • 사양 내 문장의 순서에 기반해 이벤트의 시간적 순서를 보장하기 위해 메타인터프리터를 사용한다.

실험 결과

연구 질문

  • RQ1제어된 자연어를 효과적으로 형식적이고 실행 가능한 소프트웨어 사양을 작성하는 데 사용할 수 있는가?
  • RQ2자연어 사양을 실행과 검증을 지원하는 형식적 논리 표현으로 체계적으로 번역하는 방법은 무엇인가?
  • RQ3자연어 기반 사양에서 이벤트의 시간적 순서와 부작용을 다루기 위해 필요한 메커니즘은 무엇인가?
  • RQ4형식 논리 전문 지식 없이 도메인 전문가가 제어된 자연어로 사양을 신뢰성 있게 작성하고 검증할 수 있는가?
  • RQ5사양의 실행을 상황에 맞는 정보에 대해 상호작용적이고 반응적으로 만들 수 있는가?

주요 결과

  • Attempto 시스템은 DRS를 통해 ACE 사양을 실행 가능한 Prolog 코드로 성공적으로 번역하여 사양의 시뮬레이션과 검증을 가능하게 했다.
  • 문장의 순서에 의해 이벤트의 시간적 순서가 암묵적으로 기록되며, 이에 따라 메타인터프리터가 조건을 올바른 순서로 실행할 수 있다.
  • ACE의 의문문은 정확히 Prolog 쿼리로 번역되어 지식 기반의 논리적 추론과 검증이 가능해졌다.
  • Prolog 인터페이스 프레디케이트를 통해 실행 동작을 추적하거나 유도함으로써 부작용 시뮬레이션이 구현되었으며, 이는 프로토타이핑을 지원한다.
  • 필요에 따라 사용자에게 특정 인스턴스 데이터(예: 고객 식별자)를 질의함으로써 시스템이 상호작용적으로 실행 가능하다.
  • 프로토타입은 자동화된 통장 기계와 같은 복잡한 시스템에 대해 제어된 자연어가 실행 가능하고 이해하기 쉬운 사양 언어로 유용하게 기능할 수 있음을 보여주었다.

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

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

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

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