簡易檢索 / 詳目顯示

研究生: 彭智煇
Chih-Hui Pong
論文名稱: 利用邏輯的一致性來診斷結構化語言的程式
Using Consistency-Based Diagnosis to Diagnose Programs in Structural Programming Language
指導教授: 蘇豐文
Von-Wun Soo
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2000
畢業學年度: 88
語文別: 中文
中文關鍵詞: 診斷程式語言語意
外文關鍵詞: diagnosis, programming language, semantic
相關次數: 點閱:1下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 診斷問題發生在當一個系統的表現行為與期望不符合時,以模型為基礎的診斷(Model-Based Diagnosis)方法是只用到對被診斷系統結構上的描述,我們簡稱為系統描述(System Description),其中包含了該系統每個單元(Component)的功用(Function)與各單元間的連接情形(Connection)的一種診斷方法。
    SPL 是一種被我們定義的結構化程式語言(Structural Programming Language),它包含了允許巢串(Nested Loop)結構的特性與兩種資料型態(Data Type)。

    在本論文中,我們將SPL的語意(Semantic)分析與以模型為基礎的診斷方法整合到我們的軟體系統診斷工作中。我們建議如何依照 SPL 的語意將一個以 SPL 寫成的程式轉換成以模型為基礎的診斷所需的系統描述。然後,我們利用以取代(Replacement)的方式來找到造成被診斷的軟體程式的執行結果與預測不一致的部分,並建議正確的修正為何。

    我們利用多次測試的方法來去掉某些被我們找到而又不符合的單一診斷(Single Diagnoses)。最後,我們建議使用經驗式求值(Empirical Evaluation)與設計直覺式(Heuristics)的取代策略來減低診斷的計算複雜度。我們用實際的範例來闡述我們的想法。


    The diagnostic problems arise while the observed results of a system are different from the expectation. Model-based diagnosis is one of the approaches to solve the diagnostic problems by only usage of system description (SD), i.e. the design or the structure of the system being diagnosed, and the functions of components used in the system.
    SPL (Structural Programming Language) is a kind of programming language that defined by us. The programming language, SPL, contains the following properties: (1) nested control, and (2) two kinds of data structure.

    In this thesis, we integrate two parts: (1) semantic analysis of SPL, and (2) model-based diagnosis, into our software debugging. We propose how to model a program in SPL to system description for diagnosis by semantic analysis of this program. We can find these parts of the program that makes the executing results different from our expectation and provide corrections of the program in SPL by the approach of replacement.

    Finally, we use an idea of multiple case tests to eliminate some impossible single diagnoses in logical assumption, and propose the method of “empirical evaluation” between two sequential replacements to reduce the computing time of consistency check. We demonstrate this idea by examples of software program in SPL.

    摘要 一 誌謝 二 目錄 三 第一章 簡介 四 第二章 SPL 的語法與語意 五 第三章 關於診斷的概念 六 第四章 被診斷程式的模型化 七 第五章 使用對取代的搜尋來診斷 八 第六章 兩個問題 九 第七章 結論與未來工作 十

    [1] Markus Stumptner and Franz Wotawa. Diagnosing tree-structured system. In Proceedings 15th International Joint Conference on Artificial Intelligence, Nagoya, Japan, 1997.
    [2] Markus Stumptner and Franz Wotawa. A model-based approach to software debugging. In Proceedings on the Seventh International Workshop on Principles of Diagnosis, Val Morin, Canada, 1996.
    [3] Raymond Reiter. A theory of diagnosis from first principle. Artificial Intrlligence, 32(1): 57-95,1987.
    [4] Russell Greiner, Barbara A. Smith, and Ralph W. Wilkerson. A correction to the algorithm in Reiter’s theory of diagnosis. Artificial Intelligence, 41(1): 79-88, 1989.
    [5] Markus Stumptner and Franz Wotawa. Debugging functional programs. In Proceedings 17th International Joint Conference on Artificial Intelligence, Stockholm, Sweden.
    [6] John de Kleer and Brian C. Williams, Diagnosing multiple faults. Artificial Intelligence, 32(1): 97-130, 1987.
    [7] Peter Struss and Oskar Dressler. Physical negation □ Integrating fault models into the general diagnostic engine. In proceedings 11th International Joint Conference on Artificial Intelligence, pages 1318-1323, Detroit, August 1989.
    [8] Leland L. Beck, System Software □ An Introduction to Systems Programming, 2nd edition. Addison-Wesley Publishing Company.
    [9] Robert W. Sebesta, Concepts of Programming Languages, 3rd edition. Addison-Wesley Publishing Company.
    [10] Johan de Kleer, Using crude probability estimates to guide diagnosis. Artificial Intelligence 45: 381-392, 1990.
    [11] Johan de Kleer, An assumption-based truth maintenance system. Artificial Intelligence 28: 127-162, 1986.
    [12] Johan de Kleer, Extending the ATMS, Artificial Intelligence 28: 163-196, 1989.
    [13] Hector Geffner, Judea Pearl, Distributed diagnosis of systems with multiple faults. In Proceedings of the 3rd IEEE Conference on AI Applications, Kissimmee, 1987.
    [14] Johan de Kleer, and Brian C. William. Diagnosis with behavioral modes. In proceedings 11th International Joint Conference on Artificial Intelligence, Detroit, August 1989.
    [15] Shapiro, E. Algorithmic Program Debugging. Cambridge, Massachusetts: MIT Press. 1983.
    [16] Sheila McIlraith. Generating tests using abduction. In Proceedings of the Fourth International Workshop on Principle of Diagnosis, September, 1993.
    [17] Markus Stumptner and Franz Wotawa. Model-based program debugging and repair. In Proceedings of the International Conference on Industrial and Engineering Application of Artificial Intelligence and Expert Systems, Fukuoka. 1996.
    [18] Johan de Kleer, Alan K. Mackworth, and Raymond Reiter. Characterizing diagnoses and systems. Artificial Intelligence 56, 1992.
    [19] Luca Console, Gerhard Friedrich, and Daniele Theseider Dupre. Model-based diagnosis meets error diagnosis in logic programs. In Proceedings IJCAI, pages 1494-1499, Chambery, August 1993.Morgan Kaufmann Publishers, Inc.

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE