鄭世明,史華明
(1.南京陸軍指揮學(xué)院作戰(zhàn)實(shí)驗(yàn)中心,江蘇 南京 210045;2.總參國(guó)防動(dòng)員部訓(xùn)練局,北京 100100)
模型語(yǔ)法組合解決了模型組合的形式化問(wèn)題,但是由于組合建模還依賴領(lǐng)域知識(shí),例如,如何根據(jù)裝備知識(shí)確定組合模型的子模型、如何表示組合模型的子模型必須滿足的約束條件、如何根據(jù)領(lǐng)域知識(shí)確定組合模型的有效性以及如何表達(dá)用戶對(duì)組合模型的特殊需求等。目前的組合建模方法還不能很好地解決這些問(wèn)題。因此,本文提出基于領(lǐng)域規(guī)則的組合建模方法,采用邏輯規(guī)則表示領(lǐng)域知識(shí)對(duì)組合模型的約束,建立了相應(yīng)的模型組合規(guī)則和約束規(guī)則[1]。同時(shí),將模型之間的接口匹配約束也通過(guò)邏輯規(guī)則表示,建立接口匹配規(guī)則。通過(guò)知識(shí)模板,把組合模型的接口連接數(shù)據(jù)和子模型數(shù)據(jù)轉(zhuǎn)化為事實(shí)(Fact)知識(shí),根據(jù)模型組合規(guī)則和約束規(guī)則,借助通用的邏輯推理引擎實(shí)現(xiàn)對(duì)組合模型的約束檢查和接口匹配檢查。
目前,組合建模技術(shù)能夠在一個(gè)共同的模型開(kāi)發(fā)和運(yùn)行環(huán)境下,通過(guò)定義一個(gè)用于組合的公共模型接口集合,在這個(gè)集合范圍內(nèi)實(shí)現(xiàn)模型組合,而且模型選擇和組合模型有效性判定等都還需要人工參與。由功能組件構(gòu)建目標(biāo)模型時(shí),即使是相同類型的功能組件也有參數(shù)化的差異。此外,在模型組合過(guò)程中,組合模型受到很多領(lǐng)域知識(shí)的約束,由于表示模型行為語(yǔ)義以及判斷行為的等價(jià)性目前尚處于理論研究階段,多數(shù)仿真系統(tǒng)的模型組合只能實(shí)現(xiàn)語(yǔ)法組合[2]。語(yǔ)法組合只關(guān)心模型之間的接口匹配問(wèn)題,這屬于I/O觀測(cè)層的模型重用。這種組合方式只要求描述模型的輸入、輸出接口。語(yǔ)法組合面臨的主要問(wèn)題是不能表示和處理與組合建模相關(guān)的領(lǐng)域知識(shí),而這些領(lǐng)域知識(shí)對(duì)于組合建模是必須的。為了解決這個(gè)問(wèn)題,本文采用邏輯表示模型和領(lǐng)域知識(shí),通過(guò)邏輯推理統(tǒng)一處理模型接口匹配和領(lǐng)域知識(shí)對(duì)組合模型的約束,這種方式稱為基于領(lǐng)域規(guī)則的模型組合方法。這個(gè)方法需要解決三個(gè)問(wèn)題:1)用知識(shí)表示方法描述模型;2)用邏輯規(guī)則表示領(lǐng)域知識(shí)對(duì)組合模型的約束;3)通過(guò)邏輯推理實(shí)現(xiàn)模型組合過(guò)程的檢驗(yàn)。
為簡(jiǎn)化模型組合的實(shí)現(xiàn)方式,同時(shí)滿足多樣化作戰(zhàn)仿真對(duì)模型服務(wù)組合的需求,針對(duì)作戰(zhàn)仿真模型組合規(guī)則復(fù)雜、基本服務(wù)類型相對(duì)單一等特點(diǎn),本文提出一種基于事件的服務(wù)組合BEWSC(Based-Events Web Services Composition)方法。首先定義一種基于MERA(mission-event-restriction-action)規(guī)則化語(yǔ)言,在此基礎(chǔ)上,采用過(guò)程構(gòu)造子按照模塊化方法對(duì)模型服務(wù)的組合方案進(jìn)行描述,解決了服務(wù)組合域表示困難、描述能力不足、模型匹配差異性大等問(wèn)題。
目前,服務(wù)組合方法主要分為基于流程、基于模型驅(qū)動(dòng)和基于人工智能的三種方法。基于流程的服務(wù)組合建模是一種基于過(guò)程模板的建模方法,其建模步驟為:先確定過(guò)程的各類成員:如活動(dòng)、角色等,然后將它們定義成模板;再針對(duì)每個(gè)模板,在不同的抽象層次上構(gòu)造該模板的具體對(duì)象;最后定義同一抽象層次中所有對(duì)象之間的各種關(guān)系,從而完成一個(gè)完整的過(guò)程模型[3]。這種方法的優(yōu)點(diǎn)是建模能力強(qiáng),實(shí)用性好,同時(shí)也是增量式建模方法,可根據(jù)需要不斷擴(kuò)充模板的對(duì)象,而不會(huì)影響到整個(gè)過(guò)程模型的結(jié)構(gòu)。
基于模型驅(qū)動(dòng)的組合方法主要是在用特定語(yǔ)言定義組合服務(wù)的基礎(chǔ)上,采用模型事件驅(qū)動(dòng)的方法來(lái)開(kāi)發(fā)、管理動(dòng)態(tài)服務(wù)組合,模型驅(qū)動(dòng)方法將軟件開(kāi)發(fā)方法學(xué)應(yīng)用到服務(wù)組合中。該方法最大的特點(diǎn)是將組合邏輯與組合規(guī)范分離開(kāi),使用UML描述服務(wù)組合,使得其能在更抽象的層次將服務(wù)組合模型化,該組合定義隨后可自動(dòng)地映射到特定的規(guī)范上,進(jìn)而關(guān)聯(lián)到具體的服務(wù)上。
OWL-S的出現(xiàn)為基于AI規(guī)劃的組合方法提供了可能,將服務(wù)看成AI中的動(dòng)作,通過(guò)輸入輸出參數(shù)、前提和結(jié)果等來(lái)描述服務(wù)。在服務(wù)組合時(shí),只要將服務(wù)的這些描述映射為動(dòng)作形式化描述,在服務(wù)空間中以構(gòu)造服務(wù)組合為目標(biāo),通過(guò)形式化的推理得出服務(wù)的組合序列,動(dòng)態(tài)形成服務(wù)組合方案,同時(shí)能夠保證規(guī)劃結(jié)果的正確性和完整性?;贏I的服務(wù)組合方法能動(dòng)態(tài)生成服務(wù)組合方案、動(dòng)態(tài)鏈接具體實(shí)現(xiàn)的服務(wù),以適應(yīng)服務(wù)的動(dòng)態(tài)變化。但如何高效、準(zhǔn)確地在服務(wù)空間中查找適合的服務(wù),如何評(píng)價(jià)生成的服務(wù)組合方案與需求吻合度等一系列問(wèn)題還沒(méi)有很好地解決[4]。
為了提高模型的重用性,仿真模型體系中分辨率最高的模型單位是以組件的形式存在的,因此,在仿真過(guò)程中,可以根據(jù)仿真應(yīng)用的級(jí)別組裝成不同的作戰(zhàn)仿真實(shí)體模型,同時(shí),為了滿足作戰(zhàn)仿真的需要,對(duì)于特定的仿真應(yīng)用而言,單個(gè)實(shí)體的模型所提供的功能有限,難以滿足大規(guī)模仿真的需求,比如,在一次作戰(zhàn)行動(dòng)中可能會(huì)涉及到多個(gè)實(shí)體模型組合、協(xié)同等,有必要選擇若干模型進(jìn)行組合應(yīng)用,在實(shí)際仿真過(guò)程中,模擬一次作戰(zhàn)行動(dòng),可能需要多個(gè)實(shí)體按照時(shí)序完成多個(gè)行動(dòng)。為了提高模型仿真運(yùn)行效率,對(duì)于一些固化的作戰(zhàn)行動(dòng),涉及到的作戰(zhàn)實(shí)體、軍事規(guī)則和行動(dòng)可以采用組合的方式進(jìn)行,經(jīng)組合、封裝后直接供指揮員使用,加快作戰(zhàn)仿真進(jìn)程;對(duì)于一些非固化的作戰(zhàn)行動(dòng)而言,涉及的作戰(zhàn)實(shí)體、軍事規(guī)則和行動(dòng)可能是隨機(jī)的,需要實(shí)時(shí)自動(dòng)組合,這對(duì)模型的組合應(yīng)用提出了更高的要求。采用基于服務(wù)的方式對(duì)模型進(jìn)行管理和應(yīng)用,可以簡(jiǎn)化很多流程,按照服務(wù)組合的方式可以實(shí)現(xiàn)更多、更復(fù)雜的仿真服務(wù),以滿足大規(guī)模、多任務(wù)的仿真活動(dòng)。
本文提出了一種基于事件的服務(wù)組合方法。首先需要定義一種基于EMRA(Event-Mission-Restriction-Action)規(guī)則的語(yǔ)言,簡(jiǎn)稱為EMLCS(Event-Mission Language for Combined Services),這里的任務(wù)可以理解為完成一次作戰(zhàn)行動(dòng)所發(fā)生的具體事件,即任務(wù)觸發(fā)了事件的發(fā)生,一個(gè)事件的發(fā)生可能導(dǎo)致多個(gè)任務(wù)的產(chǎn)生。文獻(xiàn)[5]提出了用于服務(wù)組合的MCA語(yǔ)言EOVLP(E-volving Logic Program),但其語(yǔ)言本身復(fù)雜性,組合效率不高。為了使組合過(guò)程中的語(yǔ)法更加簡(jiǎn)明,提高組合效率,本文在描述實(shí)時(shí)策略的PDL(Policy Description Language)基礎(chǔ)上補(bǔ)充了EMLCS的定義。結(jié)合作戰(zhàn)仿真的實(shí)際需求,主要在以下3個(gè)方面對(duì)PDL進(jìn)行了完善:1)對(duì)事件類型進(jìn)行了擴(kuò)充,在明確內(nèi)部事件的同時(shí),增加了服務(wù)事件;2)增加了對(duì)服務(wù)組合規(guī)則進(jìn)行了詳細(xì)描述;3)補(bǔ)充了復(fù)雜事件的產(chǎn)生條件。
EMLCS中包含基本事件、任務(wù)、行動(dòng)和常數(shù)4種相互互斥的符號(hào)集,其中,基本事件包括外部、內(nèi)部和服務(wù)事件3種。外部事件的作用在于感知外部信息,如服務(wù)查詢結(jié)果;事件觸發(fā)后,一個(gè)事件被分解成多個(gè)任務(wù),每一個(gè)任務(wù)又由若干個(gè)行動(dòng)組成,行動(dòng)的結(jié)果影響著外部世界。內(nèi)部事件和服務(wù)事件的定義需根據(jù)組合方案而具體描述。內(nèi)部事件的作用在于對(duì)服務(wù)執(zhí)行狀態(tài)等的描述,而服務(wù)事件則是對(duì)基本服務(wù)的一種標(biāo)識(shí)。
EMLCS中存在形如式(1)-(5)的5種規(guī)則,在解釋這5種規(guī)則之前,首先完成以下4個(gè)定義:
定義1 事件(event)分為基本事件和復(fù)雜事件,基本事件通過(guò)事件體Ei(1≤i≤n)來(lái)表征,復(fù)雜事件表示成E1&…&En,&為邏輯合取操作符。其中事件體分為正向事件體E(t1,…,tn)和反向事件體!E(t1,…,tn)。正向事件體表示在某個(gè)時(shí)間點(diǎn)事件E已經(jīng)或正在發(fā)生,逆向事件體則表示在某個(gè)時(shí)間點(diǎn)事件E還沒(méi)有發(fā)生。事件even發(fā)生是指正向事件的發(fā)生,通過(guò)對(duì)變?cè)膮?shù)化獲得事件實(shí)例。
定義2 任務(wù)(task)在事件觸發(fā)的條件下形成,一次事件的觸發(fā)可以產(chǎn)生并分解成多個(gè)時(shí)序任務(wù)Ti(1≤j≤m),每個(gè)任務(wù)可以由若干個(gè)行動(dòng)(action)組成,任務(wù)T(t1,…,tn)通過(guò)多個(gè)行動(dòng)ai(1≤i≤n)來(lái)表征,可以表示為a1&…&an。
定義3 行動(dòng)(action)表示為A(t1,…,tn)(n≥0),其中,A是行動(dòng)名,t1,…,tn是它的n個(gè)變?cè)?,變?cè)猼1,…,tn必須出現(xiàn)在正向事件體中,行動(dòng)實(shí)例通過(guò)對(duì)變?cè)膮?shù)化獲得。
定義4 條件(restriction)是對(duì)事件、任務(wù)和行動(dòng)順利執(zhí)行的規(guī)則約束,不管是事件、任務(wù)還是行動(dòng)都需在滿足一定的作戰(zhàn)條令、原則和規(guī)則條件下進(jìn)行。它表示為r1,…,rn,其中,ri(1≤i≤n)是表示比較關(guān)系的原子謂詞,逗號(hào)是一種邏輯合取。
滿足條件時(shí),事件的發(fā)生將分別導(dǎo)致規(guī)則(1)中的任務(wù)按照軍事規(guī)則和要求產(chǎn)生,任務(wù)會(huì)根據(jù)規(guī)則(2)分解成具有一定順序的子任務(wù)序列,子任務(wù)會(huì)導(dǎo)致行動(dòng)被執(zhí)行、觸發(fā)規(guī)則(3)中的內(nèi)部事件(internal event)和添加規(guī)則(4)中的行動(dòng)序列,最后將滿足條件的服務(wù)事件(service event)添加到服務(wù)事件序列中。
組合建模領(lǐng)域規(guī)則的主要是實(shí)現(xiàn)領(lǐng)域知識(shí)對(duì)組合模型的約束,通過(guò)規(guī)則表示實(shí)現(xiàn)對(duì)接口匹配約束,根據(jù)約束的不同將領(lǐng)域規(guī)則分為五種類型:接口匹配規(guī)則、組裝規(guī)則、約束規(guī)則、消息傳遞規(guī)則和效能預(yù)評(píng)估規(guī)則。
1)接口匹配規(guī)則
接口是模型間的一種約定,也是一種模型解耦合機(jī)制,主要是提供對(duì)操作的訪問(wèn)。接口匹配規(guī)則是模型在組合過(guò)程中必須滿足的約束條件,包括輸入、輸出、粒度和數(shù)據(jù)域條件等,模型接口匹配規(guī)則是進(jìn)行模型組合的基礎(chǔ)。
2)組裝規(guī)則
組裝規(guī)則是指模型在組合過(guò)程中對(duì)模型類型的約束,根據(jù)作戰(zhàn)行動(dòng)過(guò)程要求,模型在組合時(shí)也必須按照一定的要求進(jìn)行組裝。模型組裝規(guī)則總體上可以分為兩大類:一是類型規(guī)則,即某一模型只能與其規(guī)定范圍內(nèi)的模型類型進(jìn)行組合,主要是對(duì)被組合對(duì)象的類型要求;另一種是功能規(guī)則,主要是在實(shí)現(xiàn)具體功能時(shí),模型組裝的一些具體規(guī)則,即一個(gè)模型如果作為獨(dú)立的模型參與仿真,它是不需要遵守這些約束的,但是如果作為某個(gè)組合模型的子模型時(shí)它就必須遵守這些約束。例如,通用飛機(jī)平臺(tái)模型作為獨(dú)立的模型參與仿真時(shí),它的最大速度值可以取較大的值,但是當(dāng)它作為電子戰(zhàn)飛機(jī)的平臺(tái)模型時(shí),最大速度就要受到限制[6]。
3)約束規(guī)則
約束規(guī)則包括作戰(zhàn)行動(dòng)規(guī)則和條件判斷規(guī)則,規(guī)則是模型的核心,任何模型的運(yùn)行均是靠規(guī)則驅(qū)動(dòng)的,作戰(zhàn)行動(dòng)規(guī)則是模型在模擬作戰(zhàn)行動(dòng)過(guò)程中需要遵守的規(guī)則,如作戰(zhàn)條令和裝備操作規(guī)范等,作戰(zhàn)行動(dòng)規(guī)則存在于模型運(yùn)行的整個(gè)過(guò)程,條件判斷規(guī)則是在模型遇到多種復(fù)雜情況下的判斷依據(jù),體現(xiàn)模型的多樣性,在建模過(guò)程中需要多種規(guī)則支持才能完成相應(yīng)的模型功能。
4)消息傳遞規(guī)則
作戰(zhàn)仿真中的模型交互通常通過(guò)消息的發(fā)送與接收進(jìn)行,完成戰(zhàn)術(shù)指令及情報(bào)數(shù)據(jù)的共享可以通過(guò)兩種途徑完成消息的傳遞:模擬網(wǎng)絡(luò)和不模擬網(wǎng)絡(luò)。模擬網(wǎng)絡(luò),平臺(tái)通過(guò)自身的通信設(shè)備,將消息發(fā)送到既定的戰(zhàn)術(shù)網(wǎng)絡(luò)上,網(wǎng)絡(luò)模型完成消息的傳輸過(guò)程,最后由接收方的通信設(shè)備進(jìn)行消息的接收;不模擬網(wǎng)絡(luò),則直接通過(guò)信息管理中心,完成消息的發(fā)送。任何一種消息的傳遞都要按照固定的格式和協(xié)議進(jìn)行,模型組合過(guò)程的消息傳遞則要根據(jù)作戰(zhàn)仿真的需要選擇不同的消息傳遞方式。
5)效能預(yù)評(píng)估規(guī)則
效能預(yù)先評(píng)估的規(guī)則主要是對(duì)組合模型的綜合效能進(jìn)行評(píng)估,假設(shè)模型具有完備性,即用戶所需的模型均能在模型服務(wù)中找到,根據(jù)用戶描述的需求,在完成一次戰(zhàn)斗行動(dòng)過(guò)程中,沒(méi)有限定具體的武器裝備,但限定了能夠提供的戰(zhàn)斗力指數(shù),因此在服務(wù)組合過(guò)程中,出現(xiàn)了由多種武器裝備組成的不同組合方案,在這種情況下,應(yīng)根據(jù)效能預(yù)評(píng)估規(guī)則,對(duì)不同組合方案的總體效能進(jìn)行評(píng)估,選擇效能較好的組合作為最優(yōu)方案。
服務(wù)組合的目的是將單個(gè)、獨(dú)立的服務(wù)組合后以實(shí)現(xiàn)更復(fù)雜的服務(wù),根據(jù)用戶的仿真應(yīng)用需求,通過(guò)組合的方式選擇滿足要求的服務(wù),并按照一定的規(guī)則協(xié)同完成服務(wù)請(qǐng)求。實(shí)際上,對(duì)于仿真模型的組合問(wèn)題相對(duì)于Internet中的服務(wù)組合要簡(jiǎn)單一些,對(duì)于同一種原子服務(wù)而言,Internet環(huán)境中可能有多家服務(wù)廠商提供,因此,會(huì)出現(xiàn)多種組合方案,然后要根據(jù)一些最優(yōu)化原則進(jìn)行選擇[7],而對(duì)于作戰(zhàn)仿真模型而言,通常某一原子服務(wù)會(huì)有相應(yīng)的權(quán)威單位提供,相對(duì)單一,不會(huì)出現(xiàn)太多的組合方案,更多的是關(guān)注原子服務(wù)的執(zhí)行順序和協(xié)同問(wèn)題。
圖1 組合服務(wù)執(zhí)行的流程圖
下面分別從服務(wù)的發(fā)布者、服務(wù)的請(qǐng)求者和推理過(guò)程這三個(gè)角度對(duì)組合服務(wù)的執(zhí)行流程進(jìn)行具體分析,如圖1所示,三者執(zhí)行步驟如下。
1)模型服務(wù)發(fā)布者
Step1.模型服務(wù)發(fā)布者結(jié)合作戰(zhàn)仿真領(lǐng)域本體對(duì)自己發(fā)布模型的功能和信譽(yù)度以服務(wù)的方式進(jìn)行語(yǔ)義描述,生成 OWL-S(Ontology Web Language based on Reputation for Services)文件。
Step2.生成的OWLR-S文件提交給模型服務(wù)分類模塊,服務(wù)分類模塊根據(jù)發(fā)布服務(wù)的信息,對(duì)發(fā)布模型服務(wù)進(jìn)行分類,便于用戶查詢。
Step3.將Step2得出的分類信息寫入OWLR-S文件,擴(kuò)充和完善OWLR-S文件。
Step4.模型服務(wù)發(fā)布者把生成該服務(wù)的OWLR-S文件在服務(wù)注冊(cè)中心進(jìn)行注冊(cè),供模型服務(wù)請(qǐng)求者查找。
2)模型服務(wù)請(qǐng)求者
Step1.服務(wù)請(qǐng)求者根據(jù)仿真實(shí)際,結(jié)合作戰(zhàn)仿真領(lǐng)域本體,提出仿真服務(wù)需求,系統(tǒng)根據(jù)請(qǐng)求者的需求自動(dòng)提取語(yǔ)義,并對(duì)服務(wù)的功能進(jìn)行語(yǔ)義描述生成OWLR-S文件。
Step2.生成的OWLR-S文件提交給服務(wù)分類模塊,服務(wù)分類模塊根據(jù)申請(qǐng)服務(wù)的信息,對(duì)申請(qǐng)服務(wù)進(jìn)行分類。
Step3.將Step2得出的分類信息寫入OWLR-S文件,作為服務(wù)需求信息擴(kuò)充到OWLR-S文件,為模型發(fā)布者提供需求信息。
3)推理與組合過(guò)程
Step1.OWLR-S解析器對(duì)服務(wù)請(qǐng)求者和服務(wù)注冊(cè)中心中服務(wù)發(fā)布者注冊(cè)服務(wù)的OWLR-S進(jìn)行解析,提取出服務(wù)的類別信息、功能信息和信譽(yù)度信息。
Step2.OWLR-S解析器得出請(qǐng)求服務(wù)的類別信息,并找出服務(wù)中心中與請(qǐng)求服務(wù)屬于同一類的發(fā)布服務(wù)。
Step3.若服務(wù)注冊(cè)中心存在與請(qǐng)求服務(wù)同類別的發(fā)布服務(wù),則把這些發(fā)布服務(wù)作為候選匹配服務(wù)交給組合服務(wù)模板庫(kù),轉(zhuǎn)至Step4;若服務(wù)注冊(cè)中心不存在與請(qǐng)求服務(wù)同類別的發(fā)布服務(wù),則轉(zhuǎn)Step10。
Step4.根據(jù)請(qǐng)求服務(wù)的需求,對(duì)組合模板庫(kù)的組合服務(wù)進(jìn)行功能匹配,其中概念相似度的計(jì)算是功能匹配的基礎(chǔ),而概念相似度是基于領(lǐng)域本體來(lái)計(jì)算的。
Step5.若組合模板庫(kù)中存在滿足請(qǐng)求服務(wù)需求的組合服務(wù),則將有效的組合服務(wù)返回給用戶;若組合模板庫(kù)中不存在滿足請(qǐng)求服務(wù)需求的組合服務(wù),則執(zhí)行Step6。
Step6.對(duì)由Step3得出的與請(qǐng)求服務(wù)同類別的發(fā)布服務(wù)進(jìn)行功能匹配,得到服務(wù)的功能相似度值和服務(wù)接口之間的語(yǔ)義關(guān)系。
Step7.對(duì)由Step3得出的與請(qǐng)求服務(wù)同類別的發(fā)布服務(wù)進(jìn)行信譽(yù)度決策,得到服務(wù)的信譽(yù)度決策值。
Step8.根據(jù)Step6和Step7得出的功能相似度值、服務(wù)接口之間的語(yǔ)義關(guān)系和信譽(yù)度決策值,并進(jìn)行匹配推理。
Step9.若不存在滿足用戶需求的原子服務(wù)集,則告訴用戶推理過(guò)程結(jié)束;若存在匹配的原子服務(wù),則轉(zhuǎn)至Step10。
Step10.若Step9中存在滿足用戶需求的服務(wù)集,服務(wù)注冊(cè)中心不存在與請(qǐng)求服務(wù)同類別的組合服務(wù),運(yùn)用算法進(jìn)行服務(wù)組合分析。
Step11.經(jīng)過(guò)Step10分析后,若存在滿足請(qǐng)求服務(wù)需求的組合服務(wù),則將有效的組合服務(wù)和服務(wù)規(guī)則集合RS返回給用戶并轉(zhuǎn)至Step12;若不存在滿足請(qǐng)求服務(wù)需求的組合服務(wù),則告知用戶無(wú)滿足要求的組合服務(wù)。
Step12.根據(jù)服務(wù)規(guī)則集合RS使用推導(dǎo)網(wǎng)絡(luò)求解算法,得到組合服務(wù)的圖形流程。
Step13.把組合服務(wù)的組合流程轉(zhuǎn)化為原子服務(wù)的形式。
Step14.根據(jù)組合服務(wù)中各個(gè)原子服務(wù)的OWLR-S文件,得到組合服務(wù)的OWLR-S文件。
Step15.把組合服務(wù)的OWLR-S文件交由服務(wù)組合模板庫(kù),對(duì)模板庫(kù)進(jìn)行更新,結(jié)束。
實(shí)例背景:命令某導(dǎo)彈旅防空營(yíng)一輛導(dǎo)彈發(fā)射單元向可疑目標(biāo)進(jìn)行機(jī)動(dòng)并啟動(dòng)傳感器,傳感器獲取Track信息后,首先會(huì)判斷探測(cè)到的戰(zhàn)場(chǎng)實(shí)體是否為敵軍,如果是,則將敵軍的位置等信息報(bào)告給上級(jí)指揮所并停止機(jī)動(dòng)任務(wù),等待上級(jí)進(jìn)行決策(等待支援或撤退),否則不做任何處理繼續(xù)執(zhí)行機(jī)動(dòng)任務(wù)。指揮所收到報(bào)告信息后,利用雷達(dá)探測(cè)設(shè)備探測(cè)戰(zhàn)場(chǎng)情況,主要是查看在發(fā)送方15km范圍內(nèi)是否存在其他友軍力量,如果有,則命令其中一個(gè)導(dǎo)彈發(fā)射單元機(jī)動(dòng)至發(fā)送方位置,當(dāng)被指派的支援單元到達(dá)發(fā)送方位置后,啟動(dòng)火力控制單元進(jìn)行打擊目標(biāo)分配,并向各導(dǎo)彈發(fā)射單元下達(dá)準(zhǔn)備攻擊命令,導(dǎo)彈發(fā)射單元實(shí)時(shí)向指揮所上報(bào)敵方目標(biāo)的具體情況,當(dāng)目標(biāo)在導(dǎo)彈發(fā)射單元的探測(cè)范圍并具備攻擊條件時(shí),指揮所向火力控制單元下達(dá)攻擊命令,兩輛導(dǎo)彈發(fā)射單元分別對(duì)目標(biāo)進(jìn)行火力打擊。
該問(wèn)題中可抽象的實(shí)體模型為指揮所、導(dǎo)彈發(fā)射單元、目標(biāo)、火力控制單元和雷達(dá)探測(cè)模型。指揮所應(yīng)具有通信、決策(火力突擊或撤退)、指派下級(jí)執(zhí)行作戰(zhàn)或撤退等任務(wù)的能力;導(dǎo)彈發(fā)射單元應(yīng)具有探測(cè)戰(zhàn)場(chǎng)實(shí)體、上報(bào)、通信、等待支援或撤退等能力;目標(biāo)可作為一個(gè)最基本的實(shí)體存在同時(shí)具有可被探測(cè)的能力?;鹆刂茊卧獞?yīng)具有目標(biāo)分配和控制組件,向?qū)棸l(fā)射單元下達(dá)攻擊命令的能力,輸入?yún)?shù)為目標(biāo)類型、數(shù)量、威脅指數(shù)、相對(duì)速度、位置、航向、航路捷徑等,輸出信息包括打擊時(shí)間、武器、數(shù)量等。雷達(dá)探測(cè)模型主要用于探測(cè)并識(shí)別敵方實(shí)體,其輸入?yún)?shù)主要有相對(duì)距離、方位角、俯仰角、速度、天氣影響因子、干擾因子及雷達(dá)反射截面積等,輸出參數(shù)為位置、速度、目標(biāo)航路捷徑、航路角、個(gè)體數(shù)量、個(gè)體類型、探測(cè)時(shí)間、最早威脅時(shí)間、威脅指數(shù)等。
通過(guò)上述分析,涉及到5個(gè)實(shí)體模型,這5個(gè)模型實(shí)際上對(duì)應(yīng)于5個(gè)模型組合服務(wù),每個(gè)組合服務(wù)由不同的原子服務(wù)構(gòu)成,每個(gè)原子服務(wù)分別對(duì)應(yīng)原子模型組件,因此涉及到的原子模型組件包括指揮所平臺(tái)組件、地面機(jī)動(dòng)組件、通信組件、導(dǎo)彈發(fā)射單元平臺(tái)組件、傳感器組件、目標(biāo)平臺(tái)組件、目標(biāo)分配組件和控制組件等。
假設(shè)服務(wù)注冊(cè)中心中存在各種類型的原子組件封裝而成的原子服務(wù),同時(shí)存在目標(biāo)模型服務(wù)和指揮所實(shí)體模型服務(wù),但不存在火力控制單元模型服務(wù)、導(dǎo)彈發(fā)射單元實(shí)體模型服務(wù)和雷達(dá)探測(cè)模型服務(wù),因此目標(biāo)模型服務(wù)和指揮所實(shí)體模型服務(wù)可以直接進(jìn)行綁定和調(diào)用,而其他3種模型服務(wù)需要由多個(gè)原子組件組裝而成并以組合服務(wù)的形式提供。
按照組件化建模的基本原則和軍事概念模型的基本構(gòu)成,將各實(shí)體模型劃分成由組件裝配而成的各種組合形式:
指揮所實(shí)體模型=指揮所平臺(tái)組件+地面機(jī)動(dòng)組件+通信組件;
導(dǎo)彈發(fā)射單元實(shí)體模型=導(dǎo)彈發(fā)射單元平臺(tái)組件+地面機(jī)動(dòng)組件+通信組件+傳感器組件;
目標(biāo)模型=目標(biāo)平臺(tái)組件+地面機(jī)動(dòng)平臺(tái)組件;
探測(cè)雷達(dá)模型=通信組件+傳感器組件;
火力控制單元=目標(biāo)分配組件+控制組件。
組件對(duì)應(yīng)原子服務(wù),各實(shí)體(目標(biāo)、雷達(dá)探測(cè)、火力控制單元)對(duì)應(yīng)基本服務(wù),如果用戶需要在一次服務(wù)中體現(xiàn)上述的所有過(guò)程,則需要通過(guò)一種組合服務(wù)完成,即需要對(duì)組合模型進(jìn)行分析。首先需要完成對(duì)基本服務(wù)的分析,考慮到基本服務(wù)是作戰(zhàn)仿真中比較常用的,我們認(rèn)為類似這樣的服務(wù)在注冊(cè)中心直接存在,這里重點(diǎn)對(duì)復(fù)雜的組合服務(wù)進(jìn)行分析。考慮到目標(biāo)模型和指揮所實(shí)體與探測(cè)雷達(dá)、火力控制單元、導(dǎo)彈發(fā)射單元均有聯(lián)系,目標(biāo)模型和指揮所實(shí)體不再展開(kāi),但與探測(cè)雷達(dá)、火力控制單元、導(dǎo)彈發(fā)射單元具有組合關(guān)系,各模型之間的接口關(guān)系如圖2所示,這種關(guān)系實(shí)際上是一種邏輯關(guān)系,更多的是體現(xiàn)是接口關(guān)系、數(shù)據(jù)傳遞關(guān)系。
圖2 組合模型建模
從模型組合的角度分析,首先根據(jù)用戶提出的仿真需求服務(wù)進(jìn)行組合性解析,將需求按照語(yǔ)義關(guān)系進(jìn)行劃分和抽象,找出滿足組合要求的所有子模型(雷達(dá)探測(cè)模型、目標(biāo)模型、指揮所實(shí)體模型、火力控制單元模型和導(dǎo)彈發(fā)射單元模型),根據(jù)模型接口和功能的語(yǔ)義描述,進(jìn)行語(yǔ)義提取與轉(zhuǎn)換,同時(shí)與模型知識(shí)庫(kù)進(jìn)行比對(duì),將提取的語(yǔ)義轉(zhuǎn)換成組合推理引擎能夠識(shí)別的語(yǔ)言,在組合規(guī)則庫(kù)和模型知識(shí)庫(kù)的共同作用下,按照作戰(zhàn)行動(dòng)的過(guò)程,遵循模型接口匹配規(guī)則、模型組合規(guī)則和模型約束規(guī)則,對(duì)模型組合流程進(jìn)行建模,推理引擎按照模型組合服務(wù)流程對(duì)模型進(jìn)行組合建模[8-9],形成一個(gè)組合的模型,確立各子模型之間的接口關(guān)系,然后將各個(gè)基本服務(wù)的執(zhí)行順序、數(shù)據(jù)傳遞關(guān)系和接口連接關(guān)系等以服務(wù)的方式進(jìn)行描述和封裝,并進(jìn)行模型組合性驗(yàn)證,最后將組合結(jié)果以服務(wù)的方式提供給用戶直接使用。
從服務(wù)組合的角度分析,服務(wù)組合的任務(wù)是發(fā)現(xiàn)一組服務(wù)可以滿足服務(wù)請(qǐng)求,組合結(jié)果可能是一個(gè)服務(wù)或一個(gè)服務(wù)鏈,也可能是一個(gè)帶有分支和匯合結(jié)構(gòu)的服務(wù)集合。假設(shè)DS1、DS2、DS3和DS4分別表示導(dǎo)彈發(fā)射單元平臺(tái)服務(wù)、地面機(jī)動(dòng)服務(wù)、通信服務(wù)和傳感器服務(wù),按照服務(wù)組合的需求封裝組合成導(dǎo)彈發(fā)射單元模型服務(wù);ZS1、ZS2和ZS3分別表示指揮所平臺(tái)服務(wù)、地面機(jī)動(dòng)服務(wù)和通信服務(wù),根據(jù)指揮所運(yùn)行需求封裝組合成指揮所實(shí)體模型服務(wù);MS1和MS2分別表示目標(biāo)平臺(tái)服務(wù)和地面機(jī)動(dòng)平臺(tái)服務(wù),封裝組合成目標(biāo)模型服務(wù);LS1和LS2分別表示雷達(dá)通信服務(wù)和傳感器服務(wù),封裝組合成雷達(dá)探測(cè)模型服務(wù);HS1和HS2分別表示火力目標(biāo)分配服務(wù)和控制服務(wù),封裝組合成火力單元控制模型服務(wù)。
圖3是一個(gè)邏輯上的服務(wù)組合示意圖,服務(wù)組合的基礎(chǔ)是首先是查找出滿足用戶需求的一系列服務(wù),在仿真實(shí)例中主要是包括導(dǎo)彈發(fā)射模型服務(wù)、雷達(dá)探測(cè)模型服務(wù)、目標(biāo)模型服務(wù)、指揮所實(shí)體模型服務(wù)和火力控制單元模型服務(wù),然后將這些服務(wù)以過(guò)程的形式構(gòu)造成為更為復(fù)雜的服務(wù),并采用BPEL4WS語(yǔ)言對(duì)服務(wù)鏈中的每一個(gè)服務(wù)執(zhí)行順序、服務(wù)之間的控制關(guān)系、數(shù)據(jù)流進(jìn)行詳細(xì)描述,利用partner指定服務(wù)鏈中的每一個(gè)服務(wù),同時(shí)使其指向服務(wù)對(duì)應(yīng)的WSDL文檔,通過(guò)sequence確定服務(wù)鏈執(zhí)行邏輯(順序模式),同時(shí),建立該過(guò)程的WSDL文擋,以便其他應(yīng)用或服務(wù)調(diào)用,圖中只是一個(gè)邏輯結(jié)構(gòu),實(shí)際上在服務(wù)流程構(gòu)造時(shí),每一個(gè)子服務(wù)可能會(huì)被多次調(diào)用,也可能以并發(fā)的方式或循環(huán)的方式在整個(gè)服務(wù)鏈中被執(zhí)行,直至服務(wù)鏈的業(yè)務(wù)流程構(gòu)造完畢,需要說(shuō)明的服務(wù)鏈的業(yè)務(wù)流程構(gòu)造是一個(gè)復(fù)雜的過(guò)程,是由計(jì)算機(jī)根據(jù)服務(wù)語(yǔ)義關(guān)系、描述邏輯、分析推理后自動(dòng)形成的。最后,將BPEL4WS的描述過(guò)程以WSDL文檔形式封裝成組合服務(wù)供用戶調(diào)用。
圖3 模型組鏈?zhǔn)浇M合服務(wù)示意圖
在形成服務(wù)組合鏈的基礎(chǔ)上,對(duì)于服務(wù)組合建模過(guò)程而言,每一個(gè)基本服務(wù)模型之間存在著接口關(guān)系、執(zhí)行順序和數(shù)據(jù)傳遞等服務(wù)業(yè)務(wù)流程建模,組合服務(wù)的邏輯建模如圖4所示。
圖4 組合服務(wù)邏輯建模
在組合服務(wù)的內(nèi)部,邏輯上劃分為8個(gè)服務(wù)交互調(diào)用的子過(guò)程,這8個(gè)基本過(guò)程分別是:1)導(dǎo)彈發(fā)射單元模型服務(wù)與目標(biāo)模型服務(wù)的交互;2)導(dǎo)彈發(fā)射單元模型服務(wù)與指揮所實(shí)體模型服務(wù)的交互;3)指揮所實(shí)體模型服務(wù)與雷達(dá)探測(cè)模型服務(wù)的交互;4)雷達(dá)探測(cè)模型服務(wù)與目標(biāo)模型服務(wù)的交互;5)導(dǎo)彈發(fā)射單元模型服務(wù)與雷達(dá)探測(cè)模型服務(wù)的交互;6)指揮所實(shí)體模型服務(wù)與火力控制單元模型服務(wù)的交互;7)火力控制單元模型服務(wù)與導(dǎo)彈發(fā)射單元模型服務(wù)的交互;8)導(dǎo)彈發(fā)射單元模型服務(wù)與指揮所實(shí)體模型服務(wù)的交互。
因此,對(duì)于一個(gè)較為復(fù)雜的組合服務(wù),它可能是多個(gè)基本服務(wù)的組合,而每個(gè)基本服務(wù)之間在整個(gè)過(guò)程又需要交互,基本服務(wù)之間的交互是通過(guò)服務(wù)接口訪問(wèn)實(shí)現(xiàn)的,主要是提供服務(wù)的輸入、輸出參數(shù),前一個(gè)基本服務(wù)的輸出參數(shù)作為下一個(gè)基本服務(wù)的輸入?yún)?shù),如此循環(huán)往復(fù)下去,直至服務(wù)組合鏈上最后一個(gè)服務(wù)結(jié)果的輸出。
本文主要從模型組合的基本概念出發(fā),將模型服務(wù)區(qū)分為原子服務(wù)、基本服務(wù)、復(fù)雜服務(wù)和組合服務(wù)四種類型,通過(guò)構(gòu)建服務(wù)組合語(yǔ)法、組合規(guī)則、組合算法提出了一種面向服務(wù)的作戰(zhàn)仿真模型組合建模方法,采用過(guò)程構(gòu)造子按照模塊化方法對(duì)模型服務(wù)的組合方案進(jìn)行描述,解決了服務(wù)組合域表示困難、描述能力不足、模型匹配差異性大等問(wèn)題。
[1]肖芳雄.面向QoS的Web服務(wù)組合建模和驗(yàn)證研究[D].南京:南京航空航天大學(xué),2010:34-48.
[2]馮曉寧,王卓,顧磊,等.行為驅(qū)動(dòng)的仿真模型組合方法研究[J].系統(tǒng)仿真學(xué)報(bào),2012,24(1):20-26.
[3]溫嘉佳.Web服務(wù)組合及其相關(guān)技術(shù)的研究[D].北京郵電大學(xué),2006:65-78.
[4]劉思培,劉大有,齊紅.基于服務(wù)組鏈的Web服務(wù)組合方法[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2010,40(1):149-155.
[5]孔維梁,劉清堂,楊宗凱,等.基于動(dòng)態(tài)QoS的web服務(wù)組合[J].計(jì)算機(jī)科學(xué),2012,39(2):268-272.
[6]艾利鋒,劉春煌,杜彥華.5T系統(tǒng)整合中基于模型驅(qū)動(dòng)的web服務(wù)組合方法研究[J].中國(guó)鐵道科學(xué),2007,28(4):118-124.
[7]曾星宇.基于HTN規(guī)劃的服務(wù)組合框架的研究與實(shí)現(xiàn)[D].上海:上海交通大學(xué)軟件學(xué)院,2012:42-52.
[8]Andreas Tolk, Pathfinder. Integration Environment-Knowledge and Resources Documentation Enabling Efficient Reuse[C]∥In Proceeding of 2006 European Simulation Interoperability Workshop,Orlando,F(xiàn)L,2006,06E-SIW-007.
[9]周東詳.多層次仿真模型組合理論與集成方法研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué)研究生院,2007:85-95.