Skip to main content
QUICK REVIEW

[论文解读] Attempto - From Specifications in Controlled Natural Language towards Executable Specifications

Rolf Schwitter, Norbert E. Fuchs|ArXiv.org|Mar 12, 1996
Logic, programming, and type systems参考文献 13被引用 26
一句话总结

本文提出 Attempto 系統,該系統透過語 discourse 表述結構(DRS)將以 Attempto 控制英語(ACE)撰寫的規格轉換為可執行的 Prolog 程式碼。ACE 是自然語言的一種受限、機器可處理的子集。此方法使領域專家能撰寫清晰、自然語言的規格,並進行形式化驗證與模擬,從而縮小非正式規格與可執行軟體模型之間的差距。

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 控制英語(ACE),一種具有明確定義語法與語意的形式化自然語言子集。
  • 運用語 discourse 表述理論(DRS)將 ACE 句子轉換為形式化邏輯結構。
  • 將 DRS 表述轉換為可執行的 Prolog 述詞。
  • 支援透過疑問句(是/否問題與 wh-問題)進行查詢,並轉換為 Prolog 查詢。
  • 在 Prolog 中引入副作用述詞,以模擬 I/O 操作等現實世界事件。
  • 使用邏輯解釋器,根據規格中文句的順序,強制執行事件的時間順序。

实验结果

研究问题

  • RQ1受控自然語言是否能有效用於撰寫形式化、可執行的軟體規格?
  • RQ2如何系統性地將自然語言規格轉換為支援執行與驗證的形式邏輯表示?
  • RQ3處理基於自然語言規格中事件時間順序與副作用,需要哪些機制?
  • RQ4領域專家是否能可靠地在無形式邏輯訓練的情況下,撰寫與驗證受控自然語言規格?
  • RQ5如何使規格的執行具備互動性,並能回應特定情境的資訊?

主要发现

  • Attempto 系統成功透過 DRS 將 ACE 規格轉換為可執行的 Prolog 程式碼,進而支援規格的模擬與驗證。
  • 事件的時間順序透過句子序列隱含捕捉,使邏輯解釋器能依正確的時間順序執行條件。
  • ACE 中的疑問句正確轉換為 Prolog 查詢,進而支援知識庫的邏輯推理與驗證。
  • 透過 Prolog 接口述詞模擬副作用,可追蹤或觸發實際動作,支援原型開發。
  • 系統支援互動式執行,於需要時會向使用者查詢特定實例資料(如客戶身分)。
  • 原型顯示,受控自然語言可作為複雜系統(如自動櫃員機)的可行、可執行且易於理解的規格語言。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。