《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于構件的組裝開發環境

基于構件的組裝開發環境

2008-12-22
作者:謝曉芹 李涓子 徐鵬 王克宏
1 引言
??? 構件是可獨立開發和部署的單元,它具有自包含性,可重用性。基于構件的軟件開發可以提高軟件開發效率和產品質量, 基于構件的軟件開發要求相應的工具支持. 基于構件的開發環境" title="開發環境">開發環境(Component-based Development Environment, 簡稱CBDE)已成為軟件工程領域的一個研究熱點。CBDE必須為用戶提供重用構件的所有信息.本文介紹了構件模型" title="構件模型">構件模型的研究現狀" title="研究現狀">研究現狀,CBDE環境的需求以及java語言對CBDE需求的滿足,最后給出了一個原型系統實現。
2 構件模型
??? 構件的表現形式多種多樣,但在組裝開發環境中應以一種統一的方式對其建模,才能實現異構" title="異構">異構構件的集成,實現真正的構件重用。
2.1 構件模型內容
??? 構件模型定義了構件的本質屬性,規定了構件接口的結構以及構件之間、構件與構件基礎設施之間的交互機制。對構件的建模通常包含以下幾個方面[1]:
。語法級:傳統的接口描述語言、通常的程序設計語言;
。行為級:通過前后條件來刻畫操作的語義;
。同步級:設定構件的不同操作之間的同步來保證相應操作的原子性;
。質量級:刻畫構件所提供的服務的質量,如:最大響應延遲、平均響應時間等。
。非技術級:包括作者,日期,公司名稱,關鍵詞等.
2.2 研究現狀
?? 目前在學術界和產業界出現了多種構件模型,其中Traczi 90年提出的3C模型是學術界普遍認同的一個具有指導性作用的構件模型。該模型從概念(Concept)、內容(Content)和語境(Context)三個不同方面來描述構件[3]:
。概念:關于構件做什么的抽象描述,可以通過概念去理解構件的功能。概念包括接口規范和語義描述兩個部分。
。內容:概念的具體實現,描述構件如何完成概念所刻畫的功能。
。語境:構件和外圍環境在概念級和內容級的關系,語境刻畫構件的應用環境,為構件的選用和適應性修改提供指導。
? ?但是3C模型本身沒有形式化的良好定義。在產業界,成熟的構件模型有OMG的CORBA、Microsoft的COM/DCOM/COM+和SUN的JavaBeans/EJB,它們三足鼎立,構成了實現級構件模型工業標準的競爭與互操作并存的格局。但這些構件模型有自己獨有的實現語法和語義,要實現異構構件的共享有一定困難。 許多文獻提出了自己的構件模型,及其相應的組裝方法。但這些模型通常局限于專有的領域,缺乏通用性。現有的構件模型一般認為構件由構件接口和構件內容兩部分組成,構件接口是為成功復用" title="復用">復用該軟件實體而需要提供給外界的所有信息,包括構件向外提供和請求的服務、構件的自描述信息和定制信息、構件的初始化、實例化和永久化方法以及構件對目標復用環境的依賴和構件組裝信息等[4]。構件內容就是直接復用的軟件實體,它可以具有源代碼、二進制碼、文檔、分析設計模型和腳本等不同的物理形態,并遵從一定的格式標準。XML語言被用來作為構件的描述語言,將有利于基于Web的構件復用。Java語言作為跨平臺的語言可用來實現構件內容。
3 基于構件的開發環境(Component-Based Development Environment)
??? 基于構件的開發的前提除了要有大量可供選擇的構件外,還需要有相應的工具支撐。CBDE可幫助用戶完成基于構件的開發過程,為構件的瀏覽、定制和組裝提供統一平臺,從而支持異構構件的集成和組裝。
3.1 CBDE的功能需求
??? CBDE的設計必須滿足如下七種需求[2]:
。?必須遵循模塊化設計的規則. CBDE環境能夠將構件的私有部分和公開部分進行分離. 私有部分無法從構件外部訪問,一般包括構件的實現和資源兩部分. 公有部分包括構件的自描述信息,實例化機制,以及可選的公共接口定義. 語法描述的基本單元是接口, 接口描述是獨立于構件, 根據接口描述開發商可以提供可互換的構件.
。?環境必須支持構件的自描述, 構件的元數據直接存儲在構件內部. 外部描述易造成構件實現與描述數據的不一致性, 且不易構件的查詢. 而內部自描述提供了自動生成描述文件的可能性; 減輕了對構件庫的要求;而且將構件之間的依賴關系描述也封裝在構件內部,利于構件實現的演化.
。?構件必須在一個全局的接口名字空間內定義和訪問. 這樣就能以全球唯一的方式命名構件接口,從而降低名字空間的語義匹配問題.
。?環境必須支持構件開發和應用組裝兩種開發過程. CBDE支持傳統的構件開發,但又擅長于支持應用組裝,構件開發集中在功能方面,應用組裝著重于應用的商業邏輯. 應用組裝是包含搜索,選擇,配置構件三步的一個迭代過程.
。 必須支持多種視圖,包括開發視圖,組裝視圖,類型視圖和實例視圖. 前兩者表示前述的面向構件的兩種開發過程, 后兩者表示組裝視圖的兩種刻面.?
。?必須解決構件的維護問題. 引用重用可以解決構件的演化問題. 引用重用意味著在Internet上保存引用構件的單一主備份, 一般CBDE以緩存機制提供復制功能, 同時CBDE在使用構件的應用和存放該構件的庫之間建立永久連接,這樣構件能實現自動更新.
3.2 Java語言對CBDE的支持
?? Java語言支持構件技術, 如SUN提出的構件模型有JavaBean和Enterprise Java Bean. 而且Java語言能很好的滿足第2節中提出的需求[2].
。?Java語言支持在類級和包級的封裝. 一個構件可以看成一個或多個類或者是一個包.
。?Java語言用接口實現比多重繼承更強的功能。接口和類可以同等對待,接口把方法的定義和類的層次區分開來,通過它可以在運行時動態地定位所調用的方法,有利于代碼的重用。
。?Java提供反射機制,能在運行時獲取構件的型構描述. 因此自動生成構件的自描述信息成為可能.
。?Java接口使用一種世界通用的名字空間定義, 例如包的命名定義以反向的Internet域名開始。
。?Java支持動態鏈接和后綁定。
4 原型實現
??? 基于上述思想,我們利用Java語言設計了構件組裝引擎的原型系統,系統的支撐運行環境如圖1示。Java作為構件的實現語言,XML作為構件的描述語言,基于XML的體系結構描述語言作為模式語言。組裝模式描述了構件間的連接方式,它被看作是與構件同等的實體。組裝模式描述了角色之間的交互關系,一個構件能扮演一個或多個角色,一個角色也可被不同的構件實現。該系統的主要功能模塊為:
1).用戶需求的可視化表示到構件組裝腳本語言的轉換
a.?將用戶需求、構件的使用場景以及構件交互關系用相應的文檔表示格式記錄下來。
b.?構件間的交互可以用消息序列圖描述,傳送的消息來自面向領域構件間交互原語字典。這樣在描述構件和組裝模式時能避免對API的直接調用,增加重用性。
2).構件組裝語言編譯器設計實現
? ? 包括語法分析器,語義分析器和代碼生成器。
??? 因為構件組裝語言采用XML語法結構,語法分析器可以使用XML相關技術實現。語義分析器主要是針對消息序列圖和組裝語義定義實現。代碼生成器完成構件組裝語言到最終系統編程語言的實現,主要是原語與具體API的映射。體現了應用=構件+腳本的理念。

