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

?

動態(tài)配置機制及其在水利信息系統(tǒng)中的應(yīng)用

2010-11-20 08:18陳雅莉姚成霞
水利信息化 2010年3期
關(guān)鍵詞:系統(tǒng)結(jié)構(gòu)一致性構(gòu)件

陳雅莉,艾 萍,姚成霞

(1.長江水利委員會水文局,湖北 武漢 430010;2.河海大學水文水資源與水利工程科學國家重點實驗室,江蘇 南京 210098;3.河海大學水文水資源學院,江蘇 南京 210098)

0 引言

隨著軟件技術(shù)的發(fā)展,基于構(gòu)件的軟件應(yīng)用系統(tǒng)的開發(fā)方法成為主流。未來軟件的開發(fā)活動將呈現(xiàn)為通過基礎(chǔ)軟件資源組合為基本系統(tǒng)[1]?;跇?gòu)件的軟件開發(fā)技術(shù)的發(fā)展為建立動態(tài)定制和演化式系統(tǒng)提供了技術(shù)基礎(chǔ)。

水利信息化建設(shè)的實踐表明,水利信息系統(tǒng)在滿足一般事務(wù)性處理需求之后,將向支持信息的綜合分析、主題化應(yīng)用方向發(fā)展,其基本特點是需求在一定的問題域內(nèi)變化,需要處理的數(shù)據(jù)在一定類型間不斷重構(gòu)。換言之,需要構(gòu)造一種可支持動態(tài)需求和資源配置的軟件平臺,才能滿足水利信息系統(tǒng)從在線事務(wù)處理向分析與決策支持處理發(fā)展的技術(shù)需要。

本文針對上述需求,依據(jù)基于構(gòu)件和反射機制的軟件動態(tài)演化理論與方法,對軟件系統(tǒng)的動態(tài)配置及其在水利信息系統(tǒng)中的應(yīng)用進行了分析研究。

1 動態(tài)配置簡介

對軟件系統(tǒng)的配置操作可以分為靜態(tài)和動態(tài)配置2種[2]?;跇?gòu)件的軟件系統(tǒng)的動態(tài)配置是指運行期間對系統(tǒng)的配置項進行改變,強調(diào)運行時的改變不影響整個系統(tǒng)的運行。根據(jù)動態(tài)配置對系統(tǒng)的改變的可預(yù)期性,一般可以將動態(tài)配置分為可預(yù)期的和隨時出現(xiàn)的動態(tài)配置2種[3]??深A(yù)期的動態(tài)配置對軟件系統(tǒng)的自動再配置至關(guān)重要,隨時出現(xiàn)的動態(tài)配置則適用于軟件系統(tǒng)維護期間[4]。

顯然,動態(tài)配置的對象是具體的信息系統(tǒng)(簡稱目標應(yīng)用系統(tǒng)),一般將能支持動態(tài)配置的應(yīng)用系統(tǒng)稱為動態(tài)配置系統(tǒng)。動態(tài)配置通過對構(gòu)件的動態(tài)刪除、添加、屬性設(shè)置、構(gòu)件間連接的建立與刪除等操作,實現(xiàn)動態(tài)改變目標系統(tǒng)功能的目的,因此,動態(tài)配置系統(tǒng)應(yīng)由目標應(yīng)用系統(tǒng)和支持動態(tài)配置的部件2部分組成。典型的動態(tài)配置系統(tǒng)的結(jié)構(gòu)如圖1所示。

圖1 典型的動態(tài)配置系統(tǒng)的結(jié)構(gòu)

2 動態(tài)配置模型

2.1 基于反射的動態(tài)配置模型

反射(也稱計算反射)引入計算機領(lǐng)域的動機,是希望計算系統(tǒng)能夠根據(jù)自身的狀態(tài)和運行環(huán)境隨時調(diào)整自身以達到和諧的狀態(tài)[5-6]。一般,支持動態(tài)配置的軟件系統(tǒng)的反射體系分為3層,具體結(jié)構(gòu)如圖2所示。

圖2 支持動態(tài)配置的軟件系統(tǒng)的反射體系

