国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向服務的構件可信演化策略

2016-05-09 07:07蔡文華徐洪珍
計算機應用與軟件 2016年4期
關鍵詞:演化過程可信性信任

蔡文華 徐洪珍

面向服務的構件可信演化策略

蔡文華 徐洪珍*

(東華理工大學信息工程學院 江西 南昌 330013)

針對目前軟件動態(tài)演化研究很少考慮可信方面的不足,以面向服務的構件為對象,提出一種構件可信演化策略。該策略包括構件可信演化的相關定義、推理規(guī)則、計算公式和聲望更新模型。在演化過程中,該策略根據(jù)構件提供的各種服務的可信性計算出構件的聲望值,由構件的聲望值向導構件的可信演化,并根據(jù)實際演化情況動態(tài)更新構件的聲望值。最后,通過案例進行分析,驗證了該策略的有效性。

構件 動態(tài)演化 服務 可信 聲望

0 引 言

隨著互聯(lián)網技術和軟件技術的不斷發(fā)展,特別是以Web服務為代表的技術的發(fā)展與成熟,人們在開發(fā)軟件系統(tǒng)中關注的重點已經從各個功能的實現(xiàn)逐漸轉移到如何將實現(xiàn)具體功能的各種服務組裝在一起,形成一個完整的系統(tǒng)。面向服務作為一種新興的軟件開發(fā)范型,已經被工業(yè)界和學術界廣為接受[1]。使用這種范型開發(fā)的軟件系統(tǒng)以互聯(lián)網上分布的各種服務為基本單元,通過靜態(tài)或者動態(tài)地發(fā)布服務,以服務完成系統(tǒng)的業(yè)務功能。

然而,由于軟件本身和軟件環(huán)境的復雜性日益增加,面向服務的軟件系統(tǒng)往往具有協(xié)同性、動態(tài)性和不確定性。當面對協(xié)同性、動態(tài)性和不確定性時,面向服務的軟件更需要不斷演化才能增強生命力,才能適者生存。然而面向服務的軟件系統(tǒng)的演化也面臨著很多挑戰(zhàn),特別是軟件演化的可信性保障成為當前一個重要的研究問題[2]。軟件演化可信是指軟件演化過程中的行為及結果符合人們的預期設想,滿足用戶的需求[3]。Internet的開放性、分布自治性和無中心控制,以及軟件系統(tǒng)本身的異構性和動態(tài)性等特征也進一步增加了保障面向服務軟件演化可信性的難度。

雖然目前的研究者在面向服務的軟件系統(tǒng)演化方面做了一些工作:比如李長云等提出一種使用反射技術,由相關聯(lián)的服務組成的軟件模型SASM[4],SASM使用面向服務的架構實現(xiàn)軟件動態(tài)演化;曾晉等提出一種基于服務組合的軟件動態(tài)演化機制,通過組合服務的動態(tài)演化機制保障網絡化軟件的可信性[5];馬曉星等提出一種面向服務的動態(tài)協(xié)同架構[6],架構中引入內置的運行時體系結構對象來解耦系統(tǒng)中的每個構件服務,從體系結構的角度來重新解釋服務部件之間的引用和交互。通過這種方法,將體系結構的抽象概念具體化為可直接操控的對象,再利用面向對象程序設計語言的繼承和多態(tài)等特性,導出一種面向體系結構的系統(tǒng)動態(tài)演化技術。以上方法都是從軟件系統(tǒng)演化的技術或操作入手,建模或描述面向服務的軟件系統(tǒng)演化,而很少考慮軟件演化過程中構件的可信性問題。

本文在前期工作基礎上[7-9],以面向服務的構件為對象,提出一種新的面向服務的構件可信演化策略。通過綜合考慮構件服務的信任值以及信任權重,得出構件的聲望值,把聲望值作為軟件可信演化的主要依據(jù)。構件間交互演化結束后,通過服務的完成情況,動態(tài)更新構件服務的信任值。信任值的改變,進一步會影響到聲望值的變化,從而實現(xiàn)了聲望值的動態(tài)更新。最后通過案例進行分析,驗證了該策略的有效性。

1 面向服務的構件可信演化策略

在面向服務的軟件系統(tǒng)中,每個構件都可以通過某種方式,與其他的構件關聯(lián),并提供相應的服務;同時也接受其他構件提供的服務。該基于服務的構件模型如圖1所示(以三個構件為例)。

圖1 構件服務模型

