




已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)可视化与形式化相结合的软件体系结构描述研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可视化与形式化相结合的软件体系结构描述研究 中文摘要 中文摘要 软件体系结构是2 0 世纪9 0 年代软件工程领域出现的一个新的研究方向。软件体 系结构关注系统的全局组织形式,是对系统结构高层抽象的描述。研究软件体系结构 的首要问题是如何描述一个软件系统的体系结构。基于此,本文通过把u m l2 0 与 x y z a d l 结合起来描述软件体系结构,探索一种将可视化建模语言与形式化方法有 效结合的软件体系结构描述的新途径。 本文分析和比较了当前国内外常用的软件体系结构描述方法,指出了它们各自存 在的问题;分析了u m l2 0 与u m li x 相比在软件体系结构描述方面的优势,确定 了用u m l2 0 描述软件体系结构概念元素所使用的相关模型元素,给出了u m l2 0 与x y z a d l 在体系结构描述中的元素对应关系;提出了一种通过定义u m l 2 0 相关 视图的x y z e 语义,把u m l2 0 与x y z a d l 结合起来描述软件体系结构的新方法, 并分别定义了u m l2 0 的顺序图和状态图的x y z e 时序逻辑语义:最后通过对一个 简单的任务管理系统的体系结构进行描述,把本文提出的结合思想运用到实例系统的 描述当中。 本文通过将面向对象的可视化建模语言与基于时序逻辑的形式化方法结合起来 描述软件体系结构,对软件体系结构描述研究、u m l 形式语义研究和形式化方法在 软件开发中的应用等方面都有一定的推动作用。 关键词:软件体系结构描述,时序逻辑,u m l2 0 ,x y z a d l ,x y z e ,形式化语义 作者:黄正宝 指导教师:张广泉 a b s t r a c t s o r w a r ea r c h i t e c t u r ei sa ni m p o r t a n tr e s e a r c hf i e l do fs o f t w a r ee n g i n e e r i n ga n d i tr i s e si nt h e9 0 so f2 0 t hc e n t l h - - y , i ti sc o n c e r n e dw i t ht h eg l o b a ls l n l c t i l a sw e l la st h e h j g l l l e v e la b s t r a c t i o nd e s c r i p t i o no f t h es o r w a r es y s t e m t h em o s ti m p o r h 】n e n tr e s e a r c ho f s o r w a r ea r c h i t e c t u r ei sh o wt od e s c r i b es o r w a r ea r c h i t e c t u r e b a s e do nt h e s e , t h i sp a p e r e x p l o r e san e ww a y w h i c hc o m b i n e st h ev i s u a lm o d e l i n gl a n g u a g ea n df o r m a lm e t h o dt o d e s c r i b es o r w a ma r c h i t e c t u r et h r o u g hc o m b i n i n gu m l 2 0a n dx y z a d l i nt h i sp a p e r ,t h ed i s a d v a n t a g eo fs e v e r a lm a i nm e t h o d so fs o f t w a 他a r c h i t e c t u r a l d e s c r i p t i o ni sa n a l y s e d , t h ea d v a n t a g eo f u m l 2 0c o m p e d 、m t hu m l1 xi nt h es o r 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 ni sa n a l y s 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 l2 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 na n du m l2 0m o d e le l e m e n t sw h i c h u s e dt od e s c r i b et h ea c c o r d i n ga 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 e nan e w w a yt o d 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 eu m l2 0a n dx y z a d lt h r o u g hd e f i n i n g t h es e m a n t i c so fx y z ef o ru m l2 0 i sc o m p o s e d i no r d e rt or e a l i z et h i sm e t h o d , t h e f o r m a ls e m a n t i c so fu m l2 0s e q u e n c ed i a g r a ma n ds t a t ed i a g r a mb a s e do nx y z ea r e d e f i n e d i nf i n a l , t h ea r c i t e c t u r a ld e s c r i p t i o no fas i m p l ed a s km a n a g e rs y s t e mw h i c hu s e s o u rm e t h o di sg i v e n t h i s p a p e rc o m p o s e san e ww a yt od e s c r i b es o f t w a r e a r c h i t e c t u r et h r o u g h c o m b i n i n gt h ev i s u a lm o d e l i n gl a n g u a g ew h i c hi so b j e c to r i e n t e da n dt h ef o r m a lm e t h o d w h i c hb a s e do nt e m p o r a ll o g i c i tc o n t r i b u t e st ot h er e s e a r c ho fs o r 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 na 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 la sw e l la st h ea p p l i c a t i o no f f o r m a lm 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 ,t e m p o r a ll o g i c ,u m l2 0 ,x y z a d l , x y z e ,f o r m a ls e m a n t i c s i i w r i t t e nb yh u a n gz h e n g b a o s u p e r v i s e db yz h a n gg u a n g q u a n 苏州大学学位论文独创性声明及使用授权声明 学位论文独创性声明 y 95 7 17 0 ,本人郑重声明;所提交的学位论文是本人在导师的指导下,独立进行研究工作所 j 取得的成果。除文中已经注明引用的内容外,本论文不含其他个人或集体已经发表或 撰写过的研究成果,也不含为获得苏州大学或其它教育机构的学位证书而使用过的材 料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承 担本声明的法律贵任。 研究生签名:瑾熊日期:凌上堡 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学沦文合作部、中国 社科院文献信息情报中心有权保留本人所送交学位论文的复印件和电子文档,可以采 用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括干0 登) 论 文的全部或部分内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 研究尘签名: 导师签名: 日期:b 堑墨兰三 同期:逸16 :e :至 可视化与形式化相结合的软件体系结构描述研究 第一章绪论 1 1 课题背景 第一章绪论 随着计算机在人们生活中的广泛应用,人们把越来越多的问题交给计算机处理, 这就使得软件的规模越来越大。复杂性越来越高。由于人们在计算机软件开发和维护 过程中遇到一系列严重问题,因此2 0 世纪6 0 年代出现了软件危机。此后,虽然出现 了许多新技术、新方法在一定程度上缓和了“软件危机”,但并未从根本上消除其稳 患。在与软件危机对抗的“斗争”中,软件开发者逐步发现,随着软件系统需要适应 变更的要求逐步提高,系统整体结构设计的重要性已经超出了算法和数据结构,成为 系统开发关注的主要问题。为了更好的进行系统结构的设计,软件体系结构在2 0 世 纪9 0 年代被提出来并引起广泛关注。 软件体系结构是软件工程领域中的一个新兴的重要研究方向。它主要关注系统的 高层抽象,从整体的角度描述系统的结构和动态行为。对于大型软件系统而言,其体 系结构的设计已经成为系统能否成功的一个关键因素。研究软件体系结构的一个首要 和重要内容是如何描述软件系统的体系结构,这也是体系结构构造、演化、求精、验 证、分析、维护和基于体系结构软件开发的前提和基础。关于软件体系结构的描述, 一开始人们采用一些方框和线条来描述体系结构的配置,仅仅描述了系统的接1 :3 和交 互等极少量的信息,使得人们在体系结构设计过程中没有比较合适的符号系统来表达 体系结构层次的抽象。随着人们对软件体系结构描述研究的深入,提出了很多体系结 构描述方法,但归纳起来,这些描述方法主要可以分为三大类:一是以体系结构描述 语言a d l 为代表的形式化描述方法,二是以统一建模语言u m l 为代表的可视化描 述方法。三是可视化与形式化相结合的软件体系结构描述方法。其中a d l 通常以形 式化理论( 如c s p 、z 、时序逻辑等) 为基础,具有严格的语法和语义,能有效支持 所描述系统的分析、求精和验证。它的主要不足是不够直观,较难被软件开发人员理 解,目前在工业界还没有得到广泛应用。u m l 是一种可视化的建模语言和事实上的 国际工业标准,易于理解和交流。它提供了丰富的视图从多个视角描述系统的不同侧 面,可以有效运用于软件系统的建模、分析与设计。但是u m l 缺少分析体系结构所 需的形式化语义,对体系结构的描述只能到达半形式化的层次。由于u m l 与a d l 在描述软件体系结构方面具有很强的互补性,目前国内外开展得最广泛的是把u m l 第一章绪论 可视化与形式化相结合的软件体系结构描述研究 与a d l 结合起来描述软件体系结构的研究。但是这种通过结合形式化与可视化,工具 来描述软件体系结构的方法仍然存在一些问题:首先,目前的大多数a d l 或者侧重 于对软件体系结构静态语义与动态语义其中之一的描述,不利于进行逐步求精;由于 u m l2 0 剐刚出现,目前人们采用的主要是u m li x ,而u m li x 对软件体系结构 的许多概念不能提供直接的支持,因此u m l i x 是否能够适用于描述软件体系结构 还存在争论;此外目前主要是利用u m l 的扩展机制把u m l 与a d l 结合起来描述软 件体系结构,这种结合方式可能会造成u m l1 x 各个视图之间的冗余和不一致。 1 2 课题内容及意义 针对目前国内外软件体系结构描述研究存在的一些问题,本课题探讨如何将 u m l 2 0 与x y z a d l 结合起来描述软件体系结构,探索一种将可视化建模语言与形 式化方法结合起来描述软件体系结构的新途径。其中,u m l2 0 是对u m l1 x 进行 的重大修订,增加了许多与软件体系结构相关的模型元素。x y z a d l 是一种基于时 序逻辑的软件体系描述语言,它以可执行时序逻辑语言x y z e 为语义基础,可以在 统一的逻辑框架下描述软件体系结构的静态语义和动态语义,便于逐步求精。 本课题主要通过定义u m l2 0 相关视图的x y z e 时序逻辑语义,使得u m l2 0 与x y z a d l 具有一致的语义基础,从而把u m l2 0 与x y z a d l 结合起来描述软件 体系结构。 具体说来,本课题完成下面研究内容: ( 1 ) 分析和比较当前国内外主要的软件体系结构描述方法,指出它们各自存在的 问题: ( 2 ) 分析u m l2 0 与u m li x 相比在软件体系结构描述方面的优势,确定用 u m l2 0 描述软件体系结构概念元素所使用的相关模型元素,并给出u m l 2 0 与x y z a d l 在体系结构描述中的元素对应关系: ( 3 ) 根据u m l2 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 结合起来描述软件体系结构的新方法; ( 4 ) 分别定义u m l2 0 的顺序图和状态图的x y z e 时序逻辑语义; ( 5 ) 通过对一个简单的任务管理系统的体系结构进行描述,把本课题提出的结合 思想运用到实例系统的描述当中。 可视化与形式化相结合的软件体系结构描述研究第一章绪论 本课题主要有以下一些实际意义: ( 1 ) 探索一种将u m l 与a d l 相结合来描述软件体系结构的新途径。目前把u m l 与a d l 结合起来描述软件体系结构时,主要是利用u m l 的扩展机制,对u m l 相 应的模型元素加上一些语义限制,使它符合相关的软件体系结构概念元素的语义。 而本课题通过定义u m l2 0 相关视图的语义,从而把u m l2 0 与x y z a d l 结合起 来,为把可视化建模语言与形式化方法结合起来描述软件体系结构提供一种新思路。 ( 2 ) 促进对u m l 形式语义的研究。随着u m l 的广泛应用,它在软件开发过程中 的作用也显得越来越重要,但是u m l 存在的一个很大缺陷是缺乏精确的形式化语义, 虽然它以图形的方式对系统进行建模,便于开发人员之间的理解和交流,但是由于 缺乏精确的形式化语义,软件开发人员在理解这些眦视图时可能会存在一定的偏 差,这样就失去了用u m l 建模系统的意义,甚至造成很大的损失。基于这种情况, 目前很多组织和个人着力于研究u m l 的形式化语义,尽力使u m l 的语义比较精确, 并为分析系统的性质提供有利条件。本课题用时序逻辑语言x y z _ e 分别定义了u m l 2 o 顺序图和状态图的语义,因此,本课题的这部分内容实际上也属于u m l 形式化 语义的研究范畴。 ( 3 ) 促进形式化方法在软件开发过程中的应用。形式化方法的实质是以逻辑、自 动机、代数和图论等数学理论为基础,用一套特定的符号和技术对软件系统进行描 述和分析,以期提高软件可靠性。在目前的软件开发过程中,虽然u m l 建模技术得 到了一定的应用,但是形式化方法却仍然停留在理论研究阶段。这对于比较复杂的、 精确度要求比较高的系统而言,系统的各项性能就得不到保障,而如果能把形式化 技术运用到实际系统的开发过程当中,就可以对系统的各项性质进行推理验证,发 现系统不合理或者有缺陷的地方。本课题通过使用可视化与形式化相结合的方式来 描述软件体系结构,实际上就可以使得u m l 模型转化为相应的形式化语言,从而把 形式化方法结合到软件开发的过程当中。 ( 4 ) 促进u m l2 0 在系统开发和软件体系结构描述中的应用。u m l2 0 的标准文 档刚刚修订完毕,虽然它跟u m li x 相比较,有了很大的改进之处,对系统建模也 提供了更大的便利,增强了更多的功能,但它还是一种比较新的技术。目前,国外 的一些软件公司在对系统进行建模的过程中,正在逐步用u m l2 0 替代原来的u m l 1 x ,但现在还主要采用的是u m l1 x ,采用u m l 2 0 来描述软件体系结构的更是少 之又少。本课题分析了u m l 2 0 与u m l l x 相比在软件体系结构描述方面的优势, 第一章绪论 可视化与形式化相结合的软件体系结构描述研究 并且找出u m l2 0 与软件体系结构相关概念元素的对应关系,为u m l2 0 在软件体 系结构描述中的应用也作出一点贡献。 1 3 本文组织结构 本文共分七章,具体内容按如下方式进行组织: 第一章绪论,对论文内容进行整体的介绍,主要内容包括课题背景、课题内容及 意义 第二章软件体系结构及其描述的相关概念,对软件体系结构及其描述的相关内容 进行了简要介绍。 第三章常用软件体系结构描述方法的分析与比较,对目前国内外常用的软件体系 结构描述方法进行分析,指出它们各自的优缺点。 第四章u m l2 0 与x y z a d l 相结合的软件体系结构描述,在简要介绍了 x y z a d l 的语义基础x 眩e 后,对x y 7 _ a d l 进行了阐述,然后分析了u m l2 0 与u m l i x 相比在软件体系结构描述方面的优势,给出用u m l 2 0 描述软件体系结 构相关概念元素的相应模型元素,最后在分析u m l2 0 与x y 7 _ a d l 在软件体系结构 描述中元素对应关系的基础上,提出_ 种通过定义u m l 2 0 相关视图的x y z e 语义, 把u m l2 0 与x y j :a d l 结合起来描述软件体系结构的思路和方法。 第五章u m l 2 0 相关视图的x y z e 时序逻辑语义,分别定义u m l 2 0 顺序图与 状态图的x y z e 时序逻辑语义,为实现采用第四章提出的软件体系结构描述方法奠 定基础。 第六章实例研究,通过对一个简单的任务管理系统的体系结构进行描述,把本文 提出的体系结构描述方法运用到实例系统的描述当中。 第七章总结与展望,对整个毕业设计工作进行总结,并指出在本课题工作的基础 上下一步要开展的工作。 4 可视化与形式化相结合的软件体系结构描述研究第二章软件体系结构及其描述的相关概念 第二章软件体系结构及其描述的相关概念 软件体系结构着眼于软件系统的全局组织形式,在高层次上把握系统各部分之间 的内在联系,将软件开发的焦点从成百上千的代码行上转移到大粒度的体系结构元素 及其交互的设计上。软件体系结构与传统的软件技术的不同之处在于它把以前从不同 角度建立的非系统、非形式化的关于软件构成的思想经过研究分析、归纳综合,变成 统一可用于软件设计、分析、实现的符号和概念体系。这有助于解决软件系统日益增 加的规模和复杂度的问题,并促进构件重用、提高软件生产率。因此,软件体系结构 虽然作为- - f 3 新的学科,但已经引起了学术界和企业界的广泛关注。本章主要对软件 体系结构及其描述的相关概念进行简要介绍。 2 1 软件体系结构的定义 虽然软件体系结构在软件工程中已有很深的根基,但由于相关研究和使用刚刚兴 起,因而对它的理解还没有达成共识。许多研究人员基于自己的经验从不同角度、不 同侧面对软件体系结构进行了刻画,比较有代表意义的有如下一些: ( 1 ) p e r r y 和w o l f :软件体系结构由一组具有特定形式的体系结构元素或称设计元素 构成,包括处理元素、数据元素和连接元素三类。其中,处理元素负责对数据的 加工,数据元素是被加工的信息,连接元素把体系结构的不同部分连接起来【i j 。 ( 2 ) g a r l a n 和s h a w :软件体系结构是设计过程的一个层次,它处理那些超越算法和 数据结构的设计,研究总体系统结构设计和描述方法。包括总体组织与全局控制 结构、通讯协议、同步、数据存取、设计元素的功能分配、物理分布、设计元素 的组合、设计方案的选择、评估和实现等【2 】。 ( 3 ) h a y e sr o t h ;软件体系结构是一个由功能组件组成的抽象系统的说明,按照功能 组件的行为、接口和组件之间的相互作用进行描述。 ( 4 ) g a r l a n 和p e r r y :软件体系结构包括系统组件的结构、组件的相互关系、以及控 制组件设计演化的原则和指导三个方面【3 j 。 ( 5 ) b b o c h m 提出软件体系结构由三个部分组成:组件、互连及约束;系统需求说 明;组件、互连和约束定义的系统在实现后能够满足系统需求的证明理论【4 j 。 ( 6 ) l b a s s ,p c l c m e n t s 和r k a z m a n :软件体系结构包括组件、组件的外部可见属 第二章软件体系结构及其描述的相关概念 可视化与形式化相结台的软件体系结构描述研究 性及各部分之间的联系。可见属性指该组件的功能、性能、容错能力、所用资源、 约束条件等等p 1 。 ( 7 ) i e e e 6 1 0 1 2 - 1 9 9 0 :体系结构是以组件、组件之间的关系、组件与环境之间的关 系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理旧。 以上各种关于软件体系结构的定义,虽然侧重点和角度有所不同,但它们关注的 都是软件系统的结构,并且都涵盖了如下一些实体:组件、组件之间的交互关系、限 制、组件和连接件构成的拓扑结构、设计原则与指导方针。因此,我们可以总结以上 各个定义的内容,给出软件体系结构的如下定义:软件体系结构是指软件系统的高层 抽象,描述整个系统的结构和行为模型,标识了主要的系统组件、连接件以及它们如 何结合在一起的约束与配置关系。可用图表示如下: 图2 1 软件体系结构定义的图形表示 b a r r yb o e l u m 曾经说:“一个软件系统的开发若是没有体系结构,这个工程就不 是完整的系统开发。”软件体系结构反映了系统开发中最早的决策,明确了系统有哪 几部分组成,它们之间是如何交互的,进一步影响到资源的配置、团队的组织以及产 品的质量。在软件体系结构的理论指导下进行软件设计,具有以下意义:第一,能识 别出重要的通用规范,这样就能理解系统间的高级关系,新系统能在旧系统的基础上 经过变化得到;第二,使软件系统设计成功的要素是正确的体系结构,错误的体系结 构会导致灾难性的后果。软件体系结构可作为满足需求分析的框架,为系统的设计和 管理提供技术和管理的基础;第三,对软件体系结构细节的认识,使软件工程师能在 各种设计方案中做出首要的选择。软件体系结构还可以作为依赖性和一致性的基础: 第四,软件体系结构风格通常对分析和描述复杂系统的高级属性是必要的;第五,熟 练的使用描述体系结构范型的表示法,便于软件工程师和其他人交流,体系结构是系 统开发中不同参与者进行交流的中介;第六,便于软件重用。可以对软件体系结构中 的组件或连接件进行重用,甚至可以进行体系结构级的重用,为软件重用开拓了一条 道路。 可视化与形式化相结合的软件体系结构描述研究第二章软件体系结构及其描述的相关概念 2 2 软件体系结构的主要研究内容 由于软件体系结构的重要性,目前,越来越多的研究者致力于软件体系结构的研 究当中,他们把解决复杂软件设计的难题、提高软件设计实施的效率和质量寄托在体 系结构研究的突破上。当前,基于软件体系结构的研究主要集中在以下几个领域: ( 1 ) 软件体系结构描述 软件体系结构描述是软件体系结构研究中的首要内容,是对软件体系结构进行分 析和验证以及基于体系结构软件开发的前提和基础。目前,对软件体系结构描述的研 究非常热门,本课题的研究工作就属于软件体系结构描述范畴。 ( 2 ) 软件体系结构发现、演化和复用 软件体系结构发现解决如何从已经存在的系统中提取软件的体系结构,属于逆向 工程范畴。w a t e r sb 【7 l 等人提出了一种类似于盲人摸象的迭代式体系结构发现过程, 即由不同的人员对系统进行描述,然后对这些描述进行分类并融合,发现并解决冲突, 将体系结构新属性加入到已有的体系结构模型中,并重复该过程直至体系结构描述充 分 体系结构演化是指由于系统需求、技术、环境、分布等因素的变化而最终导致软 件体系结构的变动。软件系统在运行时刻的体系结构变化称为体系结构的动态性,而 将体系结构的静态修改称为体系结构扩展。体系结构扩展与体系结构动态性都是体系 结构演化性的研究范畴。 体系结构复用属于设计复用,比代码复用更抽象。一般认为易于复用的标准包括: 领域易于理解,变化相对慢,内部有组件标准,与已存在的基础设施兼容,在大规模 系统开发时体现规模效应。由于软件体系结构是系统的高层抽象,反映了系统的主要 组成元素及其交互关系,因而较算法更稳定,更适合于复用。复用技术作为软件工程 领域倡导的有效技术之一,在基于构件与体系结构的软件开发时代,软件体系结构复 用将是一个重要的主题。 ( 3 ) 软件体系结构分析、设计与验证 体系结构是系统集成的蓝本、系统验收的依据,体系结构本身需要分析与测试, 以确定它是否满足需求。其中,体系结构的分析内容可分为结构分析、功能分析和非 功能分析。而体系结构测试着重于仿真系统模型,解决体系结构层的主要问题。由于 测试的抽象层次不同,体系结构测试策略可以分为单元、子系统、集成、验收测试等 阶段的测试策略。 第- - 章软件体系结构及其描述的相关概念 可视化与形式化相结合的软件体系结构描述研究 体系结构设计研究的重点内容之一就是体系结构风格或者说是体系结构模式,体 系结构模式在本质上反映了一些特定的元素、按照特定的方式组成一个特定的结构, 该结构应有利于上下文环境下特定问题的解决。体系结构模式分为两个大类:固定术 语和参考模型。应该说,体系结构分析、设计和验证已经取得了很丰富的研究成果。 但是这些方法存在一个普遍缺点:可操作性差,难于使用,因此并没有取得很好的实 践效果。 ( 4 ) 基于体系结构的软件开发方法研究 本质上,软件体系结构是对软件需求的一种抽象解决方案,在引入了体系结构的 软件开发以后,应用系统的构造过程变为“问题定义一软件需求一软件体系结构一软 件设计一软件实现”,可以认为软件体系结构在软件需求与软件设计之间起到了一个 桥梁作用。而在由软件体系结构到实现的过程中,借助一定的中间件技术与软件总线 技术,软件体系结构将易于映射成相应的实现。 ( 5 ) 特定领域软件体系结构d s s a 特定领域的体系结构是将体系结构理论应用到具体领域的过程。d s s a 鉴于特定 领域的应用具有相似的特征,因而经过严格设计,并将直觉的成分减少到最少程度, 可以有效地实现复用,并可借鉴领域中已经成熟的体系结构。通常基于特定领域的系 统体系结构具有更好的可操作性和更好的重用性。常见的d s s a 有:电信软件的体系 结构研究【引、c a s e 体系结构、c a d 软件的参考模型、测试环境的体系结构、信息系 统的参考体系结构、网格体系结构、机场信息系统的体系结构、信号处理d s s a 等。 ( 6 ) 体系结构支持工具 基本上,每种体系结构都有相应的原型支持工具,如u n i c o n 、a e s o p 等体系结 构支持环境,c 2 的支持环境a r c h s t u d i o ,支持体系结构层依赖分析的工具、支持体 系结构动态特性仿真工具、体系结构性能仿真工具等,但与其它成熟的软件工程环境 相比,软件体系结构设计的支持工具还很不成熟,难于实用化。 2 3 软件体系结构描述的作用 由于软件体系结构描述是体系结构构造、演化、验证、分析、维护和基于体系结 构的软件开发的基础,因此。研究软件体系结构的一个首要内容是如何描述软件系统 的体系结构。在以往实践中,尽管软件体系结构客观存在,但往往被忽视。由于软件 体系结构对软件生命周期具有重要的影响,并随着软件开发费用的不断提高、软件规 可视化与形式化相结合的软件体系结构描述研究第二章软件体系结构及其描述的相关概念 模及复杂度不断增加,软件体系结构成为系统能否开发成功的关键因素之一。但是我 们知道,软件体系结构仅仅是人们对软件高层抽象结构的概念,软件体系结构描述则 是希望将这种概念上的东西表述为可见的文档。如何把软件体系结构详细精确地描述 出来,不仅影响着开发人员之间的交流和对体系结构的理解,更影响到后续的求精、 分析、验证等工作。因而软件体系结构的描述也成了软件体系结构研究领域一个热点 和核心问题。具体说来,体系结构描述主要具有如下作用【9 j :支持不同系统开发人员 之间的通讯;能够表达系统及其演化;体系结构评估、分析与比较的基础:便于系统 开发活动的计划、管理与执行;表达了系统的持久化特征和所支持的基本原则,有利 于系统的进一步演化;便于体系结构的实现与描述之间的一致性检查;记录了体系结 构构造的决策知识;系统开发的一种重要文档,中间产品的一部分。 软件体系结构描述在软件体系结构中的作用可如下图所示: 图2 2 软件体系结构描述在体系结构中的作用 、 因此,我们认为,一个达到上述作用的好的体系结构描述,不仅要比较直观, 便于开发人员之间的理解和交流,还应有精确的形式化语义,能够在体系结构设计 阶段对有关性质进行分析和推理;最好还能支持逐步求精,也就是能实现从体系结 构设计到具体代码的平滑过渡。 9 第- - 章软件体系结构及其描述的相关概念 可视化与形式化相结合的软件体系结构描述研究 2 4 软件体系结构描述的概念框架 目前,人们对于软件体系结构的许多方面还没有统一的认识,如软件体系结构的 定义,软件体系结构在整体软件开发生命周期中的作用等。这种情况导致了人们对于 软件体系结构描述的主要内容也没有统一的看法。但是根据体系结构交换语言 a c m e l l o l 和m e d v i d o v i c 1 1 l 对各种体系结构描述语言的总结,我们认为,在描述软件 体系结构时,应能描述软件体系结构的如下一些概念:组件、连接件、系统、端口、 角色、性质、配置、体系结构和风格,以及粘接操作和绑定操作。其中最主要的实体 元素是组件、连接件和系统。, 组件是一个具有一定功能的逻辑单元或者存储对象。每个组件可以包含很多接 口,我们一般称之为端口,每个端口定义一个组件和它的环境的交互点,是组件对外 部环境的一个请求,或是能够为环境提供的一个服务。每个组件可以有很多相同类型 的不同端口。例如,一个服务器可以有很多h t t p 端口。组件可能小到只是一个过程, 也可能大到是整个系统。所以,组件又可以分为简单组件和复合组件。其中复合组件 由若干个子组件组成,这些子组件可以是复合组件,也可以是简单组件。典型组件的 例子有:客户机,服务器过滤器。对象,黑板,数据库等。 连接件用于描述组件之间的交互路径,从运行时间的视角看,连接件主要用于协 调各个组件之间的交互和通信。根据连接件的复杂程度,连接件也可以分为简单连接 件和复合连接件。连接件由接口和交互协议组成。连接件的接口,由一组角色组成, 用以定义参加该连接件所定义的交互各方所扮演的角色。简单角色的例子是管道的读 和写、消息传送连接件的发送和接收;作为复杂角色的例子,考虑一个基于多个分布 组件的并发系统。作为协调的连接件可以用来在请示任务到来时,把它分解成多个组 件并发执行的多个任务,并把返回的结果进行组合。这里,每一个角色代表了执行特 定任务的责任,以及在整个协调活动中的作用。交互协议定义交互规则。 系统指的是一个系统的整体体系结构。通常可以看作是一个组件,如果很简单, 只需用简单组件表示,否则是一个复合组件。如果是一个复合组件,那么,就用配置 来表示复合组件内子组件、连接件的总体布局。配置通常由一组粘接和绑定操作组成。 粘接操作用于表示组件端口与连接件角色的连接关系,而绑定操作用于表示将子组件 的端口作为该复合组件的端口。因此,通过这样的关系,可以将系统层层分解,使整 个系统形成一个体系结构层次。 性质可以用于描述系统或它的组成元素的功能规范,或者用于描述系统或它的组 1 0 成元素的行为应满足的特性。例如,一个连接件的吞吐量、一个组件的反应时间等。 风格用来刻画具有相似结构和语义性质的一类系统族。它定义一组组件、连接件 的类型( 词汇表) 以及对组件、连接件如何连接的约束。 我们可以用下图来表示软件体系结构描述的概念框架: 一 表示包含关系 c h n m ? x a $ o l b = z 输出命令:l b = y a r = c b _ n m m $ o l b = z 其中,“c h n m ”是通道名,x 是变量。e 是表达式。“c b n m ? x ”表示通过通道c h n m 将数据送入变i x c h n m 与x 的类型必须匹配;“c h n m ! e ”表示将e 的值经过通道c h n m 第四章u m l 2 , 0 与x y z i a d l 相结合的软件体系结构描述可视化与彤式化相结合舶软件体系结 穹描述研究 送出,c h n m 与e 的类型必须匹配。 此外,我们还用4 x y z ,e 中两种结构化条件元语句: 继续语句: 【s i ;s 2 ;s d 表示s l 依次为真 并行语句:l i 坷a r = i l p r o s i n s t a n t i a t i o n l ( a c t e a lp e r a r n e t e r l ) : p r o s _ 咖吐鲥o d n ( a 曲墉lp 姗m e t e r n ) 】 x y z e 的最大特点是能在统一的语义框架中表示从形式规范到可执行程序的不 同抽象层次的系统描述,即既能表示程序的动态语义,又能表示规范的静态语义。这 个特点使其很适合用于描述软件体系结构。事实上,到目前为止,已经有很多把x y z e 用于软件体系结构的研究工作 4 4 - “,但是通过这些研究工作发现,由于x y z e 不是 为描述软件体系结构开发的,它不包含相关的软件体系结构概念,因此,x y z e 也 不能真正称得上是一种a d l 。基于此,中科院软件所x y z 研究组的相关人员对x y 2 挹 进行了相应的软件体系结构元索扩展,使其成为一种真正意义上的a d l ,称之为 x y z a d l 。 4 1 2x y z a d l 的体系结构单元描述 ( 1 ) 简单组件 简单组件分为接口和内部规范两个部分。在使用一个组件进行体系结构配置时, 通过接口了解该组件“应如何使用”、“能做什么”,因此接口包括一组说明组件与 外部环境交互行为的端口描述和说明组件功能或相关性质的性质描述。内部规范描述 组件的行为规范:通过刻画生成行为的数据变化过程来说明系统的行为是如何生成 的,可以有不同的抽象程度,也可以为空。 每个端口是组件对外部环境的一个请求。成是能够为环境提供的一个服务,用 x y z ,e 的一组通道表示。它包括通道类型声明和通道的行为描述两部分,语法如下: p o r tp o r t n a m e - 一- c h a n n e l t y p ed e c l a r a t i o n ; p o r t b e h a v i o r 其中,c h a n n e l t y p e d e c l a r a t i o n 声明该端口所用的一组通道( 包括各通道所能接受 的数据类型) ,在只使用一个通道的情况下。直接用该通道的数据类型表示; p o r t b e h a v i o r 刻画该端口的行为,同时也是组件的部分行为( 外部可见行为) ,规定了 外部环境应如何通过该端口与组件交互。由一个x y z e 单元表示。关于端口的这些 可视化与形式化相结合的软件体系结构描述研究 第四章u m l2 0 与x y z a d l 相结合的软件体系结构描述 描述也称为端口协议。 在端口只包含一个通道的情况下,所用通道名和端口名相同。例如,端口d a t a i n 只用一个i n t 型的通道,则通道名为d a t a i n ,通道类型声明可简写为: p o r td a t a i n i n t ; 在端口包含多个通道的情况下,例如端1 2p ,包含两个通道a 和b ,则通道类型 声明为: p o r tp = r e c o r d ( c 卸na :d a t e t y p e l ; c h nb :d a t e t y p e 2 1 通道在其它地方使用时用全名为p a 和p b 。 性质描述说明该组件“做什么”或其它相关性质,用时序逻辑公式表示,语法如 下: p r o p e r t y 一口 p r o p e r t i e s 其中,e r o p m i 韶可以是前置后续断言形式定义的组件功能描述,也可以是关于 组件行为所应满足的局部性质( 例如安全性公平性等) 。 内部规范将各个端口连接为一个整体,是完整的组件行为描述,应满足性质描述 部分所列出的性质。这部分由一个x y z e 单元表示,可以是不同抽象层次的行为。 语法如下: c o m p u t 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 i i ,p b e h a v i o r k ,性质描述为一内部规范为c o m s p c c ,则它们之问 有如下关系:p b c h a v i o r i ( i = l k ) 是c o m s p e c 关于各个端口上出现的不包含控制变量的 变量集的求精,并目c o m s p c cj ,r p c o m s p c c 逻辑蕴涵 ( 2 ) 连接件 连接件用于描述某类交互的共有特性,它的实例可用于连接满足要求的不同组 件。每个连接件分为接口和交互协议两部分。接口由一组角色定义,表明参加该类交 互的组件所应有的外部行为( 即端口协议) 。交互协议描述如何将角色连接在一起产生 交互,从而将参与交互的组件内部规范所表示的抽象行为进行组合。 每个角色说明参与交互者在这一交互中所应有的行为,用通道表示,包括通道的 第四章u m l 2 0 与x y z i a d l 相结台的软件体系结构描述可视化与形式化相结合的软件体系结构描述研究 数据类型声明和通道的行为描述两部分,语法如下: r o l er o l e n a m e = = 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 l m 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 - 一c i n t e r a c tp r o t o c o l 】 用x 啪给出连接件规范的语义解释如下; 定义4 2 连接件c o n 由一组角色r i 碥以及交互协议g l u e 定义,其中每 个角色酗的行为描述为r b e l m v i o r l ( i = l n ) ,那么c o n 的规范是一个x y z e 单元: 眦g l u e ,r b e h a v i o h ,r b c h a v i o r n 】 其中,在g l u e 中出现的通道集合为 r i , 。 ( 3 ) 复合组件 复合组件的接口描述与简单组件相同,而它的行为是通过几个子组件的连接来表 示的。所以,在描述中我们必须说明一个复合组件包含哪些组件和连接件实例,它们 是如何连接在一起的。 复合组件的组合声明指示它包含哪些组件和连接件实例,语法如下: c o m p o s m o n 一 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 i r s n a m e :c o n n e c t o r n a m e ;】 复合组件的粘接定义表明它的内部体系结构配置,语法如下: a 1 1 a c m d e n t s 一 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 l n s n a m e p o r t n a m e 渊p o r t n a m e ;】 其中“撑”定义了粘接操作,表示左边的组件端口与右边的连接件角色相粘接,从 中可以看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件技术外包合同范本范例
- UML理论软件架构规定
- 互联网活动策划推广规程
- 工作总结:规划发展与个人成长
- 房屋保险索赔总结
- 工控系统软件调试细则
- 如何在有限时间内完成考研所有科目的复习
- 全面提升员工工作满意度
- 企业内部审计制度优化
- 创新产品推广策略探讨
- 河北省单招7类数学试卷
- 下列不属于交通运输企业安全生产费用支出
- 地质勘查成果管理办法
- (零诊)成都市2023级(2026届)高中毕业班摸底测试英语试卷(含答案)
- 消防作战指挥课件
- 医疗健康新媒体运营方案
- 保安防暴器材培训
- 内分泌性高血压筛查专家共识(2025版)解读
- invt英威腾CHF100A变频器说明书
- 静以修身俭以养德
- 医院2025年度内部控制风险评估报告
评论
0/150
提交评论