




已阅读5页,还剩68页未读, 继续免费阅读
(计算机软件与理论专业论文)网构软件模型转换技术应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c l a s s i f i e di n d e x : u d c : ad i s s e r t a t i o nf o rt h ed e g r e eo f m e n g r e s e a r c ho nm o d e lt r a n s f o r m a t i o n t e c h n o hg ? o firl e c h n o l o k yo ri n t e m e t w a r e c a n d id a t e :f uy u a n c h a n g s u p e r v is o r :a s s o c i a t ep r o f p i a ox i u f e n g a c a d e m i cd e g r e ea p p l i e df o r :m a s t e ro fe n g i n e e r i n g s p e c i a l i t y :c o m p u t e rs o f t w a r ea n dt h e o r y d a t eo fs u b m is s i o n f e b r u a r y ,2 0 0 9 d a t eo fo r a le x a m i n a t i o n :m a r c h ,2 0 0 9 u n i v e r s it y :h a r b i ne n g i n e e r i n gu n i v e r s it y 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下,由 作者本人独立完成的。有关观点、方法、数据和文献的引用已在 文中指出,并与参考文献相对应。除文中已注明引用的内容外, 本论文不包含任何其他个人或集体已经公开发表的作品成果。对 本文的研究做出重要贡献的个人和集体,均已在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。 作者( 签字) :饲饬 日期:卅年;月丫日 1 哈尔滨工程大学 学位论文授权使用声明 本人完全了解学校保护知识产权的有关规定,即研究生在校 攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨 工程大学有权保留并向国家有关部门或机构送交论文的复印件。 本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据 库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本 学位论文,可以公布论文的全部内容。同时本人保证毕业后结合 学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈 尔滨工程大学。涉密学位论文待解密后适用本声明。 本论文( 口在授予学位后即可曰在授予学位1 2 个月后口 解密后) 由哈尔滨工程大学送交有关部门进行保存、汇编等。 作者( 签字) :饲办冯导师( 签字) :吲霭霹 日期: 肛吖7 年弓月9 日m 年;月丫日 l 7 哈尔滨t 程大学硕十学位论文 摘要 互联网络开放、动态、难控的属性特征,对其上应用的软件系统提出了 新的要求。为了应对挑战,实现网络平台上软件资源的进一步整合,形成高 效、可信、统一的信息平台,网构软件概念应运而生。网构软件所具有的自 主性、协同性、多态性、反应性和演化性等特征很好的满足了互联网络发展 的需要。网构软件研究内容广泛,其中网构软件实体化技术是网构软件研究 的重要方面。 本文首先介绍了网构软件理论的概念及其研究内容,网构软件实体化技 术及其在网构软件开发与组装应用中的研究现状,详细介绍了网构软件开发 中常用的基于构件的开发、基于框架结构的开发方法及自主构件实现技术。 然后深入研究了网构软件框架模型,区分了网构软件抽象平台框架模型与实 现平台框架模型,并研究平台间模型转换技术。从抽象平台框架模型到实现 平台框架模型的概念映射入手,对于模型间相同或相似的概念,建立直接的 映射关系;对于实现平台所不具有的抽象平台特有概念,给出了解决方法; 对于抽象平台的复合构件,根据不同的性能和维护性要求,给出了多种层次 化模型到单层模型的转换方法。针对网构软件实现平台,给出了开发与组装 的变化性应对措施,给出了模型转换前后一致性的验证方法,确保模型转换 前后的一致性。 最后以实际开发的软件系统为例,演示模型转换技术在网构软件开发过 程中的应用。表明了网构软件模型转换技术对网构软件开发的有效性。 关键词:网构软件;框架模型;模型转换;复合构件 il一 哈尔滨- 下程大学硕十学位论文 a b s t r a c t b e c a u s eo ft h ea t t r i b u t e so fi n t e r a c t ,s u c ha st h eo p e n ,d y n a m i c ,h a r dt o c o n t r o l ,m a k et h en e wd e m a n dt ot h es o f t w a r ew h i c hw a sa p p l i e dt oi t t h e c o n c e p to f i n t e m e t w a r ew a sm a d et o m a k et h es o f t w a r er e s o u r c e s0 1 1t h ei n t e r n e t p l a t f o r mm o r ei n t e g r a t e db e c o m i n gam o r ee f f i c i e n ta u t h e n t i c ,u n i f o r m e d i n f o r m a t i o np l a t f o r m t h ea t t r i b u t e so fi n t e m e t w a r ea r ea u t o n o m y ,c o n c e r t e d n e s s , p o l y m o r p h i s m ,r e a c t a n c ea n de v o l u t i o n , i tg r e a t l ym e e t st h er e q u i r e m e n to f i n t e r n e t s d e v e l o p m e n t t h es t u d yo fi n t e m e t w a r ei sc o m p r e h e n s i v e ,a n d i n t e r n e t w a r es u b s t a n t i a t i o nt e c h n o l o g yi so n eo ft h em o s ti m p o r t a n ts t u d yo f i n t e m e t w a r e f i r s t , w ei n t r o d u c e dt h ec o n c e p to fi n t e m e t w a r et h e o r ya n di t ss t u d yc o n t e n t , a n di n t e m e t w a r es u b s t a n t i a t i o nt e c h n o l o g ya n dt h er e s e a r c hs t a t u so fi t s a p p l i c a t i o n s i ni n t e m e t w a r e d e v e l o p m e n t a n d a s s e m b l y w e r e i n t r o d u c e d , a p p r o a c h e so fd e v e l o p m e n tb a s e do nc o m p o n e n t 、d e v e l o p m e n ta r c h i t e c t u r e b a s e d a n da u t o n o m o u sc o m p o n e n ti m p l e m e n t a t i o nt e c h n o l o g yw e r ei n t r o d u c e d s e c o n d , t h ei n t e r n e t w a r es o f t w a r ea r c h i t e c t u r e ( s a ) m o d e lw a ss t u d i e di nd e p t h t h e i n t e m e t w a r ea b s t r a c tp l a t f o r ms am o d e la n di m p l e m e n t a t i o np l a t f o r ms am o d e l w e r es e p a r a t e d , a n dt h em o d e lt r a n s f o r mt e c h n o l o g yw a ss t u d i e d f r o mt h e c o n c e p to f m o d e l ss t a r t ,f o rt h ec o n c e p t sw h i c hw e r et h es a m eo rs i m i l a rb e t w e e n m o d e l s ,b u i l dad i r e c tm a p p i n gr e l a t i o n ;f o rt h ec o n c e p t st h a ti m p l e m e n t a t i o n p l a t f o r md o e s n th a v eb u ta b s t r a c tp l a t f o r mh a d ,g a v eas o l u t i o n ;f o rt h e c o m p o s i t ec o m p o n e n t so fa b s t r a c tp l a t f o r m ,a c c o r d i n gt od i f f e r e n tc a p a b i l i t ya n d t h em a i n t e n a n c er e q u i r e m e n t s ,g a v em a n yc o n v e r s i o nm e t h o do fh i e r a r c h i c a l m o d e lt o s i n g l e l a y e rm o d e l f o ri n t e r n e t w a r ei m p l e m e n t a t i o np l a t f o r m ,g a v ea r e s p o n s em e a s u r e st ot h ev a r i a b i l i t yo fd e v e l o p m e n ta n da s s e m b l y ,g a v ea n a u t h e n t i c a t i o nm e t h o do fc o n s i s t e n c yb e f o r ea n da f t e rt h ec o n v e r s i o n f i n a l l y ,w et o o kt h es o f t w a r es y s t e ma sa ne x a m p l et od e m o n s t r a t et h eu s e s o fi n t e m e t w a r em o d e lt r a n s f o r mt e c h n o l o g yd u r i n gt h ei n t e m e t w a r ed e v e l o p m e n t i 【f 3 2 1 实现平台的要求3 3 3 2 2 层次化的框架模型及转换要求3 4 3 2 3 层次化框架模型的单层化过程3 7 h l - , 一i y h l , o 第 结 参 攻 致 p 0 哈尔滨1 1 程人学硕士学位论文 1 1 研究背景及目的 第1 章绪论 近年来,随着i n t e m e t 的快速发展和普及,越来越多的软件系统运行和 部署在网络环境上。如何在开放、动态、难控的网络环境下实现各类资源的 共享和集成,如何应对在此环境下的复杂软件系统的开发,已经成为软件技 术面临的一项挑战性研究课题【l 】。为了应对挑战,许多新理论、新概念、新 模型、新方法和新技术应运而生。通过对软件技术发展趋势及面临挑战的思 考与分析,北京大学杨芙清院士等提出的网构软件这一概念【2 儿3 。,初步凝练 出了网构软件的概念框架、基本特征、逻辑内涵与关键技术。 作为i n t e m e t 环境下的一种新型的软件形态,网构软件对传统的软件开 发理论、方法与技术提出了一系列的挑战。近年来,经过许多计算机理论工 作者的努力,网构软件理论的研究取得了重大的进步i lj 。其中,软件实体主 体化、基于构件和面向框架的网构软件开发方法一直是一个热门研究领域, 对网构软件的开发有着重要的指导意义。然而,在基于构件的网构软件开发 方法中,缺乏高层抽象和系统化的指导,它在开发本质上还是一种自底向上 的开发方式,即由开发人员根据需求挑选可复用构件,然后主要依赖开发人 员的经验和需求将相关构件组装起来。这种方式由于着眼于特定类型的构件 实现,并且缺乏系统化的指导,因此不具有足够的扩展性,很难实现高效的 网构软件开发与组装。基于框架结构的系统开发从抽象模型的角度来定义系 统,使用基于系统严格的框架结构描述生成与该描述保持一致的系统实现, 但由于其存在开发结果过于抽象、开发过程过于简化、在抽象的高层模型与 实现的底层基础没有很好的过渡与衔接等缺点,使之用于指导系统开发还有 一定距离,很大程度上影响了框架模型对软件实现开发的指导作用。 目前的很多基于构件的网构软件开发方法研究,多是表明其理论方法的 可行性,而对实际开发过程中可能出现的问题论述很少。结果导致很多网构 软件开发技术方法看似可行,实用性却很弱。其本质在于没有很好的实现抽 象的网构软件框架模型到实现平台模型的转化。具体现象就是要么抽象平台 k _ p - - k 0 哈尔滨t 程大学硕十学位论文 框架模型在实现平台上实现不了,要么就是实现平台的网构软件开发脱离了 抽象框架模型的指导。针对上述问题,本文旨在现有网构软件开发与组装方 法的基础上,研究如何把网构软件抽象框架模型转换到具体实现平台模型的 技术,使网构软件框架模型对网构软件的开发具有真正的指导意义。 1 2 国内外研究现状i 1 2 1 网构软件及其研究内容 网构软件是在开放、动态和难控网络环境下的软件系统的一种抽象。它 既是传统软件结构的自然延伸,又具有区别于传统软件形态的独有的基本特 征,包括自主性、演化性、协同性、多态性和反应性l l j 。本质上,网构软件 是基于网络的复杂软件的一种抽象,是一种新的软件范型【2 邶j 。网构软件研 究工作包括基本理念、软件实体、软件协同、运行机制、安全保障、系统管 理自主化、技术体系系统化等多个侧面。借鉴和涵盖了当前的最新研究理念 与成果。 在基本理念方面,英国学者提出的g u c ( g l o b a lu b i q u i t o u sc o m p m e r ) 的理念【4 】从概念的角度,论述了包含u c ( u b i q u i t o u sc o m p u t i n g ) 和g l o b a l c o m p u t i n g 的观念。s h a w t 5 j 等从资源集成与共享的角度提出了o r c ( o p e n r e s o u r c e sc o a l i t i o n s ) 的概念。o r c 是指分布自主的资源所动态形成的、面 向特定任务的临时联盟,这些资源可以是信息、计算、通信、控制或服务。 在软件协同方面,c a r r i e r o 和g e l e m t e r 提出了p r o g r a m m i n g = c o o r d i n a t i o n + c o m p u t a t i o n 的理念,即分布式程序设计中将协同与计算分离1 6 j 。在此理念指 导下,l i n d a i 吾言使用基于共享空间的协同语言或协同框架,这类协同模式解 除各个软件实体之间的直接耦合,而使用共享空间来进行基于通信内容的匿 名通信。在i n t e m e t 下,m a r s ( m o b i l ea g e n tr e a c t i v es p a c e ) 1 7 j 的特点在于 它还提供了一个可编程机制,使得移动a g e n t 应用和主机对协同媒体的行为进 行编程控制,从而可以实现环境相关协同和应用相关协同。 在运行机制方面,构造能够热演化或自演化的软件系统难度非常大,s a ( s o f t w a r ea r c h i t e c t u r e ) 【8 】技术的发展与成熟为研究软件系统的自演化提供 了结构化的基础。演化方面的技术较多地是采用框架结构方法,通过对框架 2 ) k - 哈尔滨工程大学硕十学位论文 i i n 结构的改变来演化系统,也有一些做法是采用动态转化( s o f t w a r ed y n a m i c t r a n s l a t o r ) 1 9 1 等。南京大学吕建等对软件热演化进行了研究【1 0 1 ,开发出了自 演化软件支撑平台a r t e m i s m a c ,其中采用了r d f o w l 技术对情境进行建 模,采用基于一阶谓词的逻辑推理方法将情境信息进行融合提炼。 在安全保障方面,b l a z e t l l 在1 9 9 6 年首次明确的提出可信管理,主要使用 早期的分布式身份认证技术,并在单纯的身份认证的基础上进行了扩充。其 关注的主要技术在于安全策略及安全凭证的表述和决策过程中的分布式信息 收集算法。吕建等针对网构软件的特性,设计了一个基于层次式m o n i t o r 的信 任管理系统【1 2 1 。可信管理与可信评估的有机结合将是研究的重要方向。g r a n d i s o n 等提出一个更为一般的可信管理的定义将可信管理与可信评估统一起 来【13 1 。 在系统管理方面,提出了自治式计算的概念。其中,文献【1 4 】介绍了一 种基于a g e n t 的软件框架结构,软件a g e n t 被用以封装系统内的各个组件,系 统的自主管理通过a g e n t 的自主性得以实现。h o ts w a p p i n g 禾l j 用代码插入 ( c o d ei n t e r - p o s i t i o n i n g ) 和代码替换( c o d er e p l a c e m e n t ) 等技术实现了构 件的自监控等自管理机制i l 副。 在理论的形式化定义方面,由于整个网构软件的研究尚处于起步阶段, 其特定形式理论条件尚不够成熟。然而,一些形式化方法研究者已经开始探 索,尤其是在进程代数方面,不断出现一些新思路和新理论【1 6 】【1 7 】,为网构软 件技术和形式化理论的研究奠定了基础,提供了宝贵的启示和借鉴。 在网构软件的实现主体方面,软件发展过程中的语句、过程、模块、抽 象数据类型、对象、构件、服务等都是网构软件实现的实体支撑。软件实体 发展的主要趋势是主体化i l j ,即内容的自包含性、结构的独立性与实体的适 应性,从而较好地适应了不断开放的开发与应用环境对软件实体的需求。当 前,从支持网构软件实体化技术的构件技术,框架模型到定义语言等研究内 容都非常广泛。 旷 k 0 哈尔滨t 程大学硕十学位论文 1 2 2 网构软件实体化开发技术 1 基于构件的开发 早在1 9 6 8 年,在北大西洋公约组织( n a t o ) 软件工程会议上m c l l r o y 博j 就提出了软件复用、软件构件、构件工厂等概念。随着分布式计算、i n t e m e t 等技术以及基于构件的软件开发技术的发展;对构件的认识又产生了新的变 化,出现了若干新的软件构件的定义,科学界较认可的定义是:“构件是一个 带有契约化接口和显式上下文依赖的组装单元,它能被独立发布并且可以被 第三方组装”l 】叫。 t r a c z 2 0 】提出的可复用构件应具备以下属性:( 1 ) 有用性( u s e f u l n e s s ) : 构件必须提供有用的功能;( 2 ) 可用性( u s a b i l i t y ) :构件必须易于理解和使 用;( 3 ) 质量( q u a l i t y ) :构件必须能够按照预期目标正确工作;( 4 ) 适应性 ( a d a p t a b i l i t y ) :构件应可以通过参数化等方式在不同语境中进行配置;( 5 ) 易移植性( p o r t a b i l i t y ) :构件应能在不同的硬件和软件环境中工作。 目前构件的概念已经不仅局限于源代码构件,而是延伸到系统和软件的 需求规约、系统和软件的框架结构、文档、测试计划、测试案例和数据以及 其它对开发活动有用的信息【l9 j 。 近年来,在中间件技术的基础上,结合软件复用思想和面向对象方法, 基于构件的软件开发( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,c b s d ) 技术受 到了高度重视。通过标准化运行级构件的规约,依靠构件运行平台( 中间件平 台) 提供的基础设施,c b s d 提供了一种自底向上的、基于预先定制包装好的 构件来构造应用系统的途径。并得到了广泛的应用。 c b s d 技术主要是源于以下4 个方面的进步【2 l j :在研究方面,现代软件 工程思想,特别是对复用技术的强调;在产业方面,支持用构件来建造g u i 数据库和应用部件的一些理论上质朴但实际可用的技术的成功;在策略方面, 某些主流互操作技术,如c o r b a ,c o m 和e j b 的开发者的推动;在软件界, 对象技术的广泛使用,提供了建造和使用构件的概念基础和实用工具。c b s d 主要是关注运行级构件和它们之间的互操作,重点在二进制构件的规范上, 例如c o r b a ,e j b 和d c o m ,提供了在实现层次上支持构件交互的基础机 制,提供了一种自底向上的基于预先定制包装好的类属元素( 构件) 来构造应 4 k 孵、 k 0 哈尔滨t 程人学硕+ 学位论文 用系统的途径。 构件技术目前在工业界已经有了大量的研究与应用,形成了比较成熟的 构件设计与组装技术。比较经典的有o m g 组织的c o r b a c c m f 2 2 j 、s u n 公 司的j 2 e e e j b 2 3 1 以及m i c r o s o f t 公司的c o m d c o m 2 4 1 等。 2 模型研究 为了清晰的描述构件,使构件使用者能够很容易地理解构件的功能及其 属性,许多研究者都提出了构件模型概念。比较有代表性的是t r a c z 2 0 1 提出 的3 c 模型、r e b o o t 项目中提出的r e b o o t 模型1 2 5 】及北京大学提出的青 鸟构件模型【2 6 1 。这些模型均是学术界提出的指导性模型,抽象层次比较高。 这些模型的提出,有效的促进了构件技术的研究与发展。 3 c 模型用概念( c o n c e p t ) 、内容( c o n t e n t ) 和语境( c o n t e x t ) 刻画构 件结构和特征。概念用于描述构件的功能。构件的概念依据它的接口说明以 及它所执行操作的语义描述表现出来,使用者可以从概念描述中了解构件的 功能;内容用来描述构件如何完成概念所描述的功能,如算法、结构等,它 是概念的细化;语境又称为上下文,主要用于描述构件之间的关系,它是构 件中最复杂的特征描述。r e b o o t 模型是基于已有软构件的一种刻面分类和 检索模型,从各个角度,即刻面( f a c e t ) 刻画软构件属性。 青鸟构件模型是以对象计算模型为基础进行设计的,它支持多种不同构 件形态:类、抽象类、类簇、类树、框架( f r a m e w o r k ) 和构架( a r c h i t e c t u r e ) 。 类构件、类簇构件和类树构件的引入为代码复用提供了三种不同粒度的支持。 抽象类构件的引入为设计复用提供了一定的支持。框架构件的引入则对面向 对象设计的复用提供了充分的支持。 自2 0 世纪9 0 年代初期开始,软件框架结构( s o f t w a r ea r c h i t e c t u r e ,s a ) 2 7 1 的研究受到了广泛的关注和重视,并被认为将会在软件开发中发挥十分重 要的作用。框架结构在软件开发中为不同的人员提供了共同交流的语言,体 现并尝试了系统早期的设计决策,作为系统设计的抽象,为实现框架和构件 的共享与复用、基于框架结构的软件开发提供了有力的支持。基于框架结构 的开发【2 8 】是北京大学软件工程研究所于2 0 0 0 年提出的软件开发方法。这种开 发方法融合t s a 在框架结构描述方面的强大能力和c b s d 通过使用现存的中 间件基础设施自底向上地实现基于构件的软件复用途径的优势。针对网构软 s 钳 r k 哈尔滨t 程大学硕十学位论文 件运行环境开放、动态、多变的特点,使用基于框架结构的开发方法进行网 构软件的开发建模是合适与自然的。 3 模型描述语言 s a 研究的主要成果表现为框架结构描述语占( a r c h i t e c t u r ed e s c r i p t i o n l a n g u a g e ,简称a d l ) 。a d l 的出现为描述软件系统的框架结构提供了一种 形式化的描述方法,而不是容易引起歧义的线框图。a d l 对连接子的重视成 为区分a d l 和其它建模语言以及规约语言的重要特征之一。构件描述语言 的基本思想是将构件看成是一个黑盒,通过描述构件接口的语法和语义,使 得复用者不必过多地涉及构件代码细节,就可以在构件描述这一抽象层次之 上进行构件组装。而a d l 除了描述构件接口的语法和语义之外,还负责描 述:系统中包括的构件和连接子以及它们之间的交互关系构件的非功能类性 质以及构件间协议,从而为构件组装提供了更为有力的支持。 当前a d l 语言种类比较多,都有其各自的特点。c 2 是一种基于构件和消 息的a d l ,适用于大型频繁交互的层次型图形用户界面的软件的框架结构的 描述【2 9 1 ;w r i g h t t 3 0 和d m - w i n 3 1 1 分别将c s p 和丌演算作为其数学基础,适用于 分布、并发类型的框架结构描述;a c m e 3 2 1 是一种支持a d l 之间的映射及工 具集成的框架结构互交换语言,其目标是作为框架结构设计的一个共同的互 交换格式,以便将现有的各种a d l 在这个框架下统一起来;x a r c h 3 3 1 使用x m l 定义了描述框架结构的核心元素,用来描述简单的软件框架结构,也可以作 为设计其它a d l 的基础,或者用作框架结构描述描述语言的互交换机制; x a d l 2 0 【3 4 】是以x a r c h 为基础的基于x m l 的a d l 。除了x a r c h 的核心元素, x a d l 2 0 还提供了对系统运行时刻和设计时刻的元素的建模支持,利用x m l 的可扩展性简化了a d l 设计及其相应工具的开发过程。 1 3 论文研究内容及组织 1 3 1 论文研究内容 本文致力于网构软件实体化技术研究,给出了从网构软件抽象平台框架 模型到实现平台框架模型的转换方法及技术。文中研究内容重点包括: 6 哈尔滨丁程大学硕十学位论文 ( 1 )网构软件抽象平台框架模型到实现平台框架模型概念映射关系和 转换方法。从抽象平台框架模型到实现平台框架模型的概念映射入手,对于 模型间相同或相似的概念,建立直接的映射关系;对于实现平台所不具有的 抽象平台特有概念,给出了解决方法;对于抽象平台的复合构件,根据不同 的性能和维护性要求,给出了多种层次模型到单层模型的转换方法。 ( 2 ) 实现平台对网构软件变化性的应对措施以及平台间模型的一致性 验证。给出了实现平台对网构软件开发与组装的变化性应对措施,给出了抽 象平台框架模型到实现平台框架模型转换前后一致性的验证方法。 ( 3 ) 通过实例演示使用网构软件模型转换技术开发组装网构软件的过 程,验证网构软件模型转换技术对网构软件开发的实用性、方便性、有效性。 1 3 2 论文的组织结构 全文共分四章,具体的结构为: 第1 章介绍论文研究背景及目的,简述网构软件概念、研究内容和研究 现状,介绍本文的研究内容和组织结构。 第2 章介绍论文研究工作相关的理论知识,包括网构软件理论和及网构 软件实体化技术,基于框架模型和基于构件开发方法指导下的网构软件开发 方法,模型建立及描述的方法,网构软件自主性实现技术等。为本文研究做 好理论准备。 第3 章论述网构软件抽象框架模型到实现平台框架模型的转换技术和方 法。具体包括模型间的概念映射、模型转换的原则与方法、对抽象平台模型 中变化性实现时的处理措施以及平台间模型的一致性验证。 第4 章内容以预约选课子系统的网构软件的开发与组装为实例,对 在网构软件模型转换技术指导下的网构软件开发过程进行说明。 最后总结了本文在研究过程中所做的工作,并对这一课题的迸一步研究 提出了一些见解。 7 哈尔滨t 程大学硕十学位论文 第2 章网构软件及其相关技术 本章先后介绍网构软件的概念和相关理论、基于框架结构的开发方法、 支持构件化开发的实现平台模型、阿构软件实体主体化的实现方法以及实现 网构软件自主性的自主构件技术等。 2 1 网构软件与框架开发方法 2 1 1 网构软件研究 如何在开放、动态、难控的i n t e r n e t 环境下实现各类资源的共享和集成 以及复杂软件系统的开发,已成为计算机软件技术面临的一项挑战性研究课 题 2 1 。网构软件概念正是在这样的背景下提出来的。它是对开放、动态和难 控网络环境下的分布式软件系统的一种抽象,包括一组分布于i n t e m e t 环境 下各个节点,且具有主体化特征的软件实体,并能为这些软件实体提供交互 和协同。网构软件代表了一类具有自主性、协同性、多态性、反应性和演化 性等特征的复杂系统1 3 j 。网构软件示意图见图2 1 。 图2 1 网构软件示意图 具体说来,网构软件是开放、动态和难控网络环境下的软件系统的一种 抽象,它包括一组分布于i n t e m e t 环境下各个节点的、具有主体化特征的软 件实体,以及一组用于支撑这些软件实体进行协同的连接子;整体而言,它 能够感知外部环境的变化,通过框架结构演化的方法( 主要包括软件实体与 8 哈尔滨丁程大学硕十学位论文 连接子的增加、减少与演化、以及系统拓扑结构的变化等) 来适应外部环境 的变化,展示上下文适应的行为,从而使系统能够以足够满意度来满足用户 的多样性目标。网构软件概念是一个复杂的理论抽象,从不同的角度,可以 给出网构软件的不同理解。 网构软件的基本理念、核心理论和技术体系方面的研究,从理论研究、 形式化要求和技术应用等角度对软件的应用理念提出了新想法和新要求,软 件实体的主体化、软件协同、运行机制等从网构软件的模型建立、协同条件、 实体化开发等入手,研究网构软件开发组装的技术手段。基于构件的开发技 术是网构软件开发的重要支持技术。 软件系统由软件实体构成。在计算机应用技术与支撑平台快速发展的驱 动之下,软件实体的发展经历了多个侧面与层次,在不断满足系统复杂性控 制的需求过程中,完成了从面向平台空间,经过面向认知空间,再到面向问 题空间的逐步转换与综合提升;软件开发方法经历了从面向具体问题的、支 撑个体软件开发者的、系统开发一阶段集中式结构的方法,到经过面向群体 问题的、支撑群体开发者工业化开发的、构件开发与系统组装两阶段分离式 结构的方法,再到面向服务的、支撑大量软件最终使用者的、服务发布、查 询、与使用三阶段松耦合结构的方法的转变过程的支撑。在这样一个发展过 程之中,软件实体发展的主要趋势是主体化,即内容的自包含性、结构的独 立性与实体的适应性,从而较好地适应了不断开放的开发与应用环境对软件 实体的需求。现阶段,典型的软件实体包括对象、构件、服务与软件a g e n t 。 他们在网构软件开发中,都起着非常重要的作用。 面向对象方法与技术的产生解决了大型软件设计与开发过程的复杂性问 题,使所设计的软件对软件工程实践中常遇到的功能易变性具有一定的适应 能力。对象概念是体现信息隐蔽原理的模块与抽象数据类型概念的发展,它 不仅具有良好的问题对应性和复杂性控制能力,而且还可通过继承机制,将 各种相关的对象加以有机关联。正是对象技术的这种良好特性,使其在软件 开发中得到了广泛的应用。但是对象的实体适应性不能通过对象自身,而是 在开发与运行两个层面通过继承关系及所关联的一组对象及其多态计算机制 来加以支持实现的。 构件主要为了满足大规模工业化生产软件的需求。构件概念提出较早, 9 哈尔滨丁程大学硕十学位论文 但是直到面向对象技术的出现和软件复用的使用,才直接推动了构件技术的 巨大进步。构件是面向求解问题而存在的,并且要求在未来的相似问题中被 复用,故其在内容的自包含性、结构的独立性与实体的适应性方面有其自身 的特点。由于构件需要在更广泛与开放的环境中被重复使用,因此,对构件 的适应性要求比对象更高。一方面,需要有系统的构件获取方法以保证所获 取的构件的直接可复用性;另一方面,第三方应能够通过一定的外部手段对 构件的内容进行一定的剪裁与调节,从而较好适应开放环境下复用的需要。 为了将构件技术应用于工程实践,产业界已经出现了若干有代表性的途径与 方法,如o m g 组织的c o r b c c m 系列,m i c r o s o f t 公司的c o m d c o m 系列, s u n 公司的j 2 e e e j b 系列等。在接口定义方面,c o r b a 技术中通过i d l 来定 义c c m 构件应用编程接口1 3 5 】,c o m d c o m 技术中用m i c r o s o f ti d l 来定义 c o m 构州3 6 】;在组装机制方面,d c o m 采取了远程过程调用( r p c ) 机制, j 2 e e e j b 中采取了远程方法调用( r m i ) 机制等。此外,容器的概念从组装 环境的角度描述了构件组装所需的运行环境、系统服务与相关的资源,从而 为构件的复用与组装提供了基础支撑,如c o r b a 的c c m 中提供的相关构件 容器,e j b 中提供i 拘e j b 3 。7 】容器等。在工程实践中主流技术对构件主体性的支一 撑还较为有限,主要采取的是语法层次上机制。 当前,面向服务的技术研究也比较广泛,w e bs e r v i c e 是其基本的软件实 体。包括w 3 c 、u d d i 、i b m 等在内的很多研究组织都给出自己的定义【3 8 】【3 9 1 。 w e bs e r v i c e 由标准形式的x m l 语言进行描述,该描述覆盖了消息格式、传输 协议和物理位置等访问与服务所需的细节。为了较好体现服务自包含性和结 构独立性,w e bs e r v i c e s 采取与i d l 相类似的w s d l 来定义相关的服务接口, 但由于w e bs e r v i c e 分布于i n t e r n e t 供各类用户使用,w s d l 定义的w e bs e r v i c e 与i d l 所定义的构件的接口相比具有不同的特点。构件通常运行在特定的中 间件平台中,中间件技术提供了服务构件注册的功能并且提供对构件底层的 管理机制,构件所在的具体位置对客户应用是完全透明的:而在w 曲s e r v i c e s 中,由于缺乏这样统一的中间件平台,客户需要明确知道w e bs e r v i c e 所在的 具体物理位置,从而可以向其发送s o a p 消息。软件a g e n t 是人工智能技术与 软件技术相结合的产物。与构件、软件服务等理念有所不同,它试图从内部 机制的层面来探讨一个软件实体如何来应对开放、动态与难控的外部环境。 1 0 哈尔滨工程大学硕十学位论文 目前,软件a g e n t 的研究包括智能a g e n t 【4 0 1 与移动a g e m 【4 1 1 等多个方面。其中, 智f l 皂a g e n t 技术在网构软件的自主性方面的应用研究较为广泛。 2 1 2 基于框架的网构软件开发 1 框架结构模型 上世纪六十年代的软件危机使得人们开始重视软件工程的研究。随着软 件工程研究的深入,人们认识到软件框架结构的重要性,并认为对软件框架 结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新 的最有希望的途径。自从软件系统首次被分成许多模块,模块之间有相互作 用,组合起来有整体的属性,就具有了框架结构。在基于构件和框架结构的 软件开发方法下,程序开发模式也相应地发生了根本变化软件开发不再是 “算法+ 数据结构”,而是“构件开发+ 基于框架结构的构件组装 4 2 】。比较 经典的框架结构模型是g a r l a n & s h a w 模型4 3 1 ,其定义如下: 黝= 。 构件( c o m p o n e n t ) 可以是一组代码,如程序的模块;也可以是一个独 立的程序,如数据库的s q l 服务器。连接子( c o n n e c t o r ) 表示构件之间的 相互作用。它可以是过程调用、管道、远程过程调用等。一个软件框架结构 还包括某些约束( c o n s t r a i n ) 。 支持构件、连接子及其配置的描述语言就是框架结构描述语言 ( a r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e ,a d l ) 。a d l 的出现为描述软件系统的 框架结构提供了一种形式化的描述方法,而不是容易引起歧义的线框图。这 种精确的描述也使得设计人员能够在系统开发的早期阶段对系统结构进行高 层的分析和验证,从而有助于提高软件开发质量、降低开发成本。不同的a d l 各有不同的研究背景和研究目的,因此不同的a d l 往往具有不同的语法、 语义和表现形式。 2 基于a d l 的系统开发 软件框架结构研究的终极目的并不是仅仅对大型复杂系统的框架结构进 行分析和验证,而是解决好软件的重用、质量和维护问题。为此,如何基于 通过分析和验证的软件框架结构模型开发与框架结构模型保持一致的应用系 哈尔滨t 程大学硕十学 ! f 7 = 论文 宣;昌鲁置暑宣宣眚宣昌宣葺宣昌皇暑蕾暑| 昌薯毒暑;宣i i ;i i i 昌;暑暑 i i ii i i m 宣葺皇昌置暑暑宣置昌宣昌墨 统成为软件框架结构研究人员需要着重解决的一个问题。 m a g e e 删研究了如何在用d a r w i n 描述的框架结构模型的指导下,组装基 于c o r b a 技术实现的分布式对象。上述组装是通过在c o r b a 对象模型和 d a r w i n 构件模型之间建立映射来实现的。在d a r w i n 中,构件的接口主要由 对外提供的服务和需要外部提供的服务组成。基于c o r b a 的分布式对象则 用i d l 进行描述。二者之间的映射如下:d a r w i n 中描述的每个构件的每个对 外提供的服务转换为相应的分布式对象的一个只读属性。之所以将属性设置 为“只读”,是因为该属性是在构件实例化时由构件实现进行设置的,该属性 指向的是嵌在构件中的一个应用对象。为了保证该对象不会被外界所修改, 该属性必须是只读属性。d a r w i n 描述中构件所依赖的外部服务同样映射为 i d l 描述中的一个属性,但是该属性并不需要设置为“只读 ,因为它是从构 件外部进行设置的,这是d a r w i n 中对构件实例进行绑定的体现。d a r w i n 描 述中的构件如果有参数,则这些参数将转换为i d l 接口中i n i t 操作的参数, 因为该操作专门负责创建相应的应用对象。上述映射是针对d a r w i n 中的原子 构件进行的。对于d a r w i n 描述中的复合构件,由于它仅仅是对复合构件内部 结构【3 1 1 对外提供的功能进行组织,本身并不进行计算;并且由于d a r w i n 描 述中的复合构件内部结构中的构件具有全局唯一的标识符,因此在将d a r w i n 的s a 描述映射到i d l 的过程中,复合构件都被删除;而原来到复合构件的 连接则转换为到复合构件内部相应构件的连接。 z c l 到l u o s p a e e 的映射采用的方法类似于d a r w i n 到i d l 的映射。z c l 是一种基于c l 的框架结构描述语言。在z c l 中,整个系统的框架结构是一 系列构件的组合,而框架结构本身也可以看作是一个构件;因此,用z c l 描 述的框架结构是一种层次化的树形结构。 r o d r i g u e s 等人于2 0 0 4 年提出一种从a c m e 到c o r b ai d l 的映射规则, 其中把a c m e 描述中的系统映射为c o r b a 中的模块,设计阶段的原子构件 则映射为c o r b a 中的接口,接口中的操作则来自于a c m e 描述中的属性。 但是上述映射规则不支持设计阶段的复合构件的映射,因为c o r b a 的i d l 不支持嵌套的模块定义。 综上所述,当前基于软件框架结构的系统开发主要是以c o r b ai d l 描 述作为目标系统的抽象。通过在不同的框架结构描述语言和c o r b ai d l 之 1 2 哈尔滨丁程大学硕+ 学位论文 间建立映射,从而根据系统的软件框架结构生成c o r b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届山东省临沂市平邑县九年级化学第一学期期末检测试题含解析
- 就业协会工作总结
- 公司工作总结亮点
- 阿里市重点中学2026届九年级化学第一学期期中综合测试试题含解析
- 2026届湖北省宜昌市夷陵区化学九年级第一学期期中学业水平测试模拟试题含解析
- 2026届江苏省靖江市靖城中学九年级英语第一学期期末达标测试试题含解析
- 云南省红河州建水县2026届英语九上期末学业质量监测试题含解析
- 2025年中级风力发电场运维员技能考试题库及答案
- 2026届云南省昆明市实验中学化学九年级第一学期期中考试试题含解析
- 江苏省扬州市部分学校2026届九年级化学第一学期期中联考模拟试题含解析
- 2025北京房山区区直部门和乡镇(街道)全日制临聘人员招聘37人考试参考题库及答案解析
- 镀膜车间安全培训课件
- 2025年湖北省中考英语试卷真题(含答案解析)
- GB 4287-1992纺织染整工业水污染物排放标准
- 10室外配电线路工程定额套用及项目设置
- FZ/T 07019-2021针织印染面料单位产品能源消耗限额
- 桂阳县中小幼教师资格定期注册工作指南专家讲座
- 广联达算量模型与revit土建三维设计建模交互
- 急救中心急救站点建设标准
- 消防安全知识宣传-主题班会课件(共24张PPT)
- 幼儿园课件我从哪里来
评论
0/150
提交评论