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

基于Java Bean組件技術的模型表示研究

2010-06-05 10:47:46祿,瀟,
電子設計工程 2010年10期
關鍵詞:規范化方法模型

孫 祿, 盧 瀟, 張 強

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

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

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

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

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

4)模型抽象的缺點是沒有將對象和過程封裝成一個整體,這是它與面向對象方法的主要區別。面向對象方法正是在抽象數據型的基礎上發展起來的。

面向對象[2]的表示方法是當前最為流行的研究方法。它將模型作為對象來處理,每個對象都擁有自己的屬性和操作這些屬性的方法,即“對象=屬性+方法”。再把模型和對象對應,將模型看作“類”,模型的輸入輸出參數和對象的屬性對應,模型的運算操作、數據的存取操作和對象的方法對應,最終構造了個適當的有關類和子類的結構。

伴隨著計算機和網絡技術飛速發展,雖然面向對象方法已深入人心,但隨著軟件科學的不斷發展,使軟件應用置身與更加廣闊的環境中,從而對應用軟件的跨語言、跨平臺和互操作性提出了更要求[3]。在這種情況下,傳統的面向對象方法已經難以適應現代的分布式軟件應用,這時基于組件的軟件開發技術便蓬勃發展起來。

1 組件技術

組件化軟件開發技術不同于傳統的結構化程序設計技術,也不同于面向對象程序設計技術??梢哉J為組件化程序設計位于這二者之上,它更注重于應用系統的全局,要求對應用系統進行全方位的考察。在具體到某個組件或模塊的設計時,仍然是以結構化程序設計和面向對象程序設計技術作為基礎。組件開發模型的特點:1)組件可以方便地集成于框架中,不用修改代碼,不用重新編譯;2)組件的接口和實現兩者分離。組件的具體實現被封裝在內部,用戶只需關心接口,不必關心實現細節。組件通過接口實現與其他組件和框架進行交互;3)組件的接口具有統一的標準,組件的組合運用相對容易。

組件開發流程如圖1所示。

圖1 組件開發流程圖Fig.1 Flow chart of component development

目前較成熟的組件技術有Microsoft公司的COM/COM+,OMG公司的CORBA,SUN公司的Java Bean。這3種組件規范都實現了組件對象邏輯層次和位置分布的透明性以及相關服務,為基于組件的軟件開發提供對象管理的基礎設施。

CORBA是一種標準的面向對象應用程序體系規范。主要優勢在于它的語言獨立性、位置透明性、跨平臺和互操作性,而且具有很好的負載均衡能力和安全性,并有眾多公司的支持。但由于OMG向各公司提供的是技術規范而非實現細節,因此各種CORBA版本不是完全相同的,在利用這些擴展性能的同時,開發者可能不得不損失掉CORBA的互操作性和移植性。

COM/COM+組件是Microsoft提出的組件標準,最初作為桌面操作系統平臺上的組件技術?,F已發展成為Microsoft軟件世界的應用系統集成標準。缺點是只能在Windows家族平臺上運行,跨平臺性差,無法滿足異構環境下企業應用要求。

Java Bean組件模型為系統開發者和用戶都提供了很多的便利,如減少系統的市場化時間,很好的可擴展性和可移植性,減少對開發者技術包的依賴,提高開發效率,保護企業已有的投資,降低開發應用軟件的成本等。在多層應用環境下,廠商所開發的應用服務器擔任著企業信息系統中不可或缺的角色,而EJB標準受到全世界大多數廠家的支持,在系統的開發、升級過程中會有更大的選擇空間。

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

2 Java Bean組件化設計方案

模型組件化建立在模型規范化的基礎上,采用組件技術實現決策支持系統中模型操作和運行的方法,通過上面對模型表示的敘述以及目前流行的3種組件技術標準的比較,本文以Java Bean組件技術為基礎,研究設計模型組件化表示方案,內容包括模型設計規范、模型接口描述、模型運行描述。

2.1 模型設計規范

模型的規范化就是提取各個模型的公共信息,對模型進行統一表達,以方便模型管理、運行、組合等,包括模型編碼規范化、模型數據規范化、模型規范化封裝等。編碼規范化便于模型管理,模型數據規范化便于模型的統一調度、組合運行等。它不僅影響模型的存儲方式、運行方式、模型的組合結構,而且也直接影響到模型管理系統和模型服務器的體系結構。

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

原子模型類(AMC)={Input,Output,Manipulate,Knowledge}; 復合模型類 (CMC)={Input,Output,Manipulate,Knowledge,Fit-together}。

由于模型的表示基本上采用的是程序化設計,在程序表示中,將模型規定為相同的屬性形式有利于模型組合和調用,減少區分的各種開銷。

在規范模型標準情況下本文將原子模型和復合模型定義為具有相同的屬性形式:Model={Sort,Function,Input/Output,Combination},即分類屬性、功能屬性、輸入輸出屬性、組合屬性。具體含義是:1)分類屬性:確定模型的分類特征,以此對模型進行查找、調用;2)功能屬性:描述模型的功能作用;3)輸入輸出屬性:模型輸入輸出參數說明;4)組合屬性:模型是否可以組合以及組合方式特點。

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

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

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

