




已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)uml20与xyzadl相结合的软件体系结构描述研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
u m l 2 0 与x y z a d l 相结合的软件体系结构描述研究 摘要 软件体系结构作为2 0 世纪9 0 年代国际软件工程领域出现的一个新兴的重要研究 方向,日益受到国内外学术界和工业界的关注。软件体系结构描述是软件体系结构中 一个非常重要的研究内容。基于此,本文探索一种u m l 2 0 与x y z a d l 相结合的软 件体系结构描述方法。本文的主要工作包括以下几个方面: ( 1 ) 首先介绍了软件体系结构及其描述的相关概念,接着分析和比较了三种常 用的软件体系结构描述方法,并指出了这三种方法各自存在的问题。 ( 2 ) 分析了u m l 2 0 与u m l l x 相比在软件体系结构描述方面所具有的一些优 势,确定了用u m l 2 0 描述软件体系结构概念元素所使用的相关模型元素,介绍了 x y z e 和软件体系结构描述语言x y z a d l ,给出了u m l 2 0 与x y z a d l 在体系结 构描述中的元素对应关系。 ( 3 ) 根据u m l 2 0 与x y z a d l 的元素对应关系,提出了一种把两者结合起来 描述软件体系结构的方法,采用定义u m l 2 0 相关视图的x y z e 语义来实现u m l 2 0 与x y z a d l 的结合,引入了c o m 交互操作符,定义了u m l 2 0 顺序图的x y z e 时 序逻辑语义。 ( 4 ) 最后为了把本文的软件体系结构描述方法应用到实例系统的描述当中,我 们对某企业采购任务管理系统的体系结构进行了描述。+ 本文给出的u m l 2 0 与x y z a d l 相结合的软件体系结构描述方法,有利于推动 软件体系结构描述研究,有利于促进u m l 2 0 形式语义研究,有利于促进形式化方法 在软件开发中的应用。 关键词:软件体系结构描述;u m l 2 0 ;时序逻辑;x y z e ;x y z i a d l r e s e a r c ho nt h es o f t w a r ea r c h i t e c t u r e d e s c r i p t i o nc o m b i n i n gu m l 2 oa n dx y z a d l a bs t r a c t s o f t w a r ea r c h i t e c t u r e a sa n e m e r g i n gi m p o r t a n tr e s e a r c hf i e mo fs o f t w a r ee n g i n e e r i n gr i s i n g i nt h e9 0 so f2 0 t hc e n t u r y , i sp a i dm o r ea t t e n t i o nb yd o m e s t i ca n di n t e r n a t i o n a la c a d e m i cc i r c l e sa n d i n d u s t r i a lc i r c l e s s o f h v a r ea r c h i t e c t u r ed e s c r i p t i o ni sav e r yi m p o r t a n tr e s e a r c ht a s ko fs o f t w a r e a r c h i t e c t u r e b a s e do nt h e s e ,t h i st h e s i se x p l o r e sam e t h o dw h i c hi sc a l l e das o f t w a r e a r c h i t e c t u r ed e s c r i p t i o nm e t h o dc o m b i n i n gu m l 2 0a n dx y z a d l t h em a i nw o r ki nt h i s t h e s i si n c l u d e st h ef o l l o w i n g : ( 1 ) f i r s t ,t h ec o n c e p t so f s o f t w a r ea r c h i t e c t u r ea n di t sd e s c r i p t i o na r ei n t r o d u c e d t h e n , w ea n a l y s ea n dc o m p a r et h r e em a i nm e t h o d so fs o f t w a r ea r c h i t e c t u r a ld e s c r i o t i o na n d i d e n t i f yt h e i rr e s p e c t i v ed i s a d v a n t a g e ( 2 ) t h ea d v a n t a g eo fu m l 2 0c o m p a r e dw i t hu m l l xi nt h es o f t w a r ea r c h i t e c t u r e d e s c r i p t i o ni sa n a l y s e da n du m l 2 0m o d e le l e m e n t sw h i c hu s e dt od e s c r i b et h ea c c o r d i n g a r c h i t e c t u r a lc o n c e p t i o na r ed e t e r m i n e d t h ex y z ea n ds o f t w a r ea 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 ex y z a d la r ed e s c r i b e d t h ec o r r e s p o n d i n gr e l a t i o n s h i pb e t w e e nu m l 2 0a n d x y z a d li nt h ea r c h i t e c t u r a ld e s c r i p t i o ni sg i v e n ( 3 ) a c c o r d i n gt ot h ec o r r e s p o n d i n gr e l a t i o n s h i pb e t w e e nu m l 2 0a n dx y z a d l ,a n e ww a yt od e s c r i b es o f t w a r ea r c h i t e c t u r ew h i c hc o m b i n e sb o t he l e m e n t si sc o m p o s e da n d t h ew a yi sa c h i e v e dt h r o u g hd e f i n i n gt h es e m a n t i c so fx y z ef o rr e l a t e dd i a g r a m so f u m l 2 0 t h ec o r ni n t e r a c t i o no p e r a t o ri si n t r o d u c e da n dt h ef o r m a ls e m a n t i c so fu m l 2 0 s e q u e n c ed i a g r a mb a s e do nx y z ea r ed e f i n e d ( 4 ) h af i n a l ,w eg i v et h ea r c h i t e c t u r a ld e s c r i p t i o no ft h em a n a g e rs y s t e mo fa n e n t e r p r i s ep r o c u r e m e n td a s kw h i c hu s e so u rm e t h o d t h es o f t w a r ea r c h i t e c t u r ed e s c r i p t i o nm e t h o dc o m b i n i n gu m l 2 0a n dx y z a d l w h i c hi sg i v e ni nt h i st h e s i sc o n t r i b u t e st ot h er e s e a r c ho fs o f t w a r ea r c h i t e c t u r ed e s c r i p t i o n a n dt h er e s e a r c ho ff o r m a ls e m a n t i c so fu m l 2 0a sw e l la st h ea p p l i c a t i o no ff o r m a l m e t h o di nt h es o f t w a r ed e v e l o p m e n t k e yw o r d s :s o f t w a r ea r c h i t e c t u r ed e s c r i p t i o n ;u m l 2 o :t e m p o r a ll o g i c ; x y z e :x y z a d l u 大学学位论文独创性声明 、本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。论文申除了特别加以标注和致谢的地方外不包含其他人或其他机构已经发 表或撰写过的研究成果。其他同志对本研究的启发和所做的贡献均已在论文中作了明 确的声明并表示了谢意:本人完全意识到本声明的法律结果由本人承担。 作者签名:专zl 幺、 日期:如i o 定, 1月目 学位论文使用授权声明 本人完全了解浙江师范大学有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关机关或机构送交论文的复印件和电子文档,允许论文被查阅和借阅,可 以采,鼋影印、缩印或扫描等手段保存、汇编学位论文。同意浙江师范大学可以用不同 方式在不同媒体土发表、传播论文的垒部或部分内容。 保密的掌位论文在解密后遵守此协议。 j, 一名:李鄙签到,荔岵细 浙江师范大学学位论文诚信承诺书 我承诺自觉遵守浙江师范大学研究生学术道德规范管理条例。我的学位 论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明并详 细列出有关文献的名称、作者、年份、刊物名称和出版文献的出版机构、出版地 和版次等内容。论文中未注明的内容为本人的研究成果。 如有违反,本人接受处罚并承担一切责任。 5 9 承诺人( 研究 指导教 1 1 研究背景 l绪论 二十世纪六十年代爆发了软件危机,给软件产业造成了巨大的损失,人们开始意 识到了软件工程的重要性,并开始重视研究软件工程。在此基础上,软件体系结构作 为一门新学科也逐渐发展起来。1 9 9 4 年d a v i dg a r l a n 和m a r ys h a w 共同发表了一篇 论文,他们在论文中给出了软件体系结构的概念,这对软件体系结构研究具有很大的 推动作用。软件体系结构自提出以来在学术界和工业界受到普遍关注,经过不断发展, 已经成为一个重要的研究领域,在软件开发中起的作用愈发关键。实际上,一个良好 的软件体系结构对缩短软件开发周期、方便后续系统维护都具有重要意义。 在软件体系结构研究中,如何描述软件系统的体系结构非常关键,是软件体系结 构研究中一个最重要的内容。目前专家学者们研究比较多的主流软件体系结构描述方 法主要有下面三种:一是以u m l 为代表的可视化描述方法,它具有清楚直观的特点; 二是以a d l 为代表的形式化描述方法,它具有严格精确的特点;三是可视化与形式 化相结合的描述方法。但是以u m l 为代表的可视化描述方法有如下缺陷:语义比较 模糊,由语义模糊引起的沟通障碍,无法实现系统验证,不适用于描述体系结构行为。 同样以a d l 为代表的形式化描述方法存在的问题有:形式化说明与真实代码之间存 在很大差距,形式化描述方法整合到软件开发过程中比较困难。 在软件体系结构描述方面,u m l 与a d l 各具特点,它们的互补性比较强,因此, u m l l x 与a d l 相结合的软件体系结构描述方法成了目前软件体系结构描述研究中 一个热门的问题,其中u m l l x 是对u m l i 3 、u m l l 5 等这些较早版本的u m l 的 统称。实际上,这种把可视化与形式化结合起来描述软件体系结构的方法依旧存在一 些问题:目前大多数a d l 不利于进行逐步求精,在u m l l x 是否可以用于描述软件 体系结构这个问题上还有些争议,目前只是通过u m l l x 的扩展机制把u m l i x 和a d l 相结合,这种结合方式会造成u m l l x 各个视图的不统一。 1 绪论 1 2 研究内容及意义 到目前为止,关于软件体系结构描述的研究还不够成熟,还有很多问题期待解决。 本文主要针对u m l l x 与a d l 相结合的软件体系结构描述方法中存在的问题,探讨 一种u m l 2 0 与x y z a d l 相结合的软件体系结构描述方法,其中,切l 2 0 与 u m l l x 相比具有很强的软件体系结构的支持能力,x y z a d l 便于对软件体系结构 进行求精和分析,u m l 2 0 与x y z a d l 都具备很强的软件体系结构描述能力。这种 方法主要根据u m l 2 0 与x y z a d l 在软件体系结构描述中的元素对应关系,将两者 结合起来描述软件体系结构,采用定义u m l 2 0 相关视图的x y z e 时序逻辑语义来 实现两者的结合,探索一种软件体系结构描述的新途径。本文引入一种新的交互操作 符c o r n ,定义u m l 2 0 顺序图的x y z e 时序逻辑语义,使得切l 2 0 与x y z a d l 具有一致的语义基础,从而实现两者相结合。 本文的主要内容包括: ( 1 ) 介绍软件体系结构及其描述的有关概念。 ( 2 ) 分析和比较三种常用软件体系结构描述方法,并对指出这三种方法各自存 在的问题。 ( 3 ) 分析u m l 2 0 与u m l l x 相比在软件体系结构描述方面所具备的一些优 势,并给出用u m l 2 0 描述软件体系结构相关概念元素所使用的模型元素。 ( 4 ) 根据u m l 2 0 与x y z a d l 在软件体系结构描述中的元素对应关系,提出 一种把两者结合起来描述软件体系结构的方法,采用定义u m l 2 0 相关视 图的x y z e 时序逻辑语义来实现两者的结合,引入c o r n 交互操作符,定 义u m l 2 0 顺序图的x y z e 时序逻辑语义。 ( 5 ) 为了把本文的软件体系结构描述方法应用到实例系统的描述当中,我们对 某企业采购任务管理系统的体系结构进行了描述。 本文主要有以下一些实际意义: ( 1 ) 探索了一种新的软件体系结构描述方法。文本给出了u m l 2 0 与x y z a d l 在软件体系结构描述中的元素对应关系,并定义了u m l 2 0 顺序图的 x y z e 时序逻辑语义,从而实现了两者的结合,探索了一种软件体系结构 描述的新方法。其中,u m l 2 0 是对u m l l x 的改进,具有很强的软件体 系结构的支持能力;x y z a d l 是一种典型的a d l ,便于对软件体系结构 l 绪论 进行求精和分析。 ( 2 ) 促进了u m l 2 0 在软件体系结构描述中的应用。在本文中,我们不仅分析 了u m l 2 0 在软件体系结构描述中具备的一些优势,而且得出了u m l 2 0 模型元素与软件体系结构相关元素的对应关系,从而促进了u m l 2 0 在软 件体系结构描述中的应用。 ( 3 ) 推动了形式化方法在软件开发过程中的应甩。在本文中,我们提出了一种 u m l 2 0 与x y z a d l 相结合的软件体系结构描述方法,用时序逻辑语言 x y z e 定义了u m l 2 0 顺序图的时序逻辑语义,这样就能在软件开发过程 中把u m l 2 0 可视化视图转化成形式化语言x y z 止蛐l ,从而推动了形式 化方法的应用。 1 3 本文组织结构 本文共有七章,每一章的内容安排如下: 第1 章,主要介绍本文的研究背景、研究内容及意义。 第2 章,主要阐述软件体系结构及其描述的有关概念。 第3 章,分析和比较三种常用软件体系结构描述方法,并指出这三种方法各自存 在的问题。 第4 章,分析u m l 2 0 与u m l l x 相比在软件体系结构描述方面所具备的一些优 势,并给出用u m l 2 0 描述软件体系结构相关概念元素所使用的模型元素:介绍 x y z e 和软件体系结构描述语言x y z 儿姬i l ;根据u m l 2 0 与x y z ,a d l 在软件体系 结构描述中的元素对应关系,提出一种将两者结合起来描述软件体系结构的方法,采 用定义u m l 2 0 相关视图的x y z e 时序逻辑语义来实现两者的结合。 第5 章,引入一个新的交互操作符c o r n ,在此基础上定义u m l 2 0 顺序图的x y z e 时序逻辑语义,给u m l 2 0 与x y z a d l 相结合的软件体系结构描述方法的实现提供 了最重要的基础。 第6 章,为了把本文提出的软件体系结构描述方法应用到实例系统的描述当中, 我们对某企业采购任务管理系统的体系结构进行了描述。 第7 章,主要内容包括本文的工作总结和在此基础上的进一步工作展望。 2 软件体系结构及其描述的相关概念 二十世纪九十年代以来,在国际软件工程领域内出现了一个新的研究方向,这个 新出现的重要的研究方向就是软件体系结构,软件体系结构已开始成为一个研究热 点。如何描述软件系统的体系结构非常关键,它是研究软件体系结构的一个最重要的 内容。软件体系结构已经引起了各方面的不断关注。本章简要介绍了软件体系结构及 其描述的有关概念。 2 1 软件体系结构的定义 软件体系结构自提出以来在学术界和工业界受到高度关注,经过不断发展,目前 已成为一个重要的研究领域,在软件开发中起的作用十分关键。文献【1 3 1 给出了几个 典型的软件体系结构定义,分别是: ( 1 ) 一个程序内各构件的自身结构、构件与构件之间的相互关系、构件与环境 之间的相互关系以及进行设计的标准和随时间进化的指导方针就是软件体 系结构。这个定义就是i e e e 6 1 0 1 2 1 9 9 0 软件工程标准词汇中软件体系结 构的定义。 ( 2 ) 1 9 9 2 年d e w a y n ep e r r y 和a l e xw o l f 在他们早期所写的关于软件体系结构 的文章中指出了软件体系结构的定义,他们指出一组具有固定形式的结构 化元素组成了软件体系结构。 ( 3 ) 1 9 9 3 年m a r ys h a w 和d a v i dg a r l a n 也指出了软件体系结构的定义,他们 认为构件、连接件以及约束组成了软件体系结构【4 】,同时由他们两人所写 的文献【5 1 是最早开始详细介绍软件体系结构的最有名的作品。在他们所写 的著作中,他们指出软件体系结构是软件设计过程中的一个高于算法设计 和数据结构设计的更高的层次。 ( 4 ) 1 9 9 4 年西门子公司的三位员工s o n i 、n o r d 和h o f m e i s t e r 提出了对软件体 系结构的看法,他们认为至少可以从4 个不相同的角度对软件体系结构进 行研究【6 】,这个结论是他们通过研究工业界普遍使用的开发设计环境后得 出的。 4 2 软件体系结构及其描述的相关概念 ( 5 )1 9 9 6 年b o e h m 以及他的学生也给出了软件体系结构的定义,他们认为系 统构件、互联和约束的集合就是软件体系结构。 ( 6 ) 1 9 9 8 年,在软件构架实践这本书中,l e nb a s s 、p a u lc l e m e n t s 和r i c k k a z m a n 对软件体系结构的定义进行了说明【7 】:一个系统的软件体系结构由 一个或者一组构件、构件的外部可见特性及其构件与构件之间的相互关系 组成。在他们2 0 0 3 年所写的软件构架实践第2 版一书中,他们修改了 软件体系结构的定义【8 毪 根据国内外普遍认可的看法,软件体系结构的定义可用图2 1 表示如下: 图2 1 软件体系结构定义的图形表示 由于软件体系结构的重要性,良好的软件体系结构对于软件系统的重要意义在软 件生命周期中的各个阶段都有体现。在软件体系结构的理论指导下设计软件,具有以 下意义: ( 1 软件体系结椅是软件系统开发中不同参与者进行交流的中介,因此熟练地 使用描述软件体系结构范型的表示法,便于软件工程师和其他人进行交流。 ( 2 ) 软件体系结构的设计既是基于需求分析的一个迭代的过程,又是后续阶段 详细设计的基础。 ( 3 ) 在开发阶段,正确地理解系统的体系结构是开发工作顺利进行的前提。 ( 4 ) 在测试阶段,软件体系结构对测试起指导作用。 ( 5 ) 在维护阶段,可以大大减少花在对现存代码的理解上的时间。 2 2 软件体系结构的主要研究方向 至| j 现在为止,软件体系结构仍是一个处于不断发展中的新研究领域,许多概念还 相当模糊。本文对引起各方面关注较多、影响较大、有良好发展前景的几个研究方向 2 软件体系结构及其描述的相关概念 进行了归纳,主要集中在以下几个方面1 9 1 : ( 1 ) 体系结构描述构造和表示。以相关的描述方法为基础,使用体系结构描述 语言对体系结构进行描述的结果就是体系结构的表示。体系结构构造就是 描述体系结构的整个过程。 ( 2 ) 软件体系结构描述语言a d l 。到目前为止,国内外的专家学者经过研究提 - 出了很多不同的a d l ,比较有影响力的a d l 包括c 2 、a c m e 、u n i c o n 、 m e t a h ,a e s o p ,s a d l ,r a p i d e 、w r i g h t ,x a d l ,x y z a d l 、a b c a d l 匈譬 寸o ( 3 ) 软件体系结构发现、演化与复用。软件体系结构发现的主要用处是解决怎 样从现有的系统中提取出软件的体系结构,在文献0 0 1 中给出了种迭代式 体系结构发现过程,这种发现过程原理与“盲人摸象”非常类似。系统的 需求、所需的技术、开发环境、分布等因素发生了变化,这些变化最后使 得软件体系结构发生了变化,这个过程就是软件体系结构演化。软件体系 结构复用属于设计复用,它比代码复用的抽象程度要高。 ( 4 ) 基于体系结构的软件开发方法研究。b a s s 和其他人一起提出了一种基于体 系结构的软件开发过程【l l 】,基于体系结构开发的软件体系结构生命周期模 型是文献f 1 2 】所有提出的,在文献【1 3 】中他们研究了以6 个体系结构视图为核 心的软件开发方式。 ( 5 ) 特定领域的体系结构d s s a 。特定领域的体系结构就是把体系结构的相关 理论应用到特定领域的过程,典型的d s s a 有:电信行业软件的体系结构 研列1 4 】、c a s e 体系结构、c a d 软件的参考模型、测试环境的体系结构等。 ( 6 ) 软件体系结构的支持工具。实际上每种软件体系结构都有和它相对应的原 型支持工具,但是支持软件体系结构设计的工具还一直处在发展当中,远 远没有达到成熟的程度。 ( 7 ) 软件体系结构分析、设计和测试。k a z r n a n 等人在体系结构分析领域给出 了一些体系结构分析方法,如体系结构分析方法s a a m 和基于场景的体系 结构分析方法,b a r b a c c i 等人也提出了种体系结构分析方法,这种方法 是多质量属性情况下的体系结构权衡分析方法a t a m 。得到一个符合需求 的体系结构的过程就是体系结构设计。而体系结构测试主要关注仿真系统 模型,主要目的是对体系结构层的一些主要问题进行解决。 6 2 软件体系结,陶及其描述的相关概念 2 3 软件体系结构描述的作用 在一个软件系统中,准确而又详细地描述软件体系结构非常重要,不但能够增强 开发人员之间的交流合作和增强对体系结构的了解,而且给后面的求精、分析、验证 等一系列工作提供了便利。在这种情况下,软件体系结构描述自然成为了软件体系结 构研究领域的一个研究热点。在软件开发过程中,体系结构描述起到的作用主要有以 下几个方面【1 5 】:给不同系统开发人员之间的通讯提供了支持;有利于系统开发过程的 计划、管理与实施;有利于系统的进一步演化;是系统开发过程中的一种重要文档: 是体系结构的评价、分析、比较的基础。 在软件开发过程中,体系结构描述起到的作用如图2 2 所示: 体系结构的终点( 图形化表示 体系结构提供、 评价和度量 n 0 体系结梅昀 性质分析 体系结构的非 形式化描述 i厂形式化 i 上f 的数学 土i 的数学 体系结构的i 模型 形式化描述髟 , 需演化否 列体系结构的实旖卜又需求精否 y e s 体系结构的演化il 体系结构求精的验证i 体系结构的求精 田2 2 软件体系结构描述在体系结构中的作甩 2 4 软件体系结构描述的概念框架 到目前为止,国内外的专家学者还没有对软件体系结构描述的主要内容形成一致 的观点。事实上,体系结构交换语言a c m e 1 6 1 和m e d v i d o v i c 1 7 1 对各种体系结构描述 语言进行了分析和讨论,根绝分析和讨论的结果,我们觉得,在描述软件体系结构的 时候,应当能描述软件体系结构的以下些概念,这些概念包括:构件、连接件、系 7 2软什体系结构及其描述的相关概念 统、端口、角色、性质、配置、体系结构风格,以及粘接操作和绑定操作。在上述概 念中,构件、连接件和系统是最主要的实体元素。 构件是一个包含相应功能的逻辑单元或存储对象,构件的特点是构件的语义要完 整、构件的语法要精确、构件要具有可重用性价值。构件的组成元素是接口和内部规 范,其中,接口是一组端口和一个性质描述。构件的大小不一,小的时候可以是一个 过程,大的时候可以是整个系统,根据这个特点就可以把构件可以分为简单构件和复 合构件。构件之间是相对独立的。 连接件是一种体系结构构造模块,它的主要功能是用于建立构件间的动态交互以 及支配这些交互规则。通过连接件就可以把各构件有机地组合在一起,并能实现各构 件之间的相互交互。连接件可以分为简单连接件和复合连接件。连接件的组成元素是 接口和交互协议,连接件的特点是具有可扩展性、互操作性、动态连接性和请求响应 性。 系统从本质上来说就是一个构件,简单的只需用简单构件表示,复杂的需要用复 合构件表示。 配置用于表示复合构件内构件、连接件的整体布局。它的功能在于能提供相应的 限制来确定构件是不是正确连接、接口是不是匹配、连接件构成的通信是不是正确。 软件体系结构描述的概念框架用图2 3 表示: 2 软1 i ,i :体系结构及其描述的相关概念 一 表示包含关系 注: s 。;s :;s m 表示s i 依次为真并行语句 并行语句:l b = s i a r l | 【i p r o s _ i n s t a n t i a t i o nl ( a c t u a l _ _ p a r a m e t e r l ) ; p r o s _ i n s t a n t i a t i o n n ( a c t u a l _ p a r a m e t e r n ) x y z e 很适合用于描述软件体系结构,到目前为止,x y z e 在软件体系结构中 的应用研究包括文献【4 7 5 3 】。但通过这些成果我们可以发现,x y z e 不包含软件体系 结构的相关概念,x y z e 不是一种真正意义上的a d l 。 4 2 2x y z a d l 的体系结构单元描述 在x y z e 已有结论基础上,中科院软件所x y z 研究人员扩展了x y z e 相应的 软件体系结构元素,从而得到了一种新的软件体系结构描述语言x y z a d l , x y z 几心l 是一种真正的a d l 。在统一的时序逻辑框架下,x y z a d l 可以描述系统 各种抽象层次的规范,并以一套x y z e 的c a s e 工具集作为底层的支撑工具,方便 了软件体系结构的描述、分析、求精、验证工作,能有效地实现系统的最终编译。 描述软件体系结构的单元主要有构件( 包括简单构件和复合构件) 、连接件和交 互端。 ( 1 ) 简单构件 简单构件由接口和内部规范组成。接口包括端口描述和性质描述,端口描述给出 构件与外部环境的交互行为,性质描述给出构件功能或者性质。内部规范主要用于说 明构件的行为规范,可以是空的。 端口用于实现构件对外部环境的一个请求,用一组通道表示。在使用通道前,要 对通道进行类型声明,并给出通道的行为描述。端口的语法如下所示: p o r tp o r c n 锄e c h 锄e l t y p ed e c l a r a t i o n ;口l :p o r t b e h a v i o r 在上式中,该端口所用的组通道可以用c h a n n e l t y p ed e c l a r a t i o n 进行声明,使 2 l 4u m l 2 0 与x y z a d l 相结合的软件体系结构描述 用单通道时,直接用相应的数据类型表示;该端口的行为可以用p o r t b e h a v i o r 进行描 述,它对外部环境怎样通过该端口与构件交互进行了说明,也是构件的外部可见行为, 由一个x y z e 单元表示。端口协议其实是关于这些端口的描述。 端口可以包含一个或多个通道,如果只包含一个通道,则端口所用的通道名和端 口名相同。比如说,端口d a t a i n 只包含一个i n t 型的通道,则该端口的通道名为 d a t a i n ,通道类型声明表示如下: p o r td a t a l n = i n t ; 如果包含多个通道,比如说,端口p 包含有两个通道a 和b ,则通道类型声明表 示如下: p o r tp 一- - - r e c o r d ( c h nad a t e t y p e1 ; c h nbd a t e t y p e 2 ) 当通道在其它地方使用时,我们用全名p a 和p b 来表示这些通道。 性质描述就是说明构件的性质,也就是说明构件能够完成的功能,我们用时序逻 辑公式表示性质描述,如下: p r o p e r t y 一口 p r o p e r t i e s 其中,p r o p e r t i e s 可以用来描述构件的功能,也可以用来说明构件行为应当满足 的局部性质( 例如安全性等) 。 内部规范将各端口连成一个统一的整体,一个x y z e 单元可以表示内部规范, 这些内部规范可以是不同抽象层次的行为,语法如下: c o m p u ,r a t i o n 一口 c o m p u t a t i o ns p e c i f i c a t i o n 】 构件及其内部的各部分之间关系的解释如下所示: 定义4 1 一个构件d c 分为内部规范和接口描述两部分。内部规范是构件的完整 抽象行为描述,接口描述包含一组端口和一个性质描述。若d c 有k 个端口,那么它 们的行为描述为p b e h a v i o r l ,p b e h a v i o r k ,性质描述为f ,内部规范为c o m s p e c ,则 它们之间的关系为:p b e h a v i o r i ( i = l k ) 是c o m s p e c v 关于各个端口上出现的不包含控 制变量的变量集的求精,并且c o m s p e c f ,即c o m s p e c 逻辑蕴涵f 。 ( 2 ) 连接件 连接件表示构件之间的交互方式和规则, 连接件由接口和交互协议组成。接口表示和此连接件相关的构件参与交互所必需 的外部行为( 即端口协议) ,接口由一组角色定义。交互协议描述如何把角色连在一起 2 2 4u m l 2 0 与x y z a d l 相结合的软f ,l :体系结构描述 产生交互,使得把参加交互的这些构件的内部规范所表示的抽象行为组合起来。 每个角色由通道表示,每个角色说明参加交互的构件在这个交互中所必需的行 为,通道包括数据类型声明和行为描述,语法为: r o l er o l e n a m e c h a r m e l t y p ed e c l a r a t i o n ;口 r o l e b e h a v i o r 其中,c h a n n e l t y p ed e c l a r a t i o n 的声明和端口中是相同的,声明该角色可以接受 的数据类型,或者说这个角色中参加交互的端口可以接受的数据类型;r o l e b e h a v i o r 是对该角色行为的限制,由一个x y z e 单元表示。 交互协议主要起到了组合参与交互的各种元素的作用,其相关的x y z e 单元描 述的语法为: g l u e 一口 i n t e r a c tp r o t o c o l 】 连接件规范的语义我们用x y z e 解释如下: 定义4 2 连接件c o n 由一组角色r 尽。以及交互协议g l u e 定义,其中每个角 色r i 的行为描述为r b e h a v i o r i ( i = 1 n ) ,那么c o n 的规范是一个x y z e 单元: | | g l u e ,r b e h a v i o r l ,r b e h a v i o r n 其中,在g l u e 中出现的通道集合为 r l ,r 。 。 ( 3 ) 复合构件 复合构件各个子构件互相连接组成了复合构件,这些子构件可以是简单构件也可 以是复合构件。基于立体的角度考虑复合构件,从横向上来看复合构件表示了构件与 构件之间的配置关系,从纵向上来看复合构件表示了构件与构件之间的层次关系。 复合构件的接口描述与简单构件是一样的,复合构件内的几个子构件的连接表示 复合构件的行为。当对一个复合构件进行描述时,要指出这个复合构件包含的所有构 件和连接件实例,也要说明它们的连接关系。 复合构件的组合声明指示复合构件包含的所有构件和连接件实例,其语法为: c o m p o s i t i o n 一f c o m l n s n a m e :c o m p o n e n t n a m e ; c o n l n s n a m e :c o n n e c t o r n a m e ; 复合构件的粘接定义表明它的内部体系结构配置,语法如下所示: a t t a c 玎】三n t s = = 4 u m l 2 0 与x y z a d l 相结合的软件体系结构描述 c o m i n s n a m e p o r t n a m e 并c o n i n s n a m e r o l e n a m e ; c o m i n s n a m e p o r t n a m e 槲p o r t n a m e ;】 其中粘接操作说明左右互相连接的构件端口与连接件角色想粘接,我们用“ ” 定义粘接操作。绑定操作说明复合构件内的子构件的端口被指定为该复合构件的端 口,却没有和某个角色相粘接,我们用“蜊 定义绑定操作,在这里省去构件名。 我们将复合构件的语义解释如下: 定义4 3 若复合构件c c o m 定义了p n u m 个端口c p o r t 。( p = 1 p n u m ) ;声明了n 个构件实例c o r n l n l :c o m t y p e l ,c o m l n 。:c o m t y p e 。,表示每个c o m t y p e i 计算规范的 , 单元为c o m s p e c i ;声明了r n 个连接件实例c o n i n l :c o n t y p e l ,c o n l n 。:c o n t y p e 。,每 c o n t y p e j 有i :j 个角色,交互协议为单元c o n g l u e j :定义了s u m j 蜃i m r j 4 粘接f o r t k 舟r o l e k 好1 s u m 产1 m 弓) 和p n u m 个绑定p o r t p j c p o r t p ( p = 1 p n u m ) ,则相应的 p o r t k 可以替换任何c o n 咖i 中出现的通道r o l e k ,相应的c p o r t ,可以替换任何在绑 定定义中出现的p o r t ,并且c c o m 的行为规范是一个x y z e 单元: l | c o m l n s p e c l ,c o m l n s p e c 。,c o n l n g l u e l ,c o n n g l u e 。】 因为我们可以把整个系统看作是一个复合构件,所以描述系统的体系结构时,我 们只需将保留字c o m p o n e n t 换成s y s t e m ,其他保持不变。 4 3u m l 2 0 与x y z a d l 相结合的软件体系结构描述 在软件体系结构描述能力上,u m l 2 0 比u m l l x 有很大改进,具备了较强的软 件体系结构描述能力,但是u m l 2 0 也存在很多问题,它缺少精准的形式化语义,不 便于后续的分析和验证工作。x y z a d l 在软件体系结构描述上同样有自生的优缺点, 优点是对软件体系结构逐步求精和相关性质分析是有利的,缺点是不够直观,对理解 和交流不利。如果把两者结合来描述软件体系结构,有以下优势:能够对软件体系结 构进行一步步求精,能够使体系结构设计自然的转换到具体代码;比较直观,便于理 解和交流,有利于有关性质的分析和推理。 根据前面的内容,我们能够得出,u m l 2 0 与x y z a d l 在体系结构描述方面存 在很多对应之处,表4 4 是它们在体系结构描述方面的对应关系: 2 4 4u m l 2 0 与x y z a d l 相结合的软件体系结构描述 表4 4u m l 2 0 与x y z ,a d l 描述软件体系结构的对应关系 软件体系结构对应的u m l 2 0 模型元素 x y z a d l 简单构件构件 c o m 【p o n e n t 连接件,类 c o n n e c t o r 复合构件 结构分类器 c o m p o s t i o n 端口构件边框的端口 p o r t 角色类边框的端口 r o l e 粘接装配连接件 群 绑定代理连接件 撑样 行为特性顺序图或状态图对应的x y z e 程序 u m l 2 0 与x y z a d l 的具体结合方式如下:对于软件系统的构件和连接件的整 体结构关系,我们用u m l 2 0 组成结构图来描述;对于构件行为、端口行为、连接件 行为以及构件之间的交互等许多行为特性,我们用u m l 2 o 的顺序图或状态图来描述。 相应的x y z 几l 整体框架描述,我们可以通过利用u m l 2 0 与x y 猢l 在体系结 构描述方面的元素对应关系得到;我们根据u l 2 0 相关视图的x y z e 语义,得到 各个组成元素具体行为的x y z a d l 描述。通过以上方式,我们就可以把u m l 2 0 与 x y z a d l 结合起来描述软件体系结构,图4 1 是它们的结合方式。 软件体系结构描述 组成部分: i 嗍,2 0 描述: ( 便于理解交流) 图4 1 u m 【l 2 0 与x y z a d l 结合方式 x y z a d l 描述: ( 便于分析验证) u m l 2 0 与x y z a d l 的结合方式并不是它们的简单累加,实际上,这种结合方 式的关键之处在于使u m l 2 o 描述与x y z a d l 描述具有一致的x y z e 语义基础, 从而使得它们在描述软件体系结构时不会出现的语义不一致的情况。u m l 2 0 能够在 不同的抽象水平对系统建模,而以时序逻辑语言x y z e 为语义基础的x y z a d l 能 够在不同抽象水平对体系结构进行描述,因此,通过把两者结合就可以具备很强的体 系结构描述能力,能够描述不同的体系结构层次。 从上面分析可以知道,各个构件行为、端口行为、连接件行为以及构件之间的交 互等许多行为特性的描述需要定义u m l 2 0 相关视图的x y z e 时序逻辑语义。在本 囊 二 4u m l 2 0 与x y z a d l 相结合的软件体系结构描述 文中,对构件行为特性和构件之间的交互行为特征,我们采用u m l 2 0 顺序图来描述。 因此,在下一章中,我们将定义u m l 2 0 顺序图的x y z e 时序逻辑语义,从而真正 实现u m l 2 0 与x y z a d l 相结合。 4 4本章小结 针对上一章中u m l l x 和a d l 相结合的软件体系结构描述方法中存在的问题, 本章提出了一种把u m l 2 0 与x y z a d l 结合起来描述软件体系结构的方法。通过分 析u m l 2 0 与x y z a d l 的优缺点,我们可以发现把u m l 2 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版三年级上册第六单元6.3《进一步认识分数》课时练(含答案)
- 数词及其在各种题型中的运用解析教案
- 坟墓81号700字7篇范文
- 早产婴儿养育知识培训课件
- 磐安中考数学试卷
- 南通如皋高二数学试卷
- 房地产交易协议注意事项
- 健身中心促销活动策划方案
- 平顶山3模数学试卷
- 2024年山东金谷集团招聘高校毕业生考试真题
- DB50T 1342-2022 预制菜生产加工行为规范
- 设备吊装搬运施工方案范文
- 医务人员职业暴露与防护讲课
- 全过程造价咨询服务的质量承诺及保证措施
- 体适能评定理论与方法课件
- GB/T 44625-2024动态响应同步调相机技术要求
- 三级物联网安装调试员技能鉴定考试题及答案
- DB1507∕T 107-2024 奶牛乳房炎防治技术规范
- 景区旅游基础设施配套项目清单
- 《胃癌腹膜转移诊治中国专家共识(2023版)》解读
- YBT 189-2014 连铸保护渣水分含量(110℃)测定试验方法
评论
0/150
提交评论