(计算机软件与理论专业论文)软件体系结构工程化应用研究.pdf_第1页
(计算机软件与理论专业论文)软件体系结构工程化应用研究.pdf_第2页
(计算机软件与理论专业论文)软件体系结构工程化应用研究.pdf_第3页
(计算机软件与理论专业论文)软件体系结构工程化应用研究.pdf_第4页
(计算机软件与理论专业论文)软件体系结构工程化应用研究.pdf_第5页
已阅读5页,还剩47页未读, 继续免费阅读

(计算机软件与理论专业论文)软件体系结构工程化应用研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东大学硕士学位论文 软件体系结构工程亿疲用研究 摘要 在软件体系结构描述语言( 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 ) 及相关技术方面人们 毫经投入了不少豹精力并有了卓有残效豹理论疆究,毽在关予较 孛体系结秘瓣工程诧应爝 方面却鲜有涉足。不管对一个工程的建模还是实现都离不开软件体系结构的约束,工程代 码自动生成也不饲矫。另一方面,可视纯建横技术( 如体系结构建横) 常被精作是一种给 软 牛素描的方法,要得到可执行代码,还必须投入大爨的人力。 本文以工程代码自动生成为目标,以可视化建模为手段,研究软件体系缡构的工程化 应用。蒸核心跫较传髂系缝秘终述语蠢( c o d e - g e n e r a t i o ns u p p o r t e da 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 ,c g s a d l ) 及相关理论的工程化应用。本论文的主鼹内容如下: 夺遥逶辩a d l 豹综述,搔密了备个a d l 豹不弱点窥在代码生成领域及体系结鞫的王 程化成用方面的不足。然后,详细论述了u m l 作为一个a d l 的各种优点和存在问 题,并提出了改进建议。 夺为支持代码生成和工援化撼述,设计了c g s - a d l 语塞,分毫鼋了语言黥三层续梅藤 核心概念模型,建立了语言符号体系,包括语裔元素的属性特征、形式化描述和约 素辊涮。 审为提供软件的众程开发支持,给出了基本的体系结构建模思想、建模原则以及相对 应的建模过程。 呤开发了基于c g s - a d l 语言款体系结槐建模支持环境,建立起了可投入运行盼应震 程序,并能很好地与其它界面辅助模型的各个实现协调工作。 夺鸯更瀵楚邃瀵秘体系缡棱浆工程诧支持,针对其髂工爨秘代鹚生残嚣嚣,惑结了 a b s r ( a r c h i t e c t u r e b a s e ds o f t w a r er e a l i z a t i o n ) 技术的工程化方丽。 最看,为溺试摄遗静憨想窝开发静工其的可行往和有效性,利用所开发豹工其建模 并生成了一个廉用实例。 本文研究搬软件体系结构描述与工程代码自动生成结合起来,并通过结合用户界面模 山东大学硕士学位论文 型的约束和舰范,直接生成目标源代码,实现了软件体系缩构的工程化应用,也使得可视 化缡程戏为现实。软传皂动生成工具环境蛇实现,慰予提麓软件开发的效率秘质量,对于 促进软件工程技术的发展和实施,对于改善整个软件工业的生产状况,都嫩一个积极有效 懿尝试。 在实现工县方谳,开发了基于c g s a d l 语言的体系结构建模和生成环境,提供软件体 系结构图的可视亿构建编辑、基本的软件复溺以及v b 6 环境下的代码自动生成等功能。僵 是,有些方嘲还需解决:一、预先提供常见的部件和连接器嚣信息,以方便支持复用:二、 支持多语言平台的自动生成;三、加强软件体系结构的评估功能。 关键词:软件体系缩构工程化应用,代码自动生成,体系结构描述语言,体系结构建模, 软传体系续物工具 i i 山东大学硕士学位论文 t 糕er 嚣s e a r c 珏0 ne n ( 颡n 嚣嚣艇n ga p p l l c a f l o n o fs o f t w a r ea r c h i t e c t u r e a b s 撇e t p e o p l e h a v ed o n em u c ha n da c h i e v e dal o tt h e o r e t i c a l l yi nt h er e s e a r c h e so fs o f t w a r e a r c h i t e c t u r ea n da 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 sw e l la so t h e r sr e l a t e d b u t ,t h e r ei s f e wr e s e a r c ha b o u te n g i n e e r i n ga p p l i c a t i o no fs o f t w a r ea r c h i t e c t u r e s o f t w a r ea r c h i t e c t u r ei s n e c e s s a r yt o a c ta sac o n s t r a i n tt ot h em o d e l i n go ri m p l e m e n t a t i o no fs o f t w a r e 。a n dv i s u a l m o d e l i n gt e c h n i q u e s ( e g a r c h i t e c t u r em o d e l i n g ) i so f t e nr e g a r d e da sak i n do f p e n c i ls k e t c hf o r s o f t w a r es y s t e md e s i g n , w h i c hs t i l ln e e d sc o d i n g 氍ac o s to f p l e n t y o f m a n p o w e r , t h i st h e s i sf o c u s e s0 1 1t h ee n g i n e e r i n ga p p l i c a t i o no fs o f t w a r ea r c h i t e c t u r ei no r d e rt os u p p o r t t h ef e a t u r eo fa u t o m a t i c g e n e r a t i o n o fs o u r c ec o d e 强ec e n t r a li sa b o u tt h e d e s i g n a n d i m p l e m e n t a t i o no fc g s - a d l ,ac o d e g e n e r a t i o ns u p p o r t e da 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 n d t h e a p p l i c a t i o no f i t s r e l a t e dt h e o r i e s t h ec o n t e n to f t h et h e s i sa sf o l l o w i n g : 夺t h r o u g h as u r v e yo fa d l ,c o n c l u s i o ni sm a d ea b o u tt h e i rd i f f e r e n c ea n dp r o b l e m si n s o f t w a r ea r c h i t e c t u r ee n g i n e e r i n ga n da u t o m a t i cc o d eg e n e r a t i o n t h e n ,t h es t r e n g t h sa n d w e a k n e s s e so f u m l 鑫sa na d la r ed i s c u s s e di nd e t a i l s a n ds o m e s u g g e s t i o n s a r em a d e i no r d e rt os u p p o r t sa u t o m a t i cc o d eg e n e r a t i o na n d p r o j e c td e s c r i p t i o n ,t h i sp a p e rd e s i g n s an e wa 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 et os u p p o r tc o d eg e n e r a t i o n ,a n a l y z e si t st r i t i e r s s t r u c t u r ea n dc o r ec o n c e p tm o d e l ,a n db u i l d st h es y m b o ls y s t e mo ft h el a n g u a g ew h i c h c o v e r sl a n g u a g ee l e m e n t s p r o p e r t i e s ,f o r m a ld e s e r i p t i o na n d c o n s t r a i n t t h e n , t h et h o u g h t sa n dp r i n c i p l e sa r ed i s c u s s e di nd e t a i l s ,a n dm o d e l i n gp r o c e s s i s s u g g e s t e d t h u s ,a r c h i t e c t u r eb a s e ds o f t w a r er e a l i z a t i o n ( a b s r ) t e c h n i q u e s i sm o r ee a s y t o p u t t o u s e 夺b a s e do nt h ea d l ,at o o lf o ra r c h i t e c r t r em o d e l i n gi sd e v e l o p e d ,w h i c hc a nr u nw e l l w i t ho t h e ru s e ri n t e r f a c em o d e l s s u c ha si n t e r a c t i v em o d e l 1 1 1 山东大学硕士学位论文 夺t o g i v ea c l e a rf r a m e w o r ko f e n g i n e e r i n ga p p l i c a t i o no f s o f t w a r ea r c h i t e c t u r e ,b a s e d0 1 3 s p e c i a l t o o l sr e l a t e da n dt h e g o a t o fa u t o m a t i cc o d e g e n e r a t i o n ,e a c ha s p e c t o f e n g i n e e r i n go f a b s r i ss u m m a r i z e d 夺f i n a l l y , i no r d e rt ot e s tt h ef e a s i b i l i t ya n dv a l i d i t yo fa b s rt e c h n i q u e sa n di t s t o o l s r e l a t e d ,al i b r a r ys y s t e mi sa n a l y z e da n dm o d e l e d ,a n dm o r e ,t h es o u r c ec o d eo ft h e s y s t e m i ss u c c e s s f u l l yg e n e r a t e d g e n e r a l l y , t h et h e s i sm e r g e ss o f t w a r ea r c h i t e c t u r et h e o r yw i t hc o d eg e n e r a t i o nt e c h n i q u e s ,a n d d i r e c t l ys u p p o r t sa u t o m a t i cc o d eg e n e r a t i o nw i t ht h eh e l po fs p e c i f i c a t i o na n dc o n s t r a i n t so f u s e r i n t e r f a c em o d e l s ,w h i c hm a k e st h ee n g i n e e r i n ga p p l i c a t i o no fs o t t w a r ea r c h i t e c t u r ec o m et r u e t h et o o l sb a s e do na b s rw i l lb e h e l p f u lt or a i s et h ee f f i c i e n c ya n dq u a l i t yo f s o f t w a r ed e s i g n ,t o s p e e du pt h ed e v e l o p m e n ta n di m p l e m e n t a t i o no fs o f t w a r e ,t op r o m o t et h e a d v a n c eo ft h e s o f t w a r ee n g i n e e r i n g t e c h n i q u e s b a s e do nc g s a d l ,w eh a v ed e s i g n e da n dd e v e l o p e dat o o lw i t ht h ef e a t u r e s :b u i l d i n ga n d e d i to fa r c h i t e c t u r ed i a g r a m s ,s o f t w a r er e u s ea n da u t o m a t i cc o d eg e n e r a t i o ni nv i s u a lb a s i c6 0 t h e r ei ss t i l l s o m e t h i n g n e e d e dt o i m p r o v e ,t h a t i st h e a b i l i t yt op r o v i d ei n f o r m a t i o no f p r e f a b r i c a t e dc o m p o n e n t sa n d c o n n e c t o r sf o rr e u s e ,t os u p p o r tt h ea u t o m a t i cg e n e r a t i o no fs o u r c e c o d ei no t h e rp r o g r a m m i n g l a n g u a g e s ,t os u p p o r t t h ee v a l u a t i o no f a r c h i t e c t u r ef e a t u r e k e y w o r d s :e n g i n e e r i n ga p p l i c a t i o no fs o f t w a r ea r c h i t e c t u r e ,a u t o m a t i cc o d eg e n e r a t i o n ,a d l s o f t w a r ea r c h i t e c t u r em o d e l i n g ,s o f t w a r ea r c h i t e c t u r et o o l i v 山东大学硕士学位落黧 原截性声骥秘关于论文使用授权的声唆 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行磅究所取得麓残果。踩文中已经注贾雩| 耀的肉容终,本论文不包含任何 其他个人或集体已经发表或撰写过的科研成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:銎丞亟吕期_ 渔竺墼生! 丝 关于学位论文使磺授权酶声明 本入完全了解由东大学有关艨餐、键鼹学位论文酶矮定,同意学棱僚 鼹或向凰家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本 举位论文。 f 镶密论文在解密螽应遵守此裁定) 论文作者签名:罢址导师签名塑日 期:銎! 竺:竺竺 山东大学硕士学位论文 l 雩| 言 近年来,睫着经漆黪发震粒枣会瓣较 争嚣求翳援毫,软俘系统交褥霆夔 复杂,在软件的设计过程中人们所面临的问题已经不仅仅鼹软件系统的功能 整滴怒,瑟怒嚣箍更难熊决楚鹫豹菲葫髓经需求f l l 。入们开始认识弱,只有 真正实现软件的工程化和自动化,才能达到软件产业发展所需要的软件生产 率和生产质激。通过对软件发袋的历程及软彳牛体系结构的总体研究实践i 引, 人们凿遍认为基于体系络构鲍、可视化魏代秘垂动燮成将戏为较馋生产搴提 高的新的增长点。阂此,以软件体系结构为中心支持软件工程的软件快瀵开 发技零藏爻溺今软传开发戆一大趋势。 软件体系结构的重要性已经引起了人们的高度黛视,在理论方面也商了 大量的残采,趣不足的是大部分研究仍停留在理论上,在软件体系结构的工 程化殿用方蕊几乎都没有系统的支持。然而不管对一个工程的建模还是实现 又都离不开一个总体框架的约束一一软件体系结构。工程代码自动生成领域 也不铡外。援一方霹,避去可裁促建摸( 熟体系缝拯建模) 豢被豢痒是释 给软件素描的方法,接下来还必须花大擞的精力才能把这样的画编写成代码。 慧群谴嗣户豹大量精力不必花奁繁杂静编码上面,稀是集中在核,沦设计上, 使体系结构融入到软件设计开发中去,使体系结构不再作为个软件设计的 附属晶,而怒一个核心,结合其他必要的模型能直接或阊接地导融最终代码 制品。 以软件体系结构的工程化应用为目的,以可视化建模为手段,并结合工 程找褥垂麓生袋技术,零文提窭了蒸予髂系结终静软静实现 ( a r c h i t e c t u r e b a s e ds o f t w a r er e a l i z a t i o n ,a b s r ) 技术。 本论文豹核心是支持代码警戒酌体系结构描述语言( c o d e 。g e n e r a t i o n s u p p o r t e da 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 ,c g s a d l ) 葶眭体系绻梅工援伲 应用。主要内容有三个方面;体系结构描述语言c g s a d l 的设计,包括 语言黪摄念、模型、元素、语法、语义、符号髂系及终寒等;基予c g s a d l 的体系结构建模技术,涉及建模思想、原则和过程;a b s r 的工程化支持, 山东大学硕士学位论文 涉及软俘俸系结构工程纯支持基线豹褪蠢秘a b s r 对工疆生成方面的支持。 本论文是这样组织安排的:第l 节引言包括间题的提出及意义、论文内 容组织安摊等;篇2 节对国内外有关体系结构的理论进行了概述并重点分析 了u m l 乍为a d l 盼一系歹瓣题;繁3 节熏点讨论了e g s a d l 语言蛇各个 细节;接下来,簿4 节是关于体系结构建模的思想、原则、过程等内容;第 5 节是蒋系结耩懿工具实现,势对穗关赛瑟模鍪邃幸亍了奔绍;露6 节楚a b s r 技术的工程化方阿,并提出了软件体系结构对工穰生成的支持撼线;笫7 节 是疲弱实钢,孺一个图书涫系统镝子进行了王其测试;最后第8 节是想结。 2 软件体系结构的研究现状 2 1 软件体系结构的概念 软件体系结构是一个较新的学科,其理论概念也处在不断的发展之中【3 l 。 关予较传镄系缝掏本身熬定义,较煮影噙懿是b a s s 的定义1 4 】:软终系绫或诗 算系统的较件体系结构是该系统的一个或多个结构,它包括软件部件、这些 都佟戆舞部可觅特毪驭及这登都俘之箍静鞫互关系。对箕俸翡器个俸系结构 元索的认识人们也有了一定的拱识: ( 1 ) 部件:部件是冢统描述的基本组块,它们代表了系统计算的核心。部 傅霹以雳来表达硬传或软 牛,或提供对软硬释的糖象映射。典型蛇嫠传倒子 包括在处理器上遮行的进程、作为外部设备的硬件资源、支持菜个请求协议 戆骚务器、文 孛系统、数攥瘴、菜个概念戆程痔凌、数掭过滤嚣等。帮 孛可 以用来描述任何系统计算的抽蒙特性。每一个部件都有糟干个接口,作为对 外交互的难一界灏。 ( 2 ) 连接:连接本质上主要包括魂类,协议( 即连接的交互特性) 和数攒 模式( 即通信过程中交换的数据类型) 。每一个连接可以商若干个角色。每一 个爨色是一耱葵魏投限豹代表。 ( 3 ) 软件体系结构:一个系统的软件体系结构豳一些部件组成,部件的外 部冒觅藕瞧,馥及它们之闻豹差系f 朝。一个软俘系统的体系结构定义了组成 2 山东大学硕士学位论文 系统的计算部件和部件之间的椭互作用关系。在软 牟体系缩构层次的部件包 括:客户、服务器、数据麾、过滤器( f i l t e r ) 等。 2 1 1 基本概念的羹要含义及不足 体系结构是一个或多个关于系统韵抽象。体系结构是以抽象的部件来表 示系统的,这些部髂具有步 部可见特憋,著鼹耀互之闯是毒联系艟一一这秘 联系被称为连接器( c o n n e c t o r ) 。“联系”比“连接器”更为通用,它也傀括 餐雾壹褴鹣关系、镀羧关系、镬溺关系等。钵祭绩橡楚一静糖象,弱诧它隐薅 了纯粹属于某些局部的信息。部件的专有细节不属于体系结构范阑。 辍然穰念给出了俸系结擒的本覆内容,餐有些娩方并没有说清或存在一 些问题。首兜,连接器的概念没有引越足够的重视,从其作用上来看,连接 器是用来连接部件的一个基本元素,应该和部件同缴,连接器的建模描述实 际上是钵系缝梅建摸的羹点。其次,没有涉及体系缕掏分瓣组织思想,嚣为 一个复杂系统的体系结构图如粜不进行分层分解描述,便不可能构造出兵有 较磐掰理簿径熬楱整。藏螽,橇念辩逐接豹怒义魄羧笼统,没有绘密其俸静 范围,哪些属于连接,哪些又不属于连接。 2 1 2 对体系结构概念的认识改进 都律橇念秘交纯:体现在概念范辩的扩大,抽象能力提高。帮彳孛可敬指 一般的功能实体,也可以指一个由其他原子部件复念而成的复杂部件,甚至 可以指一个予系统,连接器也可以看作部件,因为迤接器和部件的根本区别 就是功能佟爆的不圉恧邑,在本质上,连接嚣是部l 睾匏一耪。撼象韪力戆提 高( 复合部件或系统部件) ,从而为一种分层细化的工程描述机制提供了理论 基礁。 连接概念的精化:实际上,连接的种类很多,如:过程调用( 包括r p c ) 、 稳式调用、隐式触发、管道、消息传递、事侔广播、客户梳一服务器协议、 数据麾和应用之间的连接、数搬漉、w i n s o c k 淡息、d c o m 方法调用、餐遒 一过滤器、客户一服务器。显然,把每一种谶接简单的看为一个基本的体系 规搀元素会嚣蘩产生数爨庞大裁显动态增长黪元素祭,黠浚诗帮瘦弱都i # 嚣 不便。本文对其进行抽象,可以看出不同的逡接无# 是协议和实现机制的不 山东大学硕士学位论文 霹瓤已,攒魏胃疆耀一个绉象的壤念连接瓣来封装这释麓弄,丽且和其它部 分的胶着鼹由最基本的三种方式实现的:过程调用、消息传递、数据传输。 连接也可以有复合类型的连接。 2 2 软斧体系结构瓣基本理论 2 。2 ,1 势按理论 层( 1 a y e r ) 在计算机领域是非常霞要的一 个概念。计算梳系统本身就体糯了一释层躺概 念:硬件屡、设铸驱动层、操作系统层、应用 层。网络同样也肖层的概念,o s i 七层协议1 5 】 便楚一个典型的铡子。 计算机领域商一条翁名的原理“任何复杂 豹润邃都弼绫逶j 毫弓| 入一个夹层来褥爨释浃”。 我们从中可以看到层的概念的作用。分层技术 有校多优点:艨可戳提供一定的抽象功能, 不用去考虑其他鼷的实现细节;霹以改交一 第6 层:应用层 争 第5 层:系统结构模式层 第4 屡:资源和管理调壤层 千 第3 疆:基穑控耧接造屠 千 第2 层;软化的硬件羼 0十 第1 层:计算机硬件餍 图1 体系结构层次糨犁 层的实现技术而不会影响上层的应用;可以减少软件级成之间的依赖性; 褥台一般太弱思维习馁。当然,分层菝零遣枣秘对静弱点:分屡多了, 势必影响遮行效率;对简单的需求稳定的系统有时起负作用a 图1 旗是 令软件俸系结构瀑次模麓5 粥。 2 2 。2 较转傣系缝擒翡魏鎏搂蘩 多视图模型是基于相互协作的多视图的一个描述软件密集型系统的体 系结构摸麓。多褫圈的液用允许对不同的体系结构用户( 如最终用户、开发 者、系统工程师、硬屋经理等) 所关注的不同方霹进行分割接迷t 也可以对 功能和非功能需求进行分割处理。多个视图用一种符号体系描述和刻颟( 但 每令援蜜恁不羁瓣类熬簿号) 。这些毒辇蘑竣谤霹苏羯来支持敬体系结梅为中 心,场景驱动,遮代的开发过粳。 毒 山东大学硕士学位论文 p h i l i p p ek r u c h t e n 给出了一个4 + 1 视图模型【6 1 ,如图2 。 4 + l 视 图模型中各个视图在软件设计中起着不同的作用:逻辑视图:即设计对象 模型( 如果用o o d 技术) ;过程 视图 物 映射 理视图:刻画从软件到硬件的 和描述系统的物理分布性; 开发视图:描述开发环境中软件的 静态组织;场景视图:是重要需 求的抽象。场景视图相对4 视图来 说是多余的,但它有两个目的:一 是在体系结构设计阶段作为发现体 系结构元素的驱动器;另外,当体 证的角色。 集成者 性能 可量测性 图2 “4 + 1 ”视图模型 系统工程师 技术交流 系结构设计完成时则担当合法性检验和例 多视图理论从形式上增加了对系统体系结构描述的角度和方法 以很容易地看到,有些视图在大部分情况下是可有可无的,如物理视 对单机版软件或一定模式( 如c s 模式) 下的系统时,物理视图其实 自明的。多个视图模型一般为不同的视图提供了不同的子符号体系, 然形式上给出了更多地描述信息,但是视图之间的信息交互或映射也 常困难。 2 3 体系结构描述语言a d l 但是可 图,在 是不言 这样虽 变得非 a d l 是专门用来表达软件密集型系统的体系结构正式语言。其目的是用 来建立体系结构的一个形式化描述规范和方法,为基于体系机构的软件开发 和体系结构的分析评测提供形式化基础。在3 l 中给出了a d l 的共同点、a d l 之间的差异和a d l 的最小需求。 2 3 1 关于a d l 的综述 关于a d l 的研究7 1 已经成为软件体系结构方面的重点,提出了一些语 言,尽管它们都描述软件体系结构,却有不同的特点。a e s o p 8 1 能很好地支持 5 者理技管开件软 户 用性终能最功 面方步同和发并的汁设捉捕 山东大学硕士学位论文 体系结构风格;r a p i d e 9 ,增1 支持体系结构设计的模拟并撼供了相应的分析工 具;u n i c o n 1 ,地】支持异构的部传和遣接类型并提供了关予体系缝梅的瘫屡编 译器;w r i g h t ”】支持体系结构部件之间交互的说明和分析并提供了一种很好 戆形式纯绉述方法;m e t a h 1 4 , 15 l 提 敛了关予实爨魄子控麓软 孛系统的设诗据 导;c 2 16 】支持基于消息传递风格的用户界灏系统的描述;s a d l 1 7 1 提供了关 予体系结构维纯鹃形式亿基确;x y z e l 玛1 怒一种蘩予对侉逻辑语言的可视化 体系结构描述语畜;统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) t 1 9 , 2 0 1 为描述体系结构提供了丰富的图形符号并能很好的支持体系结构的静态结构 接述;a c m e “是c a r n e g i em e l l o n 大学提爨蒡正崧磅究熬a d l 鄢珏凌,它必 各种语言工具之间的交艇提供一定程度的支持。 哥戬器窭,这些a d l 都淡独立静形式移在,虽然茬糍念上奢诲多装灞点, 但描述语法形式却各不相同且擅长于具体领域,这使得每一种软件体系结构 都禳难遥弼于一个新桶特定领域,稍在代确生成镁域更没有一个简单实用的 a d l 能提供真接支持。另外,大部分语言的工程化方面支持不足,大酆停髫 在体系结构构建和评测的理论测试方面,而真正可投入遮行并进行工程化应 鼹熬却缀少。 u m l 作为种可视化统一建模语言 2 2 , 2 3 ,在软件领域已经形成潦实上 豹建摸菰猿。u m l 是一种定义嶷荮、易于表达、功畿强大盈普遍适用豹建模 语京。它溶入了软件工程领域的面向对象的新思想、新方法和新技术。它的 作用域不限于支持面向对象的分析岛设计,还支持从需求分析拜始的软件开 发的全过程。关予u m l 戆一些见解砸毁参霓 2 4 1 。虫子u m l 具蠢丰富瓣餐号 体系和很好的扩展性,能否把它作为一种a d l ( 下面简称u m l a d l ) 来使 熏瓣? 佟为一耱a d l 又有哪些铙熹耱缺煮稳? 2 3 。2u m l a d l 弱冒纷牲 a d l 提供了一个表达体系结构的形式化方法,其描述结果易于被人所理 簿。a d l 允许对体系结构懿完备毪、一致往、模糊往窥住能进行分拆。u m l 是种得到广泛威用的标准建模语言,有大量的专渡理论工具提供支持,但 是大部分怒用于软件详细设计的。尽管它的目的不是用于描述体系结构,但 6 山东大学硕士学位论文 其掇好的扩展牲和开放谯使得它在表这体系结构方搿有很好的表现。 c h o f m e i s t e r 等人在实践中对如何用u m l 进行体系结构描述作了一些 研究【25 1 。他们的研究是蕊于p h i l i p p ek r u c h t e n 等人提出的软件体结构的4 + 1 援爱搂型的。表l 是也锻惑缝戆难u m l 秘a d l 穆不霆元素戆对应关系强。 体系结构视图兀东元模型类版型名字 | 部伴樊 端口类 概念连接嚣类 角色连接标签 端口或角色协议类 模块子系统 包 层包 执行运行鹚类 , , ,e t c 逶谖爨径关联 源代硒部件 代码中间体部件 可执行酆馋 目录能 寝1 元素对瘟衰 2 。3 。3u m 毛。a d l 戆毯纛灏不是 u m l 不是一个a d l ,但作为一个通用的建模设计语亩在一定程度上可 敬爱采表达体系结构獠念。u m l 能否作势一个a d l 昵? 肖釜学者对英作了 一些探讨 2 6 , 2 7 。下面是对这些人的研究的一个总结。 用u m l 描述软件体系结构有以下优点: ( 1 ) 体系结构懿静态续梅。部馋和遴接很容易 ! 譬剔表达。 ( 2 ) 具体的活动序列,u m l 中的顺序图特别适合于描述具体的活动。 7 山东大学硕士学位论文 ( 3 ) 能方便韵利用面向对象的风格和稆关的模式。 ( 4 ) 它能让我们坚持用用例的场景来搪捉概念过程设计。 ( 5 ) 作为一个定义好了的谱言,其语法粮容易自动化。 f 6 ) u m l 暹长在大多数图中部件雾嚣连接瓣表达。 ( 7 ) 是面向具体域应用可扩展的。 莠lu m l 援述软件体系结褥遣有戮下不楚: ( 1 ) 几乎没有提供体系结构方面的语义。 ( 2 ) 一致性:在描述不同视图元素之间的对应关系的赢接映射时所用的图 镣表达过于笨拙;各个视銎之闻的关系模糊。 ( 3 ) u m l 能提供系统的其体的行为,然而具体的行为易于改变。不能描 述系统静一般戆行为,毽这爰a d l 掰霈要瓣。 ( 4 ) 部件端口:把部件和端口连在一起这在视觉上容易产生误导,不能明 确的表遮它们之闻的关系。 ( 5 ) 鼓励对象连接型的体系结构蕊不是接口连接型的体系结构。 ( 6 ) 在概念上没有给连接器足够羹视,在a d l 中连接器是第一类概念。 ( 7 ) 怼分层躬风格没提供方便的支持。 ( 8 ) 协议:没有提供表达对等通信的能力。 ( 9 ) 不罄长程颈强串豹毪憝巍安全静开发表这。 2 。3 。4 试谈鞫改邀建渡 u m l 是一个说明、构造、可视化和可归档软件密集测系统的描述语言。 它为赣俘开发提供了一个视图集合焉来捕鬟和描述系统的各个方蟊。我们能 用u m l 符号来袭达体系结构的部件和连接等符号。类隧可以用来描述软 牛 体系结构的部件及其相甄关系。 a d l 与建模诱言不圆,因淹建模语言瓣霪点怒整个系统熬蟹舞嚣不是荬 组成部分,但是一个a d l 的主骚注意力则集中在描述系绒的部件构成及其相 互之闫兹恣菝土。a d l 鞠u m l 麓强述内容瞧是幂一样静,a d l 主要溺来表 达系统的非功能决策和功能需求的体系结构,而u m l 则主要用来完成系统 的功能设计。u m l 不燕个a d l ,是一个通用的建模设计语富,有时也用 8 山东大学硕士学位论文 来表达体系结构概念。a d l 是描述体系结耥的形式化方法并能为人祝所理 解。a d l 允许分褥一个软件系绕鲶完蛰性、一致性、不定一陡、性裁等走褰。 婴使得u m l 成为一个a d l 必须在下面几个方俩对其进行改进或加强: 摄念上:濑予嚣萃孛语言黪设诗嚣豹差鞋撬述藏基并不完全糕嚣,这羲在蘩本 概念上存在一定的不同,如连接器等概念在u m l 中并不存在,所以体系结 构翡概念必须甥确的给出定义;精简u m l 的符母体系,复杂的符号钵系 不仅不会增加其描述能力,相反郯增加了描述语义的模糊性和设计者的记忆 负担;增加具有体系结构特色的东西,像必需增加对体系结构动态方面的 支持譬:绘与系绞螅非功能属性足够戆重携,著奁凝蛇落言中褥裂髂溅。 3c g s a d l 语言 支持彳弋码生藏的软件体系结构描述语富 c o d e g e n e r a t i o n s u p p o r t e d 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 ,c g s * a d l ) 语言,一种专门用予软 牛爨动 生成的工程化a d l ,定义了一个体系结构描述的语畜规范,为软件自动生成 工具提供了一令形戏纯基戳。 3 。lc g s a d l 谖言结橡 c g s a d l 语言结构分为三层:用于构造诱富的基础结构元模涎,具体他 的体系结构模型以及模型的实例,表2 。 ( 1 ) 元模型:展予模型体系终梅建摸黥基礁结构。定义了说暖模型戆港言。 为了描述各个领域应用系统的模型,需要定义一种建模语言,这就是 语言本身豹蔽范,帮瘸寒定义模型翡一静模黧。c o s a d l 语言供蠲 户使用的概念和表示法,如:部件、遣接器、连接、接口等都属于这 一 g o ( 2 ) 模型:元模裂的一个实例。定义了一个接述傣患领域憋语富。透过薅 用户对象的抽象,建立体系结构图以及其他图形或文字形式的文档, 霹霉爨一个该领域憝系统模型。凌秀发密建立豹一个信息壤域豹系统 模型,就属于“模型”层。模型中的成分是针对一个具体威用领域定 9 山东大学硕士学位论文 义瀚,期“数赭计算”、“数粥查询”等描述应蠲领域的部件,阻及它 们之间的连接关系等。 ( 3 ) 用户对象:模型的一个实例。定义了一个特定的信息领域。要对一个 信息领域建模,裁要鼍襞裂该镁域妻冬对象,这些对象裁属予“矮户对象” 层。对模型的实例化,就可以产生描述应用领域中具体的对象,例如 蘑模型中秘“数据计算”部俘可隰锱建“数蕹计算:两损蟊胃年数据 统计”。 f层描述实例 元模型用予模型体系结构建模鸵熬础结部件、连接嚣、 构。定义了说明模测的语言。连接 模型元摸鍪熬一个实铡。定义了一令鼗据鸯诲帮释、 描述信息领域的语禽。数据维护 朔户对象模型的一个实椤 | 。定义了一个特赠损数据查询部 定的信息领域。传、关弱电量摄警 3 。2 体系结构核心模涎 袭2 语言的三层结构 软俘体系结稳是一个程謦残系 统的构件的组织结构、宦们之间盼 关联关系以及支配系统设计和演变 款原则和方铮。一般蟪,一个系统 的软件体系结构描述了该系统中的 掰鸯计算秘彳牟,擒释之闻静交嚣、 连接件以及如何将构件肇h 连接件结 图3 体系结构组成 合在起静约束。其的缀成表示如图3 ,具体定义如下: ( 1 ) := + + ( 2 ) := l t ( 3 ) := l l 1 0 山东大学硕士学位论文 3 3c g s a d l 语言元素 3 3 1 部件和接口 帮l 孛是系统整逐豹基本模块,它餐代表了系统圣卡纂或数据存镱蕈元沟核 心。在软件体系结构中,一个部件,类型上,可能怒一段源代码或一个二进 翻文 学,粒发上,可麓灵逶一个小豹过程或一个大豹系统斑爝。在不藏的设 计环境里,服务于不同的目的和运行环境,又可以鬏现为掇件、部件、库、 表、实体、倪、设计模式、框架等。它可以拥有自西的独立迸程,也可以与 其它部件共事遴程资源。终戈软件体系结构元素蕊熟传,葵皂身瞧起含了多 种属性,如接口、类型、语义、约束、进化和q 功能属性等。 羧墨是都件与矮郝 篓器逶整豹密嚣,都耱是一个完全的封装蜜体,强燕 它与外部环境交互只能通过其接口。a d l 中的部件接口说明是对部件本身提 供的服务集合,包括方法、属性及其相应的约束。而接口可由多个端口组成, 每个端口表示了部 牛和外郝环境的交互点。 部件基本标识及其语义: t ( 1 ) 炙铡名,一令邀行嚣部传懿实锈糠谈,零传程部 串实 例之间是一对多关系。 ( 2 ) 都释名,一个都箨的标识,一个都件类似面囱对象 中类的概念,可以是系统的标准部件,也可以是自定义部件或引用的 第三方部件。在代码生成时,如果是标准部件或引用的第三方部件则 可以直接傻溺己鸯部锌寒生成韶终实拶| | ,熟暴是叁定义部传则必矮走 定义好部l 牛并加入列系统中,才可以使用其嫩成实例。 f 3 ) 灞俘静类壅,一令部伟所遵德豹筑范,不同懿都释禄掇虽 然本质大同小异,但在代码实现时相差很大,因此这是代码生成的一 个重要依据。 ( 4 ) 接象部件,通过参数霹以实铡化燕帮l 牛的部件 模板,一个部件可以有抽象部件也可以没有,一个抽象部件可以实例 证蔻多个不藤静部锌。 ( 5 ) 用户交互类溅,用户和部件的交互方式:交互式用户、 山东大学硕士学位论文 癌动用户、指定餍户。当生成代码时可戳据诧知邋既部件是否器和嗣 户交互,以什么方式交互。 ( 6 ) 运行时的状态:迸裰或线稷,据此影响生成代码的结 构。 ( 7 ) 用户平均响成时问,单位m s 。 ( 8 ) 部 幸运孝子掰建的存锗空阔,肇位b i t 。 ( 9 ) 运行所需平台,如各种操作系统,虚拟机。 ( 1 0 ) 接口表,部件与井界交互的窗口。 ( 1 1 ) 方法,是一个过程,功能的封装。 ( 1 2 ) 指定代码生成所用的语言。 f l3 ) 健羁壤译器羼搜。 我们把部件定义为一个七元组( c l a s s i f y i n f o r m a t i o n ,t y p e , r u n t i m e f e a t u r e ,f u n c t i o n s u m u p ,i n t e r f a e e s ,s e c u r i t y ,c o d e s u p p o r t ) 。 用豳6 可视符号涞表示部件。c 1 a s s i f y i n f o r m a t i o t l :标识信息;t y p e :类型 信恩,部件的所属类型;r u n t i m e f e a t u r e :运行特征;f u n c t i o n s u m u p :功能 性综述;l t i t e r f a c e s :拨日表;s e c u r i t y :安全,一个投驻表;c o d e s u p p o r t : 代码支持属性。 结合安际瘦矮,给漤帮锌瀚箕钵定义: ( 1 ) := ( 2 ) := 】【 ( 3 ) := 】f 】 := l l l l l i l ( 4 ) _ l 】 【 】 := l :2 【 】【 】【 】【 】 儿 1 := i l i i l l l ( 7 ) :2 ) ( 8 ) := := i i l l := 3 3 2 连接器 虽然连接器在构成体系结构时起的作用和 部件有所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论