亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Atlas語言實現(xiàn)模型轉(zhuǎn)換技術(shù)的研究

        2010-05-13 09:17:24川,王普,李亞芬
        現(xiàn)代電子技術(shù) 2009年20期

        冉 川,王 普,李亞芬

        摘 要:OMG提出一種軟件開發(fā)新方法:模型驅(qū)動架構(gòu)MDA。這里在MDA基本思想的基礎(chǔ)上,側(cè)重模型轉(zhuǎn)換技術(shù),分析Atlas轉(zhuǎn)換方法的特征和優(yōu)缺點(diǎn),并進(jìn)行改進(jìn)設(shè)計,增加模型驗證環(huán)節(jié)。最后,通過一個例子說明如何應(yīng)用提出的改進(jìn)方法,在一定程度上證明它的可行性。

        關(guān)鍵詞:MDA;Atlas;模型轉(zhuǎn)換;Web應(yīng)用開發(fā)

        中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A

        文章編號:1004-373X(2009)20-126-05

        Research of Model Transformation Method Based on Atlas

        RAN Chuan,WANG Pu,LI Yafen

        (College of Electronic Information & Control Engineering,Beijing University of Technology,Beijing,100124,China)

        Abstract:OMG has proposed a kind of new method of software development named Model Driven Architecture (MDA).Based on concepts about model transformation technology,merits and drawbacks of features of the Atlas are analysed,and improving design by adding models validation step.How to use the proposed method through an example,its feasibility and utility in a certain extent are proved.

        Keywords:MDA;Atlas;model transformation;Web application development

        0 引 言

        MDA(Model Driven Architecture)是OMG(Object Management Group)于2001年發(fā)布的軟件開發(fā)過程中的模型組織管理框架。在MDA中,定義了PIM(平臺無關(guān)模型)和PSM(平臺相關(guān)模型)及其轉(zhuǎn)換規(guī)范[1]。其中,模型轉(zhuǎn)換定義了不同模型元素的對應(yīng)關(guān)系,是實現(xiàn)MDA的關(guān)鍵環(huán)節(jié)。

        模型是系統(tǒng)的抽象,它比實現(xiàn)系統(tǒng)更容易獲取、理解和計算[2]。人們試圖準(zhǔn)確地建立模型之間、模型與系統(tǒng)之間的關(guān)系,使模型在系統(tǒng)開發(fā)過程中起到實質(zhì)性的作用。

        1 模型轉(zhuǎn)換流程

        在MDA中主要包含三種模型轉(zhuǎn)換,即PIM到PIM的轉(zhuǎn)換,PIM到PSM的轉(zhuǎn)換,PSM到代碼的轉(zhuǎn)換。

        如以開發(fā)Web信息發(fā)布系統(tǒng)為例,在MDA框架下模型轉(zhuǎn)換系統(tǒng)首先將按照用戶輸入的需求建立一個系統(tǒng)級的PIM模型,系統(tǒng)級模型包括Web系統(tǒng)的相關(guān)信息(如包含信息發(fā)布、用戶管理等模塊),之后是一系列細(xì)化PIM模型的工作,將系統(tǒng)級的PIM模型分化成若干個模塊級的PIM模型,再轉(zhuǎn)化為操作級的PIM模型。最終可以將細(xì)化后的模型分為兩類:一類是表示系統(tǒng)靜態(tài)結(jié)構(gòu)的模型,這類模型可以表示為UML的類圖,反應(yīng)Web系統(tǒng)的靜態(tài)特征;一類是描述系統(tǒng)業(yè)務(wù)操作等動態(tài)結(jié)構(gòu)的模型,這一類模型可以表示為UML的用例圖,反映Web系統(tǒng)的動態(tài)特征。

        下一步要進(jìn)行PIM到PSM模型的轉(zhuǎn)換工作,模型轉(zhuǎn)換系統(tǒng)按照對應(yīng)的轉(zhuǎn)換規(guī)則,分別將PIM靜態(tài)結(jié)構(gòu)模型轉(zhuǎn)換為PSM靜態(tài)結(jié)構(gòu)模型,將PIM動態(tài)結(jié)構(gòu)模型轉(zhuǎn)換為PSM動態(tài)結(jié)構(gòu)模型。PSM靜態(tài)結(jié)構(gòu)模型為生成Web系統(tǒng)中數(shù)據(jù)訪問層和持久層以及數(shù)據(jù)庫提供關(guān)鍵字段和屬性值,PSM動態(tài)結(jié)構(gòu)模型為生成Web系統(tǒng)中業(yè)務(wù)邏輯層提供關(guān)鍵字段和屬性值,Web系統(tǒng)中的視圖層的關(guān)鍵字段和屬性值將由這兩類模型共同提供。

        在模型轉(zhuǎn)換中,最后將對應(yīng)特定平臺的PSM模型輸入代碼生成器,通過部署和發(fā)布,用戶將得到所需要的Web系統(tǒng)。在這三種模型轉(zhuǎn)換中,PIM到PIM轉(zhuǎn)換目的是是細(xì)化用戶需求,將一個大模型分解成若干的小模型;PSM到代碼的轉(zhuǎn)換,主要由代碼生成器完成。這兩種模型間變換比較具體,因此比較容易實現(xiàn),在此將重點(diǎn)集中在PIM到PSM的轉(zhuǎn)換。

        2 基于Atlas模型轉(zhuǎn)換設(shè)計

        當(dāng)前MDA還屬于一種早期的有待發(fā)展技術(shù),其模型轉(zhuǎn)換方法也有很多,例如:手動轉(zhuǎn)換方法(程序員使用可以訪問和操作模型的API對源模型進(jìn)行轉(zhuǎn)換,從而得到目標(biāo)模型的方法)、基于規(guī)則的模型轉(zhuǎn)換[3]、基于模板的代碼生成技術(shù)(如AndroMDA等方法)、基于關(guān)系代數(shù)的模型轉(zhuǎn)換[4](將“模型轉(zhuǎn)換”表達(dá)為一個二元關(guān)系或者一組二元關(guān)系)、基于元模型間映射的模型轉(zhuǎn)換[2]、基于模式的模型轉(zhuǎn)換[5,6](使用設(shè)計模式定義轉(zhuǎn)換規(guī)則,從而得到更加符合設(shè)計的目標(biāo)模型)等。這里所使用的是基于Atlas模型轉(zhuǎn)換框架的一種改進(jìn)方法,對其進(jìn)行分析并展開實現(xiàn)研究。

        2.1 Atlas模型轉(zhuǎn)換框架與語言

        Atlas是屬于開源的項目,單向的混合型(描述性和命令行并存)模型轉(zhuǎn)換語言,使用OCL來描述約束,描述規(guī)則的能力較好,易于應(yīng)用。

        Atlas轉(zhuǎn)換框架較為主流[7],如圖1所示。其中源模型符合元模型a,目標(biāo)模型符合元模型b。元模型a和元模型b都符合惟一的元元模型。模型轉(zhuǎn)換實例,它也是一種模型,它符合模型轉(zhuǎn)換的元模型。模型轉(zhuǎn)換的元模型也符合惟一的元元模型。

        圖1 Atlas轉(zhuǎn)換框架

        一個完整的Atlas模型轉(zhuǎn)換程序,需要四個文件:元模型a、元模型b、源模型、模型轉(zhuǎn)換實例。通過轉(zhuǎn)換生成的目標(biāo)是目標(biāo)模型。

        2.2 Atlas模型轉(zhuǎn)換的優(yōu)劣與補(bǔ)充

        除了功能相對較強(qiáng)和用戶較廣之外,Atlas語言的語法相對簡單容易理解,使用較方便,對于編程人員來說容易應(yīng)用。此外,Atlas使用者不需要很強(qiáng)的數(shù)學(xué)功底,編程人員上手應(yīng)用相對較容易。

        Atlas也存在一些不足。MDA技術(shù)初衷就是盡量使開發(fā)過程自動化,減少開發(fā)人員工作量。目前Atlas在這方面還存在一些問題。由于功能單一,當(dāng)模型復(fù)雜時需編寫繁多轉(zhuǎn)換規(guī)則,模型轉(zhuǎn)換精確性還不高。由于轉(zhuǎn)換過程是單向的,所以沒有數(shù)據(jù)類型驗證功能,模型轉(zhuǎn)后前后數(shù)據(jù)一致性不能保證。

        為了增強(qiáng)處理復(fù)雜模型系統(tǒng)的能力,通過下面兩個辦法改進(jìn)現(xiàn)有轉(zhuǎn)換模塊。

        首先,分析系統(tǒng)內(nèi)各種模型,提高系統(tǒng)中模型的轉(zhuǎn)換精度和完整性。針對系統(tǒng)靜態(tài)結(jié)構(gòu)模型,把有共同結(jié)構(gòu)屬性的模型進(jìn)行提煉,設(shè)計具有普遍性的“抽象父類模型”;針對系統(tǒng)動態(tài)結(jié)構(gòu)模型,對這些操作進(jìn)行歸納和分類,總結(jié)出“抽象操作模型”,針對這些模型進(jìn)行更進(jìn)一步細(xì)化或者編寫轉(zhuǎn)換規(guī)則,最后把各種類的抽象模型整理集中在模型轉(zhuǎn)換庫,供轉(zhuǎn)換框架調(diào)用。

        其次,為了提高模型建立和轉(zhuǎn)換的一致性,可以在模型轉(zhuǎn)換的前后建立模型轉(zhuǎn)換前置和后置檢驗環(huán)節(jié)。在操作中,在確定轉(zhuǎn)換平臺后,可以針對源模型和目標(biāo)模型這兩個文件進(jìn)行操作。前置檢驗主要檢查作為輸入的源模型中指定字段是否符合轉(zhuǎn)換規(guī)則的要求,在轉(zhuǎn)換前進(jìn)行檢查,避免造成轉(zhuǎn)換失敗或者轉(zhuǎn)換不完全;后置檢驗主要檢查作為輸出的目標(biāo)模型中指定字段是否符合要求,與其他字段間是否滿足設(shè)計需要,并且對于異常情況予以更正并告知用戶。模型轉(zhuǎn)化模塊如圖2所示。

        圖2 模型轉(zhuǎn)換模塊示意圖

        3 模型驅(qū)動開發(fā)Web應(yīng)用系統(tǒng)

        下面將通過Web應(yīng)用實例具體的分析,說明在Atlas框架下進(jìn)行模型轉(zhuǎn)換所需的各種模型和轉(zhuǎn)換規(guī)則的分析和設(shè)計思路。

        3.1 源模型設(shè)計

        源模型來自于用戶需求,用戶可以通過具備可視化開放功能的交互頁面將需求提供給模型轉(zhuǎn)換框架。

        在作者研究的模型轉(zhuǎn)換實例中,用戶的需求將以形式化的文檔,存儲為XML文件格式。如圖3所示,在文檔中包含若干業(yè)務(wù)對象的屬性特征和業(yè)務(wù)邏輯描述,在轉(zhuǎn)換框架中,源模型經(jīng)過轉(zhuǎn)換規(guī)則處理最終會生成目標(biāo)模型。

        3.1.1 設(shè)計思路

        通過人機(jī)交互頁面獲取用戶需求,可以看作是系統(tǒng)按源模型結(jié)構(gòu)對用戶需求逐步細(xì)化的過程。通過逐步的模型定義和建立,分層次地將需求的粒度從大變小,同時將它們作為輸入進(jìn)行模型轉(zhuǎn)換。

        圖3 源模型生成流程圖

        (1) 包含模塊定義。這里指系統(tǒng)中明確的對象以及對其進(jìn)行的操作集合。捕獲用戶Web應(yīng)用需求,首先要明確在Web應(yīng)用中都包含哪些對象,因為此后的操作都將和這些對象有關(guān)。如果是信息發(fā)布系統(tǒng),它所包含的對象可能有欄目、文章、用戶、部門等;如果是票務(wù)系統(tǒng)則可能包含劇場座位、演出場次等。一些基本常用的對象可以儲存在Atlas庫文件中,供用戶選擇,用戶也可以在滿足模型規(guī)范的范圍內(nèi)自定義模型。

        (2) 模塊功能定義。明確系統(tǒng)包含的對象之后,下一步就是明確與之相關(guān)的操作,使其構(gòu)成一個完整的功能模塊。在這一層,用戶需要對操作進(jìn)行定義,例如增加,刪除,修改,查詢,或者自定義操作名稱。這一層的信息包含了系統(tǒng)內(nèi)所有用戶可以點(diǎn)擊執(zhí)行的操作集合。

        (3) 操作功能定義。在這一層中,將對之前定義操作進(jìn)行更詳細(xì)的描述。經(jīng)過分析,系統(tǒng)中的操作都是由數(shù)據(jù)庫操作添加(Create)、查詢(Query)、更新(Update)、刪除(Delete)這些命令組成的,不同順序的CRUD命令組合形成了不同的操作,因此這一層的工作是用形式化的格式將操作描述出來。當(dāng)然由于參數(shù)和處理對象不同,本層中會允許執(zhí)行內(nèi)容不同CRUD命令存在。

        (4) 詳細(xì)操作定義。在這一層中將具體定義系統(tǒng)數(shù)據(jù)庫操作的參數(shù)和返回值。例如,若之前定義過兩個增加命令(add_one和add_all),在這一層里需要為這兩個具體的數(shù)據(jù)庫添加(Create)命令進(jìn)行定義,明確這兩個命令傳遞的參數(shù)和返回值,保證系統(tǒng)對數(shù)據(jù)庫操作準(zhǔn)確有效。

        (5) 頁面內(nèi)容定義。為系統(tǒng)視圖層的頁面定義具體屬性,包括頁面處理的業(yè)務(wù)類型,包含的對象屬性,提供的操作接口,顯示的風(fēng)格樣式等信息。

        3.1.2 源模型結(jié)構(gòu)

        依照上述設(shè)計思路,首先設(shè)計源模型對應(yīng)的元模型a。在元模型a中,定義了源模型的組成結(jié)構(gòu),屬性和相互聯(lián)系。如以信息發(fā)布系統(tǒng)的欄目模塊為例,如圖4所示,可以看出源模型中定義了Column對象包含了一個type屬性和Static對象和Action對象,同時明確了它屬于Webpim對象。Static對象和Action對象分別對應(yīng)用戶需求的結(jié)構(gòu)組成和功能操作兩部分,具體需求在其中定義即可。

        圖4 元模型a片段

        圖5所示,是按元模型a定義規(guī)范得到的源模型。源模型儲存為XML文件。文件中包含了系統(tǒng)內(nèi)全部模塊信息,每個模塊信息又由表示對象的靜態(tài)結(jié)構(gòu)和表示操作的動態(tài)結(jié)構(gòu)組成。這些信息由概括到具體,分層次將用戶需求表示出來。在模型轉(zhuǎn)換中編寫的轉(zhuǎn)換規(guī)則是以元模型a和元模型b的結(jié)構(gòu)進(jìn)行映射的,所以源模型必須依照元模型a的格式規(guī)范。否則在轉(zhuǎn)換中就會出現(xiàn)所定義的轉(zhuǎn)換條件和輸入值不符合,發(fā)生異常錯誤的情況。

        圖5 源模型文檔片段

        3.2 目標(biāo)模型設(shè)計

        模型轉(zhuǎn)換框架中,目標(biāo)模型由源模型經(jīng)轉(zhuǎn)換規(guī)則處理后得到,將以形式化文檔作為代碼生成器的輸入,儲存為XML文件格式。

        3.2.1 設(shè)計思路

        不同于源模型,目標(biāo)模型在轉(zhuǎn)換規(guī)則處理后,其內(nèi)容將按用戶的需求或適合目標(biāo)系統(tǒng)描述的層次結(jié)構(gòu),描述出其中的關(guān)鍵元素信息。目標(biāo)模型具有如下特點(diǎn):

        (1) 目標(biāo)模型與目標(biāo)系統(tǒng)對應(yīng)。目標(biāo)模型設(shè)計根據(jù)的是目標(biāo)系統(tǒng),將目標(biāo)系統(tǒng)中的關(guān)鍵信息元素整理集合成能表示目標(biāo)系統(tǒng)內(nèi)各層次結(jié)構(gòu)關(guān)系、業(yè)務(wù)邏輯關(guān)系,形成目標(biāo)系統(tǒng)的元模型b。經(jīng)過轉(zhuǎn)換規(guī)則定義元模型a與元模型b的映射關(guān)系[8],最后將由源模型生成目標(biāo)模型。

        (2) 保證系統(tǒng)順利生成。為了保證不同技術(shù)背景用戶的輸入都能夠生成出Web應(yīng)用,并且保證生成的Web應(yīng)用能夠順利運(yùn)行。在目標(biāo)模型中添加默認(rèn)信息,這些默認(rèn)信息將通過轉(zhuǎn)換規(guī)則自動添加到目標(biāo)模型中。

        (3) 信息完整性。源模型中缺省的屬性和值將被默認(rèn)值取代或由系統(tǒng)自動生成,以確保模型完整性。另外,重復(fù)的部分也將被合并,避免出現(xiàn)模型缺失和冗余。

        (4) 根據(jù)需要,計算得到模型數(shù)據(jù)。目標(biāo)模型的一些屬性值在源模型建立時還未產(chǎn)生,需要對源模型進(jìn)行分析,通過計算和邏輯處理才能得到,這些屬性值將保存在模型結(jié)構(gòu)中指定對應(yīng)的位置。

        (5) 平臺相關(guān)性。目標(biāo)模型是平臺相關(guān)的模型,將作為代碼生成器的輸入生成整個目標(biāo)系統(tǒng),因此在目標(biāo)模型中,各種類型的對象除了相應(yīng)的值以外還必須要有相應(yīng)的平臺類型與之對應(yīng)。

        3.2.2 目標(biāo)模型結(jié)構(gòu)

        從設(shè)計思路出發(fā),首先設(shè)計目標(biāo)模型對應(yīng)的元模型b。元模型b的設(shè)計要與目標(biāo)系統(tǒng)的關(guān)鍵元素相符合。例如,目標(biāo)系統(tǒng)采用MVC的架構(gòu)設(shè)計,目標(biāo)模型可以分為視圖(View)、模型(Model)、控制(Control)三部分結(jié)構(gòu)來表示目標(biāo)系統(tǒng),這樣設(shè)計使目標(biāo)模型與目標(biāo)系統(tǒng)層次一致,可以更好地表示對應(yīng)關(guān)鍵信息,如圖6所示。

        圖6 元模型b片段

        以此類推,如果目標(biāo)系統(tǒng)采用SSH框架(Struts+Sping+Hibernate),目標(biāo)模型也可分別對應(yīng)這三個框架進(jìn)行描述,最后組合成目標(biāo)模型。

        在確定元模型b之后,經(jīng)過轉(zhuǎn)換規(guī)則中定義的與元模型a的映射關(guān)系,就能從源模型得到目標(biāo)模型。如圖7所示,因為由轉(zhuǎn)換規(guī)則映射得來,生成的目標(biāo)模型的結(jié)構(gòu)組成嚴(yán)格符合元模型b的規(guī)范定義,包含目標(biāo)系統(tǒng)的結(jié)構(gòu)層次和關(guān)鍵信息。之后,目標(biāo)模型將作為代碼生成器的輸入,產(chǎn)生最后的目標(biāo)系統(tǒng)。

        圖7 目標(biāo)模型文檔片段

        3.3 轉(zhuǎn)換規(guī)則設(shè)計

        模型轉(zhuǎn)換就是讀取源模型,通過一組轉(zhuǎn)換規(guī)則,將源模型轉(zhuǎn)換為目標(biāo)模型并輸出的過程[9]。其中元模型a代表源模型,元模型b代表目標(biāo)模型,在設(shè)計轉(zhuǎn)換規(guī)則時首先需要保證能夠?qū)崿F(xiàn)目標(biāo)系統(tǒng);其次,要盡可能擴(kuò)展轉(zhuǎn)換規(guī)則內(nèi)容,能夠提高模型轉(zhuǎn)換的粒度要求,以滿足能夠?qū)Ρ硎鞠到y(tǒng)細(xì)節(jié)特性的功能進(jìn)行處理;最后,要保證源模型到目標(biāo)模型的信息不會丟失或在用戶不知情的情況下被覆蓋。

        如圖8所示,源模型到目標(biāo)模型的轉(zhuǎn)換中,模型結(jié)構(gòu)和模型數(shù)據(jù)都會發(fā)生變化。模型轉(zhuǎn)換規(guī)則就是要為這些變化建立對應(yīng)的映射關(guān)系。

        圖8 模型轉(zhuǎn)換規(guī)則說明

        模型結(jié)構(gòu)方面,源模型側(cè)重表現(xiàn)用戶需求,目標(biāo)模型側(cè)重表現(xiàn)所生成系統(tǒng)結(jié)構(gòu)。建立模型的出發(fā)角度的不同,必然將造成模型結(jié)構(gòu)的差異。目標(biāo)模型中可以從源模型中繼承一部分結(jié)構(gòu),但必然會產(chǎn)生新的結(jié)構(gòu),這些結(jié)構(gòu)中的鍵值信息不能從源模型中直接獲取,但對于目標(biāo)模型作為代碼生成器輸入又是不能缺少的,因為不能被省略掉。

        模型數(shù)據(jù)信息方面,源模型的數(shù)據(jù)直接來自于用戶的需求,數(shù)據(jù)較繁雜,會出現(xiàn)信息冗余的情況,目標(biāo)模型的數(shù)據(jù)因為要作為代碼生成器的輸入,因此數(shù)據(jù)更精簡,且包含的信息量相對較多。所以在模型轉(zhuǎn)換規(guī)則中,就必須加入對模型數(shù)據(jù)進(jìn)行計算和邏輯處理的映射關(guān)系,配合存入對應(yīng)的目標(biāo)模型結(jié)構(gòu)中。

        在實驗中,模型轉(zhuǎn)換規(guī)則及語法主要運(yùn)用Atlas語言和OCL語言,完成復(fù)雜條件下模型轉(zhuǎn)換的規(guī)則設(shè)計。如圖9所示是部分轉(zhuǎn)換規(guī)則映射關(guān)系,定義了元模型a中表示靜態(tài)和動態(tài)結(jié)構(gòu)的屬性、操作與元模型b中表示目標(biāo)系統(tǒng)特點(diǎn)的各層關(guān)鍵信息的聯(lián)系。

        圖9 模型轉(zhuǎn)換規(guī)則映射關(guān)系(部分)

        3.4 模型轉(zhuǎn)換補(bǔ)充設(shè)計

        用戶需求數(shù)量的增長和細(xì)節(jié)功能的增多,模型轉(zhuǎn)換中對應(yīng)的模型數(shù)量也將隨之變大,層次關(guān)聯(lián)也將變得更復(fù)雜。為了完成復(fù)雜業(yè)務(wù)邏輯,一方面要允許包含層次更多、組合更靈活的源模型反映用戶需求;另一方面,要建立結(jié)構(gòu)更復(fù)雜、粒度更小、更精確的目標(biāo)模型來表示系統(tǒng)的復(fù)雜行和完整性。因此,模型轉(zhuǎn)換環(huán)節(jié)中,必須對模型自身進(jìn)行更高的限制和控制。

        模型轉(zhuǎn)換可以分為規(guī)范、轉(zhuǎn)換、約束、調(diào)整這四個步驟[10],為了減輕轉(zhuǎn)換規(guī)則設(shè)計的負(fù)擔(dān),在轉(zhuǎn)換前后靈活增加先驗后驗程序來對模型中重要的部分或轉(zhuǎn)換規(guī)則中處理易于造成冗余的部分進(jìn)行檢驗。如果在轉(zhuǎn)換前需要對各模型的名稱和包名進(jìn)行檢驗,確保轉(zhuǎn)換不會造成混淆,在轉(zhuǎn)換后需要對重要字段的類型進(jìn)行檢驗不會出現(xiàn)數(shù)據(jù)類型不匹配等問題。

        需要說明的是,這些模型檢驗環(huán)節(jié)也可以在模型轉(zhuǎn)換規(guī)則中定義。為了使轉(zhuǎn)換層次更加明確、規(guī)則設(shè)計更清晰、便于維護(hù),所以采用獨(dú)立于轉(zhuǎn)換規(guī)則的先驗和后驗環(huán)節(jié)的設(shè)計。此外,為了保證模型轉(zhuǎn)換的平臺無關(guān)性,檢驗環(huán)節(jié)可以通過Atlas語言和OCL語言定義實現(xiàn)。

        4 結(jié) 語

        在此首先對MDA技術(shù)的發(fā)展進(jìn)行介紹。隨后,介紹了MDA技術(shù)中一種模型轉(zhuǎn)換框架即Atlas框架,簡要分析Atlas模型轉(zhuǎn)換語言的優(yōu)勢和不足。最后,以模型驅(qū)動角度對一個Web應(yīng)用進(jìn)行分析,闡釋了模型轉(zhuǎn)換中源模型、目標(biāo)模型、轉(zhuǎn)換規(guī)則的設(shè)計思路,并完成了設(shè)計。下一步工作,將重點(diǎn)集中在模型精度和準(zhǔn)確度提升方面,使模型轉(zhuǎn)換滿足更細(xì)致具體的用戶需求。

        參考文獻(xiàn)

        [1]Miller J,Mukerji J.MDA Guide Version 1.0.1[ EB/ OL ].htt p://www.omg.org/docs/omg/03 - 06 - 01.pdf,2003 - 06 -12.

        [2]David S Frankel.應(yīng)用MDA[M].鮑志云,譯.北京:人民郵電出版社,2003.

        [3]張征,何克清,劉進(jìn).一種基于規(guī)則的模型轉(zhuǎn)換方法[J].計算機(jī)應(yīng)用研究,2005(10):16-19.

        [4]Akehurst D H,Kent S.A Relational Approach to Defining Transformations in a Metamodel[A].The Unified Modeling Language 5th Int′l Conf.[C].2002.

        [5]Sheena R Judson,Robert B France,Doris L Carver.Speci-fying Model Transformations at the Metamodel Level[J].Proc of the Workshop in Software Model Engineering,2003.

        [6]方海棠,何克清,卓識,等.一個基于模式和動作語義的MDA實現(xiàn)方法[J].計算機(jī)工程,2004,30(4):67-69.

        [7]Frankel S.Model Driven Architecture:Applying MDA to Enterprise Computing[M].Indianapol:John Witey and Sons,2003.

        [8]Jean Bezivin,Hammoudi S,Lopes D,et al.Applying MDA Approach for Web Service Platform[A].IEEE International Enterprise Distributed Object Computing Conference[C].2004:58-70.

        [9]Sendall S,Kozaczynski W.Model Transformation:The Heart and Soul of Model-Driven Software Development[J].IEEE Sofeware,2003,20(5):2-8.

        [10]Stuard Kent.Model Driven Engineering[J].IFM,2002:286-298.

        亚洲国产精品日韩av不卡在线| 国产av午夜精品一区二区入口 | 亚洲中文字幕精品久久久久久直播| 偷拍与自偷拍亚洲精品| 一区二区三区中文字幕在线播放| 成人无码一区二区三区| 在线欧美中文字幕农村电影| 粉嫩少妇内射浓精videos| 久久久9色精品国产一区二区三区 国产三级黄色片子看曰逼大片 | 能看不卡视频网站在线| 精品国产亚洲av麻豆| 人人妻人人狠人人爽| 狠狠色狠狠色综合日日不卡| 精品无码一区二区三区小说| 白色月光免费观看完整版| 日韩在线观看入口一二三四| 让少妇高潮无乱码高清在线观看| 香蕉久久久久久久av网站| 无码一区二区三区在| 成人全部免费的a毛片在线看| 久久精品免费中文字幕| 亚洲成在人网站av天堂| 国产精品视频久久久久| 一本久道久久综合狠狠操| 青青草中文字幕在线播放| 把女人弄爽特黄a大片| 99久久人人爽亚洲精品美女| 亚洲伦理一区二区三区| 伊人五月亚洲综合在线| 狠狠躁天天躁无码中文字幕图| 亚洲色无码国产精品网站可下载| 久久久久亚洲精品天堂| 国产一区二区一级黄色片| 日本高清一级二级三级 | 熟女肥臀白浆一区二区| 免费va国产高清大片在线| 亚洲熟妇无码av不卡在线播放 | 国产高潮刺激叫喊视频| 日本一区二区三区中文字幕最新| 亚洲精品综合久久中文字幕| 无码av天天av天天爽|