[论文解读] Attempto Controlled English (ACE)
本文介紹了 Attempto Controlled English (ACE),一種形式化但類似自然語言的規格語言,使領域專家能以熟悉語法撰寫明確、機器可處理的需求。ACE 將規格轉換為語 discourse representation structures(DRS)與 Prolog,以進行驗證、模擬與驗證,展示其在規範自動櫃員機時具備完整一致性與可執行性的可行性。
Attempto Controlled English (ACE) allows domain specialists to interactively formulate requirements specifications in domain concepts. ACE can be accurately and efficiently processed by a computer, but is expressive enough to allow natural usage. The Attempto system translates specification texts in ACE into discourse representation structures and optionally into Prolog. Translated specification texts are incrementally added to a knowledge base. This knowledge base can be queried in ACE for verification, and it can be executed for simulation, prototyping and validation of the specification.
研究动机与目标
- 解決軟體工程中自然語言需求所面臨的模糊、不一致與不完整之挑戰。
- 透過強制使用一致的術語與語法,減少領域專家與開發人員之間的誤解。
- 建立一種既易於人類閱讀又可機器處理的規格語言,以支援形式化推理與執行。
- 讓非專家能使用熟悉的語言形式撰寫、驗證與模擬需求。
- 在不需具備邏輯或程式設計專業知識的情況下,將形式化方法整合至早期軟體開發階段。
提出的方法
- ACE 使用受限語法與詞彙,以確保語法與語義的清晰,最小化模糊性。
- Attempto 系統將 ACE 文本解析為語 discourse representation structures(DRS),一種基於一階謂詞邏輯的形式化語法。
- 代詞指涉解析自動完成,透過根據性別與數量一致,從上位 DRS 中選擇最接近的指涉對象。
- DRS 被轉換為 Prolog 述詞,以支援執行並與邏輯程式設計環境整合。
- 系統支援逐步建構知識庫,允許動態查詢與規格的模擬。
- 使用者可使用 ACE 查詢知識庫,以驗證一致性並根據提供的事件資料模擬系統行為。
实验结果
研究问题
- RQ1能否設計一種受控自然語言,使其既易於人類閱讀,又具備足夠的形式精確性以用於軟體需求?
- RQ2如何在受控自然語言中自動化代詞與指涉解析,以維持語義一致性?
- RQ3以這種語言撰寫的需求能否轉換為可執行的邏輯,以進行模擬與驗證?
- RQ4非專家在無需正式訓練的情況下,能多大程度上使用此語言撰寫出一致且完整的規格?
- RQ5所產生的形式化表示是否能支援系統行為的自動驗證與執行?
主要发现
- Attempto 系統成功將 ACE 規格轉換為語意明確且邏輯一致的 DRS,確保語意無歧義。
- 系統支援逐步建構知識庫,允許動態查詢與系統行為的模擬。
- 如 '誰插入一張卡片?' 之類的 ACE 查詢,能正確回應並執行適當的代換,展現有效的語意解讀。
- 系統能透過提示使用者輸入情境特定資料,模擬現實事件(如卡片插入與驗證檢查),並列印執行追蹤。
- ACE 轉換為 Prolog 的過程,使規格得以執行,顯示形式化表示不僅可驗證,亦可執行。
- 此方法能以應用領域的原始概念語言進行需求的驗證與原型設計,減少利益相關者之間的誤解。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。