謝尚賢臺灣大學:土木工程學研究所盧明德Lu, Ming-DerMing-DerLu2007-11-252018-07-092007-11-252018-07-092005http://ntur.lib.ntu.edu.tw//handle/246246/50343本研究以知識本體技術為基礎,提出一套開發工程應用程式的方法,其最大的特點是建立工程領域專家與軟體工程師之間領域分工與合作開發工程應用程式的機制,讓不熟悉資訊技術的工程領域專家或只瞭解部份工程領域知識的軟體工程師,可以一同合作開發具可彈性擴充與便利維護的工程應用程式。 此套開發方法提出知識介面(Knowledge Interface)的概念,由工程領域專家依據其工程領域知識設計知識介面,並且運用這些知識介面,分割工程領域問題的分析流程,將分析流程變成許多較小的分析單元,以減小分析整個工程領域問題的複雜度。本研究導入以知識本體技術具體地描述知識介面所包含的領域知識,並與分析單元一同交由軟體工程師實作與封裝。軟體工程師運用其資訊技術的專業,實作能處理這些知識本體與分析單元之計算邏輯,並將實作成果封裝成本研究所提出之知識本體感知元件(Ontology-aware Component),再由工程領域專家運用知識本體連結這些知識本體感知元件,以重新組織工程領域問題的分析流程,建構一套具知識本體感知的工程應用程式(Ontology-aware Application),本研究即以此方法建立工程領域專家與軟體工程師之間領域分工與合作開發的關係。 除了透過知識本體技術建立不同領域專家共同合作的開發機制之外,利用知識本體技術與其他工程應用程式整合(Engineering Application Integration, EAI) 技術相互配合,亦可以將工程分析常用的商用套裝軟體或是能輔助工程分析與計算的程式庫,封裝在知識本體感知元件中,讓使用者在建構工程應用程式時,可以透過知識本體連結,重複地使用這些知識本體感知元件開發工程應用程式。 為能實際將知識本體技術更具體地應用於開發實務中,本研究以.NET軟體平台,設計一套以知識本體為基礎的工程應用程式整合架構(Ontology-based Engineering Application Integration Framework, OneApp Framework),並開發相關配套輔助工具之雛型系統(如Ontology Connector Designer for VS2005、Ontology-aware Application Designer與OneApp Desktop等),來協助工程領域專家與軟體工程師應用此開發架構,開發具知識本體感知的工程應用程式。 本研究最後以開發「鋼筋混凝土建築物耐震能力評估輔助分析系統」為例,說明工程領域專家與軟體工程師如何運用知識本體技術,以領域分工的方式共同合作開發工程應用程式。In this research, we propose an ontology-based engineering software development approach for domain experts and software engineers to work cooperatively in engineering application integration. In the proposed approach, the domain expert first identifies and defines the domain knowledge ontologies involved in the solution processes of the targeted engineering problem domain. Then, each of the ontology-aware components for transforming a group of ontologies into another, is designed and implemented by the software engineer, following the process logics instructed by the domain expert. Finally, the domain expert integrates the selected ontology-aware components into an engineering application for solving the problem he/she possessed. An ontology-based engineering application integration framework, called OneApp Framework, was designed to assist domain experts and the software engineers to easily apply the ontology-based approach to develop their engineering applications. And a prototype runtime environment for OneApp Framework and its accessory tools(e.g. Ontology Connector Designer for VS2005, Ontology-aware Application Designer, and OneApp Desktop) were also developed based on .NET framework for domain experts and software engineers practice using. Finally, we use the case of “RC Building Aseismic Capacity Evaluation Auxiliary System” to demonstrate how the domain expert and software engineer can apply this ontology-based software development approach to cooperatively develop an engineering application.誌謝 i 摘要 iii 目錄 vii 表目錄 xiii 圖目錄 xv 第一章 緒論 1 1.1 研究背景與動機 1 1.2 研究目的與範圍 5 1.3 研究方法與步驟 7 1.4 論文組織 9 第二章 工程應用程式開發方法 11 2.1 整合技術為主的開發方法 11 2.2 程式層級的整合技術 14 2.3 程式層級開發方法容易產生的瓶頸 17 2.4 知識導向整合技術 19 2.5 知識本體技術 22 2.5.1 知識本體的定義與應用 22 2.5.2 相關的技術與標準 24 2.5.2.1 XML 25 2.5.2.2 XML Schema 26 2.5.2.3 RDF (Resource Description Framework) 27 2.5.2.4 RDF Schema (RDFS) 30 2.5.2.5 OWL (Web Ontology Language) 33 2.5.2.6 知識本體工程 36 2.5.2.7 知識本體範例 38 2.5.3 知識本體與其他相關概念技術的比較 39 2.5.3.1 與Database技術比較 39 2.5.3.2 與XML相關技術比較 41 2.5.3.3 與物件導向塑模技術比較 42 2.5.4 知識本體的完備性 43 2.6 以知識本體技術為基礎的工程應用程式開發方法 44 2.7 不同應用程式開發方法的比較 50 第三章 以知識本體為基礎的工程應用程式整合架構 55 3.1 工程應用程式整合架構 55 3.2 應用程式架構(Application Framework) 57 3.2.1 簡介應用程式架構 57 3.2.2 Application Framework的優點 59 3.2.3 Application Framework的架構層次 62 3.2.4 Application Framework設計流程 64 3.2.5 Application Framework設計技術 68 3.3 OneApp設計目標與應用範圍 70 3.3.1 一般工程領域問題之特性 70 3.3.2 需求目標 73 3.3.3 功能目標 74 3.3.4 應用目標 76 3.3.5 適合範圍 77 3.4 OneApp Framework設計 77 3.4.1 OneApp Framework中抽象觀念與具體技術之對應 78 3.4.2 OneApp架構層次設計 79 3.4.3 分工作業流程設計 82 第四章 OneApp執行環境與輔助工具的分析與設計 87 4.1 物件導向之設計法則與設計模式 87 4.2 OneApp執行環境分析與設計 88 4.2.1 功能需求 88 4.2.2 功能服務分析 90 4.2.3 其他Application Framework的整合 92 4.2.3.1 Jena Semantic Web Framework 93 4.2.3.2 Internet Communication Environment(ICE) 93 4.2.3.3 Netron Project 94 4.2.3.4 DockPanel Project 94 4.2.3.5 Log4Net Project 95 4.2.4 Ontology Service 95 4.2.5 Ontology Connector Service 99 4.2.6 Execution Service 103 4.2.7 Design Service 105 4.2.8 Build Service 107 4.2.9 Deployment Service 109 4.2.10 Network Service 112 4.2.11 Configuration Service 115 4.2.12 Logging Service 117 4.2.13 Helper Service 119 4.3 Ontology Connector Designer分析與設計 121 4.3.1 功能需求分析 122 4.3.2 OntConn Designer for VS2005設計細節 122 4.4 Ontology-aware Application Designer分析與設計 124 4.4.1 功能需求分析 125 4.4.2 OaApp Designer的設計細節 125 4.5 OneApp Desktop分析與設計 128 4.5.1 功能需求分析 128 4.5.2 OneApp Desktop的設計細節 128 第五章 OneApp執行環境與輔助工具的實作與管理 131 5.1 軟體平台與作業系統 131 5.2 EAI基本技術 133 5.2.1 同步技術與程序控制 133 5.2.2 運用COM的封裝技術整合舊有的開發成果 135 5.2.3 運用Reflection技術實作外掛機制 135 5.2.4 運用Delegate與Event技術實作Observer模式 136 5.3 OneApp 執行環境實作 137 5.4 Ontology Connector Designer 142 5.4.1 整合VS2005的IDE 142 5.4.2 開發成果 143 5.4.3 開發OntConn的重點說明 145 5.5 Ontology-aware Application Designer 148 5.5.1 開發成果 148 5.5.2 開發OaApp的重點說明 152 5.6 OneApp Desktop 155 5.7 OneApp Framework雛型系統開發流程管理 155 第六章 實例應用 161 6.1 鋼筋混凝土建築物耐震能力評估輔助分析系統 161 6.1.1 研究背景 161 6.1.2 建築物耐震能力評估作業流程 163 6.1.2.1 靜力彈性分析階段 164 6.1.2.2 構件塑鉸性質分析階段 164 6.1.2.3 靜力非線性側推分析階段 166 6.1.2.4 耐震能力評估階段 167 6.1.3 目前ETABS對耐震能力評估的支援 170 6.2 以知識本體技術開發耐震能力評估輔助分析系統 173 6.2.1 以知識介面分割構件塑鉸性質分析流程 173 6.2.2 封裝構件塑鉸性質分析流程中的分析單元 181 6.2.2.1 NARC-2004 181 6.2.2.2 NARC-2005 183 6.2.2.3 封裝應用程式整合單元 185 6.2.3 重新組合構件塑鉸性質分析流程 185 6.2.4 實例分析 187 第七章 結論與建議 191 7.1 結論 192 7.2 建議 193 參考文獻 197 附錄A 知識本體範例(混凝土斷面) 207 附錄B 與構件塑鉸性質分析相關的知識本體 2119851812 bytesapplication/pdfen-US工程應用程式整合技術知識本體Engineering Application Integration TechnologyOntologyEngineering Software Development Approach應用知識本體技術於工程應用程式整合之研究An Ontology-based Engineering Software Development Approachthesishttp://ntur.lib.ntu.edu.tw/bitstream/246246/50343/1/ntu-94-D88521023-1.pdf