圖2中,目標應(yīng)用系統(tǒng)作為動態(tài)配置系統(tǒng)的底層,對應(yīng)反射系統(tǒng)模型中的“基層”;中間層(動態(tài)配置管理器)根據(jù)配置信息的變化,完成動態(tài)配置,對應(yīng)反射系統(tǒng)模型中的“元層”;第1層(圖形化用戶界面)是圖形化的用戶動態(tài)配置操作接口,對應(yīng)反射系統(tǒng)模型的“元元層”。

根據(jù)支持動態(tài)配置的系統(tǒng)結(jié)構(gòu)和反射系統(tǒng)的特點,構(gòu)造基于反射的動態(tài)配置模型 RDRM(ReflectionBased Dynamic Reconfiguration Model)如下式所示:式中:DRSMM 表示動態(tài)配置系統(tǒng)的元模型;DRSMD 表示動態(tài)配置系統(tǒng)的元數(shù)據(jù):DRSMP 表示動態(tài)配置系統(tǒng)的元協(xié)議。

DRSMM,DRSMD,DRSMP的定義分別如下:

式中:ReconfigGUI 表示圖形化的用戶接口;Appsystem 表示動態(tài)配置的目標應(yīng)用系統(tǒng);DRManager表示動態(tài)配置管理器,配置者提交動態(tài)配置請求,DRManager 動態(tài)配置管理器分析動態(tài)配置請求的合理性,將合理的動態(tài)配置請求轉(zhuǎn)化為對系統(tǒng)中配置信息的改變,動態(tài)配置引擎根據(jù)元數(shù)據(jù)建立的對象模型,修改目標應(yīng)用系統(tǒng)Appsystem的結(jié)構(gòu)或者行為。

式中:動態(tài)配置系統(tǒng)的元數(shù)據(jù)包括動態(tài)配置系統(tǒng)的元結(jié)構(gòu)數(shù)據(jù) StructMD 和元語義數(shù)據(jù) SemaMD,StructMD 主要是 Appsystem 的體系結(jié)構(gòu)信息,包括構(gòu)件、構(gòu)件組成和連接關(guān)系等信息,SemaMD 主要包括動態(tài)配置關(guān)注的運行時 Appsystem 的構(gòu)件狀態(tài)數(shù)據(jù)和行為數(shù)據(jù)的集合,這些數(shù)據(jù)是對運行時目標應(yīng)用系統(tǒng)行為的反映。

式中:動態(tài)配置系統(tǒng)元協(xié)議包括元結(jié)構(gòu)協(xié)議 StructP和元行為協(xié)議 BehaP,是訪問或者操作元數(shù)據(jù)的一組規(guī)則。動態(tài)配置系統(tǒng)在協(xié)議的執(zhí)行過程中,必須保證對系統(tǒng)的調(diào)控不會導致系統(tǒng)進入異常狀態(tài),這就是系統(tǒng)一致性約束。實施對目標應(yīng)用系統(tǒng)的調(diào)控功能必須滿足一致性約束條件。不同的協(xié)議,在不同的系統(tǒng)一致性約束下,對系統(tǒng)調(diào)控的具體內(nèi)容不同,執(zhí)行的過程也不同。

2.2 動態(tài)配置模型的元數(shù)據(jù)

動態(tài)配置模型的元數(shù)據(jù)包括元結(jié)構(gòu)和元語義數(shù)據(jù)。

動態(tài)配置模型的元結(jié)構(gòu)數(shù)據(jù)主要包括目標應(yīng)用系統(tǒng)的系統(tǒng)結(jié)構(gòu)、構(gòu)件和構(gòu)件關(guān)系等描述信息。

2.2.1 系統(tǒng)結(jié)構(gòu)描述信息

基于反射的動態(tài)配置模型中,在描述應(yīng)用系統(tǒng)的結(jié)構(gòu)時,系統(tǒng)被看成是通過連接器綁定在一起的構(gòu)件實例,軟件體系結(jié)構(gòu)的定義不僅包括目標應(yīng)用系統(tǒng)所包含的構(gòu)件實例的規(guī)約,也包括連接這些構(gòu)件間連接關(guān)系的規(guī)約。通過解釋構(gòu)件和連接等規(guī)約,把原子構(gòu)件組裝成復合構(gòu)件直至完整的目標應(yīng)用系統(tǒng)。因此,描述系統(tǒng)結(jié)構(gòu)的元數(shù)據(jù)主要包括:1)構(gòu)件集合信息,即目標應(yīng)用系統(tǒng)的構(gòu)件組成信息;2)構(gòu)件連接信息,即構(gòu)件間各種連接關(guān)系的描述信息。

