999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MDA的PIM到PSM轉換方法的研究?

2017-09-12 08:49:45董衛劉曉燕
計算機與數字工程 2017年8期
關鍵詞:信息方法模型

董衛劉曉燕

基于MDA的PIM到PSM轉換方法的研究?

董衛1劉曉燕2

(昆明理工大學信息工程與自動化學院昆明650500)

MDA(Model Driven Architecture)的一個重要思想是將模型作為軟件開發的基本單元,解決了軟件開發的效率低、可移植性差等問題,進一步提高軟件開發的抽象層次。為此,MDA劃分了三種抽象級的模型,建立高抽象級的模型,向低抽象級模型和代碼的轉換來構造可運行的應用程序。因此,提出基于MDA的PIM模型到PSM模型轉換方法的研究。并根據轉換方法定義了向EJB平臺的轉換規則,其使用OCL標準描述,具有良好的復用性。最后通過一個實例驗證該方法的可行性,實現從平臺無關模型到平臺相關層EJB模型的轉換。

MDA;模型轉換;建模;平臺無關模型;平臺相關模型

Class NumberTP311.5

1引言

模型驅動體系結構(ModelDriven Architecture,MDA)[1]是國際標準化組織OMG于2001年提出的一種基于模型的軟件開發框架性標準。與傳統的軟件開發方法相比,MDA致力于將軟件開發的過程從以代碼為中心的地位提高到以模型為中心的地位,使模型不僅僅被作為設計文檔和規格說明來使用,更能成為一種能夠自動轉換為最終可運行系統的重要的軟件制品。

模型轉換是模型驅動架構的核心技術,用來解決模型到模型以及模型到代碼間的映射問題[2],并將模型映射為不同技術平臺上的實現。本文以倉庫管理系統的軟件開發為應用背景,圍繞模型轉換應用于軟件開發尚待進一步完善的問題展開研究,并實現了PIM模型到EJB PSM模型的轉換。

2 MDA相關理論

2.1模型驅動體系架構

MDA是由對象管理組織(Object Management Group,OMG)于2001年提出來。MDA將軟件系統的模型分為:平臺無關模型(Platform IndependentModel,PIM)和平臺相關模型(Platform Specific Model,PSM),并且它們之間通過相應的轉換規則聯系起來。其中,PIM是MDA框架開發的基礎,對系統結構和功能進行抽象的規約[3],其具有高抽象層次且不包括任何與實現技術相關的信息,PSM主要是為某種特定的相關平臺量身定做的[4],它基于某個特性的實現技術,如J2EE平臺和。NET平臺等。MDA的開發過程可簡單概括為:先使用建模語言(如UML)構建PIM,然后按照轉換規則將PIM轉換成特定平臺相關的PSM;最后通過建立一些針對于具體實現語言的映射,將PSM自動生成代碼,從而實現最終系統。MDA的一般開發過程如圖1所示。

圖1 MDA的開發過程

2.2模型轉換

模型轉換的本質是讀取源模型(Source Mod?el),按照轉換規則將其轉換為目標模型(Target Model)的過程[5]。模型轉換方法的共同特征是:模型轉換過程可由源模型、轉換規則庫、目標模型和轉換流程控制器四個部分組成,如圖2所示。源模型即模型轉換過程的輸入其作為將要被轉換的模型;目標模型即模型轉換過程的輸出其作為轉換后生成的模型;轉換規則庫存則放著一組轉換規則的有序集合;轉換流程控制器主要用于控制整個轉換過程運行的調度器。

圖2 模型轉換方法

2.3轉換規則的類別

轉換規則包括兩部分,一部分是用于訪問源模型中的模型元素,另一部分用于生成目標模型中的模型元素。當前主要有以下四種模型轉換規則[6]:

1)變量型轉換規則:要轉換的模型元素,用那些能夠直接訪問模型元素的語言的變量來保存,然后通過變換規則將目標模型元素存入相對應的變量。

2)模式型轉換規則:使用某些已有的模式來匹配源模型中的部分模型元素,然后生成相應的目標模式,然后在目標模型中存入部分表達目標模式的模型。

