Using Semantic Technologies for Dynamic and Flexible Trip Planning

advertisement

Using Semantic Technologies for Dynamic and Flexible Trip

Planning

使用語意技術於動態且靈活的旅遊計劃之中

Author

Vuong Xuan TRAN and Hidekazu TSUJI;

Graduate School of Science and Technology, Tokai University, Japan

School of Info. Science and Telecom. Eng., Tokai University, Japan

Content Type

Conference Publications

This paper appears in

Digital Ecosystems and Technologies, 2009.

Issue Date

1-3 June 2009

Speaker

Pei Mei Chen

Abstract

Travel and tourism are potential areas for applying Web service technologies, especially with service integration of multiple travel information sources and tasks. It is required to support users dynamically and flexibly planning their trip plans which can be realized by various services. In this paper, we present a semantic method that automatically transforms high level trip plan templates into executable processes. A trip plan is defined by using OWL-T, a task ontology language, to capture users’ travel requirements. Semantic technologies are used to map such trip templates into executable processes expressed in BPEL, a business process language. A prototype system was developed for illustration.

旅行與旅遊業的潛在領域應用於網路服務技術,特別是在多元的旅遊資訊來源和

任務的服務整合性上。其根據各種服務來實現支援使用者動態與靈活地規劃他們

旅遊計劃之需求。在本篇論文中,我們提出了一個高層級的旅遊計劃模型以利用

語意方法來實現自動轉換成可執行的流程。一個旅遊計劃的定義是根據使用

OWL-T 、任務本體論語言來吸引使用者的旅遊需求。語意技術被用於映射在旅

遊模型轉換於 BPEL (業務流程語言)可執行的流程之中。一個原型系統的開發

說明。

Index Terms — automatic trip plan, task template, semantic technology, business process, tourism.

關鍵字-自動的旅遊計劃、任務模型、語意技術、業務流程、旅遊業。

1. Introduction 導論

In tourism industry, information integration is an important issue because a travel trip usually relates to various services such as flight services, hotel services, car rental services, etc. Web service technology is a promising solution for such scenario. Each travel services can be provided via Web services deployed on the Internet and advertised in UDDI registries. Web service composition technique can be then used to integrate individual Web services for creating composite services or business processes which can satisfy complex travel demands consisting of various travel requests and tasks. Some service composition languages like BPML, BPEL allow for static and precompiled service composition. However it is unsuitable for users dealing with the whole service composition process manually when more and more Web services are available.

在旅遊行業中,資訊整合是一個重要的議題,因為旅行通常涉及到各種服務,如

航班服務、飯店服務、汽車租賃服務等。網路服務技術在這樣的場景下是一種很

有前途的解決方案。每個旅遊服務可以提供透過網路服務部署在網際網路中,以

及發佈在 UDDI 註冊中心。網路服務組合技術能將創建複合服務或業務流程等整

合至個人的網路服務中,以滿足複雜的旅遊需求,如包含了各種旅遊要求和任

務。一些服務組合語言如 BPML 、 BPEL ,其允許靜態和預先編譯的服務組合。

然而,當有越來越多可用的網路服務時,它是不適合使用者手動處理整個服務組

合過程中地。

※網路服務( Web Services )

網路服務交互操作標準 (SOAP / WSDL / UDDI) 解決網路服務協議的互通性。

來源:語意網路服務發現的服務非功能描述擴展 .pdf http://www.iiiedu.org.tw/knowledge/knowledge20021231_1.htm

※ UDDI ( Universal Description, Discovery, and Integration )

UDDI 是一種目錄服務,企業可以使用它對 Web services 進行註冊和搜索。

來源: http://baike.baidu.com/view/160665.htm

是統一描述、發現和集成的縮寫。它是一個基於 XML 的跨平台的描述規範,

可以使世界範圍內的企業在互聯網上發佈自己所提供的服務。

UDDI 是核心的 Web 服務標準之一。它通過簡單對象存取協議進行消息傳輸,

用 Web 服務描述語言描述 Web 服務及其接口使用。

來源: http://zh.wikipedia.org/zh-hk/UDDI

UDDI 是搜尋服務之電話簿,一種 B2B 電子商務所使用的註冊機制標準,定

義了企業如何從事電子交換,提供企業透過網路,以電子化的方式搜尋可供合

作的交易伙伴,以及需要的服務。

來源: http://www.ws.org.tw/sws/index.php?option=com_content&task=view&id=27&Ite mid=48

針對 XML Web service 所提供的動態、具彈性的基礎環境。這個以標準為基

礎的解決方案可以讓公司能提供自己的 UDDI 目錄供內部網路或外部網路使

用。

企業 UDDI 服務可以幫助公司組織及建立 Web 服務和其他可程式化資源的

分類。藉由套用像是地理分佈、服務品質 (QoS) 、或是 UDDI 服務中的組織

之類的分類結構,公司可以建立一個結構化和標準化的方式描述並找尋服務。

來源: http://www.microsoft.com/taiwan/windowsserver2003/evaluation/overview/dotnet/ uddi.mspx

※ BPEL ( Business Process Execution Language )

企業流程執行語言,是一種基於 XML 的,用來描寫業務過程的程式語言,被

描寫的業務過程的每個單一步驟則由 Web 服務來實現。

來源: http://zh.wikipedia.org/zh-tw/BPEL http://sls.weco.net/node/9197 http://blog.csdn.net/treewinder/article/details/2045810

※ BPML ( Business Process Modeling Language )

