UML顺序图的鲁棒性分析.pdf
《UML顺序图的鲁棒性分析.pdf》由会员分享,可在线阅读,更多相关《UML顺序图的鲁棒性分析.pdf(7页珍藏版)》请在咨信网上搜索。
1、第 56 卷第 2 期郑 州 大 学 学 报(理 学 版)Vol.56 No.22024 年 3 月J.Zhengzhou Univ.(Nat.Sci.Ed.)Mar.2024收稿日期:2022-08-18基金项目:国 家 重 点 研 发 计 划(2022YFB3305104);国 家 自 然 科 学 基 金 项 目(61772004);成 都 信 息 工 程 大 学 人 才 科 研 基 金 项 目(KYTZ202009)。第一作者:张强(1995),男,硕士研究生,主要从事软件开发和形式化方法研究,E-mail:1689956075 。通信作者:蒋建民(1972),男,教授,主要从事软件开发
2、和形式化方法研究,E-mail:jjm 。UML 顺序图的鲁棒性分析张强,蒋建民,李建清(成都信息工程大学 软件工程学院四川 成都 610225)摘要:鲁棒性分析技术可以帮助开发人员精确地弥合分析与设计之间的鸿沟。统一建模语言(unified modeling lan-guage,UML)顺序图模型被广泛用于面向对象软件系统的分析与设计,它的鲁棒性至关重要。首先,引入形式化模型 统一结构。其次,给出了基于统一结构的描述顺序图的方法和鲁棒性的形式定义,随后讨论顺序图在组合与精化条件下的保存问题。最后,在原型工具支持下进行实例研究。实验结果表明,设计阶段的顺序图能保持分析阶段顺序图的鲁棒性,从而可
3、以给予从事面向对象的开发人员相关帮助及支持。关键词:UML;顺序图;鲁棒性;精化中图分类号:TP311.5文献标志码:A文章编号:1671-6841(2024)02-0066-07DOI:10.13705/j.issn.1671-6841.2022244Robustness Analysis of UML Sequence DiagramsZHANG Qiang,JIANG Jianmin,LI Jianqing(College of Software Engineering,Chengdu University of Information Technology,Chengdu 610225
4、,China)Abstract:With the help of robust analysis techniques,developers could precisely bridge the gap between analysis and design.UML(unified modeling language)sequence diagram model was widely used in the analysis and design of object-oriented software systems,and its robustness is of great importa
5、nce.Firstly,formal model,unified structure,was introduced.Then,a method of describing sequence diagram based on unified structure and a formal definition of robustness were given,and the preservation of sequence di-agrams on combination and refinement conditions was discussed.Finally,a case study wa
6、s carried out with the support of prototype tool.The results showed that the sequence diagram in the design phase could maintain the robustness of the sequence diagram in the analysis phase,which could provide rele-vant help and support to the object-oriented developers.Key words:UML;sequence diagra
7、m;robustness;refinement0引言在面向对象的软件开发方法中,软件的分析和设计之间存在着断层,无法直接从分析模型平滑地过渡到设计模型1-3。统一开发过程(rational uni-fied process,RUP)是最著名的面向对象的开发方法之一2。从用例模型导出分析模型,再到设计模型,最后实现编码,需要将用例链接到对象,并进行鲁棒性分析。鲁棒性分析技术可以帮助开发人员弥合从分析到设计之间的鸿沟2,4。鲁棒性分析技术是一种分析用例文本,并为每个用例初步确定对象集的方法。这些对象分为边界对象、实体对象和控制器对象。软件系统通过操作或者其他实体与外界通信,增加了“执行者”对象。鲁
8、棒性分析技术就是确定这四类对象关系的技术1。在面向对象的软件开发方法发展过程中,最初的鲁棒性分析技术来自 Jacobson1,其目的是用于第 2 期张强,等:UML 顺序图的鲁棒性分析分析用例模型的正确性。后来,随着 UML3的出现,Jacobson 采用 UML 协作图作为分析模型,通过分析 UML 协作图的鲁棒性来确定分析模型的鲁棒性,从而达到两者的平滑过渡。然而,顺序图作为面向对象的设计模型,有时也作为分析模型,如何保证从抽象到具体这个过程的鲁棒性,以及如何保证鲁棒的顺序图的正确组合和分析,则很少有人研究。顺序图是 UML 中重要的交互图之一4。它是一种成熟的可视化模型,通过生命线之间的
9、交换消息及消息序列,描述交互关系和发生规范。顺序图模型缺乏精确的形式化定义,无法直接进行形式化验证。顺序图的鲁棒性主要分析对象之间的关系。本文提出一种称为“统一结构”的形式化模型,从结构方面建模和分析顺序图,可以避免状态爆炸问题。本文用统一结构对顺序图进行建模,给出了鲁棒性的形式定义,研究了分解和组合时如何保证鲁棒性,详细讨论了精化情况下鲁棒性的保持问题,并进行了实例研究和工具介绍。研究结果表明,我们的方法能保证顺序图在软件开发中的鲁棒性。1相关工作鲁棒性分析技术是 RUP5、ICONIX6等软件开发方法的重要支撑技术。研究人员也利用鲁棒性分析方法对 UML 模型中存在的问题进行研究。Hond
10、a等认为需求模型和设计模型之间的无缝连接对于完全实现用户需求是非常有效的,同时提出了一种在ICONIX 中将尽可能多的信息从 KAOS 需求模型转移到系统行为初步设计的方法,以反映模型的需求7。Scott 等认为鲁棒性分析方法将分析内容与设计方式联系起来,有助于确保用例文本的正确性8。鲁棒图事实上是一种特殊的 UML 通信图,UML 通信图在一定程度上与 UML 顺序图的语义等价,但 UML 顺序图在软件需求分析和设计中有更广泛的用途9。UML 顺序图是 UML 描述动态交互的图,它的形式化语义一直是人们研究的热点和重点。Lund等根据形式语义不同的表达方式,将顺序图的形式语义分为两大类:操作
11、语义(operational semantics)和指称语义(denotation semantics)10,它们都是从行为视点出发,分析顺序图的行为,存在状态爆炸的问题。Storrle11最早提出了顺序图基于路径的形式语义,但是对于顺序图中各种组合片段没有精确的定义。Zafar 对 UML 顺序图的组合片段做了相关说明,表示由于 UML 图下隐藏的语义,通过任何计算机辅助的软件工程工具将 UML 模型完全转换为可执行代码的工作并不多,且 UML 模型不能用于系统验证和验证的自动化分析12。Chen 等利用 UML顺序图以增量的形式表达安全关键系统的安全需求13,对给出模型做一致性检测。姬莉霞
12、等提出了基于 时 间 自 动 机 的 UML 模 型 之 间 的 转 换 与 验证14。另外,我们还没有发现存在任何工作研究顺序图的鲁棒性。2统一结构模型本节先给出用于顺序图建模的形式化模型“统一结构”,然后讨论该模型的一些性质。统一结构(unified structure,US)是我们研究团队在以前依赖结构(dependency structure)15-16的基础上开发的新的基于结构的形式化模型。统一结构的表达能力和兼容性比依赖结构更强,目的是将UML 模型进行统一的形式化建模,从结构的角度对UML 模型进行分析。定义 1统一结构是一个多元组ME,1,n,1,m,其中:ME 为模型元素的有
13、限集合;ME ME为包含关系,是一个非自反的偏序;i ME ME为依赖关系,i 1,n;ME (1n)为依赖关系上的限制;j ME,j 1,m 为模型元素的类型集,它满足条件:e ME,1,m:e 。采用在 UML 中相同的模型元素概念4;包含关系用于建模父子关系,它是非自反的偏序关系;依赖关系可以有多种,不同的模型,种类数量不同;在每个依赖关系中可以存在限制条件;模型元素根据不同视点可以分成不同类型。显然,根据定义 1,可以使用统一结构对顺序图进行建模。图 1 是一个简单的顺序图,使用统一结构可以表示为SD=ME,objClass,seq,fragOper,objInteraction,Ac
14、torObj,BounObj,ContObj,EntiObj,msg,class,operKind,Fragment,guard,其 中:ME=actor,Actor,a,b,c,A,B,C,m1,m2,m3,m4,m5,m6,m7,alt,ac1,true,false,表 示 模 型所有元素的集合,a 表示一个对象;=(m3,ac1),(m4,ac1),(true,ac1),(false,ac1),是包含关系,用于描述父子关系,如76郑 州 大 学 学 报(理 学 版)第 56 卷图 1一个简单顺序图Figure 1A simple sequence diagram(m3,ac1)表示选择组
15、合框 ac1 包含了元素 m3;=(m1,(a,actor),(m2,(b,a),(m3,(c,b),(m4,(c,b),(m5,(b,c),(m6,(a,b),(m7,(actor,a),表示依赖关系上的限制条件,如(m1,(a,actor)意味着消息 m1 是由 actor 发送给对象 a;objClass=(actor,Actor),(a,A),(b,B),(c,C),表示对象与类之间的依赖关系,如关系(a,A)表示是类的对象;seq=(m2,m1),(ac1,m2),(m5,ac1),(m6,m5),(m7,m6),(m3,true),(m4,false),表示消息出现先后序列,也属于
16、依赖关系,如(m2,m1)表示消息 m1 出现后才出现消息 m2;fragOper=(ac1,alt),表示组合片段操作的依赖关系,如(ac1,alt)表示 ac1 是一个类型组合片段;objInteraction=(a,actor),(b,a),(c,b),(b,c),(actor,a),表 示 依 赖 条 件 的 限 制 关 系,如(a,actor)表示边界对象 a 依赖执行者对象 actor;ActorObj=actor,表示执行者对象集合;BounObj=a,表示边界对象集合;ContObj=b,表示控制器对象集合;EntiObj=c,表示实体对象集合;msg=m1,m2,m3,m4,
17、m5,m6,m7,表示消息集合;class=Actor,A,B,C,表示类型集合;operKind=alt,表示图中组合片段元素的类型,如 alt;Fragment=ac1,表示组合片段元素的实例,如ac1;guard=true,false,表示组合片段的条件元素的集合,如组合框 ac1 的条件 true。定义 2令 US=ME,1,n,n,m是一 个 统 一 结 构,如 果 i 1,n-1,xi,xi+1 ME,(xi,xi+1)(1 n)成立,则可定义序列 dc=x1xn是结构的依赖链。dc=x1,xn,表示依赖链 dc 中的模型元素。DC(US)表示结构 US 中所有可能的依赖链。dc
18、表示依赖链 dc中模型元素的数量,即 dc=n。如图 1 所示的顺序图模型中,它的一个依赖链子序列为 dc1=m2,m1,表示消息 m2 依赖于消息 m1,dc1=m1,m2,表示链中的两个模型元素,此时 dc1=1。命题 1令 US 为统一结构,且 dc DC(US)。如果 i 1,n-1,(xi,xi+1),那么 dc中不会存在循环。证明由定义 1 可知,是一种非自反的偏序。并且,由于依赖链 dc 仅有包含关系,dc 中不存在循环。3顺序图的鲁棒性根据文献1,UML 顺序图的鲁棒性遵守以下规则。规则 1执行者只能与边界对象通信。规则 2边界对象只能与控制器和执行者通信。规则 3实体对象只能
19、与控制器通信。规则 4控制器可以与边界对象和实体对象以及其他控制器通信,但不与执行者通信。根据这四条规则,可以给出以下形式化定义。定义 3令 US=ME,1,n,1,m,用来构建顺序图。设ActorObj、BounObj、ContObj、EntiObj1,m,它们分别是该顺序图的执行者、边界对象、控制对象和实体对象的集合,并且设objInteraction1,n 是对象交互的关系。如果满足:o1,o2 ME:(o1,o2)objInteraction(o1ActorObj o2BoundObj)(o2ActorObj o1BoundObj)(o1BoundObj o2 ContObj)(o2
20、ContObj o1BoundObj)(o1 ContObj o2 ContObj)86第 2 期张强,等:UML 顺序图的鲁棒性分析(o1BoundObj o2 EntiObj)(o1 ContObj o2 EntiObj),那么称 US 是鲁棒的。定义 3 给出了对象交互限制条件,如图 1 所示,actor 是执行者对象,a 是边界类对象,c 是控制类对象,b 是实体类对象,actor 通过消息 m1、m6 与 a 交互,a 通过消息 m2 与 b 交互,b 通过消息 m3、m4、m5 与 c 交互。它们之间的所有通信都符合上述规则,因此在图 1 中的顺序图是鲁棒的。4可组合性简单的顺序图
21、可以通过组合形成复杂的顺序图,接下来研究顺序图在组合操作下的鲁棒性。定义 4令 US=ME,1,n,1,m 和 US=ME,1,n,1,m为两个统一结构。如果满足ME ME,i 1,n:i i,j 1,m:j j,称 US 为 US 的子结构,记为 US US。如果 是非自反的偏序,则 US 和 US之间的组合定义为 US +US=ME,1,n,1,m,其中:ME=ME ME;=;i=i i,i 1,n;j=j j,j 1,m,称 US 和 US 是可组合的。两个可组合的统一结构可能有不同数量的依赖关系类型及不同的依赖关系。两个统一结构在组合之前将等价转换成相同依赖类型的模型。例如,有两个统一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 顺序 鲁棒性 分析
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。