結論
??? 本文給出了構件模型的研究現狀和存在問題,研究了基于構件的開發環境需滿足的條件,并利用Java語言實現了構件組裝引擎原型系統,可視化構件組裝模型的設計已應用于數據表示引擎系統中。

參考文獻
[1] Beugnard, A., Jézéquel, J.-M., Plouzeau, N., and Watkins, D. Making Components Contract Aware.
Computer 32, 7 (1999), 38-45.
[2] C. Lüer and D. Rosenblum, "WREN - An Environment for Component-Based Development", In Proceedings of the Joint 8th European Software Engineering Conference and 9th ACM Sigsoft International Symposium on the Foundations of Software Engineering (FSE-9), Vienna, 2001,
[3] Tracz, W., “Where Does Reuse Start?” Proc. Realities of Reuse Workshop, Syracuse University CASE Center, January 1990.
[4] 張波 基于XML的分布式軟件體系結構研究 中科院博士學位論文 2001

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
91久久久一线二线三线品牌| 久久久久久久高潮| 性欧美暴力猛交69hd| av成人老司机| 亚洲精品视频在线播放| 在线播放中文字幕一区| 国产一区二区无遮挡| 国产日韩欧美成人| 国产精品综合不卡av| 国产精品免费一区二区三区在线观看| 欧美日韩精品免费观看| 欧美韩日一区| 欧美刺激性大交免费视频| 老司机精品导航| 麻豆成人综合网| 老牛嫩草一区二区三区日本| 久久亚洲私人国产精品va| 久久亚洲精品伦理| 久热精品视频在线| 老司机精品福利视频| 美腿丝袜亚洲色图| 欧美电影免费观看网站| 欧美激情视频一区二区三区在线播放 | 麻豆国产精品一区二区三区 | 亚洲第一精品夜夜躁人人躁| 亚洲国产高潮在线观看| 最新成人av网站| 夜夜爽av福利精品导航| 中文在线不卡| 先锋影音国产精品| 久久精品2019中文字幕| 亚洲每日在线| 亚洲欧美精品在线| 久久久久久成人| 美女视频一区免费观看| 欧美日韩精品欧美日韩精品一| 国产精品久久久一本精品| 国产日韩精品在线观看| 樱花yy私人影院亚洲| 亚洲精品国产无天堂网2021| 亚洲一区二区三区欧美| 久久av一区二区三区| 亚洲另类一区二区| 午夜精品一区二区三区在线视| 欧美一区三区三区高中清蜜桃| 久热精品视频在线| 欧美三级资源在线| 国产亚洲精品资源在线26u| 在线观看91精品国产麻豆| 亚洲美女av电影| 小黄鸭精品aⅴ导航网站入口| 亚洲欧洲一区二区三区| 亚洲自拍偷拍一区| 狂野欧美性猛交xxxx巴西| 欧美日韩综合精品| 黑人一区二区| 99热在线精品观看| 亚洲第一免费播放区| 99成人在线| 久久av一区二区三区亚洲| 欧美成人日本| 国产女主播视频一区二区| 亚洲第一福利社区| 亚洲欧美卡通另类91av| 亚洲精品在线观看免费| 欧美在线观看你懂的| 欧美噜噜久久久xxx| 国产欧美va欧美不卡在线| 最新国产乱人伦偷精品免费网站| 午夜精品福利视频| 亚洲手机成人高清视频| 久久尤物电影视频在线观看| 欧美日韩一区二区三区在线观看免| 国产一区二区三区高清播放| 日韩亚洲欧美在线观看| 亚洲国产成人av在线| 午夜欧美精品| 欧美日韩国产一级| 激情久久一区| 亚洲小说欧美另类社区| 亚洲人成啪啪网站| 久久久久国产精品一区三寸| 欧美日韩中字| 亚洲肉体裸体xxxx137| 欧美在线观看视频在线| 午夜精品美女自拍福到在线 | 国产欧美亚洲一区| 99ri日韩精品视频| 亚洲黄色天堂| 久久精品道一区二区三区| 欧美日韩在线观看视频| 亚洲第一伊人| 久久国产日韩| 欧美诱惑福利视频| 国产精品你懂的| 99视频一区二区| 一本一本久久a久久精品综合妖精| 久久尤物视频| 国产一区久久久| 亚洲欧美日韩精品一区二区| 一区二区欧美在线观看| 欧美精品在线一区| 亚洲国产美国国产综合一区二区| 亚洲国产导航| 久久综合久久综合这里只有精品| 国产精品一区二区你懂的| 在线午夜精品自拍| 亚洲一级黄色片| 欧美婷婷久久| 99精品国产在热久久| 99国产一区| 欧美日韩免费一区二区三区视频| 亚洲精品少妇| 亚洲美女区一区| 欧美精品在线免费观看| 亚洲全部视频| 99热免费精品在线观看| 欧美精品一区二区三区四区| 亚洲激情网站| 99精品视频免费在线观看| 欧美精品日韩综合在线| 亚洲伦理在线| 一区二区三区四区五区在线 | 激情文学一区| 亚洲国产高清一区| 美女诱惑黄网站一区| 亚洲国产激情| 日韩午夜在线播放| 欧美日韩国产综合一区二区| 日韩一级精品| 亚洲欧美综合一区| 国产日韩欧美亚洲| 亚洲大胆人体视频| 欧美国产日韩一区二区| 亚洲美女尤物影院| 亚洲欧美日韩国产成人| 国产精品一区二区三区四区五区| 欧美一区二区成人6969| 久久久av网站| 亚洲高清不卡| 亚洲午夜极品| 国产精品一区二区久久| 欧美一区二区国产| 麻豆9191精品国产| 亚洲人成网在线播放| 亚洲午夜在线视频| 国产精品永久免费在线| 久久精品亚洲国产奇米99| 欧美福利视频在线| 99在线热播精品免费| 亚洲一区二区三区免费观看 | 国模精品一区二区三区色天香| 91久久精品www人人做人人爽| 欧美精品一卡| 亚洲综合电影| 老色鬼精品视频在线观看播放| 亚洲人成网站在线播| 亚洲欧美激情在线视频| 国产一区二区三区精品欧美日韩一区二区三区 | 精品电影在线观看| 一本一本a久久| 国产亚洲成av人在线观看导航 | 欧美麻豆久久久久久中文| 亚洲少妇在线| 久久综合给合久久狠狠色| 99国内精品| 浪潮色综合久久天堂| 一区二区日韩伦理片| 久久精品日产第一区二区| 亚洲精品久久久久久久久久久久| 午夜精品久久久久久久99水蜜桃| 韩日在线一区| 亚洲欧美国产高清| 亚洲国产精品日韩| 午夜欧美电影在线观看| 亚洲国产精品久久久| 欧美呦呦网站| 亚洲美女少妇无套啪啪呻吟| 欧美中文字幕视频在线观看| 亚洲第一久久影院| 欧美一区二区三区免费视| 亚洲激情欧美| 久久精品国产亚洲一区二区| 亚洲精品欧美日韩专区| 久久不射网站| 日韩性生活视频| 另类av一区二区| 亚洲调教视频在线观看| 欧美高清在线精品一区| 午夜亚洲一区| 欧美日韩影院| 91久久在线播放| 国产视频一区二区在线观看| 日韩一级精品| 黄色欧美成人| 欧美亚洲三区| 一本久久a久久免费精品不卡| 久久一区二区三区av| 亚洲永久在线| 欧美日韩亚洲国产精品|