企業流程建模語言 or 商業處理模型語言,是業務流程建模的元語言,就像 XML

是業務數據建模的元語言一樣。

BPML 是後設語言( meta-language ,描述語言的語言)的另一層,企圖讓不同

行業、國家、甚至個別企業使用 BPML 來建立他們自己的標記語言,針對個

別事務及合法需求量身訂作

來源: http://baike.baidu.com/view/2094367.htm http://yuxuan.myweb.hinet.net/note/keyword/bpml.html

BPML 主要是一種 XML 類型的標籤語言 (metalanguage) ,它可以用類似 XML

的方式來描述商業流程整個內容。

在 發 展 BPML 的 時 候 又 可 再細 分 成商 業流 程 模 型符 號 (Business Process

Modeling Notation , BPMN) 與商業流程執行語言 (Business Process Execution

Language , BPEL) 兩個的標準。

成立之目的是要發展及推廣與商業流程管理 (Business Process Management) 生

命週期相關的標準,包含了商業流程的設計、佈建、執行、維護與調整,以滿

足一般電子商務 與 B2B 電子商務的需要。不過,不同企業會用不同的方式來

描述與執行商業流程 ( 例如:允不允許子流程的存在、決策點是否包含動作…

等 ) ,所以 BPMI.org

其目標就是要克服這些問題,讓跨組織間的溝通能夠更有

效率,且共用的不再僅限於資料而已,還包含了共用彼此的應用系統。

來源: http://tw.myblog.yahoo.com/tomwolfkimo/article?mid=5

In order to support for more convenient service composition process, semantic technologies can be used to associate semantic annotations with WSDL for describing

Web services and facilitating dynamic and automatic service composition. SAWSDL,

OWL-S, WSMO, etc. are notable approaches for semantically annotating Web services. Furthermore, approaches like WSMO, METEOR-S, and SHOP2 have been introduced for (semi-)automatic service composition by exploiting semantic service descriptions and often employ some AI planning algorithms for generating composite

Web services.

為了更方便支援服務組合的過程,語意技術可使用 WSDL 來描述網路服務中語

意註釋的關聯,以及促進動態且自動化的服務之組合。 SAWSDL 、 OWL-S 、 WSMO

等都是著名的網路服務語意標註的方法。而且,像是 WSMO 、 METEOR-S 和

SHOP2 的方法是引入(半)自動服務組合,其根據使用語意服務描述和經常利

用一些 AI 計劃演算法來生成複合的網路服務。

※ WSDL 網路服務描述語言 (Web Services Description Language)

WSDL 是一種使用 XML 編寫的文檔。這種文檔可描述某個 Web service 。它

可規定服務的位置,以及此服務提供的操作(或方法)

來源: http://rritw.com/w3school/wsdl/wsdl_intro.html

當你在網路上找到一個 Web Service ,你如何知道要怎樣使用它?它提供了什

麼服務?有哪些方法可以呼叫?要傳遞哪些參數?就是 WSDL 。 WSDL 在 Web

Services 中,扮演一個描述網路服務的角色。 WSDL 將網路服務表達成訊息交

換的終端節點,透過前述訊息之表達,使用者可明白網路上現有可用之服務

內容。如果沒有一致的『描述網路服務』的語言, Web Services 將無法將整合。

WSDL 以一組終端點 (endpoints) 的訊息資訊,描述實體網路服務,該組終端點

以包含文件導向或程序導向資訊的 XML 格式訊息運作。由於 WSDL 是以 XML

為基礎,在本質上應可與其他不同的協定共同運作。

來源: http://www.ws.org.tw/sws/index.php?option=com_content&task=view&id=27&Ite mid=48

※ SAWSDL 服務語意標註語言 (semantic annotation for WSDL)

其原本是 WSDL 語意標注( Semantic Annotations for WSDL )

是 WSDL 與 XML Schema 語意標注( Semantic Annotations for WSDL and XML

Schema ) SWS (語意服務,又稱為語意網路服務,支援對網路服

務進行語意描述的技術)

來源: Web 3.0 與 Semantic Web 編程-書

Web 服務語意標注語言 (SAWSDL) 的網路化物流服務匹配框架。採用 SAWSDL

對物流服務進行描述,完善物流領域的服務匹配演算法;對物流服務進行服務

範本與候選服務在功能、 I/O 及 QoS 等方面的匹配,並計算各匹配度值及服務

總體匹配度值。

來源: http://www.airitilibrary.com/searchdetail.aspx?DocIDs=10005013-201005-201005

170004-201005170004-275-281

※ OWL-S ( Semantic Markup for Web Services ,網路服務語意標記)

對網路服務功能屬性方面的語意描述。

來源: http://file.lw23.com/b/bf/bf7/bf7c34a4-613f-4cb9-ad6f-25814bf44fe7.pdf

OWL-S 是基於語義網規範而發展的網路服務描述文件,讓網路服務中的資料

能夠被自動化程式或工具分享、理解並且處理,增加了實現網路服務自動化組

合的可能性。

來源: http://etds.lib.ncku.edu.tw/etdservice/view_metadata?etdun=U0026-131220111918

5500

※ WSMO ( Web Service Modeling Ontology ,網路服務建模本體)

基於本體建模的 WSMO(Web Service Modeling Ontology) 和 OWL-S 一樣具有

強大的語意和抽取能力,它是一個描述語意網路服務的概念模型,主要解決

在資料、過程以及協定層上不相容問題的核心概念,其目的是透過為語意網路

服務的核心元素提供本體化說明從而更好地支援網路服務的發現、整合及交