2.2.2 構(gòu)件描述信息

封閉的構(gòu)件通過接口向外界提供一系列的屬性,構(gòu)件使用者可以通過讀取/修改這些屬性的值來影響構(gòu)件的行為,這些可變的屬性主要包括構(gòu)件在界面表現(xiàn)上的一些功能屬性[7]。因此,描述構(gòu)件的元數(shù)據(jù)主要包括:構(gòu)件的標識、屬性、接口和方法等信息。

2.2.3 構(gòu)件關(guān)系描述信息

在目標應(yīng)用軟件系統(tǒng)中,構(gòu)件不是獨立存在的,構(gòu)件之間具有互操作性。對構(gòu)件間關(guān)系的研究有利于設(shè)計出合理的動態(tài)配置算法以保證系統(tǒng)的一致性,綜合文獻[8-9] 對構(gòu)件間的連接關(guān)系的分類,將構(gòu)件間的連接關(guān)系分為3種:調(diào)用、協(xié)作和順序關(guān)系。

設(shè) C1和 C2是目標應(yīng)用系統(tǒng)中的2個不同構(gòu)件,若C1使用了 C2所提供的服務(wù),則構(gòu)件 C1和C2之間是調(diào)用關(guān)系;若 C1和 C2互相協(xié)作完成同一功能,則 C1和 C2之間是協(xié)作關(guān)系;若 C2的執(zhí)行是以 C1執(zhí)行為前提的,即C2的輸入是 C1的輸出,則構(gòu)件 C1和 C2 之間是順序關(guān)系。

根據(jù)對構(gòu)件連接關(guān)系的分析,描述構(gòu)件關(guān)系的元數(shù)據(jù)主要包括:連接關(guān)系標識信息;與連接關(guān)系相關(guān)的構(gòu)件的標識;連接關(guān)系的屬性信息。

動態(tài)配置模型的元語義數(shù)據(jù)主要包括目標應(yīng)用系統(tǒng)中構(gòu)件的狀態(tài)信息和構(gòu)件的行為信息[10]。如,構(gòu)件是否完成正在響應(yīng)的請求屬于構(gòu)件狀態(tài)信息,構(gòu)件是否可以對外發(fā)送請求或者接受請求屬于構(gòu)件的行為信息。對于一個具體的動態(tài)配置系統(tǒng)而言,需要哪些元語義數(shù)據(jù),取決于其提供的動態(tài)配置功能、對系統(tǒng)一致性約束的認定和對動態(tài)配置算法的設(shè)計。一般情況下,對于水利信息系統(tǒng)這類屬于指定論域的目標應(yīng)用系統(tǒng),元語義數(shù)據(jù)的運用可以大大簡化。

構(gòu)件的狀態(tài)可以分為激活與靜止2種狀態(tài),若構(gòu)件處于激活狀態(tài),則在此時的動態(tài)配置操作將不被允許,只有在構(gòu)件處于靜止狀態(tài)時,動態(tài)配置操作才能實施。

構(gòu)件在運行時刻通常會存在大量正在進行的行為,包括發(fā)送請求、接收應(yīng)答的交互行為及處理數(shù)據(jù)等本地行為。對行為的任意中斷,可能破壞系統(tǒng)一致性。因此,動態(tài)配置必須保證包括交互行為和本地行為在內(nèi)的構(gòu)件行為的完整性。

動態(tài)配置系統(tǒng)中,通過實施動態(tài)配置請求可以改變構(gòu)件的狀態(tài),也可以改變構(gòu)件的運行行為。無論是改變構(gòu)件狀態(tài)還是行為,反射動態(tài)配置模型都是利用元語義數(shù)據(jù),在驅(qū)動或者等待構(gòu)件到達動態(tài)配置安全狀態(tài)后,再實施具體的動態(tài)配置請求的。