對于模型分類可描述為[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類個群的分類關系,mij為第i類模型群中第j個具體模型。

2.2 模型組件化設計

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

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

在規范化設計的基礎上,結合組件技術對模型的各個部分進行定義:

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

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

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

模型的功能部分(modelfunction)是模型內部運行部分,對外只有描述信息。這部分是模型設計者主要設計的部分。主要函數是 showfunctioninfo(),calculate()。

3 模型管理系統框架設計

模型管理系統是實現模型管理的系統,它對模型的管理主要體現在模型的建立、模型的運行、模型的修改維護以及模型的組合、集成等方面。模型庫是模型管理系統的主要組成部分,模型庫中的每一個模型都有如下部分:1)描述部分包括描述、主題和關鍵字等;2)輸入輸出部分包括輸入參數部分和運行結果部分;3)運行部分,模型運行方法,模型的主要方法,得到的就是運行結果。

所有模型都通過統一格式的接口來管理模型庫下的所有模型,利用Java Bean規范來調用模型。在組件接口中可以定義主方法,而主方法需要在Bean的實現類中實現。在每個模型的實現類就是這里的Bean實現類,它必須有相應的方法:

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

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

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

public void setSessionContext();//它允許會話 Bean存儲會話環境信息;

而在模型刪除、修改、更新方面,則采用基于模型表的管理方式,模型表中存儲的就是模型字典的信息,對于每個模型在模型表中都有相應的記錄對應。

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

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

在框架化設計的基礎上,下面對模型的創建流程給出描述,如圖3所示。整個過程分為3個階段,編碼階段,設計階段和運行階段。

圖3 模型文件運行流程Fig.3 Running flow of model files

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

4 結束語

組件技術在復雜軟件系統的設計中應用廣泛,同時,模型表示研究又是模型管理研究的熱點問題。本文運用Java Bean組件技術的優點,設計了組件化模型表示方法和模型管理系統框架。具有以下特點:1)利用了面向對象的封裝特性,將數據和模型的方法結合到一起,在模型的調用中避免數據和模型的分離帶來的不便;2)規范化后的模型表示在組合中通過一致的接口進行參數的傳遞,提高了組合的效率;3)模型文件采用java語言編程描述,然后打包成jar文件,在跨平臺調用上有突出的優點。

[1]陳文偉.決策支持系統及其開發[M].北京:清華大學出版社,2000.

[2]陳昊鵬,李偉華.面向對象的DSS模型庫管理系統設計[J].西北大學學報:自然科學版,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]申建剛,夏國平.采用擴展OWL-S的決策模型表示框架[J].計算機工程與應用,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].北京:燕山大學,2006.

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

猜你喜歡
規范化方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
價格認定的規范化之路
商周刊(2017年23期)2017-11-24 03:24:09
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
狂犬?、蠹壉┞兑幏痘A防處置實踐
高血壓病中醫規范化管理模式思考
主站蜘蛛池模板: 欧美日韩国产在线观看一区二区三区| 国产成人高清精品免费| 国产成人福利在线| 国产一国产一有一级毛片视频| 成人福利在线视频| 久久无码av一区二区三区| 国产一级小视频| 日韩 欧美 国产 精品 综合| 日韩不卡高清视频| 四虎综合网| 久久久久88色偷偷| 亚洲欧洲国产成人综合不卡| 午夜天堂视频| 国产精品30p| 日本黄色a视频| 蜜臀AV在线播放| 亚洲欧美日韩综合二区三区| 国产视频你懂得| 国产一二三区视频| 国产成人永久免费视频| 69综合网| 久久午夜夜伦鲁鲁片无码免费| 国产精品欧美亚洲韩国日本不卡| 欧美成人综合视频| 日本在线亚洲| 国产精品美人久久久久久AV| 九九热免费在线视频| 97精品国产高清久久久久蜜芽| 成年看免费观看视频拍拍| 国产精品播放| 亚洲欧美成人综合| 99er精品视频| 欧美va亚洲va香蕉在线| 国产视频一区二区在线观看 | 国产黑丝一区| a级毛片免费看| 欧美成人午夜视频| 日韩第九页| 亚洲欧美成aⅴ人在线观看| 国产菊爆视频在线观看| 日本亚洲成高清一区二区三区| 亚洲人免费视频| 狠狠色香婷婷久久亚洲精品| 午夜一级做a爰片久久毛片| 午夜国产在线观看| 国产成年无码AⅤ片在线| 丝袜亚洲综合| 亚洲国产高清精品线久久| 久久国产拍爱| 亚洲欧美国产视频| 国产va在线观看免费| 精品91视频| 黑人巨大精品欧美一区二区区| 亚洲乱亚洲乱妇24p| 少妇精品在线| 制服丝袜一区| 亚洲日韩久久综合中文字幕| 91精品情国产情侣高潮对白蜜| 国产乱肥老妇精品视频| 亚洲成年人网| 在线中文字幕网| 九色在线视频导航91| 国产成人a毛片在线| 久久久国产精品免费视频| 麻豆AV网站免费进入| 日韩av手机在线| 麻豆精品在线视频| 亚洲欧洲日本在线| 久久五月天国产自| 国产高清国内精品福利| 中文字幕天无码久久精品视频免费 | 在线观看视频99| 午夜视频在线观看免费网站| 在线色国产| 国产91视频免费| 亚洲国产av无码综合原创国产| 成人日韩视频| 97国产精品视频自在拍| 亚洲va精品中文字幕| av一区二区无码在线| 亚洲精品无码高潮喷水A| 欧洲高清无码在线|