互。

來源: http://cdmd.cnki.com.cn/Article/CDMD-10414-1011031247.htm

是描述語意網路服務相關方面的本體,以網路服務建模框架 WSMF (Web

Service Modeling Framework) 為基礎。 WSMO 為語意網路服務的核心部分提供

本體的詳細說明,為描述語意網路服務的各個方面創立網路服務建模本體,以

解決 Web Service 的整合問題,將網際網路從一個人類的資訊知識庫轉變為世

界範圍的分散式網路處理系統。

WSMO 具有簡單 ( 盡可能簡化整合問題 ) 、完整 ( 解決整合問題涉及的所有方

面 ) 及可操作 ( 將現有的一系列語意操作作為參考 ) 的特點,可以在不同應用

領域 ( 如旅遊、銀行、市場、供應鏈等領域 ) 開展實際應用研究,同時在語

意網路服務方面,能夠開發出一個易於被服務機構和使用者方使用的本體。

來源: http://jlyuanshi.com:68/qikan/manage/wenzhang/20100804.pdf

※ METEOR-S

目前,有很多學術機構均致力於智慧化的網路服務框架研究,美國喬治亞大學

LSDIS 實驗室的 METEOR—S 系統,採用語意本體論推理和 QoS 策略相結合

的服務匹配和篩選方法。

補充: http://littlecatphd.i.sohu.com/blog/view/41699508.htm

來源:語意網路服務發現的服務非功能描述擴展 .pdf

※ SHOP2

SHOP2 是一個人工智慧裡面關於任務分解和任務規劃的系統。

來源: http://www.dssz.com/748777.html

利用語意網(即語意網路服務描述模型)與 AI 規劃技術(層次任務網規劃系

統 (HTN) 和基於 HTN 規劃系統的規劃器 SHOP2 )兩者的結合進行網路服務組

合,能使服務組合具有較好的動態性支援。

來源: http://wuxizazhi.cnki.net/Search/RJDK200809027.html

The static composition methods are not suitable for non-expert users because of technical details at implementation level. Though existing (semi-)automatic service composition approaches can support for automatic discovery, selection, and composition of Web services they have not concentrated on providing a suitable method for end users, such as travelers or travel agencies, easily expressing their complex travel demands.

靜態組合的方法因為在執行層面上的技術細節是不適合非專業的使用者來使

用。雖然現有的(半)自動服務組合的方法可以支援網路服務的自動發現、選擇

和組合,但他們並沒有集中提供一個合適的方法給最終使用者(如旅客或旅行

社)

In this paper we present a semantic method for applying automatic service composition in tourism. The OWL-T language is used to describe and specify travel demands in terms of a trip plan template consisting of structured tasks which are semantically defined and annotated. The general purpose of the OWL-T is to help end users specify what they need rather than how to realize it. An OWL-T trip plan template is then automatically transformed into an executable process of relevant Web services. SAWSDL is used for semantically describing Web services and facilitating automatic discovery and selection of suitable services whilst BPEL is the target composition language for expressing executable processes of OWL-T templates.

在本文中,我們提出了一個語意方法以應用於旅遊業的自動服務組合。 OWL-T

語言是用來描述和指定在旅遊規劃模型裡的項目,其包含了結構化任務的語意定

義和標註。而 OWL-T 一般的目的是為了幫助最終用戶可以指定他們需要什麼,

而不是如何去實現它。 OWL-T 的旅遊規劃模型於是將其自動轉換成一個可執行

且與網路服務相關的流程。 SAWSDL 用於語意描述網路服務、幫助自動發現和

選擇合適的服務,而 BPEL 為該目標的組成語言,其主要用於表達 OWL-T 模型

裡可執行的流程。

The remainder of this paper is organized as follows. In section 2, we introduce some background related to WSDL/SAWSDL, BPEL, and OWL-T languages. The overview of the system is given in section 3. Section 4 concerns about the details of transforming a trip template into a BPEL executable process. In section 5, we present the prototype implementation. Finally we conclude the paper in section 6.

本文的其餘部分安排如下:在第 2 節中,我們介紹一些與 WSDL / SAWSDL 、 BPEL

和 OWL-T 語言相關的背景。在第 3 節中會介紹系統的概述。第 4 節則涉及旅遊

模型轉換到 BPEL 可執行流程的細節。在第 5 節中,我們提出了原型實現。最後,

於第 6 節中我們給予本文的結論。

2. Background 背景

2.1. WSDL and SAWSDL

The standard WSDL specification allows only for syntactical interoperability.

Therefore SAWSDL, a simple extension of WSDL, was proposed for semantic Web services where WSDL elements are annotated with semantic information. Ontology is used as a semantic model to define annotations of WSDL elements. SAWSDL provides the following attributes for that purpose: the modelReference attribute which is used to annotate various elements like schema type definitions, element definitions, attribute declarations as well as WSDL interfaces, operations, and faults; the liftingSchemaMapping and loweringSchemaMapping attributes which are used for semantic mapping between XML Schema types and ontology concepts.

標準的 WSDL 格式裡只允許語法間的互操作性。因此 SAWSDL ,一個簡單的

WSDL 擴展,被推薦於語意網路服務中,其在 WSDL 元素中標註語意訊息。本

體論作為一個語意模型以定義 WSDL 元素的註解。 SAWSDL 提供了下列屬性以

實現該目的: modelReference 屬性-用來註釋各種元素像是模式類型定義、元素

