亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于Bigraph的規(guī)則驅動動態(tài)模型研究

        2016-12-22 21:32:41笪建莫啟程耀坤汪培芬張毅
        軟件導刊 2016年11期
        關鍵詞:體系結構連接件端口

        笪建莫啟程耀坤汪培芬張毅呂永華

        摘 要:作為業(yè)務過程中的一個重要組成方面,業(yè)務規(guī)則驅動業(yè)務邏輯的運行,業(yè)務規(guī)則的變化導致業(yè)務邏輯實現(xiàn)功能的變化?;陉P注點分離的思想,將業(yè)務規(guī)則作為一個方面從業(yè)務邏輯中分離出來,并從更宏觀的層面實現(xiàn)業(yè)務規(guī)則對業(yè)務邏輯的組織及驅動。業(yè)務規(guī)則不僅可以對單個業(yè)務邏輯構件內部的運行流程進行驅動,還可以對涉及多個業(yè)務邏輯構件的運行過程進行控制,并允許施加在業(yè)務邏輯構件上的規(guī)則構件可以同時為多個。同時,考慮到軟件系統(tǒng)所處環(huán)境的日益復雜化,引入自適應機制,建立了三層的面向方面動態(tài)模型體系結構,設計出面向方面動態(tài)模型體系結構描述語言,基于Bigraph理論,建立了面向方面動態(tài)模型體系結構的語義模型,通過定義Bigraph反應系統(tǒng)來描述模型的動態(tài)變化,最后對模型動態(tài)變化后的完整性進行了驗證。

        關鍵詞關鍵詞:業(yè)務規(guī)則;Bigraph;Bigraph反應系統(tǒng);面向方面動態(tài)模型體系結構

        DOIDOI:10.11907/rjdk.161932

        中圖分類號:TP302

        文獻標識碼:A 文章編號文章編號:16727800(2016)011001805

        基金項目基金項目:

        作者簡介作者簡介:笪建(1979-),男,江蘇淮安人,碩士,淮安開放大學信息工程系助教,研究方向為軟件工程、軟件過程。

        0 引言

        作為業(yè)務過程中的一個重要組成方面,從一般意義上講,業(yè)務規(guī)則實質上就是一組條件和在這組條件下進行的一組操作;而從軟件工程的角度來看,可以將業(yè)務規(guī)則理解成業(yè)務邏輯執(zhí)行的控制流程,規(guī)則組織并驅動業(yè)務邏輯的執(zhí)行,從而實現(xiàn)系統(tǒng)設計目標。因此,本文基于關注點分離的思想,通過將業(yè)務規(guī)則從業(yè)務邏輯中分離出來,并從更宏觀的層面實現(xiàn)業(yè)務規(guī)則對業(yè)務邏輯的組織及驅動。建立了三層的面向方面動態(tài)模型體系結構(Aspect-Oriented Dynamic Model for Structure of Architecture, AODMSA),基于Bigraph理論最終建立了AODMSA的語義模型,最后對AODMSA模型動態(tài)變化后的完整性進行了驗證。

        1 Bigraph簡介及面向方面動態(tài)模型體系結構

        Bigraph是由圖靈獎獲得者Robin Milner[1]和他的合作者于2001年提出的一種基于圖形的形式化工具,主要用來為普適計算系統(tǒng)以及移動和并發(fā)理論建模。本文從靜態(tài)結構和動態(tài)結構兩個不同的角度對Bigraph進行闡述。從靜態(tài)結構來講,一個Bigraph可以分解為兩個子圖:位置圖和連接圖[2]。位置圖用來表示各計算節(jié)點所在位置,節(jié)點之間可以相互嵌套,每一個節(jié)點分配一個控制,

        控制可以用來描述一個節(jié)點擁有多少個端口,每一個端口對應一個連接,端口同時也可以通過名字來表示,名字分為外部名和內部名。首先給出Bigraph的定義。

        定義1:Bigraph G=(V,E,Ctrl,GP,GL):I->J,I=,J=。其中,y:有限的節(jié)點集;E:有限的邊集合;Ctrl:V->K,節(jié)點到控制的映射圖,表示每一個節(jié)點都有一個對應的控制K,K用來描述該節(jié)點的端口,并規(guī)定該節(jié)點是原子節(jié)點還是復合節(jié)點。EGP=(V,Ctrl,prnt):m→n為擴展的位置圖。其中,m為內部位置的個數(shù),n為外部區(qū)域的個數(shù),prnt:mUv→vUn,ELP=(V,E,Ctrl,link):X→Y為擴展的連接圖。其中,X為內部名,Y為外部名,link:XUP->EUY,I=,J=分別為內部和外部接口。從動態(tài)性方面來講,Bigraph可以通過反應規(guī)則( r,r′)對自身進行重配置, Bigraph和一組反應規(guī)則可組成Bigraph反應系統(tǒng)[3]。

        針對傳統(tǒng)軟件開發(fā)中的缺點,人們提出了面向方面的編程,它能很好地解決上述問題,其關鍵是識別和分離關注點[4]。本文基于關注點分離的思想,將系統(tǒng)中業(yè)務規(guī)則從業(yè)務邏輯中分離出來,通過定義相關的業(yè)務規(guī)則來決策業(yè)務邏輯的運行和調整;同時考慮到軟件系統(tǒng)所處環(huán)境的日益復雜化,在本文中引入了自適應機制。其體系結構自底向上分為3層:環(huán)境層、規(guī)則層及行為層。其中,環(huán)境層由一些感知構件組成,感知構件用來感知環(huán)境的變化,向下輸出上下文事件,并通過驅動連接件連接到規(guī)則構件上。驅動連接件對獲得的上下文事件進行分析,作出相應的決策來建立規(guī)則層模型或者對規(guī)則層模型進行調整。規(guī)則層主要由一些規(guī)則構件所組成,規(guī)則構件分為原子規(guī)則構件和復合規(guī)則構件,原子規(guī)則構件就是一條規(guī)則,而復合規(guī)則構件則是由若干條緊密耦合的規(guī)則通過某種方式組合而成,這樣可以實現(xiàn)對規(guī)則的重用。調用連接件用來連接相關的規(guī)則構件和行為構件,通過規(guī)則構件中定義的規(guī)則,就可以通過調用相關的行為構件來實現(xiàn)相應的業(yè)務規(guī)則,或者是對行為構件模型進行調整從而達到適應變化后的規(guī)則模型。面向方面動態(tài)模型體系結構如圖1和圖2所示。

        在這種體系結構中,存在3種類型的構件,分別是:感知構件、規(guī)則構件及行為構件。感知構件主要用來感知環(huán)境的變化,對外輸出上下文事件;規(guī)則構件封裝了一系列規(guī)則,用來決策行為構件的運行;行為構件就是封裝了相應業(yè)務邏輯的可組裝的軟件單元。同時也存在5種類型的連接件,分別是:上下文連接件,主要用來連接一些相關的感知構件;驅動連接件,主要用來連接感知構件和規(guī)則構件,通過感知構件輸出的上下文事件來制定相應的業(yè)務規(guī)則;規(guī)則構件,主要用來連接規(guī)則構件;調用連接件,用來連接規(guī)則構件和行為構件,通過規(guī)則調用相應行為構件的運行;行為連接件主要是用來連接相應的行為構件。最后,在這種體系結構中也存在兩種類型的配置:初始配置和動態(tài)重配置。初始配置主要是用來建立最初的體系結構模型,而動態(tài)重配置就是用來根據環(huán)境或者是需求的變化對體系結構模型進行調整。

        2 面向方面動態(tài)模型體系結構

        2.1 AODMSA中構件及連接件定義

        對環(huán)境的顯示表示是AODMSA模型實現(xiàn)軟件自適應的基礎,對環(huán)境的建模已經存在多種建模方法[15],本文主要是采用已經被廣泛使用且易被管理的鍵值對模型。

        定義2(上下文):上下文用來表示環(huán)境的一個維度,其定義來源于相應的上下文本體,它是一個三元組;ctx=(type,name,value)。其中,type用來表示上下文的類型;name是上下文的名字,value為上下文的值,每一種上下文在一個確定的時刻只有一個確定的值。

        定義3(上下文事件):上下文事件用來表示上下文在時間上值的變化,它是一個三元組;ctxEvt=(ctx,value1,value2)。其中ctx為上述定義中的上下文,value1為ctx在某一個時間上的值,value2為ctx在下一個時間上的值。通過比較value1和value2的變化,就可以得到相應的上下文事件。

        在AODMSA模型中,最重要的一層是規(guī)則層,規(guī)則層由一些規(guī)則構件組成,規(guī)則構件又可以分為原子構件和復合構件,而一個原子構件只包含一條規(guī)則。所謂規(guī)則就是在滿足前置條件的情況下所進行的一組操作,而在這一組操作完成之后,又要滿足某種規(guī)定的后置條件。復合構件則是由一組原子構件通過某種方式復合而成。因此,為了定義規(guī)則層的規(guī)則構件,首先要對規(guī)則進行相應的定義。而為了定義規(guī)則,首先需要給出前置條件和后置條件的定義。在本文中,將前置條件和后置條件及后面的條件都理解成一個特定的命題。

        定義4(系統(tǒng)命題、規(guī)則):一個命題就是定義在一個特定空間S上的一個二元組,PROP=(id,trueSet),其中id為命題的唯一標識,而trueSet是該命題為真的所有常量的集合[6]。規(guī)則就是在滿足前置條件下所進行的一組操作。因此,規(guī)則定義為一個二元組,rule=(pre,ops),其中pre表示為一個前置條件,ops為規(guī)則中所進行的一組操作。

        定義5(感知構件、規(guī)則構件及行為構件):感知構件是封裝了感知環(huán)境變化手段的可組裝的軟件單元,對外輸出上下文事件,它是一個二元組,ctxComp=(ports,body)。其中,ports為感知構件的端口集合,每一個端口定義為一個二元組(type,control)。其中,type為端口的類型,和上下文的類型相同;control為一個二元組,control=(provid,reques),分別用來表示端口是請求端口還是提供端口;body為感知構件的內部實現(xiàn)。規(guī)則構件是封裝了一系列規(guī)則的可組裝軟件單元,用來決策行為構件的運行,它是一個二元組,ruleComp=(ports,body)。其中,ports為端口的集合,body為規(guī)則構件的內部實現(xiàn),假如一個規(guī)則構件是原子的,那么在body內面只包含一條規(guī)則。行為構件同樣定義為一個二元組,behComp=(ports,body)。其中,ports為端口的集合,body為行為構件的內部表示。

        定義6(上下文連接件、驅動連接件、規(guī)則連接件、調用連接件及行為連接件):上下文主要用來連接相關感知構件,對外向相關的感知構件輸出上下文事件,它是一個二元組,ctxConn=(ports,ctxComps)。其中,ports為端口的集合,ctxComps為感知構件的集合。驅動連接件接收上下文構件輸出的上下文事件并依此作出相應的決策來生成相應的業(yè)務規(guī)則,它的定義基于ECA(Event-Condition-Action)模式[5]。它是一個五元組,driveConn=(cComps,rComps,ports,conditions,actions),其中cComps為感知構件集合,rComps為規(guī)則構件集合,ports為驅動連接件角色集合,conditions為一系列命題集合,表示施加在環(huán)境上的一系列條件,actions為對規(guī)則模型所施加的一系列操作。規(guī)則連接件用來連接規(guī)則構件,它是一個二元組,ruleCon=(ports,rComps),其中ports為規(guī)則連接件角色集合,rComps為規(guī)則構件集合。調用連接件用來連接規(guī)則構件和行為構件,它根據規(guī)則構件內定義的一些相關規(guī)則來生成相應的行為構件模型或者是對已經生成了的行為構件模型進行動態(tài)調整,它是一個三元組,callerCon=(ports,rComps,bComps),其中ports為調用連接件角色集合,eComps為規(guī)則構件集合,bComps為行為構件集合。行為連接件用來連接行為構件,它是一個二元組,bCon=(ports,bComps),其中ports為行為連接件角色集合,bComps為行為構件集合。

        2.2 面向方面動態(tài)模型體系結構描述語言

        本文已建立了一個三層的面向方面動態(tài)模型體系結構模型,因而,需要定義出相應的體系結構語言(ADL),以便對AODMSA模型進行規(guī)約和分析。軟件體系結構描述語言是對軟件系統(tǒng)概念架構的描述,它必須能夠支持體系結構中的構件、連接件及配置3個基本模塊的顯式規(guī)約[7]。本文考慮到引入自適應機制并且將環(huán)境作為一個顯式部分引入AODMSA模型中,因此,定義出一種新的體系結構描述語言,它包括對環(huán)境、構件、連接件、配置及系統(tǒng)的描述。部分用EBNF定義的體系結構元素如下:

        //單個系統(tǒng)體系結構的描述,它包含類型聲明、配置聲明及約束聲明3個部分

        ::=System“{“{“,”}*“;”{“,”}*“,” [{“,”}*]”}”

        //類型聲明,它包含構件類型的聲明和連接件類型的聲明

        ::=Type“{“{“,”}*“;”{“,”}*

        //類型名字的定義

        ::=|::=ctxComp|ruleComp|

        behaviorComp

        ::=ctxConn|driveConn|ruleConn|callerConn|behaviorConn

        //構件的聲明,它分為兩類:原子構件和復合構件

        原子構建是指不具有內部結構的構件,它可能包含屬性聲明、約束聲明、端口聲明、上下文聲明、規(guī)則聲明及行為聲明,而復合構件由多個構件和連接件組裝而成,在規(guī)約的層次上需要表達成員之間的組合。在復合構件的聲明中沒有行為的定義,復合構件的行為由組成其內部各構件的行為并行組裝而成,當一個構件是規(guī)則構件時,同樣如此,只不過考慮的是規(guī)則。

        ::=|

        //原子構件定義

        ::=Component”{“[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“;” “}”

        //復合構件定義

        ::=Component”{“[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“;”[]“}”

        //上下文聲明

        ::=Context “:” “=”

        //規(guī)則聲明,包含前置條件、操作聲明

        ::=Rule“{”[]“;” “}”

        //操作行為聲明,包含順序、循環(huán)、條件3種規(guī)則行為,規(guī)則行為中的行為既可以在同一個行為構件中,也可以發(fā)布在不同的行為構件中

        ::=“{”{“,” < rule_Behavior >}*“}”

        //規(guī)則行為

        ::=Sequence“(””,””)”|Paralel“(””,””)”|While“(”“)”“{“”}”|”if“(”“)”“{”“}”[else“{”< rule_Behavior_Statement >] “}”

        //規(guī)則行為聲明,用構件名加行為聲明組成

        ::=< Component_Name >“.”< behavior_Statement >

        //前置條件聲明::=Pre“{”{“,”< condition >}*“}”

        ::=“(”“,”“,”“)”|“(”< condition >“,”< condition >“,” “)”

        ::= >|<|>=|<=|OR|AND|NOT|(User define)

        //行為聲明,它包括發(fā)送信息、接收信息、內部行為、啞行為、順序行為、并行行為、選擇行為及循環(huán)行為

        ::=Behavior“{”{“,”}*“}”::=Send“(”“,”“)”|Receive“(”“,”“)”|InternalActivity|SilentActivity|Sequence“(””,””)”|Paralel“(””,””)”|While“(”“)”“{“”}”|”if“(”“)”“{”“}”[else“{”< behavior_Statement >] “}”

        //連接件定義,包括屬性聲明、約束聲明、端口聲明及自適應聲明

        ::=Connection”{“[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“;”[{“,”}*]“}”

        //自適應操作聲明

        ::=While“(”“)”“{”if“(”“)”“{”“}” “}”

        ::=“(”“,”“)”|“(” “,” “)”

        ::= >|<|>=|<=|OR|AND|NOT|(User define)

        //體系結構配置聲明,包括新建構件和連接件、刪除構件和連接件、添加構件和連接件、替換構件和連接件,并將兩個構件組裝成一個復合構件

        ::=NewComp”(“”)”|DelComp”(“”)”|AddComp”(“”)”|RelpComp”(“”)”|NewConn”(“”)”|DelConn”(“”)”|AddConn”(“”)”|RelpConn”(“”)”|Attach”(“”.””,””.””)”|Detach”(“”.””,””.””)”|Rely”(“”.””,””.””)”

        2.3 AODMSA結構的 Bigraph模型

        在給出AODMSA中的構件及連接的定義并用EBNF對它們的結構和行為進行規(guī)約之后,將這些定義好的構件及連接件映射到Bigraph上,就可以建立起AODMSA的語義模型,然后對該語義模型進行一系列的行為模擬,就可以在實施實際的調整之前獲知調整后的實際系統(tǒng)是不是保持諸如完整性、一致性等性質,從而減少實際系統(tǒng)運行后期維護所要付出的代價及系統(tǒng)在運行過程中所出現(xiàn)的風險。首先,通過對AODMSA模型進行分析,其包含這樣幾種核心概念:構件、連接件、端口、角色、連接、內部表示及配置。利用Bigraph理論及定義1,可以很容易地將AODMSA模型中的相關元素映射到Bigraph上。其映射關系如表1所示。

        定義9(Bigraph擴展的反應規(guī)則):擴展的反應規(guī)則是一個三元組,ER=(r,r′,constraints),其中r和r′分別為反應物和生成物,constraints為在實施這一條反應規(guī)則的過程中必須滿足的約束條件的集合。

        定義10(Bigraph擴展反應系統(tǒng)):AODMSA模型的擴展Bigraph反應系統(tǒng)(EBRS)是一個二元組,它一組Bigraph及一組反應規(guī)則,Bconstruct =(Kconstruct ,Rconstruct ),其中Kconstruct 為控制的集合,Rconstruct 為一組定義9中的擴展反應規(guī)則。

        根據定義10中的反應規(guī)則,可以對AODMSA結構進行初始配置,配置完成后就建立了AODMSA結構的Bigraph模型。之后,根據環(huán)境變化,驅動連接件作出相應決策,對Bigraph模型中的規(guī)則層進行動態(tài)調整,從而實現(xiàn)雖然業(yè)務規(guī)則變化快速但是并不需要對系統(tǒng)中業(yè)務邏輯進行調整,達到了對行為層的一種無侵入式動態(tài)演化的目的。

        3 AODMSA結構的Bigraph模型演化完整性驗證

        通過上述研究,可以建立起AODMSA結構的Bigraph模型,但是,在建立起模型之后,考慮到軟件系統(tǒng)運行環(huán)境可能發(fā)生變化,需要對模型進行動態(tài)調整。而首要問題就是需要確定系統(tǒng)實施調整之后,該實際系統(tǒng)是否還能滿足用戶業(yè)務需求及系統(tǒng)的一系列約束條件能否滿足等。通過定義10中的擴展Bigraph反應系統(tǒng),可以很容易地對AODMSA結構進行動態(tài)調整,但是在調整過程中,需要確保不能違反系統(tǒng)中的一系列約束條件,即要保證系統(tǒng)的“完整性”。所以,應該在動態(tài)調整過程中對所使用的反應規(guī)則進行判斷,看它們是否違反約束條件,假如在調整過程中有一個反應規(guī)則違反了約束條件,那么對于這一次動態(tài)調整應該予以終止。假如在每一步中所實施的反應規(guī)則都滿足約束條件,那么,最后生成的模型也滿足約束條件。

        定理1:采用定義10中的EBRS來對AODMSA結構的Bigraph模型進行調整,假如每一次的反應規(guī)則都滿足約束條件,那么最終調整后的Bigraph模型的完整性將得到保持。

        4 結語

        本文基于關注點分離思想,將業(yè)務規(guī)則從業(yè)務邏輯中分離出,借助于自適應思想,建立了三層的面向方面動態(tài)模型的體系結構;設計了面向方面動態(tài)模型體系結構描述語言;通過將AODMSA模型映射到Bigraph上,從而建立了AODMSA結構的語義模型,并且定義了相應的Bigraph反應系統(tǒng),便于對Bigraph結構模型進行動態(tài)調整;最后,通過定理1可以對調整后的系統(tǒng)完整性進行驗證。但是本文也存在一些不足:本文僅僅對AODMSA的結構建立了相應的語義模型,并未對AODMSA模型中的行為進行建模,當然也不能對系統(tǒng)動態(tài)調整后的一致性進行驗證,需要在后續(xù)研究中加以改進。

        參考文獻:

        [1] MILNER R.Bigraphical reactive systems:basic theory[C].the International Conference of Mathematicians,2001.

        [2] JENSEN O H,MILNER R.Bigraphs and mobile processes(revised) [R].UCAMCLTR580.University of Cambridge,2003.

        [3] 許可,王躍宣,吳澄.網格服務鏈模型的驗證分析技術及應用[J].中國科學: F輯,2007,37(4):467485.

        [4] MCCARTHY D,DAYAL U.The architecture of an active database management system[J].ACM SIGMOD Record,1989,18(2):215224.

        [5] MEDVIDOVIC N,TAYLOR RN.A classification and comparison framework for software architecture description languages[J].Software Engineering,2000,26(1):7093.

        [6] 陳洪龍,李仁發(fā).基于Bigraph理論的動態(tài)演化軟件相關特性分析與驗證方法[J].小型微型計算機系統(tǒng),2010(12):23052309.

        [7] 汪玲,戎玫,張廣泉,等.基于Bigraph的面向方面動態(tài)軟件體系結構演化研究[J].計算機科學,2010,37(9):137140.

        (責任編輯:孫 娟)

        猜你喜歡
        體系結構連接件端口
        一種端口故障的解決方案
        科學家(2021年24期)2021-04-25 13:25:34
        基于有限元法改進螺栓連接剛度模型*
        端口阻塞與優(yōu)先級
        基于粒計算的武器裝備體系結構超網絡模型
        作戰(zhàn)體系結構穩(wěn)定性突變分析
        鋼-混凝土組合梁開孔板連接件抗剪承載力計算研究
        基于DODAF的裝備體系結構設計
        基于云計算的航天器控制系統(tǒng)自組織體系結構
        初識電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹協(xié)議實例探討
        亚洲国产中文在线二区三区免| 国产精品毛片无遮挡高清| 专干老熟女视频在线观看| 成人精品综合免费视频| 午夜视频网址| 国产免费一区二区三区三| 久久精品中文少妇内射| 黄片视频免费在线观看国产| 国产女主播精品大秀系列| 国产精品黄在线观看免费软件| 亚洲综合五月天欧美| 国产一区二区在线观看我不卡| 色婷婷久久综合中文蜜桃| 18禁黄污吃奶免费看网站| 成人免费ā片在线观看| 国产精品偷伦免费观看的| 亚洲成AV人片无码不卡| 亚洲综合视频一区二区| 欧美四房播播| 91精品福利一区二区| 99久久亚洲国产高清观看| 亚洲一区二区三区精品久久av| 国产精品精品国产色婷婷| 欧美成人午夜免费影院手机在线看| 日本中文字幕一区二区高清在线| 国产黑丝在线| 日本不卡的一区二区三区| 精品国产亚洲亚洲国产| 日韩成人大屁股内射喷水| 国产美女裸身网站免费观看视频| 亚洲精品二区三区在线观看| 麻豆69视频在线观看| 亚洲熟妇丰满多毛xxxx| 国产成人+亚洲欧洲+综合| 午夜视频福利一区二区三区| 亚洲一区二区三区色偷偷| 日日摸天天摸97狠狠婷婷| 精品人妻伦九区久久AAA片69| 久久天天躁狠狠躁夜夜爽| 国产人成视频免费在线观看| 人妻少妇满足中文字幕|