?

可復用構件的表示和業務構件規則庫的研究

2008-07-14 10:05夏耀穩呂賽鶇李志平夏幼明
電腦知識與技術 2008年18期

夏耀穩 呂賽鶇 李志平 夏幼明

摘要:構件庫作為分類和管理構件資產的基礎設施就變得越來越重要,實踐中構件數量不斷增長、構件也隨技術和領域演化而更新,要在眾多的構件中爬疏尋找合適的構件就必須建立起有效的構件表示機制和切實可行的構件庫管理系統。業務構件是業務對象和構件的融合,是業務對象軟件實現所形成的自治的業務概念和可復用的軟件單元。業務構件的有序集合,就構成實際的業務活動。本文提出一種基于框架的構件表示方法,并提出基于利用業務構件重組的方式來適應其過程的變化,從而實現業務過程的重組方法。

關鍵詞:業務構件;業務規則;過程重組

中圖分類號:TP311.5 文獻標識碼:A 文章編號:1009-3044(2008)18-20ppp-0c

The Research on Reusable Expression and Rules of the Business Component

XIA Yao-Wen1, LV Sai-dong1,LI Zhi-ping1,XIA-You-Ming2

(1.Modern Education Technology Centre, Yunnan Normal University, Kunming 650092, China; 2.Computer Science and Information Technology, Yunnan Normal University, Kunming 650092, China)

Abstract: Component Library as the classification of assets and management components of the infrastructure becomes increasingly important. Practice of the growing number of components, component technology and also with the evolution of the field and update, to the many components of the climb infrequent to find appropriate components must establish effective mechanisms and practical component that the component library management system. Business is business component object and component integration software business object is formed by the operational autonomy and the concept of reusable software modules. Business component of the collection in an orderly manner, on a practical operational activities. This paper presents a framework based on the components that way, and make use of business component based on the reorganization of its way to adapt to the changes in the process, the process of restructuring its business methods.

Key words: Business Component; Business Rules; Process restructure

面向對象技術、COM/DCOM、CORBA、EJB和.NET構件工業標準的出現,都大大刺激了構件技術的發展。隨著復用實踐的深人,軟件企業內部會積累大量自主開發的構件、購買的商品構件及其它組織開發的構件。這些可復用構件構成了龐大的企業資產[1][2]。而構件庫作為分類和管理構件資產的基礎設施就變得越來越重要。實踐中構件數量不斷增長、構件也隨技術和領域演化而更新,要在眾多的構件中爬疏尋找合適的構件就必須建立起有效的構件表示機制和切實可行的構件庫管理系統[3]。,基于業務構件的自治和可復用思想,提出基于規則庫,通過業務構件重組,以支持業務過程重組的方法,使其信息能迅捷地交互,過程可以及時地控制,從而能柔性地響應和支持業務過程的變化,快速地實現業務過程的重組。

1 可復用構件框架表示

構件庫中構件通常具有構件名稱、構件標識符、應用范圍、領域范圍、使用環境、構件類型、功能描述、抽象類型、版本號、接口特性以及構件之間的相互關系等屬性特征[4]。本文將采用框架來描述構件的這些信息。

框架是一種描述所討論對象屬性的數據結構。一個框架由若干個被稱為“槽”的結構組成,每一個槽又可以根據實際情況劃分為若干個“側面“。一個槽用于描述所討論對象某一方面的屬性,一個側面用于描述相應屬性的一個方面;槽和側面所具有的屬性值分別稱為槽值和側面值[3]。

本文用框架槽首先將構件的這些屬性分為三類:①構件的基本屬性—自然屬性槽;②接口方法屬性(私有和公共接口方法) —接口方法槽;③構件之間的繼承、集聚屬性—關聯屬性槽:基于UML表示的構件之問的關系主要有繼承關系、聚合關系、關聯關系和依賴關系;繼承關系表示一般類和特殊類之間的屬性、方法繼承,是構件之間的縱向關系;而聚合關系、關聯關系和依賴關系主要是通過構件之間的接口調用來實現,表現構件之間的橫向關系,因此,把構件之間的相互關系主要分類繼承和集聚兩類;這樣,構件的框架知識表示為:

構件:自然屬性槽(槽名,自然屬性側面名,構件自然屬性值)

關聯屬性槽(槽名,關聯側面名,關聯屬性值)

規則屬性槽(槽名,規則側面名,規則屬性值)

接口屬性槽(槽名,方法側面名,方法屬性值)

采用巴科斯范式BNF可將構件的框架表示如下:

構件=<自然屬性><關聯屬性><規則屬性><接口屬性>

自然屬性=<構件標識><應用范圍><領域范圍><使用環境><構件類型><功能描述><版本號><抽象類型><版本號>

構件標識=<構件名稱><構件標識符>

應用范圍=<系統通用|專用>

領域范圍=<工商|銀行|電信|業|制造業|辦公自動化化|ERP…>