定 義、 屬性 聲明以 及 WSDL 接口 、操 作和故障 ; liftingSchemaMapping 和 loweringSchemaMapping 屬性-這些屬性用於 XML Schema 類型和本體概念之間

的語意映射。

※ SAWSDL schema 的三個屬性: modelReference 是一個標註,它告訴解釋器,參考的 URI 是一個到某一語意模

型的鏈接,而該語意模型和當前被標註的 WSDL 對象相對應。

LiftingSchemaMapping 屬性提供了一個 URI ,將從 XML 中提出的 WSDL 對象

對應到一個語意模型。 loweringSchemaMapping 屬性則執行相反的操作,將語意模型降低到 XML 格

式。

2.2. BPEL

BPEL is an XML-based language that can be used to define how multiple services can interact and coordinate via Web service interfaces to achieve business goals. A BPEL process definition relates to declaration of various elements: partner link types, partner links for describing interactions between the business process and other services; endpoint references for selecting and invoking provider services; variables, variable properties and property alias; correlations and correlation sets for routing exchanged messages; and a set of activities which can be basic activities or structured activities. Basic activities are atomic actions such as: invoke for invoking Web service operations; receive for receiving external messages; reply for replying to external sources; wait for waiting for some time; assign for copying data from one element to another; throw for indicating faults and errors; terminate for terminating the entire service instance; and empty for doing nothing. Structured activities are defined by using the following constructs: sequence for defining an execution order; switch for conditional routing; while for looping; pick for race conditions based on timing or external triggers; flow for parallel routing; and scope for grouping activities to be treated by the same constraints. Structured activities can be nested and combined in arbitrary ways. In our system, many of these technical details are hidden from end users via OWL-T language.

BPEL 是一種基於 XML 的語言,它可以被用來定義多個服務,並透過網路服務

接口進行交互和協調,以實現企業之目標。一個 BPEL 流程定義有關各種元素的

聲明:合作夥伴鏈接類型,合作夥伴鏈接其用於描述業務流程和其他服務之間的

相互作用,像是服務提供者涉及端點變量、變量屬性和屬性別名的選擇與調用;

路由之間關聯的訊息交換;以及一組活動等都是基本的活動或者是結構性活動。

基本活動是一種微乎其微的操作,如:調用網路服務的操作、接收外部資訊、回

應外部資源、等待一段時間、將數據從一個元素分配並複製到另一個、丟出失敗

和錯誤訊息、終止整個服務的實例、沒做什麼事情。結構化的活動根據使用以下

之概念來定義:序列用於限定執行的順序;以條件來控制路由的開關;當循環時,

將基於時間或外部觸發來選擇競爭的條件;平行流的路由;以及有範圍的群組活

動將具有相同的約束來對待。結構化的活動可以以任意的方式相嵌套與結合。在

我們的系統中,許多這些技術的細節透過 OWL-T 語言都被隱藏在最終用戶裡。

More details related to WSDL, SAWSDL, and BPEL can be found at [4, 5, 3].

更多的細節可以在 [4, 5, 3] 中發現 WSDL 、 SAWSDL 和 BPEL 之關係。

2.3. OWL-T: A Task Ontology Language

In, we introduced OWL-T, an OWL-based task ontology language which can be used to describe high level requirements in terms of task templates. A task template can be then automatically transformed into an executable process of Web services. A task specified in the OWL-T reflects a user’s demand which can be simple and able to be achieved by a service’s operation or can be complex and requires a composite service.

Types of tasks include: atomic task which can be directly completed by an operation of a service; composite task which is necessarily completed by a composition of several services; simple task which is either an atomic task or a composite task; and complex task which consists of one or more simple tasks. From user’s perspective, there are only two types of tasks: simple tasks and complex tasks. Simple tasks are elementary units that reflect a user’s demands and they can be combined to form a complex task. A simple task can be completed by either an atomic service operation or a composite process but the user needs not to know about this. This is the responsibility of the system when it transforms task templates into executable processes. Information related to a task is separated into PreInformation and

PostInformation. The PreInformation class represents information that a user needs to provide before executing a task. It includes three subclasses Input, Precondition, and

Preference. The PostInformation class represents information and status after performing a task and it includes the subclasses Output, Postcondition, and Effect.

在這裡我們要介紹 OWL-T ,一個基於 OWL 的任務本體語言,其在任務模板中

可用於描述高層次的需求。任務模板可以自動轉換成一個可執行的網路服務流

程。 OWL-T 在一個指定的任務中反應了用戶的需求,其可以根據服務的操作或

者是複雜且需要一個複合的服務來簡單地達到所需。任務的類型包含:微量任務

-它可以直接由一個服務來操作完成;複合任務-必須根據多個服務的組合才能

完成;普通任務-微量任務或複合任務其中之一;複雜任務-其由一個或多個普

通任務所組成的。從用戶的角度來看,有兩種類型的任務:普通任務和複雜任務。

普通任務是基本單元,其能真實反應用戶的需求,並且它們可以被組合成一個複

雜任務。一個普通任務可以根據普通服務的操作或複合的流程來完成,但用戶並

不需要知道這個。該系統的責任就是將任務模板轉換成可執行的流程。任務有關

的訊息被分成 PreInformation 和 PostInformation 。 PreInformation 類別代表用戶在

執行任務之前需要提供的訊息。它包括三個子類別 Input( 輸入 ) 、 Precondition( 前

置條件 ) 、 Preference( 優先權 ) 。 PostInformation 類別代表執行任務後的訊息和狀

態,並且還包含三個子類別 Output( 輸出 ) 、 Postcondition( 後置條件 ) 、 Effect( 結果 ) 。

