本發(fā)明屬于軟件開發(fā)
技術(shù)領(lǐng)域:
:,尤其涉及一種基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法。
背景技術(shù):
::目前,高效率、高質(zhì)量的軟件開發(fā)成了計(jì)算機(jī)業(yè)界關(guān)注的焦點(diǎn)。計(jì)算機(jī)軟件業(yè)的歷史就是將抽象層次分層的歷史。從1946年第一臺(tái)計(jì)算機(jī)誕生到現(xiàn)在的60年間,經(jīng)歷了機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言/3GL,在高級(jí)語(yǔ)言的時(shí)代從結(jié)構(gòu)化開發(fā)方法發(fā)展到面向?qū)ο蟮拈_發(fā)方法。直到現(xiàn)在的模型驅(qū)動(dòng)開發(fā),每一次抽象層次的飛躍都會(huì)提高軟件開發(fā)效率,改善軟件質(zhì)量和可維護(hù)性。同時(shí),使軟件開發(fā)者能夠更直觀的面對(duì)問(wèn)題域,屏蔽開發(fā)復(fù)雜性,提升靈活性和系統(tǒng)的可伸縮性。模型驅(qū)動(dòng)開發(fā)方法將軟件開發(fā)從以代碼為中心提高到了以模型為中心。使模型不僅成為分析設(shè)計(jì)規(guī)范,還成為一種能夠通過(guò)自動(dòng)轉(zhuǎn)換為可執(zhí)行系統(tǒng)的軟件制品。2002年由OMG所提出的MDA(ModelDrivenArchitecture)是最具代表性的模型驅(qū)動(dòng)開發(fā)標(biāo)準(zhǔn)化體系。在OMG的藍(lán)圖中,UML、MOF、XMI、CWM等一系列標(biāo)準(zhǔn)分別解決了MDA的模型建立、模型擴(kuò)展、模型交換、模型轉(zhuǎn)換這幾個(gè)方面的問(wèn)題。OMG試圖通過(guò)標(biāo)準(zhǔn)化的定義,擴(kuò)大MDA的應(yīng)用范圍。同時(shí)通過(guò)這樣一個(gè)可擴(kuò)展的建模語(yǔ)言環(huán)境,IT廠商可以自由實(shí)現(xiàn)自己的建模語(yǔ)言,以及語(yǔ)言到可執(zhí)行代碼的映射,最終實(shí)現(xiàn)由模型轉(zhuǎn)化為可執(zhí)行的最終系統(tǒng)。FrederickBrooks在1986年做出了“十年內(nèi),沒有任何單獨(dú)的軟件工程進(jìn)展可以使軟件生產(chǎn)率有數(shù)量級(jí)的提高”的論斷,并被廣泛的稱為“銀彈定律”。經(jīng)過(guò)多年的應(yīng)用與研究,以MDA為代表的模型驅(qū)動(dòng)開發(fā)至今沒有取得預(yù)期的成果,讓模型成為核心自動(dòng)轉(zhuǎn)換成最終系統(tǒng)。模型驅(qū)動(dòng)開發(fā)實(shí)際上并沒有融化“銀彈”。模型的使用一直停留在分析和設(shè)計(jì)階段,成為軟件開發(fā)的輔助設(shè)計(jì)工具。更為嚴(yán)重的是,隨著軟件開發(fā)的深入,代碼實(shí)現(xiàn)逐步占據(jù)主導(dǎo)地位,模型只能以分析設(shè)計(jì)規(guī)范的形式成為代碼實(shí)現(xiàn)的指導(dǎo)規(guī)范。從具體開發(fā)階段開始,軟件的所有變化就需要開發(fā)設(shè)計(jì)人員同步更新系統(tǒng)模型與代碼,模型的抽象性和輔助設(shè)計(jì)的角色致使大部分情況下系統(tǒng)模型都得不到及時(shí)的改變,特別是在軟件維護(hù)期間。模型與代碼逐漸背離,大大降低了模型的作用,同時(shí)也讓模型驅(qū)動(dòng)開發(fā)成為泡影。近年來(lái),甚至出現(xiàn)了忽略文檔與建模而更多的進(jìn)行原型實(shí)踐的敏捷軟件開發(fā)方法。MDA的模型可執(zhí)行性體現(xiàn)在UML描述的PIM轉(zhuǎn)換到PSM,再由PSM轉(zhuǎn)化到可執(zhí)行代碼,從而將模型轉(zhuǎn)換為可執(zhí)行代碼。模型轉(zhuǎn)換規(guī)則和精確的PIM定義是MDA能夠讓模型轉(zhuǎn)化為系統(tǒng)實(shí)現(xiàn)的必要條件,而最根本的是精確和完備的PIM定義,因?yàn)闊o(wú)論多精妙的模型轉(zhuǎn)換方法都無(wú)法補(bǔ)足模型本身的缺陷。將定義模糊或不完整的模型自動(dòng)的轉(zhuǎn)換為系統(tǒng)實(shí)現(xiàn)。UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言,它被MDA采用作為PIM的描述語(yǔ)言。PIM是對(duì)平臺(tái)不相關(guān)軟件特征的描述和規(guī)約,軟件特征主要包括系統(tǒng)的結(jié)構(gòu)特征(靜態(tài))和行為特征(動(dòng)態(tài))。MDA對(duì)PIM的質(zhì)量有較高的要求,PIM必需保證完備性、一致性和無(wú)二義性,否則無(wú)法通過(guò)模型轉(zhuǎn)換產(chǎn)生PSM,更不能準(zhǔn)確完整的轉(zhuǎn)化為系統(tǒng)實(shí)現(xiàn)。UML可以較好的對(duì)軟件的結(jié)構(gòu)特征進(jìn)行建模,由PIM生成的PSM可以比較全面的攜帶系統(tǒng)的結(jié)構(gòu)信息,如類圖,部署圖等。但UML對(duì)軟件行為特征的描述能力較差,雖然UML提供了如順序圖、狀態(tài)圖、活動(dòng)圖、協(xié)作圖等模型視圖對(duì)軟件的行為特征進(jìn)行建模,但是這些模型視圖及其模型元素的語(yǔ)義不精確,不能提供必要的系統(tǒng)行為細(xì)節(jié)信息。因此單純依靠UML來(lái)描述的PIM質(zhì)量并不高,模型轉(zhuǎn)換后的PSM也不能完整反映平臺(tái)相關(guān)的軟件信息,缺失的軟件行為特征還需要以人工的方法添加到PSM中,這樣才能使PSM用于代碼生成。為了改進(jìn)這一缺陷,讓UML能夠完整精確的描述PIM,特別是其中的行為特征,必須擴(kuò)充UML對(duì)軟件行為特征的描述能力。為此,OMG對(duì)UML進(jìn)行了改進(jìn),發(fā)布了UML2.0。同時(shí),在此基礎(chǔ)上提供了兩種解決方案,一種是將UML與對(duì)象約束語(yǔ)言O(shè)CL相結(jié)合來(lái)描述PIM,另一種是采用可執(zhí)行UML描述PIM,最具代表性的是xUML和xtUML。UML2.0的制定,使本發(fā)明又一次看到模型驅(qū)動(dòng)開發(fā)的曙光。但是至今UML2.0還是沒能改變MDA的模型與系統(tǒng)實(shí)現(xiàn)分離的現(xiàn)實(shí)。主要原因在于:首先,UML并未從根本上改變其結(jié)構(gòu),仍然以結(jié)構(gòu)性的抽象語(yǔ)法來(lái)定義模型及其元素,雖然大幅度增強(qiáng)了行為語(yǔ)義,但還是難以和真實(shí)系統(tǒng)的動(dòng)態(tài)性相關(guān)聯(lián),并且在細(xì)節(jié)描述上還有缺陷。其次,UML仍然是針對(duì)所有領(lǐng)域的通用建模語(yǔ)言,UML2.0使整個(gè)體系變得更加龐大,難于使用,難于理解,更難于被轉(zhuǎn)換為系統(tǒng)實(shí)現(xiàn)。第三,UML2.0的出現(xiàn),并沒有改變模型實(shí)現(xiàn)支撐環(huán)境的缺失的問(wèn)題。OCL增強(qiáng)了MDA體系中精確模型描述能力,現(xiàn)在已有不少工具支持OCL輔助建模。通過(guò)引入OCL,不僅增強(qiáng)了UML的精確描述能力,還加強(qiáng)了MDA四層模型的約束能力,同時(shí)通過(guò)對(duì)模型轉(zhuǎn)換規(guī)則的定義,使MDA的模型轉(zhuǎn)換成為可能。但是目前的OCL如果要定義模型轉(zhuǎn)換,還需要進(jìn)行擴(kuò)展,其次OCL并沒有改變UML的本質(zhì)缺點(diǎn),模型仍然難以轉(zhuǎn)換為系統(tǒng)實(shí)現(xiàn)。xUML雖然包含精確定義的動(dòng)作語(yǔ)義,卻沒有定義具體的動(dòng)作語(yǔ)言,由各軟件廠商來(lái)完成,比較著名的是KennedyCarter公司發(fā)布的ASL動(dòng)作規(guī)約語(yǔ)言,它是一個(gè)與實(shí)現(xiàn)語(yǔ)言平臺(tái)無(wú)關(guān)的行為語(yǔ)言,通過(guò)它可以完善模型行為描述,建立可執(zhí)行模型。其他的還有OAL、SMALL、TALL。同時(shí),基于xUML和不同的動(dòng)作語(yǔ)義,已經(jīng)有了xUML支撐工具。如KennedyCarter’sProducts-iUMLite支持xUML開發(fā)過(guò)程,支持可執(zhí)行模型的建立和驗(yàn)證及代碼生成。ProjectTechnology公司的BridgePoint使用OAL作為行為語(yǔ)言支持xUML模型驅(qū)動(dòng)開發(fā)。目前xUML主要用于實(shí)時(shí)系統(tǒng)開發(fā),應(yīng)用范圍比較窄。模型驅(qū)動(dòng)開發(fā)思想是具有開創(chuàng)性的,模型驅(qū)動(dòng)開發(fā)方法無(wú)法進(jìn)行到底的核心問(wèn)題在于模型難以轉(zhuǎn)化到系統(tǒng)實(shí)現(xiàn),其主要原因在于:1、模型的抽象性模型驅(qū)動(dòng)開發(fā)需要對(duì)軟件系統(tǒng)建模,建?;顒?dòng)包括行為建模和結(jié)構(gòu)建模。結(jié)構(gòu)是支撐軟件行為的物質(zhì)基礎(chǔ),它決定了軟件所能擁有的行為范圍。行為是用以實(shí)現(xiàn)軟件的,軟件的目的將由行為來(lái)實(shí)現(xiàn)。因此,模型的行為表現(xiàn)力以及行為語(yǔ)義本身對(duì)于模型到系統(tǒng)實(shí)現(xiàn)的轉(zhuǎn)換起到?jīng)Q定性作用。行為建模本身具有很強(qiáng)的抽象性,省略了很多的行為細(xì)節(jié)定義,導(dǎo)致大部分行為模型元素的行為語(yǔ)義不精確,具有很多的不確定性和二義性,且與真實(shí)的系統(tǒng)實(shí)現(xiàn)體系結(jié)構(gòu)有一定的差距,只能用于系統(tǒng)實(shí)現(xiàn)的指導(dǎo)規(guī)范。2、過(guò)于廣泛的建模范圍通用化的建模方式是當(dāng)前建?;顒?dòng)的主體,當(dāng)今信息系統(tǒng)的開發(fā)越來(lái)越復(fù)雜,所涉及的領(lǐng)域也越來(lái)越廣。為了通用建模的目標(biāo),需要對(duì)建模語(yǔ)言不斷地修改和添加,致使模型變得日益龐大,難于使用,難于理解,更難于被轉(zhuǎn)換為系統(tǒng)實(shí)現(xiàn)。3、建模活動(dòng)主要針對(duì)分析設(shè)計(jì),而非系統(tǒng)實(shí)現(xiàn)軟件開發(fā)周期的各個(gè)階段都有不同的軟件系統(tǒng)模型視圖,實(shí)際上針對(duì)系統(tǒng)實(shí)現(xiàn)的模型視圖不多,更多的視圖都是針對(duì)于分析設(shè)計(jì)的,用于開發(fā)人員間的交流與規(guī)約設(shè)計(jì),這導(dǎo)致模型本身的描述模糊,缺失細(xì)節(jié),難以被計(jì)算機(jī)所理解,更談不上系統(tǒng)實(shí)現(xiàn)。4、模型實(shí)現(xiàn)支撐環(huán)境的缺失模型的實(shí)現(xiàn)必須依靠特定的模型實(shí)現(xiàn)支撐環(huán)境,比如代碼生成系統(tǒng)或模型虛擬機(jī)系統(tǒng),但由于模型自身原因的限制,模型實(shí)現(xiàn)支撐環(huán)境難以完成,更多的是利用模型生成部分其它軟件制品,如代碼框架、文檔、配置腳本等。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提供一種基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法,針對(duì)以O(shè)MG提出的MDA(模型驅(qū)動(dòng)架構(gòu))為代表的通用建模和模型轉(zhuǎn)換方法,旨在解決開發(fā)方法存在行為模型元素的行為語(yǔ)義不精確;與真實(shí)的系統(tǒng)實(shí)現(xiàn)體系結(jié)構(gòu)有差距;在模型轉(zhuǎn)換中難以形成可執(zhí)行軟件的問(wèn)題。本發(fā)明是這樣實(shí)現(xiàn)的,一種基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法,所述基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法以行為建模為核心建立符合MMLs5級(jí)的可執(zhí)行模型,以模型解析執(zhí)行機(jī)制替代代碼生成器,并與領(lǐng)域框架相結(jié)合成為特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施,同時(shí)以標(biāo)準(zhǔn)化、自包含、自描述、模塊化的WEB服務(wù)提升代碼實(shí)現(xiàn)的抽象層次,封裝代碼實(shí)現(xiàn)的細(xì)節(jié),將特定領(lǐng)域的相關(guān)軟件功能實(shí)體以WEB服務(wù)集群的方式提供給特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施,以行為模型的解析執(zhí)行來(lái)驅(qū)動(dòng)系統(tǒng)的運(yùn)行。進(jìn)一步,所述WEB服務(wù)的可執(zhí)行的特定領(lǐng)域建模架構(gòu)對(duì)應(yīng)三個(gè)核心要素:特定領(lǐng)域可執(zhí)行模型、特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施、特定領(lǐng)域WEB服務(wù)原子群;特定領(lǐng)域可執(zhí)行模型在特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施中解析執(zhí)行,特定領(lǐng)域可執(zhí)行模型的執(zhí)行依賴于領(lǐng)域框架所提供的對(duì)應(yīng)接口,領(lǐng)域框架通過(guò)特定領(lǐng)域WEB服務(wù)原子群的領(lǐng)域相關(guān)服務(wù)提供核心軟件功能實(shí)體,并且向上支撐特定領(lǐng)域可執(zhí)行模型的執(zhí)行;特定領(lǐng)域可執(zhí)行模型特定領(lǐng)域可執(zhí)行模型,特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施和特定領(lǐng)域WEB服務(wù)原子群特定領(lǐng)域WEB服務(wù)原子群S共同組成了基于WEB服務(wù)的可執(zhí)行的特定領(lǐng)域建模架構(gòu)。進(jìn)一步,所述基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法具體步驟如下:(1)定義特定領(lǐng)域可執(zhí)行元建模語(yǔ)言;使用具有嚴(yán)格的形式和含義,能夠被計(jì)算機(jī)自動(dòng)解釋和理解;(2)特定領(lǐng)域可執(zhí)行模型元建模:在特定領(lǐng)域可執(zhí)行模型元建模階段,由領(lǐng)域?qū)<覍?duì)特定領(lǐng)域進(jìn)行分析并建立特定領(lǐng)域可執(zhí)行模型元模型,領(lǐng)域?qū)<覍?duì)領(lǐng)域知識(shí)建模,捕獲特定領(lǐng)域概念、約束、規(guī)則和表現(xiàn)形式,創(chuàng)建領(lǐng)域?qū)ο?、關(guān)系和相關(guān)約束;(3)特定領(lǐng)域可執(zhí)行模型應(yīng)用建模:由最終用戶針對(duì)應(yīng)用需求在特定領(lǐng)域可執(zhí)行模型元模型的基礎(chǔ)上使用特定領(lǐng)域概念對(duì)問(wèn)題域進(jìn)行應(yīng)用實(shí)體建模;建立的特定領(lǐng)域可執(zhí)行模型應(yīng)用模型在特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施中執(zhí)行并驗(yàn)證用戶應(yīng)用需求;(4)應(yīng)用建模構(gòu)建行為場(chǎng)景:行為場(chǎng)景包含實(shí)現(xiàn)系統(tǒng)行為的一系列動(dòng)作,對(duì)特定系統(tǒng)目標(biāo)在執(zhí)行期內(nèi)的一個(gè)執(zhí)行過(guò)程,用來(lái)說(shuō)明領(lǐng)域?qū)ο笾g的交互和協(xié)作;行為場(chǎng)景從領(lǐng)域行為過(guò)程的視角建模,體現(xiàn)為行為邏輯模型視圖,以可視化建模的方式描述行為邏輯,并且通過(guò)AS&MC語(yǔ)法對(duì)行為的控制流和數(shù)據(jù)流進(jìn)行精確的定義和約束;(5)特定領(lǐng)域可執(zhí)行模型的編譯解析:特定領(lǐng)域可執(zhí)行模型在行為邏輯執(zhí)行框架中經(jīng)過(guò)編譯解析過(guò)程形成特定領(lǐng)域可執(zhí)行模型行為場(chǎng)景中間代碼,其中包含AS&MC解析、xDSMML解析和特定領(lǐng)域可執(zhí)行模型行為場(chǎng)景編譯三個(gè)主要過(guò)程;BLEF通過(guò)各個(gè)過(guò)程的核心算法,抽取并編譯特定領(lǐng)域可執(zhí)行模型行為場(chǎng)景形成特定領(lǐng)域可執(zhí)行模型行為場(chǎng)景中間代碼,同時(shí)在特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施中注冊(cè)行為場(chǎng)景信息以及抽象操作信息;(6)特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施為特定領(lǐng)域可執(zhí)行模型提供執(zhí)行環(huán)境:以模型解析執(zhí)行機(jī)制替代代碼生成器,并與領(lǐng)域框架相結(jié)合成為特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施,特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施定位為在網(wǎng)絡(luò)運(yùn)行環(huán)境上的軟件運(yùn)行平臺(tái),同時(shí)作為特定領(lǐng)域可執(zhí)行模型的執(zhí)行環(huán)境,以特定領(lǐng)域可執(zhí)行模型的精確完整的行為邏輯為核心,以特定領(lǐng)域WEB服務(wù)原子群為軟件功能實(shí)體,將特定領(lǐng)域可執(zhí)行模型轉(zhuǎn)化為網(wǎng)購(gòu)軟件的形態(tài)完成系統(tǒng)實(shí)現(xiàn)。本發(fā)明提供的基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法,旨在解決軟件生成問(wèn)題,實(shí)現(xiàn)由模型轉(zhuǎn)化為可執(zhí)行的最終系統(tǒng);其中熟悉需求的最終用戶構(gòu)建應(yīng)用模型,領(lǐng)域?qū)<疫M(jìn)行領(lǐng)域分析元建模,技術(shù)專家開發(fā)特定領(lǐng)域支撐服務(wù),在模型執(zhí)行基礎(chǔ)設(shè)施中整合形成可執(zhí)行軟件。本發(fā)明實(shí)施例的基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法xDSM的行為建模是針對(duì)行為邏輯進(jìn)行建模,而并不是簡(jiǎn)單的表達(dá)計(jì)算邏輯。行為與計(jì)算是相互交融的,將行為邏輯與計(jì)算邏輯解耦,使行為邏輯重點(diǎn)描述領(lǐng)域概念之間的協(xié)同關(guān)系,而忽略實(shí)現(xiàn)細(xì)節(jié)的計(jì)算過(guò)程,將領(lǐng)域業(yè)務(wù)原子操作的計(jì)算邏輯在服務(wù)中進(jìn)行封裝,在此基礎(chǔ)上形成的行為邏輯是精確和具體的。為了進(jìn)一步縮小領(lǐng)域概念和其實(shí)現(xiàn)之間的差距,DSM用領(lǐng)域模型表示“領(lǐng)域概念”,代碼生成所需要的信息包含在領(lǐng)域模型中,從而代碼可從領(lǐng)域模型中自動(dòng)生成,在領(lǐng)域框架的作用下,這些代碼變成了最終產(chǎn)品。DSM隱藏代碼的方式,正如今天編程方式下隱藏編譯器的方式是一樣的。DSM主要做兩件事。第一,不用通過(guò)編程而是通過(guò)特定語(yǔ)言中的解決方案來(lái)提升抽象水平。該語(yǔ)言直接使用某一特定問(wèn)題域中的概念和規(guī)則。第二,用選擇的程序設(shè)計(jì)語(yǔ)言或從高層次規(guī)約中產(chǎn)生的其他方式生成目標(biāo)代碼。因?yàn)槟P驼Z(yǔ)言、代碼生成和框架代碼都被要求適用于一個(gè)特定應(yīng)用領(lǐng)域的需求,應(yīng)用程序開發(fā)的自動(dòng)化成為可能。換言之,應(yīng)用程序開發(fā)是面向領(lǐng)域的并且完全在用戶的控制之下的。DSM的目標(biāo)即是針對(duì)實(shí)現(xiàn)而建模,而非分析與設(shè)計(jì)的工具。在特定領(lǐng)域可執(zhí)行元建模語(yǔ)言xDSMML的精確定義下,通過(guò)xDSM元模型針對(duì)特定領(lǐng)域應(yīng)用建立xDSM應(yīng)用模型,xDSM應(yīng)用模型精確完整的描述了系統(tǒng)行為,滿足MMLs5的要求。但是,單純的xDSM是不可能執(zhí)行的,它必須依靠一定執(zhí)行環(huán)境來(lái)解析執(zhí)行,特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施DSMEI提供了xDSM應(yīng)用模型的執(zhí)行環(huán)境。DSMEI解析xDSM應(yīng)用模型的行為語(yǔ)義,轉(zhuǎn)化為帶有精確語(yǔ)義的操作序列,同時(shí)執(zhí)行操作以實(shí)現(xiàn)系統(tǒng)目標(biāo)。DSMEI整合了領(lǐng)域框架并結(jié)合特定領(lǐng)域WEB服務(wù)原子群AGDSWS為虛擬操作提供軟件功能實(shí)體。從而使xDSM成為了在DSMEI中可執(zhí)行的軟件制品。本發(fā)明以模型解析執(zhí)行機(jī)制替代代碼生成器,并與領(lǐng)域框架相結(jié)合成為特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施,針對(duì)特定領(lǐng)域如股份制公司財(cái)務(wù)軟件、事業(yè)單位資產(chǎn)管理軟件,領(lǐng)域?qū)<遗c技術(shù)專家定義軟件構(gòu)件和原模型,用戶在此基礎(chǔ)上構(gòu)建特定領(lǐng)域模型,該模型在特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施的支撐下直接形成只執(zhí)行軟件;提出一種用戶像搭積木一樣建模形成軟件的方法,從而提高軟件開發(fā)效率。附圖說(shuō)明圖1是本發(fā)明實(shí)施例提供的基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法流程圖。具體實(shí)施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明旨在對(duì)特定領(lǐng)域建模方法與模型驅(qū)動(dòng)開發(fā)進(jìn)行深入,以模型成熟度MMLs5級(jí)標(biāo)準(zhǔn)為指導(dǎo),設(shè)計(jì)特定領(lǐng)域可執(zhí)行模型的建模語(yǔ)言,賦予模型可執(zhí)行的行為語(yǔ)義。同時(shí),在此基礎(chǔ)上結(jié)合軟件復(fù)用技術(shù)和分布式技術(shù)設(shè)計(jì)與實(shí)例化模型執(zhí)行基礎(chǔ)設(shè)施,構(gòu)建特定領(lǐng)域建模過(guò)程與實(shí)施框架,最終實(shí)現(xiàn)以模型為中心的模型驅(qū)動(dòng)開發(fā)方法。下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作詳細(xì)的描述。如圖1所示,本發(fā)明實(shí)施例的基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法包括以下步驟:S101:定義特定領(lǐng)域可執(zhí)行元建模語(yǔ)言;S102:xDSM元建模;S103:xDSM應(yīng)用建模;S104:應(yīng)用建模的目標(biāo)是針對(duì)特定領(lǐng)域的業(yè)務(wù)目標(biāo)構(gòu)建一些列的行為場(chǎng)景;S105:xDSM的編譯解析;S106:DSMEI能夠如同模型虛擬機(jī)一般在不同平臺(tái)上為xDSM提供執(zhí)行環(huán)境。下面結(jié)合具體實(shí)施例對(duì)本發(fā)明的應(yīng)用原理作進(jìn)一步的描述。本發(fā)明以特定領(lǐng)域模型為目標(biāo),以精確完整的行為建模為核心建立符合MMLs5級(jí)的可執(zhí)行模型,基于完備、一致、詳細(xì)和精確的模型描述,以模型解析執(zhí)行機(jī)制替代代碼生成器,并與領(lǐng)域框架(DomainFramework)相結(jié)合成為特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施,同時(shí)以標(biāo)準(zhǔn)化、自包含、自描述、模塊化的WEB服務(wù)提升代碼實(shí)現(xiàn)的抽象層次,封裝代碼實(shí)現(xiàn)的細(xì)節(jié),將特定領(lǐng)域的相關(guān)軟件功能實(shí)體以WEB服務(wù)集群的方式提供給特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施,以行為模型的解析執(zhí)行來(lái)驅(qū)動(dòng)系統(tǒng)的運(yùn)行。這是基于WEB服務(wù)的可執(zhí)行的特定領(lǐng)域建模架構(gòu)(eXecutableDomain-SpecificModellingbasedonWebServices,xDSMOWS)的核心思想,它以特定領(lǐng)域建模為基礎(chǔ)從模型的精化和實(shí)現(xiàn)方案的提升兩個(gè)方面來(lái)構(gòu)建可執(zhí)行的模型及其執(zhí)行基礎(chǔ)設(shè)施。xDSMOWS分為三個(gè)層次,分別對(duì)應(yīng)三個(gè)核心要素:特定領(lǐng)域可執(zhí)行模型(ExecutableDomain-specificModel,xDSM)、特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施(Domain-specificModelExecutionInfrastructure,DSMEI)、特定領(lǐng)域WEB服務(wù)原子群(AtomicGroupofDomain-specificWEBServices,AGDSWS)。xDSM在DSMEI中解析執(zhí)行,xDSM的執(zhí)行依賴于領(lǐng)域框架所提供的對(duì)應(yīng)接口,領(lǐng)域框架通過(guò)AGDSWS的領(lǐng)域相關(guān)服務(wù)提供核心軟件功能實(shí)體,并且向上支撐xDSM的執(zhí)行。特定領(lǐng)域可執(zhí)行模型xDSM,特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施DSMEI和特定領(lǐng)域WEB服務(wù)原子群AGDSWS共同組成了基于WEB服務(wù)的可執(zhí)行的特定領(lǐng)域建模架構(gòu)。本發(fā)明實(shí)施例的基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法具體步驟如下:1、定義特定領(lǐng)域可執(zhí)行元建模語(yǔ)言;模型是對(duì)系統(tǒng)的功能、結(jié)構(gòu)、行為及其環(huán)境的描述和規(guī)約。模型需要使用具有良好定義的語(yǔ)言來(lái)描述。具有良好定義的語(yǔ)言是指該語(yǔ)言具有嚴(yán)格的形式(語(yǔ)法)和含義(語(yǔ)義),能夠被計(jì)算機(jī)自動(dòng)解釋和理解。特定領(lǐng)域可執(zhí)行元建模語(yǔ)言(eXecutableDomain-specificMeta-ModellingLanguage,xDSMML)是針對(duì)特定領(lǐng)域建模方法設(shè)計(jì)的元建模語(yǔ)言,用于在通用建模環(huán)境中對(duì)xDSM元建模和xDSM應(yīng)用建模提供描述語(yǔ)言支持,即能夠同時(shí)支持xDSM元模型和xDSM應(yīng)用模型的描述與構(gòu)造。2、xDSM元建模:在xDSM元建模階段,由領(lǐng)域?qū)<覍?duì)特定領(lǐng)域進(jìn)行分析并建立xDSM元模型,領(lǐng)域?qū)<?DomainExpert)對(duì)領(lǐng)域知識(shí)建模,捕獲特定領(lǐng)域概念、約束、規(guī)則和表現(xiàn)形式,創(chuàng)建領(lǐng)域?qū)ο?、關(guān)系和相關(guān)約束。同時(shí)針對(duì)xDSM元模型,由技術(shù)專家構(gòu)建特定領(lǐng)域支撐服務(wù)。3、xDSM應(yīng)用建模:由最終用戶(EndUser)針對(duì)應(yīng)用需求在xDSM元模型的基礎(chǔ)上使用特定領(lǐng)域概念對(duì)問(wèn)題域進(jìn)行應(yīng)用實(shí)體建模,并且在建模過(guò)程中嚴(yán)格的遵照xDSM元模型所定義的規(guī)范和約束。最終用戶建立的xDSM應(yīng)用模型在DSMEI中能夠執(zhí)行并驗(yàn)證用戶應(yīng)用需求,確保應(yīng)用建模能夠完整的滿足軟件系統(tǒng)的要求。4、應(yīng)用建模的目標(biāo)是針對(duì)特定領(lǐng)域的業(yè)務(wù)目標(biāo)構(gòu)建一些列的行為場(chǎng)景:行為場(chǎng)景(BehaviorScenario)包含了實(shí)現(xiàn)系統(tǒng)行為的一系列動(dòng)作(Action),針對(duì)特定系統(tǒng)目標(biāo)在執(zhí)行期內(nèi)的一個(gè)執(zhí)行過(guò)程,用來(lái)說(shuō)明領(lǐng)域?qū)ο笾g的交互和協(xié)作。為了實(shí)現(xiàn)一個(gè)業(yè)務(wù)目標(biāo),可能需要不同級(jí)別的若干行為場(chǎng)景相互支撐。行為場(chǎng)景從領(lǐng)域行為過(guò)程的視角建模,體現(xiàn)為行為邏輯模型視圖,以可視化建模的方式描述了行為邏輯,并且通過(guò)AS&MC語(yǔ)法對(duì)行為的控制流和數(shù)據(jù)流進(jìn)行精確的定義和約束。5、xDSM的編譯解析:xDSM在行為邏輯執(zhí)行框架(BLEF)中經(jīng)過(guò)一系列的編譯解析過(guò)程形成xDSM行為場(chǎng)景中間代碼,其中包含AS&MC解析、xDSMML解析和xDSM行為場(chǎng)景編譯三個(gè)主要過(guò)程。BLEF通過(guò)各個(gè)過(guò)程的核心算法(本發(fā)明以算法流程圖和類Pascal的偽代碼表示),抽取并編譯xDSM行為場(chǎng)景形成xDSM行為場(chǎng)景中間代碼,同時(shí)在DSMEI中注冊(cè)行為場(chǎng)景信息以及抽象操作信息,為xDSM的執(zhí)行奠定基礎(chǔ)。6、DSMEI能夠如同模型虛擬機(jī)一般在不同平臺(tái)上為xDSM提供執(zhí)行環(huán)境:以模型解析執(zhí)行機(jī)制替代代碼生成器,并與領(lǐng)域框架(DomainFramework)相結(jié)合成為特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施DSMEI,DSMEI定位為在網(wǎng)絡(luò)運(yùn)行環(huán)境上的軟件運(yùn)行平臺(tái),同時(shí)作為xDSM的執(zhí)行環(huán)境,以xDSM的精確完整的行為邏輯為核心,以AGDSWS為軟件功能實(shí)體,將xDSM模型轉(zhuǎn)化為網(wǎng)購(gòu)軟件的形態(tài)完成系統(tǒng)實(shí)現(xiàn)。本發(fā)明實(shí)施例的基于特定領(lǐng)域建模的模型驅(qū)動(dòng)開發(fā)方法xDSM的行為建模是針對(duì)行為邏輯進(jìn)行建模,而并不是簡(jiǎn)單的表達(dá)計(jì)算邏輯。行為與計(jì)算是相互交融的,將行為邏輯與計(jì)算邏輯解耦,使行為邏輯重點(diǎn)描述領(lǐng)域概念之間的協(xié)同關(guān)系,而忽略實(shí)現(xiàn)細(xì)節(jié)的計(jì)算過(guò)程,將領(lǐng)域業(yè)務(wù)原子操作的計(jì)算邏輯在服務(wù)中進(jìn)行封裝,在此基礎(chǔ)上形成的行為邏輯是精確和具體的。為了進(jìn)一步縮小領(lǐng)域概念和其實(shí)現(xiàn)之間的差距,DSM用領(lǐng)域模型表示“領(lǐng)域概念”,代碼生成所需要的信息包含在領(lǐng)域模型中,從而代碼可從領(lǐng)域模型中自動(dòng)生成,在領(lǐng)域框架的作用下,這些代碼變成了最終產(chǎn)品。DSM隱藏代碼的方式,正如今天編程方式下隱藏編譯器的方式是一樣的。DSM主要做兩件事。第一,不用通過(guò)編程而是通過(guò)特定語(yǔ)言中的解決方案來(lái)提升抽象水平。該語(yǔ)言直接使用某一特定問(wèn)題域中的概念和規(guī)則。第二,用選擇的程序設(shè)計(jì)語(yǔ)言或從高層次規(guī)約中產(chǎn)生的其他方式生成目標(biāo)代碼。因?yàn)槟P驼Z(yǔ)言、代碼生成和框架代碼都被要求適用于一個(gè)特定應(yīng)用領(lǐng)域的需求,應(yīng)用程序開發(fā)的自動(dòng)化成為可能。換言之,應(yīng)用程序開發(fā)是面向領(lǐng)域的并且完全在用戶的控制之下的。DSM的目標(biāo)即是針對(duì)實(shí)現(xiàn)而建模,而非分析與設(shè)計(jì)的工具。在特定領(lǐng)域可執(zhí)行元建模語(yǔ)言xDSMML的精確定義下,通過(guò)xDSM元模型針對(duì)特定領(lǐng)域應(yīng)用建立xDSM應(yīng)用模型,xDSM應(yīng)用模型精確完整的描述了系統(tǒng)行為,滿足MMLs5的要求。但是,單純的xDSM是不可能執(zhí)行的,它必須依靠一定執(zhí)行環(huán)境來(lái)解析執(zhí)行,特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施DSMEI提供了xDSM應(yīng)用模型的執(zhí)行環(huán)境。DSMEI解析xDSM應(yīng)用模型的行為語(yǔ)義,轉(zhuǎn)化為帶有精確語(yǔ)義的操作序列,同時(shí)執(zhí)行操作以實(shí)現(xiàn)系統(tǒng)目標(biāo)。DSMEI整合了領(lǐng)域框架并結(jié)合特定領(lǐng)域WEB服務(wù)原子群AGDSWS為虛擬操作提供軟件功能實(shí)體。從而使xDSM成為了在DSMEI中可執(zhí)行的軟件制品。下面結(jié)合具體實(shí)施例對(duì)本發(fā)明的應(yīng)用原理作進(jìn)一步的兒描述。為了實(shí)現(xiàn)模型與系統(tǒng)實(shí)現(xiàn)的自動(dòng)轉(zhuǎn)化,可以從兩方面著手,其一:精化模型,降低抽象度,使模型能夠精確完整的描述軟件,逐步靠近系統(tǒng)實(shí)現(xiàn)。模型成熟度MMLs就是一個(gè)度量模型描述能力和抽象度的標(biāo)準(zhǔn),模型的精化也是從模糊到精確,從抽象到具體的過(guò)程,一步步的縮小與系統(tǒng)實(shí)現(xiàn)的差距,從而能夠更加有效的生成軟件系統(tǒng)。MMLs4和MMLs5級(jí)是比較適合作為代碼生成的模型成熟度級(jí)別,越向上轉(zhuǎn)化為系統(tǒng)實(shí)現(xiàn)的難度越大,甚至于不可能達(dá)到。基于UML通用建模語(yǔ)言的相關(guān)可執(zhí)行模型的構(gòu)建也是按照這一思路發(fā)展的,從UML2.0開始對(duì)UML體系結(jié)構(gòu)進(jìn)行了根本的改變,更加注重行為建模,并且引入了部分高級(jí)語(yǔ)言元素,同時(shí)使用OCL對(duì)模型進(jìn)行精確的約束,在xUML和xtUML中直接使用動(dòng)作規(guī)約語(yǔ)言來(lái)補(bǔ)充描述系統(tǒng),更加精確和完整的貼近實(shí)現(xiàn),便于向系統(tǒng)實(shí)現(xiàn)轉(zhuǎn)換。第二:提高代碼生成器的實(shí)現(xiàn)技術(shù),使代碼生成具有很強(qiáng)的適應(yīng)性和靈活性,逐步靠近模型描述。模型驅(qū)動(dòng)開發(fā)是建立在現(xiàn)有技術(shù)之上的,計(jì)算機(jī)技術(shù)的進(jìn)步也將推動(dòng)模型驅(qū)動(dòng)開發(fā)的實(shí)現(xiàn),面向?qū)ο蠹夹g(shù)的出現(xiàn)促成了UML的成功,組件技術(shù)、分布式技術(shù)、人工智能、數(shù)據(jù)挖掘等計(jì)算機(jī)技術(shù)的逐步發(fā)展也將促進(jìn)代碼生成器或更進(jìn)一步的模型虛擬機(jī)(ModelVirtualMachine,MVM)的實(shí)現(xiàn),自動(dòng)完整的將模型轉(zhuǎn)化為系統(tǒng)實(shí)現(xiàn),甚至是比較模糊的軟件模型。本發(fā)明以網(wǎng)上購(gòu)物系統(tǒng)為應(yīng)用案例,通過(guò)基于WEB服務(wù)的可執(zhí)行的特定領(lǐng)域建模架構(gòu)構(gòu)建特定領(lǐng)域可執(zhí)行模型,并在特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施DSMEI中執(zhí)行xDSM應(yīng)用模型以實(shí)現(xiàn)案例系統(tǒng)。以特定領(lǐng)域可執(zhí)行模型為核心結(jié)合應(yīng)用案例重點(diǎn)說(shuō)明特定領(lǐng)域建模過(guò)程與實(shí)施框架。當(dāng)前的互聯(lián)網(wǎng)不僅為人們提供一個(gè)信息平臺(tái),更提供了一個(gè)交易平臺(tái),無(wú)論是企業(yè)間(B2B)、企業(yè)和客戶間(B2C)還是客戶與客戶間(C2C)都能夠足不出戶的利用互聯(lián)網(wǎng)進(jìn)行交易,實(shí)現(xiàn)網(wǎng)上購(gòu)物,從而大幅度的提高交易速度,節(jié)約交易成本。本發(fā)明以網(wǎng)上購(gòu)物核心片斷進(jìn)行領(lǐng)域分析,構(gòu)建可執(zhí)行模型。1網(wǎng)上購(gòu)物領(lǐng)域分析網(wǎng)上購(gòu)物以在線購(gòu)物(OnlineShopping)核心片斷作為特定領(lǐng)域,進(jìn)行領(lǐng)域分析。在線購(gòu)物通過(guò)客戶登錄系統(tǒng),分類瀏覽商品信息,選擇多個(gè)目標(biāo)商品形成訂單,最后選擇配送方式,并通過(guò)銀行在線支付完成交易。對(duì)于大部分網(wǎng)上購(gòu)物系統(tǒng)而言,這個(gè)業(yè)務(wù)處理過(guò)程是相同的,需求也是共通的,能夠采用B/S的結(jié)構(gòu)來(lái)架構(gòu)該系統(tǒng)。但在具體的各個(gè)網(wǎng)上購(gòu)物系統(tǒng)實(shí)現(xiàn)上,其商品信息,客戶信息以及業(yè)務(wù)規(guī)則是不盡相同。通過(guò)分析,本發(fā)明能夠得到幾個(gè)主要的領(lǐng)域概念:客戶(Customer):客戶作為網(wǎng)上購(gòu)物的主體,包含了注冊(cè)用戶的所有信息。經(jīng)過(guò)密碼驗(yàn)證登錄進(jìn)入系統(tǒng),所有的網(wǎng)上購(gòu)物環(huán)節(jié)都與客戶有關(guān)聯(lián),包括訂單、配送、在線支付等。商品瀏覽(BrowserProduct):用戶通過(guò)不同的分類瀏覽商家提供的商品信息列表,并查詢其詳細(xì)信息。選購(gòu)商品(BuyProduct):通過(guò)商品瀏覽,用戶選擇并訂購(gòu)商品,形成訂單。訂單(Order):訂單從客戶選購(gòu)商品中形成,是客戶購(gòu)買的商品集合,也是配送與支付的基本單元。貨物配送(FreightDelivery):收集商品配送信息,并通過(guò)訂單信息計(jì)算配送費(fèi)用。選擇配送(SelectDelivery):選擇配送供應(yīng)商,并決定貨物配送的具體細(xì)節(jié)。銀行支付(BankPayment):與銀行對(duì)接完成交易費(fèi)用的支付。在線交易(OnlineTransaction):選擇支付銀行并根據(jù)訂單在線交易。2網(wǎng)上購(gòu)物建模過(guò)程2.1元建模階段在網(wǎng)上購(gòu)物系統(tǒng)的領(lǐng)域分析基礎(chǔ)上,本發(fā)明使用通用建模環(huán)境Archware進(jìn)行xDSM元建模。首先建立“網(wǎng)上購(gòu)物”的領(lǐng)域空間,在其上建立網(wǎng)上購(gòu)物領(lǐng)域的元模型,在元模型設(shè)計(jì)器中可視化的定義模型元素。根據(jù)網(wǎng)上購(gòu)物的領(lǐng)域分析,得到了相關(guān)的領(lǐng)域概念,從而定義網(wǎng)上購(gòu)物領(lǐng)域空間的xDSM元模型。首先定義元模型中模型元素的基本屬性、圖示及事件。在通用建模環(huán)境Archware中通過(guò)定義元模型元素的屬性、圖示及事件建立了基礎(chǔ)的網(wǎng)上購(gòu)物領(lǐng)域空間的xDSM元模型,領(lǐng)域?qū)嶓w,領(lǐng)域?qū)嶓w的關(guān)聯(lián)引用行為場(chǎng)景基礎(chǔ)元模型的關(guān)聯(lián)元素,事件主要都是DesignTimeEvent,由通用建模環(huán)境在應(yīng)用建模時(shí)實(shí)現(xiàn)。同時(shí)對(duì)于領(lǐng)域?qū)嶓w之上能夠附加模型約束,它與事件一樣,都是使用AS&MC語(yǔ)法定義的,能夠完善xDSM元模型的細(xì)節(jié)。例如:·“訂單”領(lǐng)域?qū)嶓w的模型約束,它是一個(gè)不變式:訂單內(nèi)Products的價(jià)格總合等于TotalPrice。·“客戶”領(lǐng)域?qū)嶓w的設(shè)計(jì)期鼠標(biāo)點(diǎn)擊事件:初始化并顯示屬性配置界面,由Archware實(shí)現(xiàn)。在Archware中,本發(fā)明能夠通過(guò)三種方式定義行為操作。首先、以行為場(chǎng)景利用其他xDSM元模型構(gòu)造行為操作;其次、通過(guò)AS&MC語(yǔ)法定義行為操作;第三、將行為操作定義為抽象操作,用具體的WEB服務(wù)實(shí)現(xiàn)它。網(wǎng)上購(gòu)物領(lǐng)域空間的xDSM元模型所定義的模型元素具有多個(gè)行為操作,實(shí)現(xiàn)領(lǐng)域概念所包含的系統(tǒng)功能??蛻?Customer)·密碼驗(yàn)證[抽象操作]OperationPasswordValidation;Abstract;InputPinUserID,Password:string;OutputPinResult:Boolean;·登陸界面[抽象操作]OperationLoginInterface;Abstract;InputPinNull;OutputPinResult:string;·用戶登陸[行為場(chǎng)景]OperationLogin;BS;InputPinNull;OutputPinResult:string;商品瀏覽(BrowserProduct)·商品瀏覽[抽象操作]OperationBrowserProduct;Abstract;InputPinBrowserType:string;OutputPinResult:string;選購(gòu)商品(BuyProduct)·選購(gòu)商品[行為場(chǎng)景][主動(dòng)操作]OperationBuyProduct;BS;Active;InputPinNull;OutputPinResult:string;訂單(Order)·訂單確認(rèn)[抽象操作]OperationOrderConfirm;Abstract;InputPinOrderID:string;OutputPinResult:Boolean;·取消訂單[抽象操作]OperationOrderCancel;Abstract;InputPinOrderID:string;OutputPinResult:Boolean;·增加商品[抽象操作]OperationAddProduct;Abstract;InputPinOrderID,ProductID:string;Num:int;OutputPinResult:Boolean;·刪除商品[抽象操作]OperationDelProduct;Abstract;InputPinOrderID,ProductID:string;Num:int;OutputPinResult:Boolean;貨物配送(FreightDelivery)·信息收集[抽象操作]OperationDeliveryInfo;Abstract;InputPinOrderID,DeliveryProvider:string;OutputPinResult:string;·費(fèi)用計(jì)算[抽象操作]OperationCostCalculate;Abstract;InputPinOrderID,DeliveryProvider:string;OutputPinResult:Real;選擇配送(SelectDelivery)·選擇配送[行為場(chǎng)景][主動(dòng)操作]OperationSelectDelivery;BS;Active;InputPinOrderID:string;OutputPinResult:string;銀行支付(BankPayment)·支付信息收集[抽象操作]OperationSelectBank;Abstract;InputPinNull;OutputPinResult:string;·支付確認(rèn)[抽象操作]OperationPayConfirm;Abstract;InputPinOrderID,BankName:string;OutputPinResult:string;·訂單支付[抽象操作]OperationOrderPay;Abstract;InputPinOrderID,BankName:string;Fee:Real;OutputPinResult:Boolean;在線交易(OnlineTransaction)·交易[行為場(chǎng)景][主動(dòng)操作]OperationTransaction;BS;Active;InputPinOrderID:string;OutputPinResult:string;網(wǎng)上購(gòu)物領(lǐng)域空間在元建模階段就提取出所有抽象操作,與實(shí)現(xiàn)該操作的WEB服務(wù)相對(duì)應(yīng),形成領(lǐng)域空間的AGDSWS服務(wù)信息。以“客戶”建模元素的密碼驗(yàn)證抽象操作為例:網(wǎng)上購(gòu)物領(lǐng)域空間,采用xDSM的元模型擴(kuò)展機(jī)制,利用網(wǎng)上購(gòu)物既有元模型與行為場(chǎng)景基礎(chǔ)元模型定義網(wǎng)上購(gòu)物領(lǐng)域元模型模型元素的行為操作,將其固化于xDSM元模型中。網(wǎng)上購(gòu)物領(lǐng)域空間的xDSM元模型中,有多個(gè)模型元素具有行為場(chǎng)景描述的行為操作??蛻裟P驮?,Login操作的行為場(chǎng)景:選擇配送模型元素,SelectDelivery主動(dòng)操作的行為場(chǎng)景:選購(gòu)商品模型元素,BuyProduct主動(dòng)操作的行為場(chǎng)景:在線交易模型元素,Transaction主動(dòng)操作的行為場(chǎng)景:行為場(chǎng)景一方面能夠清晰明確的構(gòu)建xDSM模型中的行為操作,描述系統(tǒng)行為,另一方面以行為場(chǎng)景描述元模型的行為操作,能夠引用其他領(lǐng)域空間元模型,提供領(lǐng)域知識(shí)與實(shí)現(xiàn)的復(fù)用。在行為場(chǎng)景中,利用行為場(chǎng)景基礎(chǔ)元模型的關(guān)系(Relationship)能夠很好的建立控制流,行為場(chǎng)景的數(shù)據(jù)流則需要通過(guò)特定領(lǐng)域建模元素,主要是Relationship上附加的動(dòng)作規(guī)約進(jìn)行關(guān)聯(lián)。動(dòng)作規(guī)約表現(xiàn)為一個(gè)AS&MC語(yǔ)法描述的主動(dòng)操作。在網(wǎng)上購(gòu)物領(lǐng)域空間中,以確認(rèn)登陸事件和客戶密碼驗(yàn)證操作相關(guān)聯(lián)的Relationship為例,其上所具有的主動(dòng)操作接續(xù)了兩者的數(shù)據(jù)。該順序關(guān)系關(guān)聯(lián)元素能夠綁定SR_ActiveOP1主動(dòng)操作固化為元模型中具有特定角色的關(guān)系建模元素,更加方便應(yīng)用建模,限于篇幅,本發(fā)明并未這樣定義。2.2應(yīng)用建模階段基于網(wǎng)上購(gòu)物領(lǐng)域空間的元模型,本發(fā)明針對(duì)自建網(wǎng)上購(gòu)物系統(tǒng)進(jìn)行領(lǐng)域規(guī)約分析。在系統(tǒng)需求規(guī)約的基礎(chǔ)上,在Archware中應(yīng)用網(wǎng)上購(gòu)物領(lǐng)域元模型與行為場(chǎng)景基礎(chǔ)元模型構(gòu)建xDSM應(yīng)用模型。對(duì)于通用建模環(huán)境Archware而言,建模用戶不僅可以構(gòu)建xDSM應(yīng)用模型,而且能夠修改元模型中描述行為操作的行為場(chǎng)景,例如客戶登陸行為場(chǎng)景、選購(gòu)商品行為場(chǎng)景等,從而能夠最大化的提高xDSM模型的可控性,簡(jiǎn)化應(yīng)用模型。3網(wǎng)上購(gòu)物系統(tǒng)的實(shí)施網(wǎng)上購(gòu)物系統(tǒng)建模完成后,形成了網(wǎng)上購(gòu)物領(lǐng)域空間與網(wǎng)上購(gòu)物系統(tǒng)的xDSM應(yīng)用模型,它們是可執(zhí)行模型實(shí)施的基礎(chǔ)。特定領(lǐng)域模型執(zhí)行基礎(chǔ)設(shè)施(DSMEI)是特定領(lǐng)域?qū)嵤┛蚣艿闹饕M成部分。DSMEI裝載并編譯xDSM應(yīng)用模型,形成xDSM行為場(chǎng)景中間代碼,它包含了xDSM中行為場(chǎng)景的行為邏輯過(guò)程以及接口信息,行為邏輯執(zhí)行單元能夠直接加載執(zhí)行。網(wǎng)上購(gòu)物系統(tǒng)的xDSM應(yīng)用模型的執(zhí)行需要AGDSWS的支撐。AGDSWS服務(wù)信息配置工具能夠加載網(wǎng)上購(gòu)物領(lǐng)域空間的AGDSWS服務(wù)信息,同時(shí)也能夠在運(yùn)行時(shí)動(dòng)態(tài)配置支撐WEB服務(wù)。本發(fā)明將網(wǎng)上購(gòu)物系統(tǒng)的xDSM應(yīng)用模型裝載進(jìn)入DSMEI,并將網(wǎng)上購(gòu)物領(lǐng)域空間的AGDSWS服務(wù)信息加載進(jìn)入AGDSWS服務(wù)信息配置后,通過(guò)WEB瀏覽器訪問(wèn)網(wǎng)上購(gòu)物系統(tǒng)的引導(dǎo)頁(yè)面,它使用AJAX技術(shù)調(diào)用DSMEI提供的WEB服務(wù),實(shí)現(xiàn)WEB頁(yè)面DOM動(dòng)態(tài)顯示和交互。本發(fā)明通過(guò)網(wǎng)上購(gòu)物系統(tǒng)的建模與實(shí)施,全面的展示了特定領(lǐng)域建模過(guò)程與特定領(lǐng)域?qū)嵤┛蚣?,其中包括針?duì)網(wǎng)上購(gòu)物領(lǐng)域的xDSM元建模與xDSM應(yīng)用建模,以及在DSMEI中執(zhí)行xDSM應(yīng)用模型,實(shí)現(xiàn)網(wǎng)上購(gòu)物系統(tǒng)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3