在上述模型中,構件a為構件b提供了sa1到san的n個服務,同時構件b也為構件a提供了sb1到sbn的n個服務,b與c依此類似。內部歸約為構件演化約束條件,此處不作考慮。構件b可以調用構件a、c中的任一服務,它們之間的關系是服務與被服務的關系,其他構件的關系依此類推。在此模型基礎上,提出一種面向服務的構件可信演化策略,以構件提供的服務為對象,建立面向服務的構件可信演化策略。首先建立如下定義:

定義1 構件是一個實體,能提供相關服務,記為Component(a),簡記為a。

定義2 構件a需要其他構件提供服務s,用Need(a,s)表示。a需要其他構件提供所有服務的集合,用NEEDa={s1,s2,…,sn|Need(a,si),i∈[1,…,n]}表示。

定義3 構件a能提供的服務s,記為Offer(a,s)。a提供所有服務集合記為OFFERa={s1,s2…,sn|Offer(a,si),i∈[1,…,n]}。如圖1中,a提供的服務集合為OFFERa={sa1,…,san|Offer(a,sai),i∈[1,2,…,n]}。

定義4 構件a向構件b承諾提供的服務s,記為Promise(a,b,s)。

定義5 構件a為構件b完成了某項服務s,記為Done(a,b,s)。

定義6 構件a信賴構件b提供的服務s,記為Rely(a,b,s)。

定義8 構件a的可信性以聲望值表示,記為Reputation(a),簡寫為re(a)。在面向服務的軟件系統(tǒng)演化過程中,聲望值是作為其他構件判斷是否選擇此構件進行演化的重要參考值。聲望值的計算方法是以其他構件對此構件的信任值為基礎,進行加權平均計算,具體計算方法如下:

re(a) =αtr(b,a)+βtr(c,a)

根據(jù)以上定義,建立面向服務的構件可信演化推理規(guī)則如下:

規(guī)則1 需求規(guī)則

① Need(a,s)?Promise(bi,a,s)∧Offer(bi,s)

② Need(a,s)?Promise(bi,a,s)∧Offer(bi,s)

該規(guī)則①表示,如果構件a需要某種服務s,則在面向服務的軟件中至少有一個構件bi包含服務s,且承諾為之提供服務s;②表示,如果構件a需要某種服務s,則在面向服務的軟件中有一個構件bi在不能提供服務s的情況下,仍承諾向構件a提供服務s;“∧”表示邏輯符號與,“”表示邏輯符號非。

規(guī)則2 執(zhí)行規(guī)則

① Offer(b,s)∧Promise(b,a,s)?Done(b,a,s)

其中,①表示,如果構件b能提供服務s,且承諾向構件a提供服務s,則在正常情況下,b會為a完成服務s;②表示,如果b不能提供服務s,卻仍向a承諾提供服務s,則顯然b不能為a完成服務s,

規(guī)則3 信賴規(guī)則

① Done(b,a,s)?Rely(a,b,s)

其中,①表示,如果構件b向構件a完成了服務s,則a信賴b提供的服務s;②表示,b向a沒有最終完成服務s,則a不信賴b提供的服務s。

規(guī)則4 信任規(guī)則

①Rely(a,b,s)?↑Trust(a,b,s)?↑Trust(a,b)

其中,①表示,如果構件a信賴構件b提供的服務s,則a對b提供的服務s的信任值上升,從而a對b的信任值上升;②表示,如果a不信賴b提供的服務s,則a對b提供的服務s的信任值下降,從而a對b的信任值下降。本文約定,每次信賴關系影響構件服務的信任值上升或下降的幅度為1。

規(guī)則5 聲望規(guī)則

① ↑Trust(a,b)?↑Reputation(b)

② ↓Trust(a,b)?↓Reputation(b)

其中,①表示,如果構件a對構件b的信任值上升,則b在演化過程中的聲望值上升;②表示,如果a對b的信任值下降,則b在演化過程中的聲望值下降。

最后,根據(jù)上述五個演化推理規(guī)則,建立面向服務的軟件演化過程中構件聲望值的更新模型如圖2所示。

圖2 聲望值更新模型

圖2的模型說明,在軟件演化過程中,任一構件提出服務需求的時候,由相鄰的另一構件承諾向其提供服務;根據(jù)構件承諾的服務的完成情況與否,決定對此構件的信賴與否;而信賴的結果影響著構件的信任值,并最終影響著構件的聲望值大小。整個軟件演化過程中,影響聲望值的決定因素在于面向服務的完成情況與否,而決定構件是否參與演化的決定因素,則取決于構件的聲望值的大小。