Task constructs are used to define complex tasks from simple tasks and/or other complex tasks. These include OrderedAll, NonOrderedAll, and SynNonOrderedAll for expressing sequential or parallel execution of tasks; Switch, Choice, and Or for expressing alternative execution of tasks; IfThenElse, RepeatUntil, and WhileDo for expressing conditions or iterations of tasks.

從普通任務和 / 或其他複雜任務中的任務概念被用來定義複雜的任務。這些包含

了 OrderedAll 、 NonOrderedAll 、 SynNonOrderedAll ,以表示順序或並行執行的任

務; Switch( 開關 ) 、 Choice( 選擇 ) 和 Or( 或 ) ,用於表示二擇一執行的任務;

IfThenElse 、 RepeatUntil( 重複直到 ) 和 WhileDo ,用於表達條件或重複的任務。

More details and examples of the OWL-T specification can be found at.

可在 OWL-T 說明書中找到許多的細節與例子。

※工作知識本體 ( task ontology)

企業工作知識本體乃依知識本體理論延伸,應用於表達企業工作流程,將相關

之真實世界事物轉化為抽象概念及關係後,進而用特定詞彙標註表達,以作為

產生企業工作流程領域知識的實例之語法。

來源: http://nccur.lib.nccu.edu.tw/bitstream/140.119/26407/1/C041126000054.pdf

作業本體論 (Task ontology) :描述根據其相關領域 ( 例如:醫學或汽車 ) 、作業

或活動 ( 例如:診斷或銷售 ) 相關的字彙。

來源: http://web.bp.ntu.edu.tw/WebUsers/ftlin/course/phisci/Ontology%E5%88%9D%E6

%8E%A2040727.pdf

旅遊計劃的推論

流程執行引擎

Repository 資料庫

3. System Overview

In this section we first introduce the role of the three main components of the system and the role of various ontologies. We then summarize main operation steps of the system from the creating of a trip plan template to the generating and executing of its corresponding executable process and returning the result to the user (Fig. 1).

在本節中,我們首先介紹三個主要的系統組件和各種本體的作用。然後,我們總

結系統主要的操作步驟,即從創建旅遊計劃模板到產生和執行其對應可執行的過

程,並將結果返回給用戶(圖 1 )

• Role of three main components 三個主要組成部分的作用

Trip Plan Client: This component includes an OWL-T trip designer which allows users defining a trip plan template and a process client which interacts with the semantic trip plan server to execute and receive the result from the generated executable process.

客戶端的旅遊規劃:其包含一個 OWL-T 之旅遊設計師 (OWL-T Designer) ,它允

許用戶定義一個旅行規劃模板,而客戶端的流程 (Process Client) 是與語意旅遊規

劃伺服器進行互動,即從產生可執行的流程後去執行和接收所應有的結果。

Semantic Trip Plan Server: This component includes a trip plan reasoner and a process execution engine like ActiveBPEL. The main function of the trip plan reasoner is to transform an OWL-T task template into an executable process which can be deployed, executed, and monitored in the process execution engine system.

語意旅遊規劃伺服器:其包括一個旅遊規劃推理器 (trip plan reasoner) 和流程執行

引擎 (process execution engine ,像是 ActiveBPEL) 。旅遊規劃推理器主要的功能是

將 OWL-T 任務模板轉換成可執行的流程,而可執行的流程將被流程執行引擎系

統進行部署、執行和監控。

Service and Information Provider: This component represents for various information and service systems such as Web services deployed on Web servers, semantic Web service description repositories like UDDI registries and repositories of domain ontologies, task ontologies, and process ontologies.

服務和訊息供應商:其包含各種訊息和服務系統,如網路服務部署在網路伺服器

上;語意網路服務描述資料庫就像是 UDDI 註冊中心;領域本體、任務本體和流

程本體的資料庫。

• Role of various ontologies 不同本體的作用

Domain Ontology: A domain ontology represents a vocabulary of terms and their intended meaning. For example, a travel ontology provides information about hotel, restaurant, car rental, etc.

領域本體:領域本體為詞彙的術語和他們的涵意。例如,旅遊本體提供飯店、餐

廳、汽車租賃等訊息。

Service Ontology: A service ontology is used to semantically describing web services, e.g. OWL-S.

服務本體:一個服務本體用於語意描述網路服務,如 OWL-S 。

※該本體可能為 Service Description Repository

Task Ontology: A task ontology semantically describes predefined tasks of a domain by using the OWL-T language. This ontology allows for sharing and reuse of travel tasks.

任務本體:任務本體透過使用 OWL-T 語言來語意描述預定義的領域任務。該本

體可以共享和重用旅遊任務。

Process Ontology: A process ontology records realized processes of tasks. It is referred during the process of transforming tasks into executable processes.

流程本體:流程本體用於記錄實現任務的過程。其涉及了任務轉換成可執行流程

的期間。

• System operation steps 系統操作步驟

A user (a traveler or a travel agency) uses the trip plan client to create a travel itinerary represented as an OWL-T task template. During the trip creation process, some domain ontologies and task ontologies can be retrieved and referred to support the user describing his travel tasks or reusing some published tasks from third-parties.

用戶(旅客或旅行社)使用 trip plan client 去創建一個為 OWL-T 任務模板的旅遊

行程。在創建旅遊流程時,一些領域本體和任務本體可以檢索,並涉及到支援用

戶描述他的旅遊任務或重複使用一些來自第三方的任務。

