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

        ?

        基于Java Bean組件技術(shù)的模型表示研究

        2010-06-05 10:47:46祿,瀟,強(qiáng)
        電子設(shè)計(jì)工程 2010年10期
        關(guān)鍵詞:規(guī)范化方法模型

        孫 祿, 盧 瀟, 張 強(qiáng)

        (空軍工程大學(xué) 電訊工程學(xué)院,陜西 西安 710077)

        模型表示研究一直是解決模型管理中存在問題的主要方式[1]。目前模型表示比較流行的方法有框架表示、結(jié)構(gòu)化表示、面型對(duì)象表示、抽象表示、建模語言表示等,這些表示方法在理論研究和設(shè)計(jì)中對(duì)實(shí)際問題的解決都有顯著的成效,然而各自又或多或少存在著不足:

        1)框架表示模型類的定義沒有引入繼承機(jī)制,以及不支持模型的層次構(gòu)造,而且將模型結(jié)構(gòu)的數(shù)據(jù)轉(zhuǎn)換為方法所需要的數(shù)據(jù)形式也非常困難。

        2)結(jié)構(gòu)表示模型的元素是對(duì)于特定的模型實(shí)例定義的,如果模型中的元素增多,則必須修改。很多模型不能正確區(qū)分各種元素,因此也就無法使用結(jié)構(gòu)化表示。

        3)用建模語言描述的模型實(shí)質(zhì)上就是一個(gè)實(shí)際問題的求解過程,由于它不能使模型與數(shù)據(jù)集相獨(dú)立,所以不能做到模型的重用和共享。

        4)模型抽象的缺點(diǎn)是沒有將對(duì)象和過程封裝成一個(gè)整體,這是它與面向?qū)ο蠓椒ǖ闹饕獏^(qū)別。面向?qū)ο蠓椒ㄕ窃诔橄髷?shù)據(jù)型的基礎(chǔ)上發(fā)展起來的。

        面向?qū)ο骩2]的表示方法是當(dāng)前最為流行的研究方法。它將模型作為對(duì)象來處理,每個(gè)對(duì)象都擁有自己的屬性和操作這些屬性的方法,即“對(duì)象=屬性+方法”。再把模型和對(duì)象對(duì)應(yīng),將模型看作“類”,模型的輸入輸出參數(shù)和對(duì)象的屬性對(duì)應(yīng),模型的運(yùn)算操作、數(shù)據(jù)的存取操作和對(duì)象的方法對(duì)應(yīng),最終構(gòu)造了個(gè)適當(dāng)?shù)挠嘘P(guān)類和子類的結(jié)構(gòu)。

        伴隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)飛速發(fā)展,雖然面向?qū)ο蠓椒ㄒ焉钊肴诵?,但隨著軟件科學(xué)的不斷發(fā)展,使軟件應(yīng)用置身與更加廣闊的環(huán)境中,從而對(duì)應(yīng)用軟件的跨語言、跨平臺(tái)和互操作性提出了更要求[3]。在這種情況下,傳統(tǒng)的面向?qū)ο蠓椒ㄒ呀?jīng)難以適應(yīng)現(xiàn)代的分布式軟件應(yīng)用,這時(shí)基于組件的軟件開發(fā)技術(shù)便蓬勃發(fā)展起來。

        1 組件技術(shù)

        組件化軟件開發(fā)技術(shù)不同于傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)技術(shù),也不同于面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)??梢哉J(rèn)為組件化程序設(shè)計(jì)位于這二者之上,它更注重于應(yīng)用系統(tǒng)的全局,要求對(duì)應(yīng)用系統(tǒng)進(jìn)行全方位的考察。在具體到某個(gè)組件或模塊的設(shè)計(jì)時(shí),仍然是以結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)作為基礎(chǔ)。組件開發(fā)模型的特點(diǎn):1)組件可以方便地集成于框架中,不用修改代碼,不用重新編譯;2)組件的接口和實(shí)現(xiàn)兩者分離。組件的具體實(shí)現(xiàn)被封裝在內(nèi)部,用戶只需關(guān)心接口,不必關(guān)心實(shí)現(xiàn)細(xì)節(jié)。組件通過接口實(shí)現(xiàn)與其他組件和框架進(jìn)行交互;3)組件的接口具有統(tǒng)一的標(biāo)準(zhǔn),組件的組合運(yùn)用相對(duì)容易。

        組件開發(fā)流程如圖1所示。

        圖1 組件開發(fā)流程圖Fig.1 Flow chart of component development

        目前較成熟的組件技術(shù)有Microsoft公司的COM/COM+,OMG公司的CORBA,SUN公司的Java Bean。這3種組件規(guī)范都實(shí)現(xiàn)了組件對(duì)象邏輯層次和位置分布的透明性以及相關(guān)服務(wù),為基于組件的軟件開發(fā)提供對(duì)象管理的基礎(chǔ)設(shè)施。

        CORBA是一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程序體系規(guī)范。主要優(yōu)勢(shì)在于它的語言獨(dú)立性、位置透明性、跨平臺(tái)和互操作性,而且具有很好的負(fù)載均衡能力和安全性,并有眾多公司的支持。但由于OMG向各公司提供的是技術(shù)規(guī)范而非實(shí)現(xiàn)細(xì)節(jié),因此各種CORBA版本不是完全相同的,在利用這些擴(kuò)展性能的同時(shí),開發(fā)者可能不得不損失掉CORBA的互操作性和移植性。

        COM/COM+組件是Microsoft提出的組件標(biāo)準(zhǔn),最初作為桌面操作系統(tǒng)平臺(tái)上的組件技術(shù)?,F(xiàn)已發(fā)展成為Microsoft軟件世界的應(yīng)用系統(tǒng)集成標(biāo)準(zhǔn)。缺點(diǎn)是只能在Windows家族平臺(tái)上運(yùn)行,跨平臺(tái)性差,無法滿足異構(gòu)環(huán)境下企業(yè)應(yīng)用要求。

        Java Bean組件模型為系統(tǒng)開發(fā)者和用戶都提供了很多的便利,如減少系統(tǒng)的市場(chǎng)化時(shí)間,很好的可擴(kuò)展性和可移植性,減少對(duì)開發(fā)者技術(shù)包的依賴,提高開發(fā)效率,保護(hù)企業(yè)已有的投資,降低開發(fā)應(yīng)用軟件的成本等。在多層應(yīng)用環(huán)境下,廠商所開發(fā)的應(yīng)用服務(wù)器擔(dān)任著企業(yè)信息系統(tǒng)中不可或缺的角色,而EJB標(biāo)準(zhǔn)受到全世界大多數(shù)廠家的支持,在系統(tǒng)的開發(fā)、升級(jí)過程中會(huì)有更大的選擇空間。

        Java Bean是一個(gè)純粹的Java類。一個(gè)Java Bean由屬性、方法和事件3部分組成。其中,屬性描述了組件的靜態(tài)特征。通常組件對(duì)象中的私有數(shù)據(jù)成員外界不能夠直接訪問,需要通過專門的訪問(Accessor)方法才能訪問。Accessor方法在Bean中一般以getXxx()和setXxx()的形式成對(duì)出現(xiàn),分別用于讀取和寫入屬性的值。屬性是Bean的共有特性,分為簡(jiǎn)單(simple)、索引(index)、綁定(bound)和限制(constrained)4種。方法用來表述Java Bean組件動(dòng)態(tài)行為。在這些方法中有用來實(shí)現(xiàn)獲取屬性值和設(shè)置屬性值的,Bean的公有方法是Bean和外界接口的一部分。同普通類不同的是,一方面,調(diào)用Bean的實(shí)例方法不是主要途徑;另一方面,屬性和事件是和Bean交互的主要方式。事件用于組件之間的交互,一個(gè)Bean產(chǎn)生的事件可以被多個(gè)Bean接收。事件處理是Java Bean體系結(jié)構(gòu)的核心之一,通過事件處理機(jī)制,可以讓一些組件作為事件源,發(fā)出可被組件環(huán)境或者其他組件接收的事件。這樣不通過的組件就可以在構(gòu)造工具內(nèi)組合在一起,組件之間通過事件的傳遞進(jìn)行通信,構(gòu)成一個(gè)應(yīng)用。

        2 Java Bean組件化設(shè)計(jì)方案

        模型組件化建立在模型規(guī)范化的基礎(chǔ)上,采用組件技術(shù)實(shí)現(xiàn)決策支持系統(tǒng)中模型操作和運(yùn)行的方法,通過上面對(duì)模型表示的敘述以及目前流行的3種組件技術(shù)標(biāo)準(zhǔn)的比較,本文以Java Bean組件技術(shù)為基礎(chǔ),研究設(shè)計(jì)模型組件化表示方案,內(nèi)容包括模型設(shè)計(jì)規(guī)范、模型接口描述、模型運(yùn)行描述。

        2.1 模型設(shè)計(jì)規(guī)范

        模型的規(guī)范化就是提取各個(gè)模型的公共信息,對(duì)模型進(jìn)行統(tǒng)一表達(dá),以方便模型管理、運(yùn)行、組合等,包括模型編碼規(guī)范化、模型數(shù)據(jù)規(guī)范化、模型規(guī)范化封裝等。編碼規(guī)范化便于模型管理,模型數(shù)據(jù)規(guī)范化便于模型的統(tǒng)一調(diào)度、組合運(yùn)行等。它不僅影響模型的存儲(chǔ)方式、運(yùn)行方式、模型的組合結(jié)構(gòu),而且也直接影響到模型管理系統(tǒng)和模型服務(wù)器的體系結(jié)構(gòu)。

        傳統(tǒng)方法認(rèn)為,模型分為原子模型和復(fù)合模型。原子模型是劃分的最小單位,功能不可再分割;復(fù)合模型是由2個(gè)以上的原子模型復(fù)合而成,它們的概念描述[4]為:

        原子模型類(AMC)={Input,Output,Manipulate,Knowledge}; 復(fù)合模型類 (CMC)={Input,Output,Manipulate,Knowledge,F(xiàn)it-together}。

        由于模型的表示基本上采用的是程序化設(shè)計(jì),在程序表示中,將模型規(guī)定為相同的屬性形式有利于模型組合和調(diào)用,減少區(qū)分的各種開銷。

        在規(guī)范模型標(biāo)準(zhǔn)情況下本文將原子模型和復(fù)合模型定義為具有相同的屬性形式:Model={Sort,F(xiàn)unction,Input/Output,Combination},即分類屬性、功能屬性、輸入輸出屬性、組合屬性。具體含義是:1)分類屬性:確定模型的分類特征,以此對(duì)模型進(jìn)行查找、調(diào)用;2)功能屬性:描述模型的功能作用;3)輸入輸出屬性:模型輸入輸出參數(shù)說明;4)組合屬性:模型是否可以組合以及組合方式特點(diǎn)。

        在研究模型的組合特性時(shí),需要對(duì)模型之間的關(guān)系進(jìn)行劃分[5]。不是所有模型之間都存在組合的可能性,相同或相似的知識(shí)領(lǐng)域內(nèi)的模型,在滿足組合條件的情況下才有組合的可能。模型組合的方法主要是通過輸入輸出的控制實(shí)現(xiàn),這是模型組合的接口。模型能夠組合需要滿足以下2個(gè)條件:

        1)Sm1∩Sm2≠?; 2)m1(O)∩m2(I)≠?;

        即模型m1和m2的分類屬性不為空;模型m1和m2的輸出輸入之間存在聯(lián)系。

        對(duì)于模型分類可描述為[6]:M0={mi∈M}Si} i=1,2,…,n;

        其中,M0為總模型體系,Si為分類體系,mi為第i類功能模型群。 Mi={mij∈mi}Sij} i=1,2,…,n j=1,2,…,n;其中,Sij為第i類個(gè)群的分類關(guān)系,mij為第i類模型群中第j個(gè)具體模型。

        2.2 模型組件化設(shè)計(jì)

        圖2所示為模型屬性形式。

        圖2 模型屬性形式Fig.2 Model attribution form

        在規(guī)范化設(shè)計(jì)的基礎(chǔ)上,結(jié)合組件技術(shù)對(duì)模型的各個(gè)部分進(jìn)行定義:

        模型類型(modelSort)的參數(shù)包括 modelname, comment,fatherports, childports;重要函數(shù)是 showmdelinfo(),用以顯示以上參數(shù)。

        接口(modelports)共分為3類,輸入接口、輸出接口和內(nèi)部接口,模型組件對(duì)外只呈現(xiàn)輸入和輸出接口,用于模型組合是傳遞參數(shù)。兩類接口的函數(shù)分別為set/getIutputData();set/getOutputData();

        組合關(guān)系 (modelcombrelation)用來描述模型的組合信息,這也是確定模型是否具有組合的可能。

        模型的功能部分(modelfunction)是模型內(nèi)部運(yùn)行部分,對(duì)外只有描述信息。這部分是模型設(shè)計(jì)者主要設(shè)計(jì)的部分。主要函數(shù)是 showfunctioninfo(),calculate()。

        3 模型管理系統(tǒng)框架設(shè)計(jì)

        模型管理系統(tǒng)是實(shí)現(xiàn)模型管理的系統(tǒng),它對(duì)模型的管理主要體現(xiàn)在模型的建立、模型的運(yùn)行、模型的修改維護(hù)以及模型的組合、集成等方面。模型庫(kù)是模型管理系統(tǒng)的主要組成部分,模型庫(kù)中的每一個(gè)模型都有如下部分:1)描述部分包括描述、主題和關(guān)鍵字等;2)輸入輸出部分包括輸入?yún)?shù)部分和運(yùn)行結(jié)果部分;3)運(yùn)行部分,模型運(yùn)行方法,模型的主要方法,得到的就是運(yùn)行結(jié)果。

        所有模型都通過統(tǒng)一格式的接口來管理模型庫(kù)下的所有模型,利用Java Bean規(guī)范來調(diào)用模型。在組件接口中可以定義主方法,而主方法需要在Bean的實(shí)現(xiàn)類中實(shí)現(xiàn)。在每個(gè)模型的實(shí)現(xiàn)類就是這里的Bean實(shí)現(xiàn)類,它必須有相應(yīng)的方法:

        public void ModelCreate();//建立模型;

        public void ModelRemove();//模型消除;

        public void ModelActivate();//激活模型;

        public void setSessionContext();//它允許會(huì)話 Bean存儲(chǔ)會(huì)話環(huán)境信息;

        而在模型刪除、修改、更新方面,則采用基于模型表的管理方式,模型表中存儲(chǔ)的就是模型字典的信息,對(duì)于每個(gè)模型在模型表中都有相應(yīng)的記錄對(duì)應(yīng)。

        public void setPropertity(String prop1){};//設(shè)置屬性,其中propertity表示表里一個(gè)字段;

        public String getPropertity(){return prop};//取得屬性值;

        在框架化設(shè)計(jì)的基礎(chǔ)上,下面對(duì)模型的創(chuàng)建流程給出描述,如圖3所示。整個(gè)過程分為3個(gè)階段,編碼階段,設(shè)計(jì)階段和運(yùn)行階段。

        圖3 模型文件運(yùn)行流程Fig.3 Running flow of model files

        在編碼階段,模型設(shè)計(jì)人員按照模型需求編寫Java Bean的軟件組件,此時(shí)需要建立Bean的屬性、方法及事件,允許對(duì)Bean進(jìn)行配置并相互傳遞參數(shù)。編寫B(tài)ean程序與編寫其他任何的Java程序一樣,但要求寫出的行為更容易配置。在設(shè)計(jì)階段,模型設(shè)計(jì)人員通過運(yùn)行組件集成工具結(jié)合需求分析將需要的Bean組件“關(guān)聯(lián)”到一起形成新的Bean。設(shè)計(jì)階段包括程序設(shè)計(jì)與系統(tǒng)集成。設(shè)計(jì)階段最終輸出結(jié)果是以jar文件形式給出的軟件組件的裝配結(jié)果。運(yùn)行階段,用戶只要運(yùn)行包含了已經(jīng)完成的定制的jar組件既可實(shí)現(xiàn)模型的調(diào)用。

        4 結(jié)束語

        組件技術(shù)在復(fù)雜軟件系統(tǒng)的設(shè)計(jì)中應(yīng)用廣泛,同時(shí),模型表示研究又是模型管理研究的熱點(diǎn)問題。本文運(yùn)用Java Bean組件技術(shù)的優(yōu)點(diǎn),設(shè)計(jì)了組件化模型表示方法和模型管理系統(tǒng)框架。具有以下特點(diǎn):1)利用了面向?qū)ο蟮姆庋b特性,將數(shù)據(jù)和模型的方法結(jié)合到一起,在模型的調(diào)用中避免數(shù)據(jù)和模型的分離帶來的不便;2)規(guī)范化后的模型表示在組合中通過一致的接口進(jìn)行參數(shù)的傳遞,提高了組合的效率;3)模型文件采用java語言編程描述,然后打包成jar文件,在跨平臺(tái)調(diào)用上有突出的優(yōu)點(diǎn)。

        [1]陳文偉.決策支持系統(tǒng)及其開發(fā)[M].北京:清華大學(xué)出版社,2000.

        [2]陳昊鵬,李偉華.面向?qū)ο蟮腄SS模型庫(kù)管理系統(tǒng)設(shè)計(jì)[J].西北大學(xué)學(xué)報(bào):自然科學(xué)版,2002,32(1):48-50.CHEN Hao-peng, LIWei-hua.Design ofmodel-base managementsystem ofDSS based on object-oriented database[J].Journal of Northwest University:Nature Science Edition,2002,32(1):48-50.

        [3]Goul M,Corral K.Enterprise model management and next generation decision support[J].Decision Support Systems,2007(43):915-932.

        [4]申建剛,夏國(guó)平.采用擴(kuò)展OWL-S的決策模型表示框架[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(23):1-5.SHEN Jian-gang,XIA Guo-ping.Representation framework for decision models using extended OWL-S[J].Computer Engineering and Applications,2009,45(23):1-5.

        [5]高暢.模型管理操作研究[D].北京:燕山大學(xué),2006.

        [6]Jarzabek S.Domain model-driven software reengineering and maintenance[J].Journal of System and Software,1993,20(1):37-51.

        猜你喜歡
        規(guī)范化方法模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        價(jià)格認(rèn)定的規(guī)范化之路
        商周刊(2017年23期)2017-11-24 03:24:09
        可能是方法不對(duì)
        3D打印中的模型分割與打包
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        捕魚
        狂犬?、蠹?jí)暴露規(guī)范化預(yù)防處置實(shí)踐
        亚洲乱熟妇一区二区三区蜜桃 | 野花社区www高清视频| a人片在线观看苍苍影院| 欧美成人免费观看国产| 午夜精品一区二区久久做老熟女| 国产亚洲精品综合在线网站| 2020国产在视频线自在拍| 国产精品自在拍在线拍| y111111少妇影院无码| 精品国产品欧美日产在线| 午夜无码片在线观看影院y| 一区二区亚洲精品国产精| 国产人成精品免费久久久| 人妻尝试又大又粗久久| 骚小妹影院| 亚洲国产美女精品久久| 尤物AV无码色AV无码麻豆| 国产一区三区二区视频在线观看| 亚洲国产精品亚洲一区二区三区| 亚洲高清乱码午夜电影网| 又爽又黄又无遮挡网站动态图| 中字幕久久久人妻熟女 | 国产自产拍精品视频免费看| 成人亚洲av网站在线看| 九九九免费观看视频| 国产精品免费大片| 亚洲午夜久久久久中文字幕久| 亚洲av精品一区二区| 一本色道久在线综合色| 色噜噜狠狠综曰曰曰| 亚洲伊人久久大香线蕉综合图片| 国产精品99久久不卡二区| 国产亚洲精品一区在线| 十四以下岁毛片带血a级| 成人综合婷婷国产精品久久蜜臀| 亚州AV无码乱码精品国产| 国产黄色污一区二区三区| 亚洲一区二区在线观看网址| 亚洲人成未满十八禁网站| 国产一区二区三区4区| 日本妇女高清一区二区三区|