根據(jù)該模型,在面向服務的軟件演化過程中,如果某構件事先對另一構件承諾提供某服務,則根據(jù)該服務的實際完成情況,決定對該構件服務是否信賴。如果信賴,則該構件服務的信任值增加1(如果信任值超過4,則仍然保持為4);如果不信賴,則該構件服務的信任值減少1(如果信任值少于0,則仍然保持為0)。通過對構件服務信任值的調整,根據(jù)構件間信任值和構件聲望值的計算公式,相應更新構件間的信任值和構件的聲望值。

在構件演化實現(xiàn)過程中,利用上述定義和推理規(guī)則,采用圖3所示的構件自動演化策略,實現(xiàn)構件間的自動交互演化。

圖3 構件自動演化策略

如圖3所示,在軟件系統(tǒng)中,如果某構件需要其他構件提供服務,則發(fā)出服務請求;相鄰構件則對該服務請求進行應答,即是否承諾提供服務。發(fā)出服務請求的構件則在所有承諾提供服務的構件中,選擇出聲望值最高的構件進行交互演化;然后根據(jù)服務的演化結果做進一步處理,若演化成功,則直接調用聲望值更新模型,并將更新后的聲望值傳回給構件,動態(tài)更新相關構件的聲望值; 若演化不成功,則在更新相關構件的聲望值后,重新進行上述過程。更新后的構件聲望值將為后續(xù)構件演化提供選擇參考依據(jù)。

在軟件演化過程當中,聲望值是構件整體信譽的表現(xiàn)。聲望值的高低,代表著其他構件對它的信任水平。聲望值高的,代表著它在整個軟件系統(tǒng)中,是值得相信的,選擇與之演化、服務的質量和執(zhí)行可以得到保障;相反,聲望值低的構件,表示它在以往的演化過程當中,存在著不當?shù)男袨椋x擇與之演化,則服務的執(zhí)行和質量得不到保障。為保證演化正確性,在軟件演化過程當中,應盡量選擇聲望值高的構件進行演化。具體演化過程可利用關聯(lián)矩陣進行實現(xiàn)[9,10],本文限于篇幅,不再描述。

2 案例分析

下面采用一個面向服務的圖書借閱系統(tǒng)來演示上述演化規(guī)則過程。設有一個面向服務的圖書借閱系統(tǒng),實現(xiàn)了高校間圖書資源的共享服務。例如,各高校通過該系統(tǒng),對合作的高校學生開放圖書借閱等服務,同時,為方便學生查詢,該系統(tǒng)還提供了網上查詢服務等。

通過以上場景分析,根據(jù)聲望值更新模型可知可得圖書館A的聲望值的動態(tài)更新過程如下:

1) x需要借閱圖書,故提交了服務s請求,A、B同時接受了服務請求。

由規(guī)則1可以得出:

2) A因為最后一本書已經在x來借之前,被其他同學外借出,則不能借書給x。

由規(guī)則2可以得出:

通過規(guī)則3可以得出:

由規(guī)則4可以得出:

5) x對A的信任值下降,導致A的聲望值下降。

由規(guī)則5可以得出:↓tr(x,A)?↓re(A),根據(jù)面向服務的軟件演化過程中構件聲望值的計算方法可知:re(A)=tr(x,A)=1,即此時圖書館A的聲望值動態(tài)更新為1。

同時,對于圖書館B而言,因為學生x自身的原因,未能及時到圖書館B辦理借閱手續(xù),故B認為x不可信賴,從而B對x的信任值下降,進而影響x的聲望值,x的聲望值的具體更新過程如下:

1) 由規(guī)則2可知:

2) 由規(guī)則3可知:

3) 由規(guī)則4可知:

根據(jù)面向服務的軟件演化過程中構件信任值的計算方法可知:tr(B,x,s)=2-1=1,且tr(B,x)=tr(B,x,s)=1。

4) 由規(guī)則5可知:

↓tr(B,x)?↓re(x),根據(jù)面向服務的軟件演化過程中構件聲望值的計算方法可知:re(x)=0.5×tr(A,x)+0.5×tr(B,x)=0.5×2+0.5×1=1.5,即此時學生x的聲望值動態(tài)更新為1。

3 結 語