After the travel task template is finished, it is sent to the semantic trip plan server which will transform the template into an executable process. Semantic service descriptions and process ontologies are used to find suitable Web services which can provide expected information or travel tasks specified in the template. The generated executable process and necessary deployment files are then deployed on the process execution engine. A corresponding process client is also generated and returned to the trip plan client for interacting with the generated and deployed process.

當旅遊任務模板完成後,將被發送到語意旅遊規劃伺服器 (semantic trip plan server) ,其會轉換成一個可執行過程的模板。語意服務描述 (Semantic service descriptions) 和流程本體 (process ontologies) 是用於尋找合適的網路服務,並可以

提供預期的訊息或在模板中指定旅遊任務。產生可執行的流程和必要的部署文

件,然後部署在流程執行引擎 (process execution engine) 。一個對應的流程客戶端

(process client) 為了產生和部署流程之間相互作用,也會產生和回應 trip plan client 。

The user can then execute the process client which will connect to the deployed process in the process execution engine. The generated process now actually calls to the selected relevant Web services to get expected travel information and services and then returns the results to the process client for presenting them to the user.

然後,用戶可以執行該流程客戶端 (process client) ,而其將連接到流程執行引擎

中進行流程的部署。而現在產生的流程實際上是選定恰當的網路服務,以獲得預

期的旅遊資訊和服務,然後再將結果返回給流程客戶端呈現給用戶。

4. Trip Plan Reasoner 旅遊規劃推理器

The main function of the trip plan reasoner is to reason and transform an OWL-T task template into an executable process expressed in some process language like BPEL and necessary deployment files corresponding to a process execution engine. The reasoning transformation process includes three main phases as illustrated in Fig. 2 and it is described in the following.

旅遊規劃推理器主要的功能是在一些流程語言 ( 如 BPEL) 中推理和轉換一個

OWL-T 任務模板至一個可執行的流程裡,並且必須部署檔案到對應的流程執行

引擎中。推理轉換的流程包含三個主要階,如圖 2 所示,並於下列描述之。

• Transforming OWL-T tasks to SAWSDL 將 OWL-T 任務轉換成 SAWSDL

Automatic discovery and selection of relevant Web services is one important step to realize an executable process for a trip plan template. In our framework, we use

SAWSDL language for semantically annotating Web services then it is natural to transform component tasks into service requests expressed in SAWSDL. Therefore, it facilitates the matching process for choosing suitable services. This is similar to the traditional approach for Web service composition where a service request is described as a WSDL description. There are two important steps in this phase. In the first step, we generate XML Schema types and elements from concepts which are used to define a simple travel task in the OWL-T trip plan template. Each type or element is annotated with references to its original ontology concepts or properties according to the SAWSDL specification. By reserving semantics of those types and elements via the modelReference extension attribute, we can semantically discover and select suitable services for the request SAWSDL based on service SAWSDL descriptions. In the second step, because we allow users specify constraints and preferences for a travel task but standard WSDL language does not include such information in operation declaration, we then add extension elements for an operation to represent constraints and preferences. Those elements are also annotated with references of ontology concepts in a similar way of type definitions. If a travel task is reused from some ontology then its corresponding request operation includes a semantic annotation to that ontology for quickly specifying relevant services.

相關網路服務的自動發現和選擇是一個重要的步驟,以實現旅遊規劃模板的可執

行流程。在我們的框架中,我們使用 SAWSDL 語言來語意標註網路服務,然後

在 SAWSDL 裡很自然的將組合任務轉換至服務需求來表示。因此,它有利於相

應的流程去選擇合適的服務。服務需求被描述成一個 WSDL 描述與傳統的網路

服務組合之方法類似。在這個階段有兩個重要的步驟。第一步,我們在 OWL-T

的旅遊規劃模板裡產生 XML Schema 的樣式和要素,以將概念定義成一個簡單的

旅遊任務。根據 SAWSDL 規範,每種樣式或要素的註釋都與原始本體論的概念

或屬性有關。透過保留 modelReference 擴展屬性的樣式和要素的語意,我們在基

於服務 SAWSDL 描述上的 SAWSDL 需求利用語意來發現和選擇合適的服務。步

驟二,因為我們允許用戶指定限制和偏好的旅遊任務,但標準的 WSDL 語言在

操作聲明中不包括這些訊息,因此我們添加擴展要素的操作來表示約束和偏好。

在類似於類型定義的方法裡,這些要素也標註了本體概念的關係。如果旅遊任務

重複使用一些本體論,則其對應的請求操作包含語意標註,而該本體就能快速的

指定相關的服務。

OWL-T

解析器

SAWSDL 符合 BPEL 產生器

可執行的 WSDL 流程部署

用戶輸入伺服器

之回應

高 & 低

OWL-T 模板

系統結構

客戶端任務產生器

任務執行客戶端

部署產生器

Architecture 架構

• SAWSDL matching for relevant services SAWSDL 相匹配的相關服務

The goal of the SAWSDL matching phase is to find a list of matched services for each simple travel tasks in the OWL-T template. This is done by matching the request operation of the request SAWSDL with operations defined in available service

SAWSDL descriptions. Concretely, this phase performs the matching between the inputs, outputs, constraints, and preferences of the request operation and the corresponding elements of the service operation. During the operation matching process, semantic reasoning is necessary to map and match semantic concepts of different ontologies which are used to annotate the request SAWSDL description and service SAWSDL descriptions. In addition, if several matched operations and services are found we rank them based on QoS criteria which are specified in the SAWSDL request and SAWSDL service descriptions in order to select the best quality Web services.