To ease the calculation, we define angular frequencies and quality factors of primary and secondary sides as:

2.3 動態(tài)配置模型的元協(xié)議

系統(tǒng)動態(tài)配置后,動態(tài)配置前系統(tǒng)中正在執(zhí)行的實例將成功轉(zhuǎn)換到動態(tài)配置后的系統(tǒng)中繼續(xù)執(zhí)行,并保證轉(zhuǎn)換后的執(zhí)行過程在動態(tài)配置后不出現(xiàn)錯誤,這種特性稱為一致性[11]。在動態(tài)配置實施期間,可能有一部分服務(wù)暫時中斷,但不受動態(tài)配置影響的部分應(yīng)當仍能提供服務(wù)。動態(tài)配置實施以后,軟件系統(tǒng)無論發(fā)生怎樣的變化,都必須保證系統(tǒng)能正確運行,即動態(tài)配置模型中無論是元結(jié)構(gòu)協(xié)議還是元行為協(xié)議涉及的動態(tài)配置算法必須滿足一定的約束規(guī)則,以維持系統(tǒng)的一致性。

一致性涉及的內(nèi)容較為廣泛,目前認為的公共一致性約束大致有6種[12],本文重點討論目標應(yīng)用系統(tǒng)的構(gòu)件狀態(tài)一致性和構(gòu)件間交互一致性。

1)構(gòu)件狀態(tài)一致性

在對系統(tǒng)進行動態(tài)配置的過程中,動態(tài)配置操作必須滿足一定的狀態(tài)約束,規(guī)則是:當構(gòu)件處于激活狀態(tài)時,構(gòu)件請求或者提供服務(wù),與其他構(gòu)件進行交互,實現(xiàn)系統(tǒng)的功能,這時對構(gòu)件進行刪除或者替換是不被允許的,只有當構(gòu)件進入靜止狀態(tài)時才能對構(gòu)件進行刪除或者替換。

2)構(gòu)件交互一致性

目標應(yīng)用系統(tǒng)中的構(gòu)件不是獨立存在的,構(gòu)件間存在相互操作。根據(jù)構(gòu)件間連接關(guān)系分析,將與構(gòu)件 C1相關(guān)的構(gòu)件劃分為以下3類:

a)與構(gòu)件 C1存在調(diào)用關(guān)系的構(gòu)件的集合 Cu 為Cu∈{C|C1→C};

c)與構(gòu)件 C1存在順序關(guān)系的構(gòu)件的集合 Cd 為Cd∈{C|C1*C} ;

構(gòu)件間的連接關(guān)系體現(xiàn)了構(gòu)件間互操作的影響。如在向系統(tǒng)中添加構(gòu)件 C2時, 必須將構(gòu)件 C2的輸入提供者 C1一起加入系統(tǒng),保證構(gòu)件 C2的運行條件;

當刪除系統(tǒng)中已存在的構(gòu)件 C1時,應(yīng)該考慮與構(gòu)件 C1相關(guān)的構(gòu)件的集合,若與構(gòu)件 C1存在調(diào)用關(guān)系的集合Cu 中的構(gòu)件僅與構(gòu)件 C1相關(guān)聯(lián)時,刪除構(gòu)件 C1后,Cu 中的這部分構(gòu)件亦應(yīng)該被刪除。以 C1的輸出作為輸入的構(gòu)件集合Cd 中的構(gòu)件,必須另外提供其初始化輸入,否則這些構(gòu)件應(yīng)當隨著構(gòu)件 C1的刪除一并刪除。

根據(jù)動態(tài)配置目的,動態(tài)配置模型中與系統(tǒng)拓撲結(jié)構(gòu)相關(guān)的元結(jié)構(gòu)協(xié)議在動態(tài)配置功能方面主要負責實現(xiàn)獲取系統(tǒng)的結(jié)構(gòu)信息,增加或者刪除連接件以及替換舊的構(gòu)件。與系統(tǒng)的行為動態(tài)配置相關(guān)的元行為協(xié)議則主要負責對系統(tǒng)中各個組成元素相關(guān)屬性的修改或者構(gòu)件的相關(guān)進程的掛起與運行。元行為協(xié)議主要是作用于構(gòu)件或者連接件本身,而元結(jié)構(gòu)協(xié)議對構(gòu)件或者連接件的操作則影響到了整個目標應(yīng)用軟件系統(tǒng)。根據(jù)元行為和元結(jié)構(gòu)協(xié)議所涉及的范圍,可以將動態(tài)配置劃分為構(gòu)件和結(jié)構(gòu)2種動態(tài)配置,以考慮動態(tài)配置對整個運行時軟件系統(tǒng)的影響。