面向服務的軟件已經成為目前軟件開發(fā)的主流。然而,由于技術的發(fā)展和環(huán)境的變化,面向服務的軟件往往需要演化才能增強競爭力。針對目前面向服務的軟件演化很少考慮構件的可信性問題,提出了一種面向服務的構件可信演化策略。該策略綜合考慮構件服務及構件間的信任值,得出構件在演化過程中的聲望值。然后在軟件演化過程中,根據(jù)聲望值的大小有條件地選擇構件進行交互演化,并根據(jù)演化結果,動態(tài)地調整聲望值,克服了以往軟件演化過程中,沒有考慮可信性進行演化的問題。在下一步的工作中,將從推薦信任關系方面,研究兩個非直接相連構件交互演化的信任問題,以及可信交互演化的具體實現(xiàn)過程等。

[1] 王立軍,白曉穎,陳以農,等.數(shù)據(jù)驅動的SOA應用可靠性動態(tài)評估[J].清華大學學報:自然科學版,2009,49(10):158-162.

[2] Manling Zhu,Lin Liu,Zhi Jin.A Social Trust Model for Services[C]//AWRE 2006 Adelaide,Australia,2006:72-80.

[3] 丁博,王懷民,史殿習,等.一種支持軟件可信演化的構件模型[J].軟件學報,2011,22(1):17-27.

[4] 李長云,李瑩,吳健,等.一個面向服務的支持動態(tài)演化的軟件模型[J].計算機學報,2006,29(7):1020-1028.

[5] 曾晉,孫海龍,劉旭東,等.基于服務組合的可信軟件動態(tài)演化機制[J].軟件學報,2010,21(2):261-276.

[6] 馬曉星,余萍,陶先平,等.一種面向服務的動態(tài)協(xié)同架構及其支撐平臺[J].計算機學報,2005,28(4):467-477.

[7] 徐洪珍,曾國蓀.基于超圖文法的軟件體系結構動態(tài)演化[J].同濟大學學報(自然科學版),2011,39(5):745-750.

[8] 徐洪珍,曾國蓀,陳波.軟件體系結構動態(tài)演化的條件超圖文法及分析[J].軟件學報,2011,22(6):1210-1223.

[9] 陳利平,徐洪珍.基于關聯(lián)矩陣的軟件體系結構動態(tài)演化及其實現(xiàn)[J].計算機應用研究,2013,30(9):2726-2729.

[10] 王映輝,張世琨,劉瑜,等.基于可達矩陣的軟件體系結構演化波及效應分析[J].軟件學報,2004,15(8):1107-1115.

CREDIBLE EVOLUTION STRATEGY OF SERVICE-ORIENTED COMPONENTS

Cai Wenhua Xu Hongzhen*

(SchoolofInformationEngineering,EastChinaInstituteofTechnology,Nanchang330013,Jiangxi,China)

Focusing on the deficiency of current studies on software dynamic evolution that the credibility are rarely considered, we presented a component credible evolution strategy by taking the service-oriented components as the object. The strategy includes corresponding definitions, inference rules, calculation formulas and a reputation updating model of component credible evolution. During the component evolution process, the strategy calculates the reputation value of component based on the credibilities of various services offered by component, guides the component credible evolution by its reputation value, and dynamically updates the reputation value according to actual evolution situation. In end of the paper, we verified the effectiveness of the proposed strategy through case analysis.

Component Dynamic evolution Service Credible Reputation

2014-11-03。國家自然科學基金項目(61262001);江西省青年科學家培養(yǎng)對象計劃項目(20142BCB23017);江西省發(fā)明專利產業(yè)化技術示范項目(20143BBM26115);江西省自然科學基金項目(20114BAB201043);江西省科技支撐計劃項目(20112BBE50048);江西省教育廳科技計劃項目(GJJ12382)。蔡文華,碩士生,主研領域:軟件體系結構動態(tài)演化。徐洪珍,副教授。

TP311

A

10.3969/j.issn.1000-386x.2016.04.003

猜你喜歡
演化過程可信性信任
基于可信性的鍋爐安全質量綜合評價研究
模因論視角下韓語“??”表“喝”動作演化過程研究
時間非齊次二態(tài)量子游蕩的演化過程分析
重慶萬盛石林的形成時代及發(fā)育演化過程
在區(qū)間上取值的模糊變量的可信性分布
Five golden rules for meeting management
基于耗散結構的農產品冷鏈物流系統(tǒng)演化分析
基于可信性理論的風電場電能質量模糊綜合評估
嚶嚶嚶,人與人的信任在哪里……
信任