SAWSDL 符合 (SAWSDL matching) 階段的目標是讓在 OWL-T 模板中的每一個普

通旅遊任務都能找到一個符合服務的列表。透過匹配需求 SAWSDL 的需求操作

可在 SAWSDL 描述伺服器中操作定義。具體而言,這一階段進行輸入、輸出、

限制和偏好的需求操作和服務操作相應元素之間的匹配。在匹配過程中的操作,

語意推理是需要映射和匹配不同本體的語意概念,其用於註釋 SAWSDL 需求的

描述和 SAWSDL 服務的描述。此外,如果發現幾個匹配的操作和服務,而我們

將基於 QoS 標準(即 SAWSDL 需求和 SAWSDL 服務描述所規範)進行排名,

以選擇最佳的網路服務。

Furthermore, we apply some techniques to improve the performance of the service matching phase. We first check the modelReference attribute of each service

SAWSDL description, its interfaces, and operations to specify its relevance to the domain of the request before performing further matching steps. This helps us quickly eliminate irrelevant Web services without checking other details related to its lower elements. This checking step also bases on semantic reasoning with domain ontologies.

此外,我們應用一些技術來提高服務匹配階段的成效。我們首先檢查每個服務

SAWSDL 描述的 modelReference 屬性,而它在執行進一步的匹配步驟之前需與

接口和操作指定其領域相關的請求。這可以幫助我們迅速消除不相關的網路服

務,而不用檢查其較低的元素相關的其他細節。這個檢查步驟也是基於領域本體

的語意推理。

• Generating BPEL executable process 產生 BPEL 可執行流程

After finding and ranking suitable Web services for each OWL-T task components, we now can transform the OWL-T template into a BPEL executable process. This transformation relates to various steps for

為每個 OWL-T 任務組件查找和排序合適的網路服務後,我們現在可以將 OWL-T

模板轉換成一個 BPEL 可執行的流程。這種轉換過程涉及到各個步驟:

(i) Declaring partner link types, partner links, imports of relevant WSDL descriptions, namespaces, variables, correlations, process engine specific extensions, etc. Declaration of these elements is generated based on information of the task components and the corresponding selected Web service references;

(i) 聲明合作夥伴鏈接的類型、合作夥伴鏈接、輸入 WSDL 相關的描述、命名

空間、變量、關聯性、流程引擎具體的擴展等。這些要素的聲名是基於任務組件

和選擇相應的網路服務出處等所產生的;

(ii) Transforming simple tasks into basic invocation activity and complex tasks into structured activities;

(ii) 將普通任務基於調用活動和複雜任務,以轉換成具結構化的活動;

(iii) Generating description and configuration files which are necessary to deploy and execute the generated process. These include a WSDL description of the process, a process client, input data file and other files for process engine specific deployment.

For example, in our implemented system we use ActiveBPEL engine for execution then basically we need to create three files including the BPEL process (.bpel), a

Process Deployment Descriptor (.pdd), and an archive file (.bpr) consisting all relevant files for deploying the generated process on the engine.

(iii) 產生描述和配置文件是需要部署和產生執行流程的。其中包括 WSDL 描述

的流程、客戶端的流程、資料檔案和其它檔案的輸入,以讓流程引擎具體的部署。

例如,在我們實現的系統中,將使用 ActiveBPEL 引擎來執行,並基於我們所創

