版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、應用知識本體技術於工程應用程式整合之研究研 究 生:盧明德 Ming-Der Lu指導教授:謝尚賢 Shang-Hsien Hsieh本研究提出一套以知識本體(Ontology)技術為基礎的工程應用程式開發方法,此套方法主要的觀念是由工程領域專家將工程領域問題的分析流程,分割成許多較小的分析單元,並且識別這些分析單元所分析或處理的領域知識與計算邏輯,再用知識本體技術具體地描述這些領域知識,以此知識本體與分析單元的計算邏輯,建立工程領域專家與軟體工程師之間,能依據各自領域專長分工,與共同合作開發工程應用程式的目的。此套開發方法著重以工程領域問題的分析流程為導向,由工程領域專家主導工程應用程式的開
2、發方式,甚至工程領域專家在不熟程式開發技巧的前提之下,亦能透過知識本體,整合由軟體工程師實作分析單元計算邏輯的軟體元件,建構工程應用程式。本研究為能落實應用此套開發方法,所以設計一套軟體架構OneApp Framework,並在.NET軟體平台之上,建構此套軟體架構的雛型系統及相關的輔助工具,並實際以開發建築物耐震能力評估輔助分析系統為例,展示工程領域專家與軟體工程師如何使用此套雛型系統提供的輔助工具,以領域分工與合作開發的方式,建構工程應用程式。一、知識本體技術知識本體(Ontology)是出自哲學領域的術語,其本意在於探討自然界中事物與事物之間本質的關係,近年來軟體工程領域引入知識本體的觀
3、念,應用於討論資訊與資訊之間本質的關係,並以此做為知識管理的基礎架構(Studer et al., 1998)。知識本體是事物概念化(Conceptualization)後的成果,概念化的意涵與物件導向設計中的抽象化(Abstraction)目的相同,在於萃取不同資料間的相同本質,並使用正式而且明確的表示型式,來描述這些本質與資料之間的關係。資料本質之間關係的描述方式,是利用具邏輯語意的字彙(Vocabulary),連結資料本質的類別(Class)和屬性(Property),組織成能描述資料本質的語意網(Semantic Web)(Guarino,1998),此種將事物的本質識別出來,並具體用
4、邏輯字彙描述這些本質之間關係的過程,稱為知識本體工程(Ontology Engineering) (Noy and McGuinness, 2001),在邏輯語意字彙描述的部份,則使用建構在XML XML: /XML/、RDF RDF: /RDF/與RDFS RDFS: /TR/rdf-schema/等標準之上的OWL OWL: /TR/owl-features/(Web Ontology Language),來描述所識別出來的知識本體。以一個簡單的混凝土斷面為例(如
5、表1所示),說明如何描述其知識本體。我們可從一般工程師對混凝土斷面的認知中,建立混凝土斷面的知識,並且將這些知識具體地表達成類別(例如:Section、Concrete、Steel、Location等)(如圖1所示),並利用屬性建立類別與類別之間的關係(例如:MateralIs、Spacing、Width、Height等)。其中Section類別表達一般的混凝土斷面,而Rectangle Section類別則表達矩形斷面,Circle Section則表達圓形斷面,而不論是矩形或是圓形斷面,均是屬於Section類別的次類別(SubClass)。在屬性方面,HasSteels屬性建立Secti
6、on類別與Steel類別的關係,描述混凝土斷面中包含主鋼筋的Steel類別,而LocateAt屬性則描述鋼筋在斷面中所排放的位置。表1 一般混凝土斷面資訊示意圖知識(1) 矩形混凝土斷面(2) 在斷面中有主筋、箍筋與繫筋(3) 鋼筋具有號數、強度與排列位置(4) 混凝土具有強度(5) 箍筋是某一個號數的鋼筋,依某一間距排列圖1 混凝土斷面的知識本體二、以知識本體技術為基礎的工程應用程式開發方法由於資訊技術發展迅速,開發工程應用程式的方式,較無法採用單向的學習模式,由工程領域專家去學習資訊技術的模式,或由軟體工程師學習工程領域知識的模式,開發工程應用程式,而需要兩個領域的專家更高度的互動與配合,
7、才能建構工程應用程式。物件導向技術(Object-Oriented Technique, OOT) (Booch, 1994)是一種常用的工程應用程式開發技術,此技術非常著重分析與設計的過程,通常利用UML的塑模技術(Larman, 2002),依據工程應用程式要分析的工程領域問題(Engineering Domain Problem, EDP)之需求,規劃開發工程應用程式所需要的類別模型(Class Model)。由於分析EDP的工程領域知識與物件導向程式設計技術均有相當的複雜度,所以要熟悉兩個領域的專長並不容易,所以工程領域專家通常需要軟體工程師的協助,開發工程應用程式。在此情形之下所開發
8、的工程應用程式,往往容易發生不容易繼續擴充或維護的瓶頸,主要是因為在工程應用程式開發完成後,軟體工程師會擁有最後開發工程應用程式所有資訊技術的知識,以及開發過程中所獲得的工程領域知識,這些知識並不容易從軟體工程師移轉至其他軟體開發人員,所以並非任何一個軟體工程師都可以很容易地接續開發、擴充與維護的工作,所以原本開發工程應用程式的軟體工程師是否能繼續支援後續的研究與開發,常是工程應用程式日後擴充與維護的重要關鍵之一。當原本開發工程應用程式的軟體工程師不再繼續開發或維護時,工程領域專家不易從資訊技術所封裝的類別模型中,切入工程應用程式類別模型的核心;而後續進行維護與擴充工程應用程式的軟體工程師雖然
9、能從資訊技術面切入,但仍然需要對工程領域問題的分析流程與計算方式有非常充份的瞭解,才能對工程應用程式進行擴充與維護,這些問題的主要關鍵在於開發工程應用程式需要兩個領域知識偶合(Coupled)的結果。無論採用何種工程應用程式開發方法,均需要工程專業與資訊技術的整合,所以無法完全除去開發工程應用程式時領域知識偶合的問題,但是縮小領域知識偶合的程度是可能的,本研究提出使用知識介面(Knowledge Interface)的觀念,將EDP的分析流程,分割成許多較小的分析單元,藉由較簡單的分析單元來縮小分析EDP的複雜度。知識本體技術是用來描述知識介面的核心技術,本研究將以此技術為基礎,建立一套具領域
10、分工與合作開發特性的工程應用程式開發方法。以知識本體技術為基礎的工程應用程式開發方法,是根據工程領域專家與軟體工程師領域的專長,將工程應用程式開發的程序分成三個主要階段(如圖2所示):(1)第一階段:此階段由工程領域專家負責執行,依據工程領域專家對EDP特性的瞭解,規劃此EDP的分析流程,並設計知識介面,將EDP的分析流程,分割成許多較小的分析單元。由於是以EDP的分析流程為導向,所以對沒有物件導向程式設計經驗的工程領域專家而言,仍可以直接從EDP分析流程的角度進行分割(如圖3所示)。EDP的分析流程經分割之後,可以得到許多分析單元,而知識本體所要描述的內容即是這些分析單元要處理的知識(如圖4
11、所示),每一個分析單元均具有知識本體輸入與輸出的部份,輸入的知識本體提供分析單元待處理的知識,經分析單元計算邏輯處理後,可以產生輸出的知識本體。工程領域專家依據每一個分析單元的特性,運用知識本體工程的技術設計輸入與輸出的知識本體,並用OWL描述所有分析單元要處理的知識本體,這些用OWL描述的知識本體與分析單元的計算邏輯,將是工程領域專家與軟體工程師合作開發工程應用程式的契約,而所有分析單元將依據這些知識本體實作與封裝。圖2以知識本體技術為基礎的工程應用程式開發方法圖3 運用知識介面分割EDP分析流程圖4 分析單元所處理的輸入與輸出知識本體(2)第二階段:此階段由軟體工程師負責執行,軟體工程師依
12、據工程領域專家所設計的知識本體,實作能處理這些知識本體的分析單元,並將實作後的應用程式整合單元(Application Integration Unit, AIU)封裝成為具知識本體自動處理能力的軟體元件,本研究稱此軟體元件為知識本體感知元件(Ontology-aware Component)(如圖5與圖6所示)。軟體工程師在實作分析單元時,並沒有限定實作的方式,此部份的實作可以是整合舊有的應用程式(Legacy Application)、結合傳統物件導向或非物件導向程式語言的程式庫、連結資料庫或是整合商用套裝軟體等,只要實作是依據輸入與輸出的知識本體即可。由於實作與封裝分析單元是依據其輸入與
13、輸出的知識本體,所以可以將分析單元分別交由不同的軟體工程師負責實作與封裝,由於軟體工程師僅需要瞭解分析單元中的工程領域知識,不需要考量整體EDP的分析流程,所以對軟體工程師實作分析單元的負擔較小,也減小工程領域專家對軟體工程師依賴的程度。所有實作完成的分析單元,將封裝在知識本體感知元件中,而這些元件所提供的功能是能處理輸入與輸出知識本體的工程領域知識,所以知識本體感知元件就好像是不同知識本體之間的連結器,所以本研究亦稱知識本體感知元件為Ontology Connector或Ontology Transformer。圖5 軟體工程師負責封裝分析單元(3)第三個階段: 此階段由工程領域專家負責,用
14、第一階段所設計的知識本體連結軟體工程師所封裝的知識本體感知元件,重新組合EDP的分析流程,建構工程應用程式(如圖7所示),由於此應用程式的核心是以知識本體的方式連結,所以本研究稱此應用程式為知識本體感知應用程式(Ontology-aware Application, OaApp)。圖6 建立知識本體感知元件圖7 建立知識本體感知應用程式三、以知識本體為基礎的工程應用程式整合架構為能協助工程領域專家與軟體工程師運用知識本體技術開發工程應用程式,所以本研究設計了一套應用程式架構(Application Framework):以知識本體為基礎的工程應用程式整合架構(Ontology-based En
15、gineering Application Integration Framework, OneApp Framework),此應用程式架構提供知識本體感知應用程式的基本執行環境,以及提供相關的輔助工具,能協助工程領域專家與軟體工程師開發知識本體感知應用程式與封裝知識本體感知元件(如圖8所示)。OneApp Framework的基本組成包含:(1) OneApp執行環境(OneApp Runtime Environment):此執行環境是OneApp Framework的主要核心,提供OneApp Framework底層處理知識本體及其相關軟體元件的基本功能,以及提供執行知識本體感知應用程式的
16、基本環境。(2) Ontology Connector Designer for VS 2005:此套輔助工具是為軟體工程師所設計,協助軟體工程師實作分析單元的計算邏輯,以及將實作的成果封裝為可以用知識本體連結的知識本體感知元件。(3) Ontology-aware Application Designer:此套輔助工具是為工程領域專家所設計,協助工程領域專家以視覺程式設計(Visual Programming)的方式,用知識本體整合知識本體感知元件中的AIU,建構工程應用程式。(4) OneApp Desktop:為讓使用者可以便利管理與執行OaApp,所以設計OneApp Desktop,
17、提供一個視窗環境讓使用者便利地執行OaApp。圖8 OneApp Framework四、OneApp Framework雛型系統設計與實作運用物件導向技術分析與設計OneApp Framework,並以服務的觀點為導向,將開發OneApp執行環境與相關輔助工具所需要的功能服務,區分成:基礎服務、設計服務、分散式整合服務及其他服務(如圖9所示)。本研究選用.NET軟體平台,實作上述四項服務的雛型系統,與相關的輔助工具(如圖10所示)。圖9 實作OneApp Framework所需的各項服務功能圖10 OneApp Framework雛型系統五、實例應用本節選用宋裕祺與蔡益超所提出之以結構性能為基
18、礎之改良式耐震能力評估方法(Sung et al., 2005)中,有關構件塑鉸性質分析的部份,做為開發工程應用程式的EDP。使用本研究在第二節所提出的三階段開發流程,規劃此EDP的分析流程如圖11所示,並將此分析流程分割成7個分析單元與10個知識本體(如圖11所示),以及運用知識本體整合由軟體工程師封裝的軟體元件,所建構的工程應用程式如圖12與圖13所示。圖11 從構件塑鉸性質分析流程識別出的知識本體與分析單元圖12 應用知識本體技術開發的構件塑鉸性質分析程式圖13 構件塑鉸性質分析的執行範例六、結論本研究應用知識本體技術建構一套工程應用程式的開發方法,讓工程領域專家與軟體工程師能依據領域專
19、長分工,並以三階段的方式合作開發工程應用程式。三階段的作業流程為:第一階段由工程領域專家依其工程領域知識,設計能分割EDP分析流程的知識介面,運用此知識介面將EDP分析流程分割成許多分析單元,並應用知識本體技術描述知識介面所包含之工程領域知識的知識本體;第二階段由軟體工程師依據知識本體的描述內容,實作分析單元的計算邏輯成為AIU,並將AIU封裝成為知識本體感知元件(Ontology-aware Component,本研究亦稱為Ontology Connector);第三階段由工程領域專家重新依工程領域問題的分析流程,用知識本體整合這些知識本體感知元件中的AIU,建構知識本體感知應用程式(Ont
20、ology-aware Application)。為讓工程領域專家與軟體工程師能更具體地運用上述的分工流程開發工程應用程式,本研究設計一套OneApp Framework,並在.NET軟體平台之上,發展一套支援此軟體架構及相關輔助工具的雛型系統,包含:支援OneApp Framework的OneApp執行環境;協助軟體工程師實作分析單元計算邏輯與封裝知識本體感知元件的Ontology Connector Designer for VS2005;輔助工程領域專家以視覺化程式設計的方式開發知識本體感知應用程式的Ontology-aware Application Designer;以及能執行與管理
21、知識本體感知應用程式的平台 OneApp Desktop。本研究並實際使用這套OneApp Framework雛型系統,開發建築物耐震能力評估輔助分析系統,並說明工程領域專家與軟體工程師如何以三階段領域分工的方式,共同合作開發工程應用程式。參考文獻Booch, G., (1994), Object-Oriented Analysis and Design with Applications(2nd ed.), Benjamin/Cummings, Redwood City, CA.Guarino, N., (1998), “Formal Ontology and Information Systems,” Proceedings of FOIS98, IOS Press, pp. 3-15.Larman, G., (2002), Applying UML and Patterns- An Introduction to Object-Ori
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中央厨房设备采购合同
- 登记框架协议
- 2025年城市空中交通管理系统可行性研究报告
- 2025年影视文化产业园区开发项目可行性研究报告
- 2025年城市综合体商业运营与管理项目可行性研究报告
- 交换留学协议书
- 美发租赁合同范本
- 电信供用电协议书
- 融资部融资专员面试题及答案
- 心理咨询师助理考试题含答案
- XF-T 3004-2020 汽车加油加气站消防安全管理
- 行为金融学课件
- 低空经济产业园建设项目可行性研究报告
- 中考数学讲座中考数学解答技巧基础复习课件
- 短视频的拍摄与剪辑
- 单轴仿形铣床设计
- 全口义齿人工牙的选择与排列 28-全口义齿人工牙的选择与排列(本科终稿)
- 低压电缆敷设方案设计
- 原发性肝癌病人的护理原发性肝癌病人的护理
- GB/T 7324-2010通用锂基润滑脂
- 新能源有限公司光伏电站现场应急处置方案汇编
评论
0/150
提交评论