3)關系型轉換規則:是利用關系代數描述模型轉換規則的一種方法。

4)邏輯型轉換規則:利用邏輯運算來表述模型轉換規則的一種方法。例如,OCL語言就是一種典型的邏輯語言。

2.4 EJB元模型

EJB是SUN的服務器端組件模型,最大的用處是部署分布式應用程序,類似微軟的.net技術。憑借JAVA跨平臺的優勢,用EJB技術部署的分布式系統可以不限于特定的平臺。基于SUN的EJB2.1規范[7]以及OMG的規范[8]給出了使用UML形式定義的EJB元模型,如圖3所示[9]。

圖3 EJB元模型

3 實例研究

本文以倉庫管理系統為例,利用UML建模工具建立倉庫管理系統中的物流管理模塊的PIM,并將PIM轉換為相對的EJB PSM。

3.1 PIM建模

在MDA的開發思想下,PIM層建模是設計過程中最為重要的環節之一。該環節交付的軟件制品是系統的業務邏輯在平臺無關抽象層上的模型[5]。

在倉庫管理系統中,倉庫物品操作信息的子類有進貨信息和退貨信息兩部分,倉庫物品操作信息由物品信息聚合而成,供應商與物品信息、進貨信息和退貨信息相關聯。為了簡化問題,本文抽取了該部分信息進行建模。圖4給出了該場景的PIM表示方法。

圖4 系統功能片段的PIM

3.2 OCL轉換規則

要實現模型的轉換,首先要源語言和目標語言的元模型以便給出形式化的定義,在變換規則中需要引用這些元模型中的元素[10]。基于源語言和目標語言的元模型,轉換規則采用基于OCL的規則約束,采用基于MDA的模型轉換方法來完成,從而實現PIM到EJB模型的變換。因為PIM和PSM都是采用UML語言描述的,UML可以來描述MDA中近乎全部的模型[11]。所以源語言和目標語言的元類屬性都是一樣的。如圖5所示。

對于PIM中的每一個類都會有一個EJB模型中的主鍵類與之對應,而PIM模型中的每個類都會生成一個單獨的主鍵類。PIM中的每個關聯都會被轉換成一個EJB關聯,并歸入到一個EJB數據模式。則它們轉換的形式化表達式如下:

Transformation PIMClassToKeyClass(PIM,EJB){

source(class:PIM::class);

target(keyClass:EJB::EJBKeyClass);

if(target.id.class==keyClass&&unidirectional)

mapping(class.name+’Key’,keyClass.name);

mapping(class.name+’ID’,id.name);}

Transformation AssociationToDataAssociation(PIM,EJB){

target(dataAs:EJB::EJBDataAs);

if(source.as.end->exists(composition)&&unidirection?al));

mapping(as.name,DataAs.name);

mapping(as.end,DataAs.end);

mapping(assoc.getOuterMostContainer(),dataAssoc. package);}

圖5 一個類的變換規則

3.3 PIM-PSM映射

在完成了PIM層的建模工作之后,就可以應用轉換部分中定義的PIM-EJB PSM轉換規則將PIM映射為相應的EJB平臺上的PSM。在轉換的每個步驟中,對于PIM中的每一個實體類Entity Class,都有一個EJB Entity Bean與之相對應。每個EJB Entity Bean都要包括一個遠程接口Remote Inter?face,一個本地接口Home Interface,一個主鍵Pri?mary Kerry和一個實現類Implementation class。對于實現類,其類的構造型為<<EJBImplementation>>,類中的屬性就是PIM類圖中對應的類的屬性,其構造型為<<EJgCmpField>>,類的方法除了包括遠程接口中的方法外,還包括PIM類圖中對應的類中的方法,Home接口中的方法Create()實現方法ejbCreat(),ejbStore(),ejbLoad(),ejbActivate(),ejbPassivate(),ejbRemove(),setEntityContext(),以及getEntityContext()等方法。遠程接口Remote In?terface,其構造型為<<EJBRemoteInerface>>,Re?mote中列出該Entity Bean為客戶提供的所有操作。對于實現類中的每個屬性,都會有一個get()操作和一個set()操作,其構造型為<<EJBRemote?Method>>。本地接口home Interface,接口繼承了EJBHome,Home接口的構造型為<<EJBEntityHo?meInterface>>,home接口中包creat()方法,方法的構造型為<<EJBCreatMethod>>,還有findByPrima?ryKey()方法,其構造型為<<EJBFinderMethod>>,用于對數據庫的查找。