建的三個檔案以部署引擎上產生的流程,而其中包括 BPEL 流程( .bpel

部署描述( .pdd

) .bpr

※ ActiveBPEL engine 的邏輯結構圖

來源: ActiveBPEL 中組合服務自動部署的研究和實現

5. Prototype Implementation 原型的實現

5.1. Implementation 實現

We implemented a prototype system of the proposal by using Java related technologies. All main modules of the trip plan reasoner are implemented in Java using the Eclipse platform. The libraries WSDL4J and SAWSDL4J support for parsing WSDL and SAWSDL description files whilst Jena and Pellet facilitate querying and reasoning with various ontologies. The Lomboz, an Eclipse plug-in for

Web services, is used to create Web services such as airline services, accommodation services, car rental services, weather services, sightseeing services, etc.; publish their service descriptions in UDDI registry; and deploy them on Apache Web servers.

Besides WSDL descriptions are enhanced with semantic annotations to generate

SAWSDL descriptions. The Protégé ontology editor is used to create domain ontologies and ontology mappings. It is also utilized as an OWL-T designer for defining trip plan templates. Finally, ActiveBPEL engine is for process execution. The trip plan reasoner can operate as a standard alone system which receives OWLT trip plan templates, transforms them into a set of deployable files of executable processes, and sends them to the ActiveBPEL engine for deployment and execution. In addition, the trip plan reasoner includes an administrative interface as depicted in Fig. 4. Its main function is to help a system administrator explore relevant and generated files from trip plan execution requests.

我們透過使用 Java 的相關技術實現了一個原型系統的建議。使用在 Java 中的

Eclipse 平台實現旅遊規劃推理的所有主要的模組。 WSDL4J 和 SAWSDL4J 支援

WSDL 和 SAWSDL 描述文件的解析,而 Jena 和 Pellet 則幫助各種本體的查詢和

推理。一個 Eclipse 的插件- Lomboz ,可用於創建網路服務,如航空服務、住宿

服務、汽車租賃服務、氣象服務、旅遊服務等;並於 UDDI 註冊中心發布他們的

服務描述,以及將它們部署在 Apache 網路伺服器上。此外, WSDL 描述還增加

了語意註釋,使之進升成 SAWSDL 描述。 Protégé 本體編輯器可用於創建領域本

體和本體的對應。而其也被用來作為確定旅遊規劃模板的 OWL-T 設計師。最後,

ActiveBPEL 引擎用於流程的執行。旅遊規劃推理器可以作為一個標準的獨立系

統,其可接收 OWL-T 旅遊規劃模板,並將其轉換成一組可執行的流程部署文件,

以及發送它們到 ActiveBPEL 引擎進行部署和執行。此外,旅遊規劃推理器還包

含了管理介面,如下圖 4 所示。它的主要功能是幫助系統管理員探索旅遊規劃執

行需求的相關文件和產生文件。

※ WSDL4J 用於解析一個服務的 wsdl 文檔。

來源: http://tc.0728.org/News/73589.html

※ Lomboz 是一個基於 LGPL 的開源 J2EE 綜合開發環境的 Eclipse 外掛程式,對

編碼、發佈、測試以及 debug 等各個軟體發展的生命週期提供支援,支援 JSP,EJB

等。其功能有: JSP 語法檢查、創建網路服務用戶端的 WSDL 形式的檔案等。

來源: http://baike.baidu.com/view/1132339.htm http://java.chinaitlab.com/Eclipse/725801.html http://hans0713.blogspot.tw/2008/02/eclipse-lomboz-jsp.html

Figure 4. Screenshot of the trip plan reasoned 旅遊規劃推理的截圖

Figure 5. Screenshot of process execution of a trip plan 旅遊規劃的執行過程之截圖

5.2. Application Scenario 應用方案

In the following we describe a complex travelling scenario in which a traveler wants to make an itinerary with various travel tasks which are expressed in OWL-T template.

This trip template is then transformed into executable process by the trip plan reasoner.

以下我們將介紹一個複雜的旅遊場景,即一個旅客在 OWL-T 模板表示想要有一

個多種旅遊任務的旅遊行程。而該旅遊模板透過旅遊規劃推理器將其轉換成可執

行的流程。

David Robert is a professor who stays in London, England. He will attend a computer conference in Kyoto, Japan. The conference will last three days. First he has to register the conference as a presenter for his paper. He wants to book a one-way ticket from London to Kyoto. During the conference time he decides to stay in a high rating hotel that is near to the conference location. He also wants to arrange a fast transportation vehicle like express trains from the arrival airport to his hotel location.

On the second evening he will have a meeting with some professors so he wants to find and reserve a Japanese style restaurant which is located within 3 km from the conference location. After finishing the conference, he will visit Sapporo in Hokkaido for some sport events and sightseeing. Hence he needs to book a domestic flight to

Sapporo and to book a hotel there in two days. He also finds information about current sport events and looks for some sightseeing spots in Sapporo. He decides to rent a car during the time he stays there. Finally he books a ticket from Sapporo back to London.

大衛·羅伯特是一位教授,其住在英國倫敦。不過他將出席一個在日本京都的電

腦會議。本次會議將持續三天。首先,因他的論文被錄取,所以將在該會議註冊

為一位出席者。他想預訂一張從倫敦到京都的單程機票。而於會議期間他決定住

在會議地點附近且高評價的飯店裡。並且他也希望安排一個能從機場到住宿酒店

的快速的交通工具,如特快列車。第二天晚上,他與一些教授將舉行一個會議,

所以他想找一個具有日式風格,且需位於會議地點 3 公里以內的餐廳。會議結束

後,他將造訪位於北海道札幌的一些體育賽事和觀光。因此,他需要預訂飛往札

幌的國內航班,並在兩天內預訂飯店。他也找到有關於目前的體育賽事和一些札

幌觀光景點的資訊。他決定在那裡停留的時間租一輛汽車。最後訂一張從札幌到

倫敦的機票回去。

This scenario depicted in Fig. 3 is represented in an OWL-T trip plan template and then the template is transformed into an executable process as illustrated in Fig. 4.

The result of executing the generated process on the ActiveBPEL process engine is shown in Fig. 5.

該情境可利用圖 3 所示,將 OWL-T 旅遊規劃模板進行規劃,然後再轉換成一個

可執行的流程,如圖 4 所示。並在 ActiveBPEL 流程引擎上執行產生後的流程的

結果,如圖 5 所示。

6. Conclusion 結論

A semantic method was introduced in order to facilitate end users like travelers and travel agencies expressing and performing their trip plans with less intervention with underlying technical details. The OWLT language is used to define users’ trip plan templates that capture travel demands consisting various travel information and tasks.

Such OWL-T trip plan templates are then automatically transformed into executable processes of relevant Web services expressed in BPEL language. SAWSDL language is used to semantically describe Web services and to enable dynamic and automatic discovery and selection of suitable Web services. A prototype implementation of the proposal was developed with typical and complex travelling scenario for illustrating the usage of the proposed system.

語意方法幫助最終用戶(如旅客和旅行社)來表達和利用較少的技術細節的干預

來執行他們的旅行計劃。 OWL-T 語言是用來定義用戶的旅遊規劃模板,以捕獲

旅遊的需求,包括各種旅遊訊息和任務。這樣的 OWL-T 旅遊規劃模板利用 BPEL

語言來表達,以自動轉換成相關網路服務可執行的流程。 SAWSDL 語言是用來

語意描述網路服務和使之動態且自動發現與選擇合適的網路服務。一個原型實現

的建議將利用典型和複雜的情境開發出一個可用的推薦系統。

Download