3 動態(tài)配置實例

在對動態(tài)配置模型中元數(shù)據(jù)和元協(xié)議定義及分析的基礎(chǔ)上,本節(jié)通過1個支持動態(tài)配置的通用雨水情圖示系統(tǒng)實例,來闡述基于反射的動態(tài)配置模型的工作狀況及其在水利信息系統(tǒng)中的應(yīng)用方式。

通用雨水情圖示系統(tǒng)為用戶提供的服務(wù)包括水文過程及對比示意、水位及對比示意,以及雨洪過程示意等。支持動態(tài)配置的通用雨水情圖示系統(tǒng)支持在各個復合構(gòu)件的基礎(chǔ)上,通過修改相關(guān)的配置信息,實現(xiàn)系統(tǒng)功能的動態(tài)演化和用戶數(shù)據(jù)的個性化表示。

選為例子的系統(tǒng)功能是水位顯示,由“水位示意復合構(gòu)件”實現(xiàn)。水位示意圖用1個平面示意圖來表示水位和壩體的關(guān)系,并可以用動畫的形式連續(xù)播放水位變化的情況。對于圖中的壩頂高程、校核洪水位等特征值線,當鼠標移動到靠近線的位置時,能提示對應(yīng)線的名稱及相應(yīng)的值,鼠標離開某一范圍提示消失。另外,復合構(gòu)件還實現(xiàn)了刷新速度設(shè)置、動畫演示、保存等功能。水位示意復合構(gòu)件包含多個成員構(gòu)件,用于查看水位示意圖的某一時刻運行時結(jié)構(gòu)如圖3所示,對應(yīng)的系統(tǒng)結(jié)構(gòu)描述如圖4所示。

圖3 動態(tài)配置前的系統(tǒng)結(jié)構(gòu)

圖4 動態(tài)配置前系統(tǒng)結(jié)構(gòu)描述

圖5 動態(tài)配置后的系統(tǒng)結(jié)構(gòu)

圖6 動態(tài)配置后系統(tǒng)的結(jié)構(gòu)描述

設(shè)需要動態(tài)刪除構(gòu)件 Lineinfo,根據(jù)水位示意圖的結(jié)構(gòu)描述,可以得到 Lineinfo 構(gòu)件與構(gòu)件 Line之間存在順序關(guān)系,與構(gòu)件 Datable 之間存在調(diào)用關(guān)系。根據(jù)動態(tài)配置算法對系統(tǒng)一致性的考慮,構(gòu)件 Line 也應(yīng)當被刪除,并且 Line 與 chartpanel 之間的連接也應(yīng)當被刪除,Datable 與 Lineinfo 之間的連接也應(yīng)當被刪除,在系統(tǒng)的結(jié)構(gòu)描述文件中關(guān)于構(gòu)件 Lineinfo 和 Line 的構(gòu)件信息和構(gòu)件間關(guān)系的信息都應(yīng)被刪除。執(zhí)行此動態(tài)配置后的系統(tǒng)結(jié)構(gòu)如圖5所示,對應(yīng)的系統(tǒng)的結(jié)構(gòu)描述如圖6所示。

圖3和5中系統(tǒng)結(jié)構(gòu)描述對應(yīng)的水位示意圖的運行結(jié)果如圖7和8所示。它們直觀地展示了動態(tài)配置前后運行結(jié)果的差異。

圖7 動態(tài)配置前水位示意圖運行結(jié)果

圖8 動態(tài)配置后水位示意圖運行結(jié)果

4 結(jié)語