由于篇幅有限,只選取系統的一部分為例說明轉換的方法。按照上述的轉換規則,經過這些轉換后,可以得到WarehouseGoodsOperationInfo和GoodsInfo的EJB PSM,如圖6所示。

圖6 系統功能片段的PSM

4結語

在模型轉換方面,通過向特定平臺的直動映射,降低了傳統手工編寫代碼的工作量。同時,設計人員可以利用自動轉換方便地看到設計方案在具體平臺上的實現效果,有利于檢查設計方案的正確性和合理性,從而提高了設計效率。本文研究了基于模型驅動體系架構的模型轉換問題。結合倉庫管理系統的例子,采用建模工具開發出獨立于平臺分析模型,通過執行轉換規則得到系統的PSM,通過實驗驗證了基于MDA的PIM到PSM模型轉換的可行性和正確性。

[1]Miller J,Mukerji J.MDA Guide Version 1.0.1[EB/OL]. OMG,2003,http://www.omg.org/docslomg/03.06.01.

[2]王永濤,劉勇.基于MDA的模型轉換研究與應用[J].計算機工程,2011,37(16):84-85.

WANG Yongtao,LIU Yong.Research and Application of Model Transformation Based on MDA[J].Computer Engi?neering,2011,37(16):84-85.

[3]侯金奎,萬建成,張玉艷.一種支持MDA的PIM建模方法[J].計算機工程,2007,33(8):71-73.

HOU Jinkui,WAN Jiancheng,WANG Yuyan.MDA-sup? ported Modeling Approach for PIM[J].Computer Engi?neering,2007,33(8):71-73.

[4]張錦.基于EJB組件的代碼自動生成平臺的研究——代碼生成器及模板庫的設計[D].杭州:浙江工業大學,2004.

ZHANG Jin.Research of Code Auto-Generation Platform Based On EJB--Design of Code Generator and Template Library[D].Hangzhou:Zhejiang University of Technolo?gy,2004.

[5]張天,張巖,于笑豐,等.基于MDA的設計模式建模與模型轉換[J].軟件學報,2008,19(9):2203-2217.

ZHANG Tian,ZHANG Yan,YU Xiaofeng.MDA Based Design Patterns Modeling and Model Transformation[J]. Journalof Software,2008,19(9):2203-2217.

[6]王永濤.基于MDA的模型轉換研究[D].洛陽:河南科技大學,2011.

WANG Yongtao.Research On Model Transformation Based On MDA[D].Luoyang:Henan University of Sci?ence and Technology,2011.

[7]Sun Microsystems.Enterprise JavaBeans Specification[EB/OL].v2.1 http://java.sun.com/productslejb/docs.html

[8]OMG Meta modeland UML profile for Java and EJB speci?fication v1.0,2004[EB/OL].http://www.omg.org/docsdfor?maV04-02-02.

[9]Anneke Kleppe,Jos Warmer,Wim Bast著,鮑志云譯.解析MDA[M].北京:人民郵電出版社,2004.

Anneke Kleppe,Jos Warmer,Wim Best writings,BAOZhiyun translation.Explained MDA[M].Beijing:POSTS &TELECOM PRESS,2004.

[10]吳春水,唐勝群.MDA中從PIM到PSM的模型轉換[J].計算機工程,2004,30(3):1-3.

WU Chunshui,TANG Shengqun.Model Transformation from PIM to PSM in MDA[J].Computer Engineering, 2004,30(3):1-3.

