摘要:當前計算機軟件已深入應用到國民經濟各個領域中,然而其性能的衰退使得軟件系統無法滿足用戶的需求,因此研究一種新的具有自適應功能的系統已十分迫切。針對這個問題,采用C2體系結構風格描述一個自適應系統,并利用統一建模語言UML對其進行建模。
關鍵詞:軟件自適應; 軟件體系結構; C2風格; 統一建模語言
中圖法分類號:TP311.52文獻標識碼:A
文章編號:1001-3695(2007)01-0064-02
自適應系統的軟件體系結構已經成為現在自主計算領域研究的一個重要分支。傳統的軟件系統不能夠對運行環境的變化作出反應。ShangWen Cheng[1]提出了一種自適應機制實現在運行時監視周圍環境的變化,動態地改變系統的行為,但其局限性是沒有一種合適的系統模型來實現這種機制。大量的研究表明可以使用體系結構模型將自適應系統表示成由組件和連接件構成的整體,這種方法稱為基于體系結構的自適應[2~4]。
本文采用C2風格描述一個自適應系統,使用UML對該系統的體系結構建模。C2體系結構風格可以概括為:通過連接件綁定在一起的按照一組規則運作的并行構件網絡。
1自適應組件的框架
自適應系統的框架通過在原軟件系統中增加自適應組件,使系統具備了自適應性。圖1表示了一個自適應系統的框架。
圖1自適應組件的框架
(1)Adaptive Component。它負責對整個系統進行自適應動作,其中包括Prober模塊、Executor模塊、Analysis模塊、Control模塊、Planner模塊。Prober模塊可以通過監視和查詢動作獲得系統運行時的各個組件的狀態和屬性;Executor模塊如同人工神經網絡中的受動器,可以執行Planner模塊產生的自適應策略;Analysis模塊周期性地檢查模型,如果發現收集到的系統信息出現異常,則觸發最高層的Planner模塊決定相應的策略;Control模塊控制各個模塊之間的交互和動作。
(2)Operational Component。它負責抽象系統中應用組件的行為,包括資源需求、計算復雜性、性能指標等,使自適應系統可以根據用戶需求選擇合適的組件。
(3)Strategy Component。它負責管理本地規則的定義、推理、執行,規則的執行改變組件的狀
態、行為,從而達到自適應調整組件的目的。
(4)Automatic Portals。它負責與系統中其他組件通信。
2自適應框架的應用
2.1一般VOD功能結構
VOD系統即視頻點播系統。一般VOD系統組成如圖2所示。
(1)用戶服務(Subscribers),接收用戶的控制信息。
(2)VOD系統管理(VOD Manager),完成用戶請求,提供相應的節目選擇。
(3)網絡管理(Network Manager),保證數據的QoS,確保通信的暢通。
(4)服務提供(Service Providers),存儲和發送視頻數據到網絡。
2.2自適應VOD系統的框架
C2風格是最常用的一種軟件體系結構風格,它具有以下特點:
(1)構件之間的通信是通過以連接件為中介的異步消息交換機制來實現的。
(2)構件相對獨立,構件之間依賴性低。
這些特點使得C2風格描述的軟件系統能夠支持結構的動態調整。
3基于UML自適應VOD系統的體系結構建模
3.1UML擴展機制
UML是一種面向對象的標準建模語言, 它具有定義良好、可視化、可擴展、功能強大且普遍適用等優點。
我們在UML中引入新的構造型如表1所示。
表1UML新的構造型
3.2自適應VOD系統體系結構的UML多視圖描述
由于C2風格的自適應,VOD系統體系結構可以在UML中建模,如圖4所示,所以它可以用其他標準的UML模型元素表示。
圖中每個元素均由相應的構造型來標志。
多視圖描述是從多個視圖描述軟件體系結構[6]。每一個視圖描述軟件體系結構的不同特征,這樣有助于減少體系結構建模的復雜度。用例視圖的主要功能是用來表達系統的功能性需求或行為,如圖5所示。
邏輯視圖主要支持功能性需求,即為用戶提供服務方面系統所應提供的功能,如圖6所示。
配置視圖定義系統中軟硬件的物理體系結構,它主要關注系統非功能性的需求,如圖7所示。
4結論和未來的工作
本文提出了一種新的自適應系統體系結構模型,并將該模型應用于VOD系統中,使用UML對該系統的體系結構建模。由于自適應系統一般是架設在分布開放的網絡上,這就要做到各個資源的交互和共享。未來的主要研究工作是基于Agent來對分布開放的復雜系統的架構進行設計,利用Petri網對該系統形式化建模。
參考文獻:
[1]Cheng S W, et al. Rainbow: Architecturebased Selfadaptation with Reusable Infrastructure[J]. Computer, 20-04, 37(10): 4654.
[2]E M Dashofy, A van der Hoek, R N Taylor. Towards Architecturebased Selfhealing Systems[C]. Proceedings of the 1st Workshop on Selfhealing Systems,Charleston, South Carolina: ACM Press, 2002. 2126.
[3]I Georgiadis, J Magee, J Kramer. Selforganizing Software Architectures for Distributed Systems[C]. Proceedings of the 1st Workshop on Selfhealing Systems, Charleston, South Carolina: ACM Press, 2002. 3338.
[4]P Oreizy, N Medvidovic, R N Taylor. Architecturebased Runtime Software Evolution[C]. Proceedings of the 20th International Confe ̄rence on Software Engineering, Kyoto, Japan: IEEE Computer Society, 1998.177186.
[5]J Robbins, N Medvidovic, D Redmiles, et al. Integrating Architecture Description Languages with a Standard Design Method[C]. Proceedings of the 20th International Conference on Software Enginee ̄ring, Kyoto, Japan: IEEE Computer Society,1998.209218.
[6]馬于濤,陳建勛. 基于UML的軟件體系結構建模技術的研究[J]. 武漢科技大學學報(自然科學版), 2003, 26(3): 308311.
作者簡介:
郭成昊(1981),男,江蘇南京人,博士研究生,主要研究方向為軟件自愈與抗衰體系結構;
趙顏利(1981),男,山東泰安人,博士研究生,主要研究方向為圖像三維重建;
劉鳳玉(1943),女,江蘇江陰人,教授,博導,主要研究方向為人工智能和網絡安全。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文