李金友,于江濤
(通化師范學(xué)院計(jì)算機(jī)學(xué)院,吉林通化 134002)
Petri網(wǎng)(Petri Net)是一種高效的建模和分析工具,近年來得到了快速的發(fā)展.但是Petri網(wǎng)是一種純理論工具,并不能適合所有領(lǐng)域的應(yīng)用需求.很多學(xué)者針對不同領(lǐng)域的研究對象,提出了各種各樣改進(jìn)的Petri網(wǎng)理論.如近年來得到普遍應(yīng)用的隨機(jī)Petri網(wǎng)、著色 Petri網(wǎng)、模糊 Petri網(wǎng)、代數(shù) Petri網(wǎng)、面向?qū)ο驪etri網(wǎng)和面向?qū)ο蟠鷶?shù)Petri網(wǎng)模型等.
面向?qū)ο蟠鷶?shù)Petri網(wǎng)模型OOAPN(Object Oriented Petri Net)模型支持面向?qū)ο蟮母拍?,支持面向?qū)ο筌浖到y(tǒng)分析和建模,把代數(shù)理論、Petri理論以及面向?qū)ο蠓椒ê图夹g(shù)結(jié)合在一起,為形式化和智能化軟件工程環(huán)境的建立提供了一種有效方法,可以提高并發(fā)系統(tǒng)動態(tài)建模和復(fù)雜系統(tǒng)的高級建模的能力,實(shí)現(xiàn)系統(tǒng)的動態(tài)建模和不確定建模,完善現(xiàn)有建模方法的不足.
OOAPN模型建模工具旨在為人們提供一套科學(xué)的工程化的軟件開發(fā)工具系統(tǒng),有效的管理分析、設(shè)計(jì)、編碼和測試的全過程,生成高效、正確的代碼.集成化思想與建模工具緊密地結(jié)合在一起,形成了具有強(qiáng)有力的逆向代碼自動生成的可編程和測試的集成化建模工具.OOAPN建模工具主要作用有:一個具有專用資源和早期查錯功能的交互式開發(fā)環(huán)境、對軟件的開發(fā)和維護(hù)過程中的許多環(huán)節(jié)實(shí)現(xiàn)了自動化、通過一個強(qiáng)有力的圖形接口,實(shí)現(xiàn)了直觀的程序設(shè)計(jì).
基于OOAPN模型的建模工具,提出了模型驅(qū)動模板MDT(Model Driven Template)設(shè)計(jì)模式.模型驅(qū)動模板MDT(Model Driven Template)設(shè)計(jì)模式主要包含兩個要素:模型和模板.而這兩個要素都是抽象的,即在實(shí)際開發(fā)中,可根據(jù)需要采用不同的模型和模板.在建模系統(tǒng)中,模型采用的是OOAPN模型,模板采用的是Cheetah Templates模板引擎,在中心信息庫CIL(Center Information Library)中,用逆向代碼生成器,利用自定義的模式,匹配出符合要求的格式數(shù)據(jù),再經(jīng)過逆向代碼生成器的加工轉(zhuǎn)換,使其轉(zhuǎn)變成符合nameSpace數(shù)據(jù)結(jié)構(gòu)類型的數(shù)據(jù),再由CIL加工廠還原成OOAPN模型.系統(tǒng)運(yùn)行界面如圖1所示.
圖1 是系統(tǒng)運(yùn)行的界面
逆向代碼的自動生成的主要構(gòu)件是正則表達(dá)式,利用自定義的模式,匹配出符合要求的格式數(shù)據(jù),再經(jīng)過逆向代碼生成器的加工轉(zhuǎn)換,使其轉(zhuǎn)變成符合nameSpace數(shù)據(jù)結(jié)構(gòu)類型的數(shù)據(jù),再由CIL加工廠還原成OOAPN模型.其系統(tǒng)結(jié)構(gòu)圖如圖2所示:
首先,構(gòu)造自定義的正則模式,以便匹配出符合要求的代碼,進(jìn)行下一步的轉(zhuǎn)換.如自定義的匹配函數(shù)(方法、事件)的正則模式:
其次,由逆向代碼生成器轉(zhuǎn)換成類型nameSpace數(shù)據(jù)結(jié)構(gòu)類型的數(shù)據(jù).如向一個已經(jīng)匹配的接口添加函數(shù)(方法、事件):
再次,由中心信息庫CIL(Center Information Library)對nameSpace加工轉(zhuǎn)換成OOAPN模型.如向已經(jīng)在畫布存在的接口圖形的一個函數(shù)添加參數(shù)模型:
最后,由中心信息庫CIL(Center Information Library)對nameSpace加工轉(zhuǎn)換成有 效的OOAPN模型.
圖2 逆向代碼自動生成過程
集成化思想與建模工具緊密地結(jié)合在一起,形成了具有強(qiáng)有力的逆向代碼自動生成的可編程和測試的集成化建模工具,有效的管理分析、設(shè)計(jì)、編碼和測試的全過程,生成高效、正確的模型.
:
[1]潘洪軍.面向?qū)ο蟠鷶?shù) Petri網(wǎng)[J].吉林大學(xué)學(xué)報(bào),2006(3).
[2]克萊普,等著.解析MDA[M].鮑志云,譯.人民郵電出版社,2004.
[3]袁崇義.Petri網(wǎng)原理與應(yīng)用[M].北京:電子工業(yè)出版社,1998.
[4]賈立新,薛鈞義,茹峰.采用模糊Petri網(wǎng)的形式化推理算法及其應(yīng)用[J].西安交通大學(xué)學(xué)報(bào),2003(12).
[5]叢佩政,任愛華.基于面向?qū)ο驪etri網(wǎng)的模型驅(qū)動開發(fā)方法的研究[J].微計(jì)算機(jī)信息,2006(28).
通化師范學(xué)院學(xué)報(bào)2014年2期