[11]劉輝,麻志毅,邵維忠.模型轉換中特性保持的描述與驗證[J].軟件學報,2007,18(10):2369-2379.

LIU Hui,MA Zhiyi,SHAO Weizhong.Description and Proof of Property Preservation of Model Transformations[J].Journalof Software,2007,18(10):2369-2379.

Research on ModelTransformation of PIMto PSMBased on MDA

DONG Wei1LIU Xiaoyan2
(Schoolof Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650500)

An importantidea of MDA(modeldriven architecture)is using models as the basic unitofsoftware developmentto solve the problem oflow efficiency and poor portability ofsoftware development,and to further improve the abstraction levelofsoft?ware development.To this end,MDA divides the three abstraction levels ofthe model,high-levelabstractmodelis established and low-level model and code conversion are established to construct a runnable application.Therefore,a MDA-based PIM model to PSM model transformation method is proposed.And then through this model the EJB platform conversion rules are defined.The transformation rules are described by the OCL(Object Constraint Language)standard and have good reusability.At last,an exam?ple is given to verify the feasibility of the method,and the transformation from platform independent model to platform specific EJB modelis realized.

MDA(modeldriven architecture),modeltransformation,modeling,platform independentmodel,platform spe?cific model

TP311.5

10.3969/j.issn.1672-9722.2017.08.045

2017年2月6日,

2017年3月27日

董衛,男,碩士研究生,研究方向:模型驅動。劉曉燕,女,副教授,碩士生導師,研究方向:模型驅動。

猜你喜歡
信息方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: av免费在线观看美女叉开腿| 亚洲成人精品久久| 波多野结衣一区二区三区四区视频| 国产精品自在在线午夜| av在线无码浏览| 午夜成人在线视频| 高清无码不卡视频| 久久久久人妻一区精品色奶水| 久久久黄色片| 亚洲国产综合自在线另类| 亚洲日韩Av中文字幕无码| 天天操精品| 狠狠干综合| 激情六月丁香婷婷四房播| 免费啪啪网址| 国产福利在线观看精品| 毛片在线播放网址| 国产丝袜精品| 麻豆国产精品| 无码高清专区| 一本大道香蕉中文日本不卡高清二区| 久久女人网| 国产欧美日韩在线在线不卡视频| 亚洲中文字幕av无码区| 亚洲a级在线观看| 免费国产小视频在线观看| 亚洲另类色| 欧美精品1区| 亚洲色图另类| 在线无码九区| 国产不卡网| 精品丝袜美腿国产一区| 亚洲第一黄片大全| 福利在线不卡一区| 欧美日韩国产高清一区二区三区| 国产福利2021最新在线观看| 欧美视频二区| 亚洲日韩精品综合在线一区二区| 久久免费精品琪琪| 亚洲日韩精品综合在线一区二区| 久久久黄色片| 露脸真实国语乱在线观看| 视频一区视频二区日韩专区 | 亚洲日本在线免费观看| 精品91在线| 欧美亚洲国产精品久久蜜芽| 无码精品一区二区久久久| 亚洲国内精品自在自线官| 无码精品一区二区久久久| 中文精品久久久久国产网址| 久久动漫精品| 国产黑丝一区| 欧美中出一区二区| 婷五月综合| 在线播放91| 国产三区二区| 国产激情在线视频| 国产成人亚洲精品无码电影| a级毛片免费在线观看| 97色伦色在线综合视频| 一区二区自拍| 国产成人综合日韩精品无码首页| 国产一级无码不卡视频| 久久精品国产免费观看频道| 日本成人一区| 高清码无在线看| 亚洲婷婷六月| 茄子视频毛片免费观看| 色有码无码视频| 中文字幕 欧美日韩| 色悠久久久| jizz在线观看| 特级欧美视频aaaaaa| 自偷自拍三级全三级视频| 日韩午夜片| 日本人妻丰满熟妇区| 99国产精品国产| 国产亚洲高清视频| 91口爆吞精国产对白第三集| 国产精品亚洲精品爽爽| 日本五区在线不卡精品| 国产原创演绎剧情有字幕的|