專利名稱:一種基于工具總線的case環(huán)境體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟總線及CASE環(huán)境技術(shù)領(lǐng)域,尤其是涉及一種基于工具總線的CASE壞境體 系結(jié)構(gòu)。
背景技術(shù):
CASE (ComputerAided Software Engineering計(jì)算機(jī)輔助軟件工趕)環(huán)境作為一類復(fù)雜的 系統(tǒng)軟件, 一般由一套工具集(Tool Suite)和工具集成框架(Tool Integration Framework)組 成,能夠給應(yīng)用軟件整個(gè)開發(fā)過程的大部分階段或所有階段提供計(jì)算機(jī)輔助支持,提高了軟 件的開發(fā)質(zhì)量和開發(fā)效率。而如何開發(fā)和構(gòu)造一個(gè)CASE環(huán)境,滿足集成性、開放性、適用 性、靈活性、分布性等要求則一直是個(gè)難題,目前還沒有一個(gè)通用的實(shí)現(xiàn)方法,其中軟件體 系結(jié)構(gòu)(SoftwareArchitecture)是一個(gè)關(guān)鍵因素。
與操作系統(tǒng)的結(jié)構(gòu)相類似,CASE環(huán)境結(jié)構(gòu)可以分為三種,即單塊式(Monolithic)結(jié)構(gòu)、 層次(layered)式結(jié)構(gòu)和工具總線(ToolBus)結(jié)構(gòu)。目前大多數(shù)CASE環(huán)境采用單塊式或 層次式結(jié)構(gòu)實(shí)現(xiàn),工具總線結(jié)構(gòu)是近十年出現(xiàn)的新技術(shù),其基本思想是工具總線只提供工具 集成所需的最基本的公共服務(wù),完成集成框架的數(shù)據(jù)集成和控制集成功能。工具由具有規(guī)范 接口的工具構(gòu)件(Component)組成,以"即插即用"的方式加入到工具總線上,同時(shí),工具構(gòu) 件只能通過工具總線相互間接通信,從而減少了CASE環(huán)境的層次,大大簡(jiǎn)化了CASE工具 的互連結(jié)構(gòu)。
發(fā)明內(nèi)容
在工具總線的基礎(chǔ)上,實(shí)現(xiàn)了一種面向CASE環(huán)境領(lǐng)域的軟件體系結(jié)構(gòu)風(fēng)格(Software Architectural Style),稱之為基于工具總線的CASE環(huán)境體系結(jié)構(gòu)風(fēng)格。設(shè)計(jì)目標(biāo)首先是指導(dǎo) 通用CASE環(huán)境的開發(fā),然后可用于各種領(lǐng)域的開發(fā)環(huán)境(平臺(tái))和大型行業(yè)應(yīng)用軟件,包 括嵌入式軟件開發(fā)平臺(tái)、電子商務(wù)開發(fā)平臺(tái)、電信OSS (Operation Support System運(yùn)營(yíng)支持 系統(tǒng))、電子政務(wù)平臺(tái)等。
本發(fā)明的目的在于提供了一種基于工具總線的CASE環(huán)境體系結(jié)構(gòu),解決其技術(shù)難題所釆 用的技術(shù)方案是
1、采用工具總線規(guī)范,從軟件體系結(jié)構(gòu)角度,實(shí)現(xiàn)了一種CASE環(huán)境體系結(jié)構(gòu)風(fēng)格,包 括操作系統(tǒng)層、數(shù)據(jù)存儲(chǔ)層、工具總線層和工具層,并分別設(shè)計(jì)和實(shí)現(xiàn)了相應(yīng)的數(shù)據(jù)存儲(chǔ)層、 工具總線層和工具層的功能及結(jié)構(gòu)。
2、 操作系統(tǒng)層架構(gòu)在各種硬件平臺(tái)之上,為上述各層提供公共服務(wù)和編程接口。
3、 數(shù)據(jù)存儲(chǔ)層為工具總線層提供數(shù)據(jù)存儲(chǔ)服務(wù)和服務(wù)接口
4、 工具總線層作為一種連接件(Connector),是用于工具集成的結(jié)構(gòu)性構(gòu)件,為工具層 提供了數(shù)據(jù)集成、控制集成和表示集成所需的通信與協(xié)作服務(wù)及接口,實(shí)現(xiàn)了工具集成設(shè)施 和工具邏輯處理功能的分離,將工具集成設(shè)施從以前的隱式方式改為顯式方式,支持基于 Intemet的工具協(xié)同工作。
5、 工其層主要完成工具的邏輯處理功能,相應(yīng)的工具構(gòu)件由工具功能構(gòu)件和工具適配 器構(gòu)件組成。其中,工具功能構(gòu)件完成工具自身的邏輯處理功能,工具適配器構(gòu)件實(shí)現(xiàn)工具 與工具總線規(guī)范的數(shù)據(jù)接口和控制接口。
本發(fā)明的主要用途是在工具總線的基礎(chǔ)上,建立一種基于工具總線的CASE環(huán)境體系 結(jié)構(gòu)風(fēng)格,從而減少了 CASE環(huán)境的層次,大大簡(jiǎn)化了 CASE工具的互連結(jié)構(gòu),提高了 CASE 環(huán)境的開放性、適應(yīng)性和靈活性,對(duì)于促進(jìn)基于Internet的分布式CASE環(huán)境和軟件平臺(tái)開 發(fā)具有重要的指導(dǎo)意義。
圖1是本發(fā)明基于工具總線的CASE環(huán)境結(jié)構(gòu)模型示意圖。 圖2是本發(fā)明工具構(gòu)件間的交互疔為模型示意圖。 圖3是本發(fā)明工具結(jié)構(gòu)模型示意圖。 圖4是本發(fā)明工具適配器結(jié)構(gòu)模型示意圖。
具體實(shí)施例方式
下面結(jié)合附圖進(jìn)一步詳細(xì)說明本發(fā)明的思想。
圖1是本發(fā)明基于工具總線的CASE環(huán)境結(jié)構(gòu)模型示意圖
一種基于工具總線的CASE環(huán)境結(jié)構(gòu)模型,包含工具構(gòu)件、工具總線和約束(Constraints) 三部分,即基于工具總線的CASE環(huán)境體系結(jié)構(gòu)風(fēng)格-{工具構(gòu)件,工具總線,約束},其中
1) 工具構(gòu)件
工具構(gòu)件主要完成工具的邏輯處理功能,通過工具總線與其它工具構(gòu)件交互,為順利實(shí) 現(xiàn)CASE環(huán)境的集成,工具構(gòu)件的接t4必須符合工具總線的接口規(guī)范。
2) 工具總線
工具總線在CASE環(huán)境體系結(jié)構(gòu)風(fēng)格中起連接件的作用,是工具構(gòu)件間相互通信的中介, 主要功能是實(shí)現(xiàn)工具構(gòu)件到CASE環(huán)境的集成,對(duì)工具構(gòu)件實(shí)施統(tǒng)一和一致的管理,方便工 具構(gòu)件間的消息通信和數(shù)據(jù)交換。 2)約束
該CASE環(huán)境體系結(jié)構(gòu)風(fēng)格規(guī)定了工具構(gòu)件通過工具總線的雙向通信關(guān)系,工具構(gòu)件與 工具總線的主要拓?fù)湟?guī)則和約束為
CASE環(huán)境中的工具構(gòu)件只有一個(gè)底部,工具總線則只有一個(gè)頂部。 *工具構(gòu)件的底部應(yīng)連接到工具總線的頂部,所有工具構(gòu)件間的交互都必須通過工具總
線,禁止工具構(gòu)件間的直接通信。 參工具總線可以和任意數(shù)目的工具構(gòu)件和工具總線進(jìn)行連接。 參不能有循環(huán)。也就是說, 一個(gè)工具構(gòu)件不能接收它自己產(chǎn)生的消息。 對(duì)圖l所示系統(tǒng)(簡(jiǎn)稱System一CASE)的CASE環(huán)境體系結(jié)構(gòu)風(fēng)格,采用C2SADEL語(yǔ) 言描述如下
architecture System—CASE is { component—types { component Tooll一type is extern {Tooll.c2;} component Tool2一type is extern {Tool2.c2;}
component Tooln一lype is extern {Tooln.c2;} component GUI—type is extern {GULc2;}
connector—types { connector ToolBus—type is extern {ToolBus.c2;}
architectural—topology { component—instances { Tooll : Tooll一type; Tool2 : Tool2一type;
Tooln: Tooln一type; GUI : GUI—type^
connector—instances { ToolBus : ToolBus一type;
connections { connector Too也us { top Tooll,To。12.....Tooln,GUI;
圖2是本發(fā)明工具構(gòu)件間的交互行為模型示意圖
連循該CASE環(huán)境體系結(jié)構(gòu)風(fēng)格的工具構(gòu)件間的交互行為如圖2所示。工具總線為一定 數(shù)量的工具1^=1,2,...,11)提供協(xié)作服務(wù),組合成一個(gè)完整的系統(tǒng)。每個(gè)工具構(gòu)件的內(nèi)部行為或 實(shí)現(xiàn)是不相關(guān)的,它們可以采用不同的編程語(yǔ)言實(shí)現(xiàn),或根據(jù)不同的功能設(shè)計(jì)規(guī)范而產(chǎn)生。 同時(shí),每個(gè)工具構(gòu)件應(yīng)該能夠維護(hù)其內(nèi)部的狀態(tài)。 一般情況下,每個(gè)工具都包含一個(gè)適配器 構(gòu)件,將工具構(gòu)件內(nèi)部的數(shù)據(jù)格式調(diào)整為工具總線的數(shù)據(jù)格式和消息協(xié)議。
工具總線中包含可變數(shù)量的線程Si(i^,2,...^),線程Si的并發(fā)執(zhí)行代表了整個(gè)CASE環(huán) 境的預(yù)期行為。工具與線程間的關(guān)系,可能是一對(duì)一,也可能多個(gè)線程控制一個(gè)工具,或者 一個(gè)線程控制多個(gè)工具。
C2SADEL語(yǔ)言側(cè)重于CASE環(huán)境體系結(jié)構(gòu)靜態(tài)的描述,需要進(jìn)一步采用進(jìn)程代數(shù)
(Process Algebra)方法對(duì)于整個(gè)系統(tǒng)的動(dòng)態(tài)行為進(jìn)行描述,主要描述工具構(gòu)件間的動(dòng)態(tài)交互
關(guān)系。CCS (Calculus of Communication System)和CSP (Communicating Sequential Processes)
是進(jìn)程代數(shù)方法的代表,是描述通信和并發(fā)的演算系統(tǒng),它們均以進(jìn)程為計(jì)算單位,進(jìn)程的
基本動(dòng)作是原子性動(dòng)作。tc演算(7i Calculus)是R. Milner對(duì)CCS的進(jìn)一步改進(jìn),其基本計(jì)
算實(shí)體只有名字和進(jìn)程,進(jìn)程之間的通信通過傳遞名字來完成。雖然工具和工具總線通常是
一個(gè)多線程的程序,由于進(jìn)程和線程具有很多相似性,可以簡(jiǎn)化為一個(gè)抽象的進(jìn)程實(shí)體,因
此,下面采用冗演算方法,刻畫工具構(gòu)件間的通信過程。 設(shè)
~~^——> 表示工具構(gòu)件發(fā)出一條消息。 sen4_msg
->表示工具構(gòu)件收到一條消息。
recy_msg
MPS (Message Passing Style)表示消息傳遞方式,分為同步和異步兩種方式。 因此,CASE環(huán)境的系統(tǒng)行為描述如下 App(s) ^
if t=synchronous:(a), a [->].a->].App(s);
sen^msg recyjnsg
if t^asyiichronous:(a), a [->], App(s)l
sen<|_msg
a[->],App(s);
recyjnsg
其中,teMPS.
Adapter(s) a Oc(->)|a(->)| Adapter(s);
= scrKJ_msg recy_msg
ToolBus(s) a Oc(a).a(-->]
= sen(咖g 鄉(xiāng)(jjnsg
o(-[->]|Oc(a).a(_:j——^
S [->]|。(-->); [-^]1Toolbus(s);
sen(|_msgrecyjnsg recyjnsg
Tool(s) ^ (Oc,a)(App(s)|Adapter(s)); CASE ^ (o)(risewiseTool(s)inse鵬ToolBus(s)); App(s):工具構(gòu)件發(fā)出或接收一系列的消息,用s表示一個(gè)工具構(gòu)件,而App(s)則是指 工具構(gòu)件的一次應(yīng)用(指發(fā)出消息或接收消息)。t表示消息傳遞方式。發(fā)送方工具構(gòu)件沿通 道Oc向ToolBus發(fā)出消息,接收方工具構(gòu)件通過通道a從ToolBus接收消息。 Adapter(s》工具適配器構(gòu)件完成消息發(fā)送或接收時(shí)協(xié)議和數(shù)據(jù)的轉(zhuǎn)換功能。 ToolBus(s):每個(gè)發(fā)送方或接收方都連接到ToolBus,其任務(wù)是并發(fā)地接收工具構(gòu)件發(fā)出 的消息,并將消息沿o通道輸出到相應(yīng)的工具構(gòu)件。
該CASE環(huán)境體系結(jié)構(gòu)風(fēng)格能夠"粘貼"和協(xié)調(diào)工具成為一個(gè)完整的CASE環(huán)境,滿足 CASE環(huán)境對(duì)集成性的要求,主要因?yàn)楣ぞ呖偩€為工具提供了以下集成設(shè)施 1)數(shù)據(jù)集成
工具總線不但為工具間數(shù)據(jù)交換提供了一套數(shù)據(jù)管理和控制設(shè)施,而且盡可能提供統(tǒng)一 的公共數(shù)據(jù)表示(如XML),并根據(jù)工具特定需求,為不同類型的數(shù)據(jù)提供一條數(shù)據(jù)總線進(jìn)行 數(shù)據(jù)交換。
2〉控制集成
工具間的所有控制集成都通過消息傳遞實(shí)現(xiàn),不管工具在同一臺(tái)機(jī)器上,還是在網(wǎng)絡(luò)中 的不同機(jī)器上。 3)表示集成
由于人-機(jī)界面程序往往是多線程的,同時(shí),用戶界面和工具并不都是完全分離的,往往 包含一些簡(jiǎn)單的工具和過程控制設(shè)施,因此,可將用戶界面看作一類特殊的工具,工具間的 界面控制和過程控制能夠通過數(shù)據(jù)集成和控制集成的設(shè)施完成。但另外一部分表示集成機(jī)制,
如用戶界面的一致性開發(fā)和保證,需要提供相應(yīng)的工具和構(gòu)件庫(kù),這部分功能不包含在工具 總線中。
由于已經(jīng)確定了CASE環(huán)境的體系結(jié)構(gòu),工具總線通過提供一條公共的通信通道將工具集 成在一起,工具內(nèi)部是緊耦合的關(guān)系,工具之間是松耦合的關(guān)系。因此,開發(fā)統(tǒng)一規(guī)格的工 具,提髙工具的適應(yīng)性是一個(gè)重要的問題。
圖3是本發(fā)明工具結(jié)構(gòu)模型示意圖
一個(gè)工具可簡(jiǎn)化為由工具功能構(gòu)件和工具適配器構(gòu)件兩個(gè)獨(dú)立的工具構(gòu)件組成,即工具 構(gòu)件={工具功能構(gòu)件,工具適配器構(gòu)件}。其中,工具功能構(gòu)件完成工具自身的邏輯處理功 能,工具適配器構(gòu)件實(shí)現(xiàn)工具與工具總線規(guī)范的數(shù)據(jù)接口和控制接口。所有與工具總線接口 有關(guān)的部分都集中體現(xiàn)在工具適配器構(gòu)件中,這種設(shè)計(jì)將工具邏輯處理功能與工具集成設(shè)施 相分離,從而隔離了 CASE環(huán)境對(duì)工具功能構(gòu)件設(shè)計(jì)的影響,使工具開發(fā)者的大部分工作可 以獨(dú)立于CASE環(huán)境。按照這一模型設(shè)計(jì)的工具,相當(dāng)于CASE環(huán)境中的一個(gè)標(biāo)準(zhǔn)插件,工 具適配器構(gòu)件是數(shù)據(jù)集成和控制集成兩方面的"插頭",工具總線則是與之對(duì)應(yīng)的"插槽",容 易實(shí)現(xiàn)工具的"即插即用"功能。
圖4是本發(fā)明工具適配器結(jié)構(gòu)模型示意圖
CASE環(huán)境采用基于工具總線結(jié)構(gòu)的一個(gè)結(jié)果是, 一般情況下,每個(gè)工具都將封裝一層 軟件,這層軟件扮演"工具適配器"的腳色。工具適配器構(gòu)件位于工具功能構(gòu)件和工具總線 之間,處理工具功能構(gòu)件和工具總線間交互不匹配問題,主要作用是
1) 在工具功能構(gòu)件的內(nèi)部數(shù)據(jù)格式和工具總,的公共數(shù)據(jù)表示之間進(jìn)行轉(zhuǎn)換。
2) 負(fù)責(zé)工具功能構(gòu)件和工具總線間通信協(xié)議的調(diào)整。
3) 負(fù)責(zé)向工具功能構(gòu)件傳遞消息和接收?qǐng)?zhí)行結(jié)果,具有一定的工具功能構(gòu)件管理功能。 工具適配器的主要結(jié)構(gòu)如圖4所示,其中工具i力能構(gòu)件接口層主要負(fù)責(zé)工具功能構(gòu)件的
消息接收、發(fā)送以及數(shù)據(jù)格式的識(shí)別,處理轉(zhuǎn)換層主要負(fù)責(zé)舉據(jù)格式的轉(zhuǎn)換和通信協(xié)議的調(diào) 整,工具總線接口層主要負(fù)責(zé)工具總線的消息接收、發(fā)送以及數(shù)據(jù)格式的識(shí)別。針對(duì)不同類 型(包括功能、實(shí)現(xiàn)語(yǔ)言等)的工具功能構(gòu)件,工具適配器構(gòu)件的具體處理內(nèi)容和實(shí)現(xiàn)也各 不相同。
權(quán)利要求
1、 一種基于工具總線的CASE環(huán)境體系結(jié)構(gòu),其特征是采用工具總線規(guī)范,從軟件 體系結(jié)構(gòu)角度,實(shí)現(xiàn)了一種CASE環(huán)境體系結(jié)構(gòu)風(fēng)格,包括操作系統(tǒng)層、數(shù)據(jù)存儲(chǔ)層、工具 總線層和工具層。
2、 根據(jù)權(quán)利要求1所述的CASE環(huán)境體系結(jié)構(gòu),其特征是操作系統(tǒng)層架構(gòu)在各種硬 件平臺(tái)之上,為上述各層提供公共服務(wù)和編程接口。
3、 根據(jù)權(quán)利要求1所述的CASE環(huán)境體系結(jié)構(gòu),其特征是數(shù)據(jù)存儲(chǔ)層為工具總線層 提供數(shù)據(jù)存儲(chǔ)服務(wù)和服務(wù)接口 。
4、 根據(jù)權(quán)利要求1所述的CASE環(huán)境體系結(jié)構(gòu),其特征是工具總線層作為一種連接 件(Connector),是用于工具集成的結(jié)構(gòu)性構(gòu)件,為工具層提供了數(shù)據(jù)集成、控制集成和表 示集成所需的通信與協(xié)作服務(wù)及接口,實(shí)現(xiàn)了工具集成設(shè)施和工具邏輯處理功能的分離,將 工具集成設(shè)施從以前的隱式方式改為顯式方式,支持基于Internet的工具協(xié)同工作。
5、 根據(jù)權(quán)利要求1所述的CASE環(huán)境體系結(jié)構(gòu),其特征是工具層主要完成工具的邏 輯處理功能,由工具功能構(gòu)件和工具適配器構(gòu)件組成。其中,工具功能構(gòu)件完成工具自身的 邏輯處理功能,工具適配器構(gòu)件實(shí)現(xiàn)工具與工具總線規(guī)范的數(shù)據(jù)接口和控制接口。
6、 根據(jù)權(quán)利要求1所述的CASE環(huán)境體系結(jié)構(gòu),其特征是除CASE環(huán)境外,該體系 結(jié)構(gòu)也適用于各種領(lǐng)域的開發(fā)環(huán)境(平臺(tái))和大型行業(yè)應(yīng)用軟件,包括嵌入式軟件開發(fā)平臺(tái)、 電子商務(wù)開發(fā)平臺(tái)、電信OSS (Operation Support System運(yùn)營(yíng)支持系統(tǒng))、電子政務(wù)平臺(tái)等。
全文摘要
一種基于工具總線的CASE環(huán)境體系結(jié)構(gòu),在工具總線(ToolBus)的基礎(chǔ)上,從軟件體系結(jié)構(gòu)的角度,實(shí)現(xiàn)了一種基于工具總線的CASE環(huán)境體系結(jié)構(gòu)風(fēng)格,包括操作系統(tǒng)層、數(shù)據(jù)存儲(chǔ)層、工具總線層和工具層,并對(duì)相應(yīng)的工具結(jié)構(gòu)模型、工具適配器結(jié)構(gòu)模型、工具集成機(jī)制等方面進(jìn)行了深入的分析與設(shè)計(jì)。建立該體系結(jié)構(gòu),對(duì)于促進(jìn)基于Internet的分布式CASE環(huán)境和軟件平臺(tái)開發(fā)具有重要的指導(dǎo)意義。附圖是本發(fā)明基于工具總線的CASE環(huán)境結(jié)構(gòu)模型示意圖。
文檔編號(hào)G06F9/44GK101122855SQ20071005008
公開日2008年2月13日 申請(qǐng)日期2007年9月24日 優(yōu)先權(quán)日2007年9月24日
發(fā)明者李迅波, 艷 沈, 兵 郭 申請(qǐng)人:電子科技大學(xué)