本文根據(jù)水利信息系統(tǒng)在向分析型應(yīng)用發(fā)展過程中,急需解決資源和需求動態(tài)演化的關(guān)鍵技術(shù)問題,在分析動態(tài)配置的軟件系統(tǒng)的反射體系的基礎(chǔ)上,建立了基于反射的動態(tài)配置模型。該模型刻畫了動態(tài)配置系統(tǒng)的反射本質(zhì),描繪了動態(tài)配置的實施過程和動態(tài)配置系統(tǒng)的工作原理,反映了動態(tài)配置系統(tǒng)的各構(gòu)成要素。并以此模型為基礎(chǔ),分析動態(tài)配置系統(tǒng)各構(gòu)成要素之間的本質(zhì)關(guān)聯(lián),對動態(tài)配置模型的元數(shù)據(jù),包括系統(tǒng)結(jié)構(gòu)、構(gòu)件、構(gòu)件間關(guān)系等描述進行了定義;分析了動態(tài)配置的元協(xié)議,以保證系統(tǒng)狀態(tài)一致性和交互一致性。

在動態(tài)配置模型的基礎(chǔ)上,通過通用雨水情圖示系統(tǒng)中的實例來驗證模型的合理性及應(yīng)用于水文信息系統(tǒng)的實用性,并說明系統(tǒng)動態(tài)配置機制的實現(xiàn)。實踐表明,基于反射的系統(tǒng)動態(tài)配置模型及其實現(xiàn)機制,能在水利信息系統(tǒng)中有效應(yīng)用,為解決水利信息系統(tǒng)的資源動態(tài)配置、支持動態(tài)需求等問題,提供了可行的技術(shù)方案。

[1] 楊芙清.軟件工程技術(shù)發(fā)展思索[J].軟件學報,2005,1(16): 1-7.

[2] Cao J,Chan E,Lee CH,etal.A dynamic recon figuration manager for graph-oriented distributed programs[C]//Proceedings of International Conference on Parallel and Distributed Systems,1997: 216-221.

[3] M Vermelmge.Towards a Chemical Model for Software Architecture Recon figuration[C]// In Proceedings of the 4th International Conference on Con figurable Distributed Systems,1994: 4-6.

[4] Thais Batista,Ackbar Joolia,Geoff Coulson.Managing Dynamic recon figuration of Component based Systems[J].Lecture Notes in computer Science,2005,3527: 1-17.

[5] 胡海洋,馬曉星,陶先平,等.反射中間件的研究與進展[J].計算機學報,2005,28(9): 1407-1419.

[6] M Shaw et al..Abstraction for Software Architecture and Tools to Support Them[J].IEEE Trans Software Engineering,1995,21(4): 314-315.

[7] 戰(zhàn)德臣,王忠杰,徐曉飛.基于 XML 的組件標準化描述[J].計算機工程與應(yīng)用,2003(4): 89-92.

[8] 張友生.構(gòu)件運算與軟件演化研究[J].計算機應(yīng)用,2004,24(4): 20-22.

[9] 黃萬艮,陳松喬.基于構(gòu)件運算的軟件體系結(jié)構(gòu)及其復雜性度量[J].計算機工程與應(yīng)用,2007,43(14): 66-70.

[10] 龔洪泉.基于形式語義的構(gòu)件組裝與演化研究[D].上海:復旦大學,2005.

[11] 魏丫丫,林闖,田立勤.用進程代數(shù)描述可適應(yīng)工作流的模型方法[J].電子學報,2002,30(11): 1624-1628.

[12] 竇蕾,王樹鳳,徐田榮.分布式系統(tǒng)動態(tài)配置技術(shù)的研究與實現(xiàn)[J].計算機科學,2005,32(12): 8-15.

猜你喜歡
系統(tǒng)結(jié)構(gòu)一致性構(gòu)件
關(guān)注減污降碳協(xié)同的一致性和整體性
注重教、學、評一致性 提高一輪復習效率
IOl-master 700和Pentacam測量Kappa角一致性分析
建筑構(gòu)件
建筑構(gòu)件
建筑構(gòu)件
建筑構(gòu)件
中波廣播發(fā)射系統(tǒng)結(jié)構(gòu)及日常維護技術(shù)研究
基于事件觸發(fā)的多智能體輸入飽和一致性控制
考慮助力器動力學的舵系統(tǒng)結(jié)構(gòu)非線性顫振特性分析