使用環境=<硬件環境><軟件環境>

構件類型=

功能描述=<私有功能><公共功能>

私有功能=<計劃調度|物料跟蹤|數據采集|成本管理|…>

公共功能=<計劃調度|物料跟蹤|數據采集|成本管理|…>

抽象類型=<抽象構件|具體構件>

關聯屬性=<繼承><集聚>

規則屬性=

Ako規則=<與抽象構件相關的規則><與具體構件相關的規則>

接口屬性=<私有接口屬性><公共接口屬性>

私有接口屬性=<私有方法名稱><參數列表><返回值><實現功能描述>

公共接口屬性=<公共方法名稱><參數列表><返回值><實現功能描述> 每個構件都由一個框架知識表示來描述,屬性由槽來描述;槽可以有很多側面,代表屬性包含的內容;每個側面還可以有很多值,描述構件不同的屬性值。

2 業務構件規則庫

業務構件是業務對象和構件的融合.是業務對象軟件實現所形成的自治的業務概念和可復用的軟件單元,它可由若干軟構件合成[5]。面向業務構件( Business Component Oriented, BCO)的分析方法.可以把業務系統設計成由若干業務構件組成。即將業務系統構件化。當業務過程發生變化時,通過業務構件的重組來實現業務過程的重組。

由于業務構件是自治的、獨立的封裝體[6],構件間通過符合相應構件規范的接口交互,因此,這種不再形成耦合關聯的業務構件作為重組單元構成的業務系統,適應變化的能力強,重組速度快,效率高。

業務系統的面向業務構件形式化可表示為:

BS={name, business component, rule}

式中:name------業務系統名,

Business component------業務構件,

其中,Business Component=(Name, Function, Code, Input, Output,);

Function----業務構件功能描述;

Code----業務構件目標代碼實體;

Input---業務構件輸入描述;

Output----業務構件輸出描述。

rule----業務系統的規則,

其中,rule={name, keypoint, algorithm}

Keypoint----業務系統關鍵點;

Algorithm---算法。

業務系統就是利用業務系統的關鍵點來觸發構件,通過算法組織構件,建立實際的業務系統,如圖1所示。

圖1基于規則庫的業務構件生成

在基于業務系統關鍵點的組織構件的機制中,算法表現為構件間的關聯集合Ω。

令Ω={→,∧,∨}

其中,“→” ,transfer表示構件Ci、構件Cj順序移交;”∧” ,together表示構件Ci、構件Cj同時選擇;“∨” , selection表示構件Ci、構件Cj選擇一個??捎脠D表示構件間關聯操作為And--Join, And---Split, Or ---Join, Or---Split等形式(如圖2所示)。And--Join表示激活操作構件C3的前提條件是操作構件C1及構件C2己經完成,即(C1∧C2) →C3;Or-- Join表示激活操作構件C3的前提條件是操作構件C1或構件C2己經完成,即(C1∨C2) →C3;And- Split表示完成操作構件C1后,可以激活操作構件C2 和構件C3 .即C1 →(C2∧C3 );Or- Split表示完成操作構件C1后,可以激活操作構件C2 或構件C3,即C1 →(C2∨C3 )。

圖2 構件操作之間約束表示法

3 小結

本章節提出了基于人工智能框架知識表示的構件描述方法,解決構件的描述的關鍵性問題;利用框架知識表示可表達分層次嵌套式結構的特性,建立描述構件分層屬性(自然屬性、關聯屬性、規則屬性和接口屬性)的構件描述模型,直觀、有效地描述構件的參數,以及構件之間的繼承關系,便于實現對構件的管理。

基于規則庫,根據業務過程中的一系列邏輯相關的活動步驟,利用業務構件技術,并通過keypoint組織業務構件,以達到預定的業務結果。特別是在業務過程變化時,能夠基于規則,通過業務構件的重新組合,快速實現業務系統的重組。

參考文獻:

[1] William Wong.軟件重用管理概觀[J].計算機科學,2003(2):21-26.

[2] Emmanuel Henry.Benoit Fallen Large-scale Industrial Reuse to Reduce Cost and Cycle Time[A].IEEE Software[C],2000.47-53.

[3] 史忠植,蔣運承,張???董明楷.基于描述邏輯的主體服務匹配[J].計算機學報,2004,5(27):625-635.

[4] 潘穎,趙俊峰,謝冰.構件技術的研究與發展[J].計算機科學,2003,30(S):90-93.

[5] CASANO S,ANTONEILLIS V De.Engineering library ofreusable conceptual component[J]. Information and Software Technology,1997(39):210-219.

[6] 王志堅等.軟件構件技術及其應用[M].科學出版社,2005.

收稿日期:

基金項目:云南師范大學自然科學研究青年基金項目(2008Z019),云南省院省??萍己献?中科院計算所)(2004YX42)

作者簡介:夏耀穩(1981-),男,助教,碩士,主要研究方向:UML,構件,Web服務,人工智能等。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合