尤殿龍,申利民,,楊永濤
(1.燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島 066004;2.燕山大學(xué) 信息化處,河北 秦皇島 066004)
Web服務(wù)組合和云制造技術(shù)的發(fā)展促進(jìn)了制造資源的共享與協(xié)同,形成了不同粒度的網(wǎng)絡(luò)化制造服務(wù),實(shí)現(xiàn)了制造系統(tǒng)中資源服務(wù)的增值[1]。制造服務(wù)的資源共享和應(yīng)用過程是基于Web服務(wù)形成業(yè)務(wù)流的過程,其解決方案是動(dòng)態(tài)生成的,即先有業(yè)務(wù)流程、后有虛擬企業(yè)[2]。Web服務(wù)組合作為提高制造資源利用率、實(shí)現(xiàn)制造資源服務(wù)增值的關(guān)鍵途徑之一,對(duì)制造服務(wù)網(wǎng)絡(luò)化的實(shí)施具有重要作用[3]。為適應(yīng)環(huán)境變化,持續(xù)滿足用戶需求,面向制造服務(wù)的 Web服務(wù)組合需要調(diào)整和演化[3-4]。Web服務(wù)組合演化主要從業(yè)務(wù)功能和服務(wù)性能兩方面開展,包括服務(wù)架構(gòu)、業(yè)務(wù)邏輯、會(huì)話協(xié)議、安全機(jī)制和通信規(guī)則等變化,其中,本文研究的業(yè)務(wù)流程演化關(guān)注業(yè)務(wù)邏輯和規(guī)則,屬于功能演化,是 Web服務(wù)組合演化最基本的問題。
Web服務(wù)組合業(yè)務(wù)流程演化指組合服務(wù)的業(yè)務(wù)流程結(jié)構(gòu)可以根據(jù)應(yīng)用需求和網(wǎng)絡(luò)環(huán)境的變化進(jìn)行動(dòng)態(tài)調(diào)整,主要表現(xiàn)為其組件服務(wù)數(shù)目的可變性、結(jié)構(gòu)關(guān)系的可調(diào)節(jié)性與結(jié)構(gòu)形態(tài)的動(dòng)態(tài)可配置性[5]。面向Web服務(wù)的業(yè)務(wù)流程演化研究主要包括:①業(yè)務(wù)流程重組方法研究,如面向過程的資源組合方法和面向活動(dòng)的資源組合方法等[3];②業(yè)務(wù)流程演化控制方法研究,包括工作流技術(shù)、Agent技術(shù)和對(duì)等網(wǎng)絡(luò)(P2P)技術(shù)等[6];③業(yè)務(wù)流程重組建模方法研究,包括流程建模[7]和過程代數(shù)方法建模等[8];④業(yè)務(wù)流程演化類型研究。演化類型是指按照Web服務(wù)組合交互規(guī)則、參與服務(wù)或業(yè)務(wù)流程的功能變化抽取出來的共通點(diǎn)[5]。
業(yè)務(wù)流程演化的分類方法是軟件演化領(lǐng)域的研究熱點(diǎn)之一,但目前演化分類方法尚無一致的標(biāo)準(zhǔn)[9](常見分類見相關(guān)工作部分)。當(dāng)前,針對(duì) Web服務(wù)組合(包括制造服務(wù))業(yè)務(wù)流程演化方面的研究存在以下問題:①Web服務(wù)組合中的參與服務(wù)正從功能單一、粒度較小的原子服務(wù)向具有復(fù)雜業(yè)務(wù)流程和組件集成的大粒度服務(wù)發(fā)展。大粒度Web服務(wù)組合的演化若采用小粒度服務(wù)組合常用的節(jié)點(diǎn)替換的方法,將使得不受演化影響的狀態(tài)節(jié)點(diǎn)也要參與其中,擴(kuò)大演化波及范圍,提升演化開銷[10]。②以往的Web服務(wù)組合演化研究主要是在服務(wù)編制層面,即演化發(fā)生在單個(gè)服務(wù)內(nèi)部,對(duì)外不可見、不影響全局,如單個(gè)服務(wù)的糾錯(cuò)和優(yōu)化等。服務(wù)編排層面的多個(gè)服務(wù)協(xié)同演化一直是Web服務(wù)組合演化的難題[11]。③服務(wù)編排層面的演化方法主要是根據(jù)服務(wù)編排協(xié)議對(duì)業(yè)務(wù)流程進(jìn)行完全替換、狀態(tài)替換和路徑替換等,缺少在演化設(shè)計(jì)階段對(duì)演化實(shí)施方案的確定依據(jù)的分析和演化發(fā)生后變化細(xì)節(jié)的描述[12]。因此,服務(wù)編排層面的大粒度 Web服務(wù)組合業(yè)務(wù)流程演化既是Web服務(wù)組合演化的難點(diǎn),也是迫切需要解決的問題,而演化類型的判定是其中的研究重點(diǎn)之一。
服務(wù)組合的演化過程與演化類型密切相關(guān)。對(duì)Web服務(wù)組合業(yè)務(wù)流程演化類型的判定可分以下幾種情況:①確定演化是否波及到參與服務(wù),明確全局業(yè)務(wù)流程演化前后的變化狀態(tài)。例如:服務(wù)組合演化類型判定中的內(nèi)部式演化,表示演化沒有波及到伙伴服務(wù)。增值式演化、削減式演化和全局式演化表示演化波及到了伙伴服務(wù);削減式演化表示原有業(yè)務(wù)流程的刪減;增值式演化增加了新的業(yè)務(wù)流程等;②確定演化過程是否伴隨著服務(wù)編排協(xié)議的調(diào)整。例如,內(nèi)部式演化和削減式演化原有的服務(wù)編排協(xié)議繼續(xù)有效,增值式演化和全局式演化需要修改服務(wù)編排協(xié)議;③得出單個(gè)狀態(tài)節(jié)點(diǎn)的演化類型,確定演化過程中需要調(diào)整的功能點(diǎn),如組件和功能模塊等;④得出單個(gè)服務(wù)的演化類型,確定服務(wù)內(nèi)部業(yè)務(wù)流程的變化細(xì)節(jié),如內(nèi)外業(yè)務(wù)流程的增加、刪除、修改、合并和分解等。
演化類型的判定可以發(fā)生在演化設(shè)計(jì)和演化發(fā)生以后的兩個(gè)階段:①在演化設(shè)計(jì)階段,根據(jù)演化發(fā)生前服務(wù)組合的業(yè)務(wù)邏輯和演化后的業(yè)務(wù)目標(biāo),通過演化類型判定,可以確定哪些狀態(tài)節(jié)點(diǎn)、業(yè)務(wù)流程、參與服務(wù)需要調(diào)整,做出何種調(diào)整,明確狀態(tài)節(jié)點(diǎn)間的邏輯關(guān)系,減少邏輯沖突和降低業(yè)務(wù)流程錯(cuò)誤,以此作為確定一個(gè)低成本的、波及范圍小的演化實(shí)施方案的依據(jù)之一。例如,就服務(wù)組合層面演化而言,內(nèi)部式演化、削減式演化、增值式演化和全局式演化的演化成本依次遞增。增值式演化可以通過在擴(kuò)展原有服務(wù)編排協(xié)議的基礎(chǔ)上,實(shí)現(xiàn)業(yè)務(wù)流程的變化;削減式演化可以在原有服務(wù)編排協(xié)議不變的情況下,直接對(duì)各服務(wù)內(nèi)部業(yè)務(wù)流程進(jìn)行刪減;②演化過程發(fā)生后(特別是動(dòng)態(tài)演化),在對(duì)演化結(jié)果不可知的情況下,可以運(yùn)用演化類型判定規(guī)則,通過監(jiān)聽狀態(tài)節(jié)點(diǎn)或參與服務(wù)的接口的外部可觀察行為,判定服務(wù)組合中的狀態(tài)節(jié)點(diǎn)、業(yè)務(wù)流程或參與服務(wù)在演化前后發(fā)生了哪些變化,進(jìn)而通過演化日志記錄演化過程。
本文關(guān)注演化發(fā)生在服務(wù)編排層面時(shí),大粒度Web服務(wù)組合(包括制造服務(wù))業(yè)務(wù)流程演化類型的判定問題,即演化突破單個(gè)服務(wù)內(nèi)部,深入到伙伴服務(wù)中,演化過程伴隨服務(wù)編排協(xié)議的調(diào)整,需要伙伴服務(wù)協(xié)同參與。同時(shí),將服務(wù)編制層面的演化看成服務(wù)編排層面演化的一個(gè)特例。針對(duì)Web服務(wù)組合演化類型的判定,運(yùn)用互模擬理論,從三個(gè)層面開展演化類型的判定(如圖1):
(1)單個(gè)狀態(tài)節(jié)點(diǎn)演化類型判定 狀態(tài)節(jié)點(diǎn)指服務(wù)內(nèi)由輸入動(dòng)作引起狀態(tài)變化的功能點(diǎn),如構(gòu)件、功能模塊等。通過弱模擬和弱互模擬理論,將單個(gè)狀態(tài)節(jié)點(diǎn)演化類型劃分為觀察等價(jià)、增值、削減和修改四類,并給出了判定規(guī)則。
(2)單個(gè)服務(wù)的演化類型判定 運(yùn)用強(qiáng)模擬和弱模擬理論,依據(jù)服務(wù)內(nèi)部業(yè)務(wù)流程演化前后狀態(tài)節(jié)點(diǎn)的變化,將單個(gè)服務(wù)演化類型分成基本動(dòng)作類型和復(fù)合動(dòng)作類型兩方面?;緞?dòng)作包括狀態(tài)節(jié)點(diǎn)的增加、刪除和修改操作;復(fù)合動(dòng)作包括承接式合并、并行式合并、承接式分解和并行式分解四類,并給出了相應(yīng)的判定規(guī)則。
(3)服務(wù)組合演化類型的判定 運(yùn)用強(qiáng)模擬和弱模擬理論,根據(jù)全局業(yè)務(wù)流程在演化前后的變化,將Web服務(wù)組合演化類型劃分為內(nèi)部式、增值式、削減式和全局式演化四類,并給出了各自的判定規(guī)則。
Web服務(wù)組合業(yè)務(wù)流程演化類型的判定是Web服務(wù)領(lǐng)域的一般性問題,研究成果主要適用于Web服務(wù)組合業(yè)務(wù)流程功能性演化的類型判定。其中,面向制造服務(wù)的業(yè)務(wù)流程演化是Web服務(wù)組合業(yè)務(wù)流程演化的重要應(yīng)用領(lǐng)域。根據(jù)制造企業(yè)服務(wù)外包的特點(diǎn),制造資源按照產(chǎn)品制造生命周期分為市場(chǎng)規(guī)劃、協(xié)同設(shè)計(jì)、第三方倉儲(chǔ)、精益生產(chǎn)、產(chǎn)品銷售、售后服務(wù)和物流7類[13]?;?Web服務(wù)的產(chǎn)品制造過程就是將產(chǎn)品制造生命周期中的上述類型通過服務(wù)加以描述,并以此構(gòu)建Web服務(wù)組合,進(jìn)而形成制造服務(wù)的全局業(yè)務(wù)流程。在制造服務(wù)領(lǐng)域,業(yè)務(wù)流程在功能上需要適時(shí)調(diào)整,以適應(yīng)需求變化。同時(shí),作為Web服務(wù)組合業(yè)務(wù)流程演化的重要應(yīng)用領(lǐng)域之一,Web服務(wù)組合業(yè)務(wù)流程演化類型的判定規(guī)則適用于制造服務(wù)的演化類型判定,且對(duì)開展制造領(lǐng)域服務(wù)演化的實(shí)施具有重要意義。
演化類型研究是Web服務(wù)組合的重要研究領(lǐng)域,已經(jīng)取得了一系列研究成果。文獻(xiàn)[4]將服務(wù)演化分為靜態(tài)演化和動(dòng)態(tài)演化,靜態(tài)演化是利用一些演化操作對(duì)Web服務(wù)組合過程的定義進(jìn)行修改;動(dòng)態(tài)演化是指在運(yùn)行時(shí)刻對(duì)Web服務(wù)組合的過程定義進(jìn)行修改,使過程定義的變化動(dòng)態(tài)傳播到正在運(yùn)行的Web服務(wù)組合實(shí)例上。該分類是演化的最常見、最基本的分類形式,體現(xiàn)了演化實(shí)施過程中Web服務(wù)的運(yùn)行狀態(tài),其中的動(dòng)態(tài)演化一直是學(xué)術(shù)界研究的重點(diǎn)和難點(diǎn)。文獻(xiàn)[9]提出了軟件服務(wù)的在線演化概念,認(rèn)為在線演化是在不中斷提供服務(wù)的前提下,自動(dòng)或借助外部動(dòng)態(tài)指導(dǎo)發(fā)生的軟件改變活動(dòng),屬于動(dòng)態(tài)演化。
同時(shí),按照演化的主動(dòng)性分為反應(yīng)型和前攝型,按照演化預(yù)期分為預(yù)期型和非預(yù)期型,按照自動(dòng)化程度分為自動(dòng)化的演化和人參與的交互式演化。該分類是按照演化活動(dòng)的外部特征分別從三個(gè)維度對(duì)演化類型進(jìn)行劃分,但沒有針對(duì)軟件服務(wù)的特定環(huán)節(jié),如體系結(jié)構(gòu)、業(yè)務(wù)邏輯和交互協(xié)議等給出演化實(shí)施細(xì)節(jié)。學(xué)術(shù)界將Web服務(wù)組合的動(dòng)態(tài)演化分為過程定義層(process definition level)演化和過程實(shí)例層(process instance level)演化兩類[4]。過程定義層演化需要替換相應(yīng)的 WS-CDL或業(yè)務(wù)過程執(zhí)行語 言 (Business Procedd Execution Language,BPEL)程序,演化影響到所有正在運(yùn)行中的Web服務(wù)組合實(shí)例;過程實(shí)例層演化只需要修改特定服務(wù)組合實(shí)例的過程定義,演化只影響到特定的服務(wù)組合實(shí)例[4]。
工業(yè)界從服務(wù)編制(orchestration)和服務(wù)編排(choreography)兩個(gè)層面來描述 Web服務(wù)組合[14]。服務(wù)編制描述Web服務(wù)組合的業(yè)務(wù)流程執(zhí)行;服務(wù)編排從全局視角描述服務(wù)間的交互協(xié)議,并以此協(xié)議為規(guī)約指導(dǎo)服務(wù)編制的實(shí)現(xiàn)[11]。與之相關(guān)的服務(wù)動(dòng)態(tài)演化也分為服務(wù)編制和服務(wù)編排兩個(gè)層面。服務(wù)編制層面的演化發(fā)生在單個(gè)服務(wù)內(nèi)部,對(duì)外不可見、不影響全局,如單個(gè)服務(wù)的糾錯(cuò)和優(yōu)化等;服務(wù)編排層面的演化突破單個(gè)服務(wù)內(nèi)部,深入到伙伴服務(wù)中,演化過程伴隨服務(wù)編排協(xié)議的調(diào)整,需要伙伴服務(wù)協(xié)同參與[11,14]。
文獻(xiàn)[15]根據(jù)演化的影響范圍提出了淺演化和深演化。淺演化是僅涉及單個(gè)服務(wù)的演化,深演化突破單個(gè)服務(wù)范圍,深入到伙伴服務(wù)中,并產(chǎn)生級(jí)聯(lián)的反應(yīng)。文獻(xiàn)[16]根據(jù)服務(wù)屬性的變化,從增加新的業(yè)務(wù)規(guī)則、相關(guān)業(yè)務(wù)事件類型等方面將演化分為結(jié)構(gòu)變化、業(yè)務(wù)協(xié)議變化、政策引起的變化和操作行為變化四種,但并沒有對(duì)各類服務(wù)組合的動(dòng)態(tài)演化方法進(jìn)行具體討論。文獻(xiàn)[12]針對(duì)Web服務(wù)業(yè)務(wù)流程的動(dòng)態(tài)演化,將協(xié)議演化分為完全替換、狀態(tài)替換、路徑替換、基于相關(guān)歷史的替換和基于客戶協(xié)議分析的替換。主要采用替換的方式完成服務(wù)的演化,然而,對(duì)于大粒度的Web服務(wù)演化而言,狀態(tài)節(jié)點(diǎn)的增加、修改和刪除等操作也是必不可少的。同時(shí),對(duì)于業(yè)務(wù)流程路徑內(nèi)的部分區(qū)間的演化采用完全替換或路徑替換的方法,會(huì)使演化發(fā)生在未受波及的狀態(tài)節(jié)點(diǎn),造成不必要的開銷。
從以上演化類型的相關(guān)研究看,演化類型的分類主要是從宏觀層面,以Web服務(wù)組合演化過程的外部特征(如靜態(tài)演化與動(dòng)態(tài)演化、淺演化與深演化)或Web服務(wù)的技術(shù)架構(gòu)(如服務(wù)編制與服務(wù)編排、過程定義層與過程實(shí)例層)為依據(jù)進(jìn)行,缺少針對(duì)如業(yè)務(wù)邏輯、體系結(jié)構(gòu)、演化策略等層面的特定屬性演化類型及其演化實(shí)施細(xì)節(jié)的研究。Web服務(wù)組合中的業(yè)務(wù)流程貫穿于各個(gè)服務(wù),業(yè)務(wù)流程演化是服務(wù)演化最基本的問題。業(yè)務(wù)流程演化類型研究并不關(guān)注演化過程中服務(wù)的運(yùn)行狀態(tài),演化過程可能是靜態(tài)演化也可能是動(dòng)態(tài)演化。同時(shí),如果某個(gè)服務(wù)發(fā)起業(yè)務(wù)流程演化,需要伙伴服務(wù)的協(xié)同參與,即演化波及到其他服務(wù),則屬深演化。如果演化同時(shí)伴隨著服務(wù)編排協(xié)議的調(diào)整,則屬服務(wù)編排層面的演化。另外,因?yàn)樯婕暗絎S-CDL或BPEL程序的變化,所以業(yè)務(wù)流程演化也屬于過程定義層面的演化。
面向制造的服務(wù)模式將產(chǎn)品設(shè)計(jì)、制造和銷售等企業(yè)結(jié)成合作伙伴,形成一個(gè)分散型的網(wǎng)絡(luò)制造體系,通過組建虛擬企業(yè)進(jìn)行生產(chǎn)經(jīng)營(yíng)活動(dòng)的合作,以實(shí)現(xiàn)企業(yè)間的資源共享和優(yōu)化配置[17]。當(dāng)用戶需求發(fā)生改變或者預(yù)期結(jié)果無法實(shí)現(xiàn)時(shí),需要通過協(xié)同演化對(duì)業(yè)務(wù)流程進(jìn)行變更和重組,以滿足新的生產(chǎn)需求。制造服務(wù)業(yè)務(wù)流程演化前后的狀態(tài)變化判定,是以狀態(tài)遷移模型和互模擬理論為基礎(chǔ)的[18-20]。首先,用狀態(tài)遷移模型來描述 Web服務(wù)組合業(yè)務(wù)流程的執(zhí)行過程,該模型有一個(gè)狀態(tài)集合,通過動(dòng)作實(shí)現(xiàn)狀態(tài)遷移。其次,給出了業(yè)務(wù)流程、服務(wù)和Web服務(wù)組合的形式化定義;最后,運(yùn)用互模擬等價(jià)理論判定演化前后Web服務(wù)組合業(yè)務(wù)流程的演化類型。為便于討論,給出如下相關(guān)概念。
定義1 狀態(tài)遷移模型[18]。動(dòng)作集合active上的一個(gè)狀態(tài)遷移系統(tǒng)是一個(gè)二元組(state,relation),其中:active是一個(gè)動(dòng)作集;state是一個(gè)狀態(tài)集;relation是一個(gè)遷移關(guān)系,記為。relation?state×active×state,如果a∈active,s,s′∈state,則滿足(s,a,s′)∈relation。
定義3 Web服務(wù)組合。Web服務(wù)組合WSC是一個(gè)三元組,WSC=(Service,Bp,p),其中:Service是由服務(wù)組合內(nèi)所有服務(wù)組成的集合,簡(jiǎn)稱服務(wù)集;Bp是業(yè)務(wù)流程組成的集合;p是服務(wù)編排協(xié)議。
定義4 強(qiáng)模擬[18]。設(shè)(state,relation)是一個(gè)狀態(tài)遷移系統(tǒng),sp,s′p,sq,s′q∈state ,R={(sp,sq),(s′p,s′q),…}是一個(gè)state上的二元關(guān)系,如果對(duì)于任意的spRsq,總有如下條件成立:
定義5 強(qiáng)互模擬[18]。設(shè)二元關(guān)系R及其逆R-1是狀態(tài)遷移系統(tǒng)(state,relation)上的強(qiáng)模擬,sp,s′p,sq,s′q∈state,R 是一個(gè)state 上的二元關(guān)系。如果存在一個(gè)強(qiáng)模擬R使得spRsq,則稱兩個(gè)狀態(tài)sp和sq是強(qiáng)互模擬或強(qiáng)等價(jià),記作sp~sq。
定義6 弱模擬[19]。設(shè)(state,relation)是一個(gè)狀態(tài)遷移系統(tǒng),sp,s′p,sq,s′q∈state,S={(sp,sq),(s′p,s′q),…}是state上的二元關(guān)系。如果對(duì)于任意的spSsq,總有如下條件成立:
定義7 弱互模擬[18]。設(shè)二元關(guān)系S及其逆S-1是狀態(tài)遷移系統(tǒng)(state,relation)上的弱模擬,sp,sq∈state,S是一個(gè)state上的二元關(guān)系。如果存在一個(gè)弱模擬S使得spSsq,則稱兩個(gè)狀態(tài)sp和sq是弱互模擬、弱等價(jià)或觀察等價(jià),記作sp≈sq。
互模擬等價(jià)是進(jìn)程代數(shù)中最常用的等價(jià)關(guān)系,并且根據(jù)是否忽略內(nèi)部動(dòng)作分為強(qiáng)互模擬等價(jià)和弱互模擬等價(jià)[18-19]。強(qiáng)互模擬平等看待所有動(dòng)作(包括內(nèi)部不可見動(dòng)作);弱互模擬是忽略內(nèi)部動(dòng)作的、可觀察外部動(dòng)作的等價(jià)[18]。前面將模擬定義為一個(gè)標(biāo)號(hào)遷移系統(tǒng)的狀態(tài)集之上的關(guān)系,實(shí)際上,互模擬往往發(fā)生在兩個(gè)或多個(gè)標(biāo)號(hào)遷移系統(tǒng)中,實(shí)現(xiàn)這些標(biāo)號(hào)遷移系統(tǒng)中對(duì)應(yīng)狀態(tài)的互模擬。本文關(guān)注面向制造服務(wù)系統(tǒng)的協(xié)同演化狀態(tài)遷移,將演化前后的服務(wù)組合分別描述為狀態(tài)遷移系統(tǒng),因此屬于演化前后兩個(gè)狀態(tài)遷移系統(tǒng)間的互模擬。
面向服務(wù)架構(gòu)實(shí)現(xiàn)了企業(yè)間跨系統(tǒng)的業(yè)務(wù)操作,服務(wù)架構(gòu)下的協(xié)同制造過程是形成面向服務(wù)的業(yè)務(wù)鏈的過程[2]。制造環(huán)境下的 Web服務(wù)組合業(yè)務(wù)流程需要依據(jù)制造需求不斷演化,演化類型的判定是確定服務(wù)演化實(shí)施方案的基礎(chǔ),也是記錄演化變化發(fā)生細(xì)節(jié)的前提。面向制造服務(wù)的業(yè)務(wù)流程演化可能只發(fā)生在企業(yè)間協(xié)同服務(wù)平臺(tái)中單個(gè)服務(wù)內(nèi)部的單個(gè)或多個(gè)狀態(tài)節(jié)點(diǎn)上,如協(xié)同設(shè)計(jì)或產(chǎn)品銷售服務(wù)內(nèi)部,也可能是服務(wù)間業(yè)務(wù)流程的重新編排[8,21-22],如產(chǎn)品銷售服務(wù)、售后服務(wù)和物流服務(wù)的協(xié)同演化等。因此,可以從單個(gè)狀態(tài)節(jié)點(diǎn)、單個(gè)服務(wù)和服務(wù)組合三個(gè)層面判定演化類型,其中,狀態(tài)節(jié)點(diǎn)層面的演化是從單個(gè)狀態(tài)節(jié)點(diǎn)的視角,運(yùn)用弱模擬理論,不關(guān)注節(jié)點(diǎn)內(nèi)部行為,只判定狀態(tài)節(jié)點(diǎn)外部可觀察行為的變化;單個(gè)服務(wù)演化類型的判定從單個(gè)服務(wù)的視角判定服務(wù)內(nèi)部業(yè)務(wù)流程及其狀態(tài)節(jié)點(diǎn)的數(shù)量和邏輯關(guān)系是否發(fā)生變化,期間可能伴隨著狀態(tài)節(jié)點(diǎn)層面的演化;Web服務(wù)組合層面演化的判定是從Web服務(wù)組合的整體視角判定演化前后全局業(yè)務(wù)流程的變化,期間可能伴隨參與服務(wù)的內(nèi)部業(yè)務(wù)流程及其狀態(tài)節(jié)點(diǎn)的演化。
制造服務(wù)內(nèi)部包含多個(gè)狀態(tài)節(jié)點(diǎn)(即構(gòu)件、功能模塊等),如產(chǎn)品銷售服務(wù)中的接收訂單、庫存檢查等。狀態(tài)節(jié)點(diǎn)演化發(fā)生在單個(gè)狀態(tài)節(jié)點(diǎn)內(nèi)部,包括增值、削減、調(diào)整三種。“增值”表示狀態(tài)節(jié)點(diǎn)在原有功能不變情況下的功能擴(kuò)展,如供貨服務(wù)中的請(qǐng)求裝運(yùn)模塊增加了新的貨運(yùn)渠道;“削減”表示原有功能的減少,且未增加新的功能,如接收訂單模塊去除不必要的訂單確認(rèn)功能;“調(diào)整”表示既有原有功能的刪減,又有新功能的增加,如在提交訂單模塊中刪掉手機(jī)支付功能的同時(shí),增加了基于客戶信譽(yù)記錄的貨到付款功能。規(guī)則1利用互模擬理論中的弱模擬和弱互模擬,不考慮狀態(tài)節(jié)點(diǎn)內(nèi)部行為,只判定狀態(tài)節(jié)點(diǎn)的外部可觀察行為。
規(guī)則1 狀態(tài)節(jié)點(diǎn)演化類型判定。p是服務(wù)service的一個(gè)狀態(tài)節(jié)點(diǎn),p演化后的狀態(tài)節(jié)點(diǎn)稱為p′,sp是p 的狀態(tài)集,s′p′是p′的狀態(tài)集。如果p在演化前、后的狀態(tài)遷移模型分別是(sp,rp)和(s′p′,r′p′),對(duì)于?s∈sp,,?s′∈s′p′,且對(duì)于?s′∈s′p′,?s∈sp,則有如下判定規(guī)則:
(1)如果滿足sSs′∧s′Ss(亦可記作:s≈s′),即s與s′弱等價(jià),則表明從外部行為看,p沒有發(fā)生演化(p內(nèi)部可能存在演化),屬于觀察等價(jià)。
表1 狀態(tài)節(jié)點(diǎn)p的狀態(tài)遷移序列與演化類型關(guān)系
制造服務(wù)中,單個(gè)服務(wù)內(nèi)部業(yè)務(wù)流程的演化是最常見的演化形式。單個(gè)服務(wù)演化關(guān)注服務(wù)內(nèi)部業(yè)務(wù)流程中狀態(tài)節(jié)點(diǎn)的數(shù)量及其邏輯關(guān)系的變化引起的服務(wù)外部行為變化。單個(gè)服務(wù)演化類型包括基本動(dòng)作類型和復(fù)合動(dòng)作類型。基本動(dòng)作包括狀態(tài)節(jié)點(diǎn)的增加、刪除和修改操作。其中:①增加是指增添新的狀態(tài)節(jié)點(diǎn),如在產(chǎn)品銷售服務(wù)中增加客戶信譽(yù)檢查節(jié)點(diǎn),在物流服務(wù)中增加貨物核查節(jié)點(diǎn),在售后服務(wù)中增加跟蹤服務(wù)管理節(jié)點(diǎn);②刪除是指刪掉原有的狀態(tài)節(jié)點(diǎn),如根據(jù)電子商務(wù)的特點(diǎn),在產(chǎn)品售后服務(wù)中刪掉走訪服務(wù)管理節(jié)點(diǎn);③修改是指增值、削減或調(diào)整原有狀態(tài)節(jié)點(diǎn)的功能,如在產(chǎn)品銷售服務(wù)中對(duì)支付方式狀態(tài)節(jié)點(diǎn)增加貨到付款功能。規(guī)則2給出了單個(gè)服務(wù)內(nèi)部的基本動(dòng)作類型演化判斷方法。
規(guī)則2 單個(gè)服務(wù)內(nèi)部基本動(dòng)作類型演化的判定。設(shè)p是服務(wù)service中的狀態(tài)節(jié)點(diǎn),p′是演化后的服務(wù)service′中的狀態(tài)節(jié)點(diǎn),s′q是p′的狀態(tài)集,state和state′分別是service和service′的狀態(tài)集,sp?state,s′p′?state′。判定規(guī)則如下:對(duì)于 ?s′∈s′p′,?s∈state,
(1)如果?p′,滿足s s′∧s′ s,即s′非弱模擬s且s非弱模型s′表明service中不存在可以模擬p′的狀態(tài)節(jié)點(diǎn),即service演化到service′過程中增加了新的狀態(tài)節(jié)點(diǎn)。
(2)如果?p′,滿足s′Rs∧s s′,即s強(qiáng)模擬s′,且s′非弱模擬s,則表明service可以模擬service′中的任意狀態(tài)節(jié)點(diǎn),從service演化到service′刪除了原有狀態(tài)節(jié)點(diǎn)。
對(duì)于大粒度服務(wù)演化類型的判定,規(guī)則2中的state和state′可以定義為內(nèi)部業(yè)務(wù)流程的狀態(tài)集,這樣可以降低互模擬判定規(guī)模,同時(shí)可以將業(yè)務(wù)流程抽象成單個(gè)狀態(tài)節(jié)點(diǎn),用于判定業(yè)務(wù)流程間的互模擬關(guān)系。如圖4所示,供貨服務(wù)從service演化到service′,sservice和sservice′分別是service和service′的狀態(tài)集。sservice= {s1,s2,s3,s4},sservice′={s1,s2,s3,s4,s5,s6},service的內(nèi)部業(yè)務(wù)流程包括(s1,s2,s3,s4)和(s2,s3,s4),演化后的業(yè)務(wù)流程在service 原有業(yè)務(wù)流程的基礎(chǔ)上又增加了新的業(yè)務(wù)流程(s1,s5)和(s6),說明單個(gè)服務(wù)service演化到service′發(fā)生了服務(wù)增值。
單個(gè)服務(wù)內(nèi)部演化的復(fù)合動(dòng)作包括合并和分解。合并是指將兩個(gè)或多個(gè)狀態(tài)節(jié)點(diǎn)合并成一個(gè)狀態(tài)節(jié)點(diǎn),包括承接式合并和并行式合并。承接式合并是將商品選擇和支付方式選擇兩個(gè)功能比較單一的狀態(tài)節(jié)點(diǎn)合并成一個(gè)狀態(tài)節(jié)點(diǎn);并行式合并是將網(wǎng)銀付款功能模塊和信用卡付款功能模塊合并成一個(gè)功能節(jié)點(diǎn)。分解是指將一個(gè)狀態(tài)節(jié)點(diǎn)分成多個(gè)狀態(tài)節(jié)點(diǎn),包括承接式分解和并行式分解,具體實(shí)例即上述合并動(dòng)作的逆過程。復(fù)合動(dòng)作由基本動(dòng)作構(gòu)成,如將一個(gè)狀態(tài)節(jié)點(diǎn)分解成多個(gè)狀態(tài)節(jié)點(diǎn),看作是發(fā)生了刪除和增加狀態(tài)節(jié)點(diǎn)兩類動(dòng)作;將一個(gè)或多個(gè)狀態(tài)節(jié)點(diǎn)合并到其他狀態(tài)節(jié)點(diǎn),看成是刪除和修改兩類動(dòng)作。規(guī)則3給出了單個(gè)服務(wù)復(fù)合動(dòng)作類型演化的判定規(guī)則。
規(guī)則3 單個(gè)服務(wù)內(nèi)部復(fù)合動(dòng)作類型演化的判定。service′是service演化后的服務(wù),pi,…,pj是service中的狀態(tài)節(jié)點(diǎn),spi,…,spj分別是pi,…,pj的狀態(tài)集,p′i,…,p′j是service′的狀態(tài)節(jié)點(diǎn),s′p′i,…,s′p′j分別是p′i,…,p′j的狀態(tài)集。單個(gè)服務(wù)復(fù)合動(dòng)作類型演化的判定規(guī)則如下:
(1)對(duì)于s∈spi∪…∪spj,s′∈s′p′,如果?s,?s′滿足sSs′∧s′Ss,則表明將service中的多個(gè)狀態(tài)節(jié)點(diǎn)合并成service′中的一個(gè)狀態(tài)節(jié)點(diǎn),且屬于并行式合并。
(2)對(duì)于s∈sp,s′∈s′p′i∪ … ∪s′p′j,如果 ?s,?s′滿足sSs′∧s′Ss),則表明將service中的一個(gè)狀態(tài)節(jié)點(diǎn)分解成service′中的多個(gè)狀態(tài)節(jié)點(diǎn),且屬于并行式分解。
(3)對(duì)于s∈spj,s′∈sp,如果?s′,?s滿足sSs′∧s′Ss,則表明將service中的多個(gè)狀態(tài)節(jié)點(diǎn)合并成service′中的一個(gè)狀態(tài)節(jié)點(diǎn),且屬于承接式合并。
(4)對(duì)于s∈sp,s′∈sp′j,如果?s,?s′滿足sSs′∧s′Ss,則表明將service中的一個(gè)狀態(tài)節(jié)點(diǎn)分解成service′中的多個(gè)狀態(tài)節(jié)點(diǎn),且屬于承接式分解。
如圖5所示,服務(wù)service,service′和service″是具有演化關(guān)系的三個(gè)服務(wù)。其中,Sservice={s21,s22,s23,s24,s25,s26},Sservice′= {s21,s22,s23a,s23b,s24,s25,s26}和Sservice″={s21,s22a,s22b,s23,s24,s25,s26},演化類型如表2所示。
表2 單個(gè)服務(wù)的復(fù)合動(dòng)作演化滿足條件和類型
在面向制造服務(wù)的Web服務(wù)組合中,單個(gè)服務(wù)內(nèi)部的業(yè)務(wù)流程演化往往會(huì)引發(fā)伙伴服務(wù)中狀態(tài)節(jié)點(diǎn)和業(yè)務(wù)流程的協(xié)同變化,例如:若產(chǎn)品銷售服務(wù)中的付款方式增加了貨到付款,則在物流服務(wù)中就要增加接收客戶付款和向商品銷售商返款節(jié)點(diǎn)。根據(jù)互模擬理論中的強(qiáng)模擬和弱模擬、強(qiáng)互模擬和弱互模擬的定義,從全局業(yè)務(wù)流程中狀態(tài)節(jié)點(diǎn)演化的視角,判定服務(wù)組合演化類型。性質(zhì)1給出了強(qiáng)模擬和弱模擬,非弱模擬與非強(qiáng)模擬以及非弱互模擬與非強(qiáng)互模擬的關(guān)系。規(guī)則4給出了服務(wù)組合演化類型的判定規(guī)則。
性質(zhì)1 強(qiáng)模擬一定是弱模擬,強(qiáng)互模擬一定是弱互模擬。非弱模擬一定是非強(qiáng)模擬,非弱互模擬一定是非強(qiáng)互模擬。
證明 根據(jù)定義5,如果spRsq,則說明如果sp,則存在s′q使得,且s′pRs′q,滿足定義7,即sp?s′p,則存在s′q使得sq?s′q且如果α是內(nèi)部不可見動(dòng)作,則相當(dāng)于沒有外部動(dòng)作,如果α是外部可見動(dòng)作,則相當(dāng)于1個(gè)外部交互。因此,強(qiáng)模擬一定是弱模擬。證畢。
同理可證:強(qiáng)互模擬一定是弱互模擬。非弱模擬一定是非強(qiáng)模擬,非弱互模擬一定是非強(qiáng)互模擬。
規(guī)則4 服務(wù)組合演化類型的判定。Service是服務(wù)組合中的服務(wù)集,是發(fā)起演化的服務(wù)集,其中,service∈Service且service是發(fā)起演化的服務(wù),service′是service演化后的服務(wù)。如果service,service′的狀態(tài)遷移模型分別是(state,relation)和(state′,relation′),則對(duì)于?s∈state,?s′∈state′,滿足如下判定規(guī)則:
表3給出了四種服務(wù)組合演化類型及其對(duì)服務(wù)編排協(xié)議、發(fā)起演化服務(wù)及參與演化服務(wù)業(yè)務(wù)流程的影響的對(duì)比。內(nèi)部式演化發(fā)生在單個(gè)服務(wù)內(nèi)部,屬于服務(wù)編制層面的演化;增值式演化、削減式演化和全局式演化發(fā)生在多個(gè)服務(wù)之間,演化波及到服務(wù)編排協(xié)議,屬于服務(wù)編排層面的演化。
以Web服務(wù)組合Cservice為例,如圖6所示。Cservice=(Service,Bp,p)。其中:Service是服務(wù)集合,Service={service1,service2,service3},Bp 是業(yè)務(wù)流程集合,p是服務(wù)編排協(xié)議,。Cservice演化前有三個(gè)業(yè)務(wù)流程,分別是:b1=(s11,s12,s21,s22,s13),b2=(s11,s12,s21,s22,s23,s24,s31,s32,s15,s26)和b3=(s11,s12,s21,s22,s23,s24,s31,s25,s14,s26)。圖7~圖10是Web服務(wù)組合Cservice的四種服務(wù)演化類型。
表3 服務(wù)演化行為類型及影響
(1)內(nèi)部式演化 圖7是服務(wù)演化發(fā)起方的內(nèi)部業(yè)務(wù)流程演化,演化過程完全在服務(wù)Service1的內(nèi)部進(jìn)行,業(yè)務(wù)流程b1演化為b′1=(s11,s17,s12,s21,s22,s13,s16),但外部可觀察行為(交互行為)沒有發(fā)生變化。該演化對(duì)服務(wù)編排協(xié)議和伙伴服務(wù)無影響,演化可以在不告知服務(wù)參與方的情況下直接進(jìn)行。
(2)增值式演化 在原有業(yè)務(wù)流程不變的前提下增加新的業(yè)務(wù)流程,并且服務(wù)的外部可觀察行為(交互行為)發(fā)生變化。如圖8所示,演化后的業(yè)務(wù)流程中,b1,b2和b3不變,增加了b4=(s11,s12,s21,s22,s27,s28,s24,s31,s25,s14,s26)和b5= (s11,s12,s21,s22,s27,s28,s24,s31,s32,s15,s26)。該演化過程波及到服務(wù)編排協(xié)議和伙伴服務(wù),演化過程可能需要升級(jí)其他業(yè)務(wù)流程內(nèi)的功能節(jié)點(diǎn),如s22和s24,但演化前后的原有業(yè)務(wù)流程不變。
(3)削減式演化 原有業(yè)務(wù)流程在數(shù)量和功能上的縮減,服務(wù)的外部可觀察行為(交互行為)發(fā)生變化。如圖9所示,b3被刪減,b1和b2保留。由于b3的業(yè)務(wù)節(jié)點(diǎn)包含于service1,service2和service3中,演化對(duì)其他伙伴服務(wù)產(chǎn)生影響。但是,演化后的服務(wù)編排協(xié)議p′與原始服務(wù)編排協(xié)議p相比,存在p′?p,即p中具備完成演化后的業(yè)務(wù)流程b1和b2的編排協(xié)議,因此,演化后的業(yè)務(wù)流程可以在p下運(yùn)行。
(4)全局式演化 原有業(yè)務(wù)流程和服務(wù)的外部可觀察行為(交互行為)均發(fā)生變化,如圖10所示,業(yè)務(wù)流程包括:b1=(s11,s12,s21,s22,s13),b′2=(s11,s12,s21,s27,s28,s23,s24,s31,s32,s15,s26)和b′3= (s11,s12,s21,s22,s27,s28,s24,s31,s25,s14,s26),其中去掉了s23節(jié)點(diǎn),增加了節(jié)點(diǎn)s27和s28。
下面的例子說明了在制造服務(wù)的產(chǎn)品銷售和物流環(huán)節(jié)中Web服務(wù)組合業(yè)務(wù)流程演化類型的判定問題。其中,圖11描述的是關(guān)于工藝品定制銷售的制造產(chǎn)品網(wǎng)上供銷服務(wù)組合CWS系統(tǒng),該系統(tǒng)由客戶代理、供貨服務(wù)、物流服務(wù)、銀行服務(wù)、原料供應(yīng)服務(wù)和制造服務(wù)6個(gè)參與服務(wù)構(gòu)成。Service是CWS的服務(wù)集,且Service={servicea,services,servicel,serviceb,servicey,servicem},Bp={b1,b2,b3,b4}是CWS的業(yè)務(wù)流程集。其中:業(yè)務(wù)流程b1=(s11,s12,s13,s41,s14),b2=(s11,s12,s13,((s41,s42)‖s21),s22,s23,s24,s31,s32,s25,(s15‖ (s33,s16))),b3= (s11,s12,s13,((s41,s42)‖s21),s22,s23,s61,s62,s64,s65,s31,s32,s25,(s15‖(s33,s16))),b4=(s11,s12,s13,((s41,s42)‖s21),s22,s23,s61,s62,s51,s52,s63,s64,s65,s31,s32,s25,(s15‖(s33,s16))),‖是并行執(zhí)行的。
供貨服務(wù)services為了盡可能地?cái)U(kuò)大銷售規(guī)模,在降低銷售風(fēng)險(xiǎn)的前提下吸引更多的消費(fèi)者,在原有的先網(wǎng)上支付、后發(fā)貨交易模式的基礎(chǔ)上,又引入了基于對(duì)消費(fèi)者信任檢查的貨到付款模式。因此,供貨服務(wù)(services)依此需求變化演化為服務(wù)service′s,在內(nèi)部增加了信用檢查s26和返款s27模塊,如圖12所示。
(1)狀態(tài)節(jié)點(diǎn)演化類型判定
以services為例,演化前services的狀態(tài)集Sservices={s21,s22,s23,s24,s25},演化后service′s的狀態(tài)集Sservice′s= {s21,s22,s23,s24,s25,s26,s27},且 對(duì) 于?s′∈s′p′,?s∈sp,其中,sp∈Sservices,s′p′∈Sservice′s,根據(jù)規(guī)則1,s21和s23滿足sSs′∧s′ s,即s′弱模擬s,且s非弱模擬s′,表明s21和s23增加了新的狀態(tài)遷移,發(fā)生了增值;狀態(tài)節(jié)點(diǎn)s22、s24和s25滿足sSs′∧s′Ss,屬于觀察等價(jià),即演化前后s22、s24和s25外部可觀察行為沒有發(fā)生變化;根據(jù)規(guī)則1,無法判定s26和s27的演化類型,說明無法在演化前的狀態(tài)集中找到與之匹配的狀態(tài)節(jié)點(diǎn)。根據(jù)規(guī)則2,s26和s27滿足s s′∧s′ s,即s與s′非弱等價(jià),表明s26和s27屬于演化后新增的狀態(tài)節(jié)點(diǎn)。
(2)單個(gè)服務(wù)內(nèi)部演化類型判定
以services為例,根據(jù)services自身的內(nèi)部業(yè)務(wù)流程變化判定演化類型。services演化前的內(nèi)部業(yè)務(wù)流程 包 括:b2(s):1= (((s21,s22)‖s22),s23,s24),b3(s):1=b4(s):1=(((s21,s22)‖s22),s23),b2(s):2=b3(s):2=b4(s):2=(s25)。services演化后的業(yè)務(wù)流程包括:b′2(s):1=(((s21,s22)‖s22),s23,s24),b′2(s):2=b′3(s):2=b′4(s):2=b′6(s):2=b′7(s):2= (s25),b′3(s):1=b′4(s):1=(((s21,s22)‖s22),s23)、b′5(s):1= (s21,s26),b′6(s):1=b′7(s):1=(s21,s26,s23)。將內(nèi)部業(yè)務(wù)流程抽象成狀態(tài)節(jié)點(diǎn),令state和state′分別為services和演化后服務(wù)service′s的狀態(tài)集,因?yàn)閎2(s):1=b′2(s):1= ((s21,s22)‖s22),s23,s24),b2(s):2=b′2(s):2= (s25),b3(s):2=b′3(s):2= (s25),b3(s):1=b′3(s):1= (((s21,s22)‖s22),s23),b4(s):1=b′4(s):1=(((s21,s22)‖s22),s23),b4(s):2=b′4(s):2=(s25),即以上業(yè)務(wù)流程內(nèi)部狀態(tài)節(jié)點(diǎn)及邏輯關(guān)系沒有發(fā)生變化,根據(jù)強(qiáng)互模擬等價(jià)關(guān)系,對(duì)于services中的任意內(nèi)部業(yè)務(wù)流程b,?s∈sb,?s′∈s′b′,其中,sb和s′b′分別是內(nèi)部業(yè)務(wù)流程b 和b′的狀態(tài)集,sb?state,s′b′?state′,得 出 b2(s):1~b′2(s):1,b2(s):2~b′2(s):2,b3(s):1~b′3(s):1,b3(s):2~b′3(s):2,b4(s):1~b′4(s):1,b4(s):2~b′4(s):2,說明services的內(nèi)部業(yè)務(wù)流程b2(s):1,b2(s):2,b3(s):1,b3(s):2,b4(s):1,b4(s):2演 化 前 后 沒 有發(fā)生變化。同時(shí),根據(jù)規(guī)則2,演化后服務(wù)service′s中的內(nèi)部業(yè)務(wù)流程b′5(s):1,b′6(s):1和b′7(s):1滿足,即s與不s′弱等價(jià),表明從service中不存在可以模擬p′的狀態(tài)節(jié)點(diǎn),即演化service到service′的過程中增加了新的“狀態(tài)節(jié)點(diǎn)”,即增加了新的內(nèi)部業(yè)務(wù)流程,因此,從services演化到service′s是在原有內(nèi)部業(yè)務(wù)流程不變的情況下,增加了新的內(nèi)部業(yè) 務(wù) 流 程 b′5(s):1,b′6(s):1和 b′7(s):1。 其 中:b′5(s):1=(s21,s26),b′6(s):1=b′7(s):1=(s21,s26,s23)。
(3)服務(wù)組合演化類型判定
演化后的服務(wù)組合C′WS的參與服務(wù)集和業(yè)務(wù)流程集分別是Service′和Bp′,其中:Service′={service′a,service′s,service′l,service′b,service′y,service′m},Bp′= {b′1,b′2,b′3,b′4,b′5,b′6,b′7}。Bp′的業(yè)務(wù)流程包括:b′1=(s11,s12,s13,s41,s14),b′2=(s11,s12,s13,((s41,s42)‖s21),s22,s23,s24,s31,s32,s25,(s15‖(s33,s16))),b′3=(s11,s12,s13,((s41,s42)‖s21),s22,s23,s61,s62,s64,s65,s31,s32,s25,(s15‖ (s33,s16))),b′4=(s11,s12,s13,((s41,s42)‖s21),s22,s23,s61,s62,s51,s52,s63,s64,s65,s31,s32,s25,(s15‖ (s33,s16))),b′5=(s11,s12,s13,s21,s26,s17),b′6= (s11,s12,s13,s21,s26,s23,s61,s62,s64,s65,s31,s32,s25,(s15‖ (s33,s16))),b′7= (s11,s12,s13,s21,s26,s23,s61,s62,s51,s52,s63,s64,s65,s31,s32,s25,(s15‖(s33,s16)))。對(duì)于服務(wù)組合演化前后的CWS和C′WS,將業(yè)務(wù)流程集Bp和Bp′中的業(yè)務(wù)流程抽象成狀態(tài)節(jié)點(diǎn),根據(jù)強(qiáng)互模擬等價(jià)關(guān)系,可以得出b1~b′1,b2~b′2,b3~b′3,b4~b′4,即b1與b′1,b2與b′2、b3與b′3、b4與b′4強(qiáng)等價(jià),同時(shí),令STATE是CWS的全局狀態(tài)集,STATE′是C′WS的全局狀態(tài)集,?s′∈s′b′5,s′b′5?STATE′,?s∈STATE,s′b′5是全局業(yè)務(wù)流程b′5的狀態(tài)集,假設(shè)將實(shí)例的整個(gè)Web服務(wù)組合看成一個(gè)服務(wù),根據(jù)規(guī)則2,演化后的Web服務(wù)組合中存在一個(gè)全局業(yè)務(wù)流程,滿足ss′∧s′s,即s′非弱模擬s且s非弱模擬s′,表明在Bp′中增加了全局業(yè)務(wù)流程b′5。同理,可證明在Bp′中增加了全局業(yè)務(wù)流程b′6和b′7。因此,將全局業(yè)務(wù)流程抽象成狀態(tài)節(jié)點(diǎn),根據(jù)判定規(guī)則4,對(duì)于?s∈STATE,?s′∈STATE′,滿足sRs′∧s′s,即s′強(qiáng)模擬s,且s非弱模擬s′,CWS發(fā)生了增值式演化。由此表明從CWS演化到C′WS是在原有全局業(yè)務(wù)流程不變情況下的增值式演化。
演化類型的判定是優(yōu)化制造服務(wù)業(yè)務(wù)流程演化實(shí)施方案和記錄演化前后變化細(xì)節(jié)的重要途徑。本文針對(duì)面向制造服務(wù)的Web服務(wù)組合業(yè)務(wù)流程演化類型判定問題,運(yùn)用互模擬理論,從單個(gè)狀態(tài)節(jié)點(diǎn)、單個(gè)服務(wù)和服務(wù)組合三個(gè)層面進(jìn)行了深入分析,并給出了判定規(guī)則,具體工作包括:(1)通過弱模擬和弱互模擬理論判定節(jié)點(diǎn)的外部行為是否發(fā)生變化,將單個(gè)狀態(tài)節(jié)點(diǎn)演化類型劃分為觀察等價(jià)、增值、削減和修改四類;(2)運(yùn)用強(qiáng)模擬和弱模擬理論,依據(jù)服務(wù)內(nèi)部業(yè)務(wù)流程演化前后狀態(tài)節(jié)點(diǎn)的變化,將單個(gè)服務(wù)演化類型分成基本動(dòng)作類型和復(fù)合動(dòng)作類型兩方面,其中,基本動(dòng)作包括狀態(tài)節(jié)點(diǎn)的增加、刪除和修改操作,復(fù)合動(dòng)作包括承接式合并、并行式合并、承接式分解和并行式分解四類;(3)運(yùn)用強(qiáng)模擬和弱模擬理論,根據(jù)全局業(yè)務(wù)流程在演化前后的變化,將Web服務(wù)組合演化類型劃分為內(nèi)部式、增值式、削減式和全局式演化四類。演化類型的判定可以發(fā)生在演化設(shè)計(jì)階段和演化過程實(shí)施以后。設(shè)計(jì)階段的演化類型判定,可以確定哪些狀態(tài)節(jié)點(diǎn)、業(yè)務(wù)流程、參與服務(wù)需要做出調(diào)整,做出何種調(diào)整,明確狀態(tài)節(jié)點(diǎn)間的邏輯關(guān)系,以便確定一個(gè)低成本的、波及范圍小的演化實(shí)施方案;演化過程發(fā)生后(特別是動(dòng)態(tài)演化)的演化類型判定,可以實(shí)現(xiàn)在演化結(jié)果不可知的情況下,獲得狀態(tài)節(jié)點(diǎn)、業(yè)務(wù)流程或參與服務(wù)在演化前后的變化,進(jìn)而通過演化日志,記錄演化過程,以便及時(shí)發(fā)現(xiàn)演化過程中出現(xiàn)的問題。
演化類型的判定是服務(wù)編排層面大粒度Web服務(wù)組合協(xié)同演化的關(guān)鍵問題之一。在本文給出的演化類型判定規(guī)則的基礎(chǔ)上,下一步將從面向動(dòng)態(tài)演化的演化類型判定算法描述及其原型系統(tǒng)實(shí)現(xiàn)、服務(wù)編排層面演化的可實(shí)現(xiàn)性分析、演化過程的可信性判定等方面展開研究。同時(shí),將研究重點(diǎn)放在運(yùn)行時(shí)刻的演化類型動(dòng)態(tài)判定機(jī)制和面向演化設(shè)計(jì)階段的基于功能性需求變化的演化類型選擇模型上。
[1] TAO Fei,ZHANG Lin,GUO Hua,et al.Typical characteristics of cloud manufacturing and several key issues of cloud service composition[J].Computer Integrated Manufacturing Systems,2011,17(3):477-486(in Chinese).[陶 飛,張霖,郭 華,等.云制造特征及云服務(wù)組合關(guān)鍵問題研究[J].計(jì)算機(jī)集成制造系統(tǒng),2011,17(3):477-486.]
[2] LI Bohu,ZHANG Lin,WANG Shilong,et al.Cloud manufacturing:a new service-oriented networked manufacturing model[J].Computer Integrated Manufacturing Systems,2010,16(1):1-7,16(in Chinese).[李伯虎,張 霖,王時(shí)龍,等.云制造—面向服務(wù)的網(wǎng)絡(luò)化制造新模式[J].計(jì)算機(jī)集成制造系統(tǒng),2010,16(1):1-7,16.]
[3] LI Haibo.Approach to multi-granularity resource composition based on workflow in cloud manufacturing[J].Computer Integrated Manufacturing Systems,2013,19(1):210-216(in Chinese).[李海波.云制造環(huán)境下基于工作流的多粒度資源組合方法[J].計(jì)算機(jī)集成制造系統(tǒng),2013,19(1):210-216.]
[4] SONG Wei.Research on dynamic evolution of Web service compositions[D].Nanjing:Nanjing University,2010(in Chinese).[宋 巍.Web服務(wù)組合動(dòng)態(tài)演化技術(shù)研究[D].南京:南京大學(xué),2010.]
[5] ZENG Jin,SUN Hailong,LIU Xudong,et al.Dynamic evolution mechanism for trustworthy software based on service composition[J].Journal of Software,2012,17(2):261-276(in Chinese).[曾 晉,孫海龍,劉旭東,等.基于服務(wù)組合的可信軟件動(dòng)態(tài)演化機(jī)制[J].軟件學(xué)報(bào),2012,17(2):261-276.]
[6] SMARI W W,DONE PU DI S,SEUNG K,et al.Efficient handling of changes in dynamic workflow systems[C]//Proceedings of International Symposium on Collaborative Technologies and Systems 2006.Piscataway,N.J.,USA:IEEE Press,2006:440-449.
[7] DONG Peiwu,QUAN Liang,LI Mingxing,et al.Process modeling and evaluation of process reengineering[J].Journal of Harbin Institute of Technology,2003,35(1):110-113(in Chinese).[董沛武,全 良,李明星,等.業(yè)務(wù)流程重組中流程建模與重組效果評(píng)價(jià)研究[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2003,35(1):110-113.]
[8] YAO Qing,HONG Yuke,WANG Haiyang.Modeling of changeable business process based on process algebra[J].Computer Integrated Manufacturing Systems,2009,15(9):1721-1730(in Chinese).[姚 青,洪余柯,王海洋.基于過程代數(shù)的可變業(yè)務(wù)流程建模方法[J].計(jì)算機(jī)集成制造系統(tǒng),2009,15(9):1721-1730.]
[9] WANG Huaimin,SHI Peichang,DING Bo,et al.Online evolution of software services[J].Chinese Journal of Computers,2011,34(2):318-328(in Chinese).[王懷民,史佩昌,丁 博,等.軟件服務(wù)的在線演化[J].計(jì)算機(jī)學(xué)報(bào),2011,34(2):318-328.]
[10] HU Haitao,LI Gang,HAN Yanbo.An approach to businessuser-oriented larger-granularity service composition[J].Chinese Journal of Computers,2005,28(4):694-702(in Chinese).[胡海濤,李 剛,韓燕波.一種面向業(yè)務(wù)用戶的大粒度服務(wù)組合方法[J].計(jì)算機(jī)學(xué)報(bào),2005,28(4):694-702.]
[11] SONG Wei,MA Xiaoxing,LYU Jian.Instance migration in dynamic evolution of Web service compositions[J].Chinese Journal of Computers,2009,32(9):1-15(in Chinese).[宋巍,馬曉星,呂 建.Web服務(wù)組合動(dòng)態(tài)演化的實(shí)例可遷移性[J].計(jì)算機(jī)學(xué)報(bào),2009,32(9):1-15.]
[12] RYU S H,CASATI F,SKOGSRUD H.Supporting the dynamic evolution of Web service protocols in service-oriented architectures[J].ACM Transactions on the Web,2007,2(2):1-43.
[13] LIU Min,YAN Junwei.SOA-based business collaboration service platform for cross-enterprise and relative technologies[J].Computer Integrated Manufacturing Systems,2008,14(2):306-314(in Chinese).[劉 敏,嚴(yán)雋薇.基于面向服務(wù)架構(gòu)的企業(yè)間業(yè)務(wù)協(xié)同服務(wù)平臺(tái)及技術(shù)研究[J].計(jì)算機(jī)集成制造系統(tǒng),2008,14(2):306-314.]
[14] PELTZ C.Web services orchestration and choreography[J].IEEE Computer 2003,36(10):46-52.
[15] CAMBRONERO M E,DíAZ G,VALERO V,et al.validation and verification of Web services choreographies by using timed automata[J].The Journal of Logic and Algebraic Programming,2011,80(1):25-49.
[16] PAPAZOGLOU M P.The challenges of service evolution[J].Advanced Information Systems Engineering,2008,5074:1-15.
[17] JI Feng,HE Weiping,WANG Dongcheng,et al.Research on collaborative manufacturing chain for complex parts in networked manufacturing environment[J].Computer Integrated Manufacturing Systems,2006,12(1):71-77(in Chinese).[吉鋒,何衛(wèi)平,王東成,等.網(wǎng)絡(luò)制造環(huán)境下面向復(fù)雜零件的協(xié)同制造鏈研究[J].計(jì)算機(jī)集成制造系統(tǒng),2006,12(1):71-77.]
[18] ROBIN M.Communicating and mobile systems:theπ-calculus[M].Cambridge,Mass.,USA:Cambridge University Press,1999:16-53.
[19] XU Xian.On the bisimulation theory and axiomatization of higher-order process calculi[D].Shanghai:Shanghai Jiaotong University,2008(inChinese).[徐 賢.高階進(jìn)程演算的互模擬理論和公理化的研究[D].上海:上海交通大學(xué),2008.]
[20] XU Wen,F(xiàn)ANG Hai,LIN Huimin.Optimization and Implementation of a bisimulation checking algorithm for theπ-calculus[J].Journal o f Software,2001,12(2):159-166(in Chinese).[許 文,方 海,林惠民.π-演算互模擬判定算法的優(yōu)化和實(shí)現(xiàn)[J].軟件學(xué)報(bào),2001,12(2):159-166.]
[21] SONG Wei,LYU Jian,MA Xiaoxing,et al.A method of dynamic evolution of Web service choreography[C]//Proceedings of 2010CCF National Conference on Service Computing.Beijing:Chinese Journal of Computers,2010:274-286(in Chinese).[宋 巍,呂 建,馬曉星,等.一種服務(wù)編排的動(dòng)態(tài)演化方法[C]//第一屆全國服務(wù)計(jì)算學(xué)術(shù)會(huì)議.北京:計(jì)算機(jī)學(xué)報(bào),2010:274-286.]
[22] SONG Wei,TANG Jinhui,ZHANG Gongxuan,et al.Substitutability analysis of WS-BPEL services[J].Scientia Sinica:Informationis,2012,42(3):264-279(in Chinese).[宋 巍,唐金輝,張功萱,等.WS-BPEL服務(wù)可替換性分析[J].中國科學(xué):信息科學(xué),2012,42(3):264-279.]
計(jì)算機(jī)集成制造系統(tǒng)2014年3期