(信号与信息处理专业论文)基于uml的软件系统的功能性验证和非功能性度量.pdf_第1页
(信号与信息处理专业论文)基于uml的软件系统的功能性验证和非功能性度量.pdf_第2页
(信号与信息处理专业论文)基于uml的软件系统的功能性验证和非功能性度量.pdf_第3页
(信号与信息处理专业论文)基于uml的软件系统的功能性验证和非功能性度量.pdf_第4页
(信号与信息处理专业论文)基于uml的软件系统的功能性验证和非功能性度量.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(信号与信息处理专业论文)基于uml的软件系统的功能性验证和非功能性度量.pdf.pdf 免费下载

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

文档简介

一一 浙江理工大学硕士学位论文 摘要: 随着软件系统的日益庞大,对软件的要求也越来越高,对软件模型的验证和 性能的度量,受到前所未有的关注,同时基于统一建模语言( u n i f i e dm o d e l i n g l a n g u a g e ,u m l ) 【1 】【2 】的软件设计方法也日益成为一种行业标准,因此从u m l 中 获得一些需求和性能的信息,分析并发现系统中潜在的漏洞和性能瓶颈,将成为 一种优秀的解决方法。 u m l 是一种通用的可视化建模语言,它具有建模方法直观、易于理解、便 于表达和使用、代码生成等优点。但是u m l 语言缺少精确的形式化描述。而p e t r i 网则是一个侧重描述动态行为的形式化描述语言,尤其能很好的描述系统的并发 和分布系统【3 】。 本文充分结合u m l 和p e l r i 网这两种建模语言,互相取长补短:一方面可以 对软件进行直观设计,另一方面可以描述软件的动态行为。首先将系统用u m l 进行描述,然后把带有非功能信息的u m l 状态图转换为p e t r i 网模型,基于这 个p e t r i 网模型,我们可以验证功能性和对非功能性进行度量。 在功能性验证方面,过滤p e t r i 网模型中的非功能信息,通过定义转换规则 将p e t r i 网转到模型检测工具s p i n 的输入语言p r o m e l a 语言,我们将所要检 查的功能用线性时序逻辑公式( l t l ) 表示。通过分析s p i n 的运行结果和系统 的执行路径,我们可以判断出该功能是否满足系统。 在非功能度量方面,我们将p e t r i 网转化为随机p e t f i 网( s p n ) ,由于任何含 有有穷个库所、有穷个变迁的连续时间的s p n 同构于一个连续时间马尔可夫链 【4 】。在马尔科夫链模型的基础上,得出表示系统非功能性质的数学表达式,从而 实现对系统可行性、安全性、性能效率等非功能性进行度量。 最后文中运用s e r v i c er o b o t 例子验证我们的方法。 关键字:u m l 模型,p e t r i 网,m a r k o v 链,功能性验证,非功能性度量 i i i 浙江理工大学硕士学位论文 t h ef u n c t i o n a l i t i e sc h e c k i n ga n dd o n f u n c t i o n a h f i e sm e a s u r i n go f s o f t w a r es y s t e mb a s e do nu m l a b s t r a c t : a st h es o r w a r es y s t e m sb e c o m i n gl a r g e ra n dm o r ec o m p l e x , t h em o r ea l e e x p e c t e df r o mt h es o f t w a r e ,m o r ec o n c e r n sa l ep u t a tc h e c k i n gs o f t w a r em e t h o d sa n d m e a s u r i n gs y s t e mp e r f o r m a n c e s i n c eb a s e d0 1 1u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) s o f t w a r ed e s i g nm e t h o d sh a sb e c o m ea i li n d u s t r ys t a n d a r d ,i t sa nag o o ds o l u t i o nt o g e ts o m er e q u i r e m e n ta n dp e r f o r m a n c ei n f o r m a t i o nf r o mu m l f o ra n a l y z i n ga n d f i n d i n gs y s t e m sp o t e n t i a lb u 笋a n dp e r f o r m a n c eb o t t l e n e c k s u m li sag e n e r a l - p u r p o s e ,o b j e c t - o r i e n t e d ,v i s u a lm o d e l i n gl a n g u a g ew i t ht h e a d v a n t a g e so fi n t u i t i v em o d d i n 岛e a s yt ou n d e r s t a n d , c o n v e n i e n tf o rt h ep r e s e n t a t i o n a n du s a g e ,a u t o m a t i c a l l yc o d eg e n e r a t i n g h o w e v e r , u m ll a c k so fp r e c i s ef o r m a l d e s c r i p t i o n t h ep e t r in e ti sf o r m a ll a n g u a g ew h i c hc a l lb eu s e dt o d e s c r i b et h e d y n a m i cb e h a v i o r , a n di tp a r t i c u l a r i t yd e s c r i b ec o n c u r r e n ta n dd i s t r i b u t i o ns y s t e m s i nt h i sp a p e r , w ef u l l yi m e 伊a t e dt h et w om o d e l i n gl a n g u a g e s - - u m la n dp e t r i n e t , w h i c hc a nc o m p l e m e n tt oe a c ho t h e r s ,o nt h eo n eh a n dw ec a nd e s i g nt h e s o f t w a r ei n t u i t i v e l y , 0 1 1t h eo t h e rh a n d , w ec a na l s od e s c r i b et h ed y n a m i cb e h a v i o ro f t h es o f t w a r e jf i r s t , w ed e s c r i b et h es y s t e mw i t hu m l ,t h e nw et r a n s l a t et h eu m l s t a t ed i 艇掣i m sw i t hn o n - f u n c t i o n a li n f o r m a t i o ni n t op e t r in e tm o d e l ,b a s e do nt h e p e t r in e t , w ec h e c kf u n c t i o n a l i t i e sa n dm e a s l 】r en o n - f u n c t i o n a l i t i e s i nt h ef u n c t i o n a l i t i e sc h e c k i n g , w ef i l t e ro u tt h en o n f u n c t i o n a li n f o r m a t i o nf r o m p e t r in e t ,a n dt h e nt r a n s f o r mt h ep e t r in e tt op r o m e l a l li n p u tl a n g u a g eo ft h em o d e l c h e c k i n gt o o ls p i n w ed e n o t et h ef u n c t i o n st ob ec h e c k e db yl i n e a rt e m p o r a ll o g i c ( l 1 l ) f o r m u l a b ya n a l y z i n gt h er u n n i n gr e s u l t sa n dt h ee x e c u t i o nt r a c e so fs p i n ,w e d e t e r m i n ei ft h ef u n c t i o n sa r es a t i s f i e db yt h es y s t e m w h e nt h en o n f u n c t i o n a l i t i e sm e a s u r i n go ft h es y s t e m ,w et r a n s l a t et h ep e t r in e t t o s t o c h a s t i cp e t r in e t ,s i n c ea n yc o n t i n u o u st i m es p nw i t hf i n i t ep l a c e sa n d w t r a n s i t i 0 璐i si s o m o r p h i c t oao n e d i m e n s i o n a lc o n t i n u o u st i m em a r k o vc h a i n ( c t m c ) ,s ob a s e do nm a r k o vc h a i nm o d a l ,w e o b t a i n e dt h em a t h e m a t i c sf o r m u l a st o c a l c u l a t et h ef e a s i b i l i t y , s a f e t y , p e r f o r m a n c ee f f i c i e n c yo f t h es y s t e m f i n a l l y , as e r v i c er o b o te x a m p l e h a sb e e n u s e dt oi l l u s t r a t eo u rm e t h o d k e yw o r d s :u m lm o d e l ,p e t r i n e t ,m a r k o vc h a i n ,f u n c t i o n a l i t i e sc h e c k i n g n o n - f u n c t i o n a l i t i e sm e a s u r i n g v 一一 浙江理工大学硕士学位论文 目录 浙江理工大学学位论文原创性声明i 浙江理工大学学位论文版权使用授权书i i 摘要:i i i a b s t r a c t :i 、f 目录v i 第一章绪论1 1 1 研究背景l 1 2 国内外研究现状1 1 3 论文主要工作3 1 3 1 研究目标3 1 3 2 研究内容3 1 4 本论文的组织结构4 第二章统一建模语言u m l 5 2 1i 瓜,概述。5 2 1 - 1u m l 发展简史5 2 2u m l 的视图6 2 2 1 状态7 2 2 2 事件8 2 2 - 3 转换9 2 3u m l 存在的缺陷及其对策l o 2 4u m l 状态的非功能标注1 l 2 4 1 对非功能属性的分析l1 2 4 2u m l 状态图非功能扩展1 2 第三章u m l 状态图到p e t r i 网的转换规则1 3 3 1p e t r i 网简介1 3 3 2p e t r i 网的基本知识1 3 3 2 1p e t r i 网的相关定义1 4 3 3 状态图到p e t r i 网的转换规则1 5 第四章系统功能性验证2 1 4 1 模型验证工具s p n 。2 l 4 2p r o m e l a 语言2 2 5 4 1 随机p e m i 网3 9 5 4 2s p n 模型的性能分析4 1 第六章实例研究4 4 总结与展望5 0 致谢5 1 参考文献5 2 攻读学位期间的研究成果5 7 附录lg a ss t a t i o n 问题的p r o m e l a 表示5 8 一 一 浙江理工大学硕士学位论文 1 1 研究背景 第一章绪论 近些年来,随着计算机软硬件技术的迅速发展,计算机应用已经渗透到我们 生活的各个方面,众多领域与计算机技术结合的程度己经达到前所未有的高度。 然而,随着软件系统的规模和复杂程度的不断提高,软件的质量问题已经成为人 们最关注的问题。在软件设计前期,对软件系统进行建模可以很好的理解和构造 系统,然而,模型是开发人员直接通过产品说明书构造而成,难免出现设计错误, 如果不及时更正,在软件系统设计时期或者后期产品测试时查找,势必增加设计 成本。 软件建模时可能出现错误主要涉及以下两方面: 一方面是系统功能性因素。功能性主要指软件系统是否达到需求中所要达到 的功能,或者是否存在同样输入产生不同种输出的功能隐患。通过对系统进行建 模,然后将待检测的系统功能用线性时序逻辑表达式表示,并运用模型检测工具 s p i n 进行功能性验证,不但可以对功能正确性进行验证,而其还可以找到系统 运行的错误路径,进而指导系统设计人员对模型进行修改。 另一方面是系统非功能性因素。非功能性需求是指软件产品为满足用户业务 需求而必须含有且除功能需求以外的特性。软件产品的非功能性需求包括系统的 性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。对系统非功 能性检测实际上是针对系统的优化性。通过对系统非功能性度量,可以在系统建 模阶段对系统的各种性能指标有大体了解,对系统的优化设计提供有效依据。 1 2 国内外研究现状 在u m l 模型检查方面,国内外的主要研究现状: 模型检查第一个是由c h a n 等研究者入于1 9 9 8 年提出l 均t s l ,针对的是r s m l 状态图,使用的检查工具是s m v ,对于转化后造成的空间爆炸问题,他声称可 以用算法来有效控制转化后的模型空间大小。 c l a r k e 和h e i n l e 等研究者于2 0 0 0 年用s m v 模型对s t a t e m a t e 状态图进行 一 浙江理工大学硕士学位论文 模型检型6 , 7 , 8 】,他们的算法解决s t a t e m a t e 中的册一t o c o m p l e t e 步语义问题, 运用了模块式的转化方法,使s m t 尽可能反映s t a t e m a t e 的层次结构。 1 9 9 8 年,m i k k 等人研究状态图转化为s m i 的算法后,总结了之前工作的可 取之处,实现用s p i n 模型检查s t a t e m a t e l 9 , 1 0 ,他运用的中间语言是扩展层次 自动机e h a ,这契合s t a t e m a t e 的结构化操作语义。 l i l i u s 和p a t o r 于1 9 9 9 年发表论文提出一个v u m l ( v i e wb a s e du n i f i e d m o d d i n gl a n g u a g e ) 【1 1 】工具,该工具可以将u m l 状态图的一个子集转化为 p r o m e l a 语言,用户可以用v u m l 绘制状态图,然后将状态图转化为p r o m e l a 语言,该工具使用l i l i u s 和p a l t o r 之前提出的u m l 状态图操作语义【1 2 】,同时该算 法可以对事件队列进行建模,并且实现了u m l 状态图的步语义【1 3 】。 国防科学技术大学的王戟、李留英和齐治昌提出了u m l 状态图的操作语义, 针对u m z 缺乏精确的动态语义描述和u m l l 1 的语义文档,他们提出了描述对象 状态机的u m l 状态图的形式化操作语义【1 4 1 。该语义覆盖u m l 状态图的绝大部分 特征,为u m l 状态图的代码产生、模拟和测试用例生成奠定基础。 董威、王戟、郑延平和齐治昌提出对u m i , 状态机进行模型检验的方法【l 引。 首先对u m l 状态机的语法和语义进行描述,然后基于语义中的r t c 步提出了生 成状态机全局可达状态迁移图的方法,该方法的核心是在当前格局下依据使能条 件来确定所有的最大无冲突迁移集。 u m l 非功能分析国内外的研究现状: 。对软件非功能性的局部研究,如安全性、可靠性、性能等,是随着计算机的 产生而产生的,甚至可以追溯到更早的时期【1 6 1 ,然而,将软件非功能性当作一 个整体进行系统的研究,则相对要晚很多。 早期的非功能性研究是所谓的“面向产品”的研究,主要反应对软件质量的 评价,最早研究是由b o e h m 等人于2 0 世纪7 0 年代末提出的对软件质量属性的分 类和评价标准【1 7 1 1 8 】,之后人们提出了各种各样的软件评价的标准和质量模型 【1 9 】【2 0 】 o 然而,软件的质量是由软件设计和开发过程予以保障的。在2 0 世纪9 0 年代 初,l c h u n g 等人引入了一种“面向流程 的方法【2 1 1 ,这种方法在软件设计和开 发过程中显式的考虑非功能属性的方法。 2 浙江理工大学硕士学位论文 。_ l _ _ i _ _ - _ - - _ i _ _ - _ - _ - _ - - _ - _ - - _ - i - _ - _ _ - _ - _ _ - _ - - - _ _ _ _ _ - _ _ _ 一 随后的研究都是基于“面向产品 和“面向流程 这两种方法的思想,而“面 向流程 的思想近年来显得更为活跃。 1 3 论文主要工作 1 3 1 研究目标 通过对国内外u m l 模型验证和性能分析现状的研究,本文的研究目标主要有以 下几个方面: ( 1 ) 围绕u m l 的组成结构和建模特征,选取u m l 模型用于验证系统建模的正 确性。 ( 2 ) u m l 模型的相关形式化描述,使之适合模型验证方法的思想和过程。 ( 3 ) u m l 模型的非功能属性标注和带有标记的形式化描述,使之满足模型的参 数计算方法。 ( 4 ) 引入数学模型m a r k o v 链对非功能参数进行度量。 1 3 2 研究内容 图1 1 论文结构框架 本文主要研究内容框架如图1 1 所示: ( 1 ) 分析、研究u m l 的各种图的功能与结构,重点放在动态图上,对其进 行适当的处理( 化简或扩展) ,以便更加容易地被转换为p e t r i 网结构,且尽量不丢 失所携带的信息; ( 2 ) 研究p e t r i 网的理论与技术,主要研究p e t r i 网的结构特点和分析技术, 3 浙江理工大学硕士学位论文 使得u m l 能够顺利转换成p e t r i 网,并分析其特性; ( 3 ) u m l 验证模型与p r o m e l a 模型的之间的对应关系,并用s p i n 工具 对模型进行验证。 ( 4 ) 马尔科夫链的相关知识,找到马尔科夫链和离散时间p e t r i 网的同构关 系,运用马尔科夫链的转移矩阵求得系统的安全性、可靠性和性能效率等参数, 从而实现系统非功能性度量。 ( 5 ) 引入s e r v i c er o b o t 的例子,验证理论研究的可行性。 1 4 本论文的组织结构 第一章,主要介绍论文的研究背景及意义,国内外研究现状和本文的主要内 容。 第二章,主要u m l 语言的概要介绍,并着重介绍了u m l 状态图的知识和 u m l 存在的缺陷,最后提出了对u m l 进行非功能标注的方法。 第三章,主要介绍p e t r i 网的相关知识,并提出u m l 状态图到p e t r i 网的转 换规则。 第四章,主要介绍模型检测工具s p i n 和其输入语言- - p r o m e l a ,提出了 p e t r i 网到p r o m e l a 语言的转换规则,并用g a ss t a t i o n 例子验证方法的可行性。 第五章,介绍马尔科夫链和随机p e t r i 网知识,并结合二者软件进行非功能 度量。 第六章,结合s e r v er o b o t 实例,对其进行功能性验证和非功能性分析,证 明方法的合理性。 最后是对本文的总结和进一步研究工作。 4 一一一 浙江理工大学硕士学位论文 第二章统一建模语言u m l 本章着重论述统一建模语言u m l 的相关特点以及u m l 建模机制,并对u m l 语言所存在的不足进行较为详细的讨论。 2 1u m l 概述 2 1 1u m l 发展简史 为解决复杂系统的开发,各种面向对象的建模语言开始出现,1 9 8 9 - 1 9 9 4 年,面向对象建模语言的数量从最初的不到1 0 种增加到了5 0 多种。2 0 世纪9 0 年代中期,以肋d c h1 9 9 3 t 2 2 1 、o o s e 2 3 1 和o m t 一2 【硼等为代表的新的建模语言 被提出,建模语言逐渐走向成熟。 各种建模语言的设计者都努力完善自己的语言产品,然而,用户不了解各种 建模语言的优缺点以及相互之间的差异,所以很难根据应用特点选择合适的建模 语言。1 9 9 4 年1 0 月,g r a d yb o o c h 和j i mr u m b a u g h 开始致力于统一建模语言 的工作。他们首先将b o o c h 9 3 和o m t 一2 统一起来,于1 9 9 5 年1 0 月发布了第一 款公开版本,成为统一方法u m o 8 ( u n i t e dm e t h o d ) 。1 9 9 5 年秋,o o s e 的创始 人i v a rj a c o n b s o n 加盟统一建模的工作。3 个人于1 9 9 6 年6 月河1 0 月分别发布 了两个新的版本,即u m l 0 9 和u m l 0 9 1 ,并将u m 重新命名为u m l ( u n i f i e d m o d e l i n gl a n g u a g e ) 。u m l o 9 结合了b o o c h 等三人建模语言的主要技术,并吸 收了其他方法,如f u s i o n 、s h l a e r - m e l l o r 、c o a d - y o u r d o n 的长处。 1 9 9 6 年,为完善、加强和促进u m l 的定义工作,u m l 成员协会成立。当 时的成员有d e c 、h p 、i - l o g i x 、i t d l i c o r p 、毋m 、i c o nc o m p u t i n g 、m c i s y s t e m h o u s e 、m i c r o s o f t 、o r a c l e 、r a t i o n a ls o f t w a r e 、t i 以及u n i s y s 、这一机构 对u m l l 0 和u m l l 1 的定义和发布起到了重要的促进作用。目前u m l 已经成 为建模语言上的行业标准【2 5 】 5 浙江理工大学硕士学位论文 2 2u m l 的视图 随着系统复杂性的增加,建模就成了必不可少的工作。理想情况下,系统由 单一的图形来描述,该图形明确的定义了整个系统,并且易于人们互相交流和理 解。然而,单一的图形不可能包含系统所需的所有信息,更不可能描述系统的整 体结构功能。一般来说,系统通常是从多个不同的方面来描述 2 6 1 。 ( 1 ) 系统的使用实例。使用实例从系统外部参与者的角度描述系统的功能。 ( 2 ) 系统的逻辑结构。逻辑结构描述系统内部的静态结构和动态行为,即从 内部描述如何设计实现系统功能。 ( 3 ) 系统的构成。描述系统由哪些构件构成的。 ( 4 ) 系统的并发特性。描述系统的并发性,解决并发系统中存在的各种通信 和同步问题。 ( 5 ) 系统的配置。描述系统的软件和硬件设备之间的配置关系。 为方便起见,用视图来划分系统各方面,每一种视图描述系统某一方面的特 性。这样一个完整的系统模型就由许多视图来共同描述。 视图可以划分为三个视图域:结构分类、动态行为、模型管理。它和视图的 关系如表2 1 所示。 表2 1u m l 的视图和图 分类 视图 图主要概念 静态视图类图类、关联、泛化、依赖关系、实现 用例视图用例图用例、参与者、关联、扩展、包括 结构 实现视图构件图构件、接口、依赖关系、实现 部署视图部署图节点、构件、依赖关系、位置 状态机图状态图状态、事件、迁移、动作 活动视图活动图状态、活动、完成迁移、分叉 动态 交互式图 顺序图交互、对象、消息、激活 协作图 协作、交互、协作角色、消息 模犁管理模型管理视图类图包、子系统、模型 可扩展性所有所有约束、构造犁、标记值 2 2 状态图 状态机是对对象动态行为进行建模,显示了实体在不同事件驱动下所作出的 反应。它还可以说明时间的推移对事件( 如消息的接收、条件变更、错误等) 状 态的影响。 状态图由状态和连接各状态之间的转移组成,状态是指对象等待某事件或者 浙江理工大学硕士学位论文 执行某项活动的条件。变迁连接两个状态,它通过某个事件而触发,然后执行特 定的操作,从而导致某一状态的结束。模型元素的行为可以由状态图中的一条通 路表示,沿着此通路状态机随之执行了一系列动作。 组成u m l 状态图的图形元素有状态、转换、初始状态、终结状态和判定等, 一个简单的状态如图2 1 所示。 2 2 1 状态 图2 1 一个简单的状态图示意图 状态图【2 刀是状态机的重要组成部分,它描述了状态机所构建对象的动态行为 产生的结果。状态描述了一个类对象生命周期的一个时间段,它建模的对象包括: 在某些方面性质相似的一组对象值;对象等待一些事件发生时的一段时间;对象 执行持续活动的一段时间等。 状态分为简单状态和组成状态,简单状态包括状态名、活动、入口动作和出 口动作等,下面分别介绍。 状态名。一个状态需要一个状态名以识别不同的状态,虽然状态可以匿名, 但是为方便起见,最好为状态取一个以字符串构成的名字。状态的名字通常放在 状态图标的顶部。 入口动作与出口动作。入口动作和出口动作表示进入或者退出某个状态所要 执行的动作。入口动作用“e n t r y 要执行的动作”表达,而出口动作用“e x i t 要执行 7 浙江理工大学硕士学位论文 的动作”表达。 组成状态。除了包括简单状态外,还有一种可以包含嵌套的子状态的状态, 称为组成状态。组成状态包括顺序子状态和并发子状态。其中,如果一个组成状 态的自状态对应的对象在其生命周期内的任何时刻都只能处于一个子状态,即多 个子状态之间是互斥的,则这个子状态为顺序子状态。那么如果在同一层次中有 两个或者多个顺序子状态同时发生,则称为并发子状态。 2 2 2 事件 事件表示在某一特定的时间或者空间出现的能够引发状态改变的运动变化, 如接收到的从一个对象对另一个对象发送的信号、某些值的改变或一个时间的终 结。事件是一个激励的出现,它定义一个触发子以触发对象改变其状态,任何影 响对象的事物都可以是事件。 事件有多种,大概分为入口事件、出口事件、动作事件、信号事件、调用事 件、修改时间、时间事件和延迟事件等几种。 入口事件。表示一个入口的动作序列,它在进入状态时执行。入口事件的动 作是原子的,并且先于任何内部活动和转换。 出口事件。表示一个出口的动作序列,它在推出状态时执行。出口事件也是 原子的,它跟在所有的内部活动之后,但是先于所有的出口转换。 动作事件。动作时间也称为“d o 事件”,它表示对一个嵌套状态机的调用。 与动作事件相关的活动必定引用嵌套状态机,而非饮用包含它的对象的操作。 信号事件。信号是两个对象之间的通信媒介,信号的接收时信号接收对象的 一个事件。在信号事件中,发送者和接收者可以是同一个对象。 调用事件。调用事件是一个对象对调用的接收,这个对象对状态的转换而不 是用固定的处理过程实现操作。调用事件至少涉及两个以上的对象,一个对象请 求调用另一个对象的操作。 修改事件。修改事件依靠特定属性值的布尔表达式所表示的条件的满足来触 发状态的转换。它表示了一种含有时间持续性的并且可能是涉及全局的计算过 程,测试修改时间的代价可能很大,因为原则上修改事件是持续不断的。 时间事件。时间事件代表时间的流逝。时间事件既可以被指定为绝对形式( 无 8 浙江理工大学硕士学位论文 数) ,也可以被指定为相对形式( 从某个指定事件发生开始所经历的时间) 。时间 事件可以描述一个通知消息,自进入状态以来某个时间期限已到,时间事件就会 激发状态的转换。 延迟事件。延迟时间是在本状态不处理,要推迟到另外个状态才处理的事 件。通常,在一个状态生存期出现的事件若不被立即响应就会消失。但是,这些 未立即触发转换的事件可以放在一个内部的延迟事件队列中,等待需要时触发或 者撤销。 2 2 3 转换 转换表示当个特定事件发生或者某些条件得到满足时,一个源状态下的对 象在完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态。当 发生转换时,转换进入的状态为活动状态、转换离开的状态变为非活动状态。 转换通常分为外部变换、内部变换、完成转换和复合状态4 种。一个转换一 般包括5 部分的信息:源状态、目标状态、触发事件、监护条件和动作。 外部转换。外部转换是一种改变对象状态的转换,它是最常见的一种转换。 外部转换用从源状态到目标状态的箭头来表示。 内部状态。内部状态有一个源状态但是没有目标状态,它转换后的状态依旧 是它本身。内部转换的激发规则和改变状态和外部转换的激发规则相同,如果一 个内部转换带有动作,动作也要被执行。北部状态用于对不改变状态的插入动作 建立模型,例如建立帮助信息。 完成转换。又称为自转换,之所以称为完成转换时因为没有标明触发器事件 的转换是由状态中活动的完成引起的,是自然而然的完成的转换。完成转换也可 以带有一定的监护条件,这个监护条件在状态中的活动完成时被赋值,而非活动 完成后被赋值。 复合转换。复合转化由简单转换组成,这些简单转换通过分支判定、分叉或 接合组合在一起。前面所讲的由判定参与的转换就是复合转换。除了简单的两个 分支的判定,还有多条件的分支判定。多条件的分支判定又分为链式的和非链式 的分支。 触发事件。状态机描述了对象的含有事件驱动的动态行为,对象动作的执行、 9 浙江理工大学硕士学位论文 状态的改变都是以特定事件的发生为前提的,触发事件就是能够引起状态转换的 事件。触发事件可以是信号、调用和时间段等。 监护条件。监护条件是触发转换必须满足的条件,它是一个布尔表达式。当 事件被触发时,监护条件被赋值。如果布尔表达式的值为真,那么转换被触发; 如果布尔表达式的值为假,则不会引起转换。监护条件只能在触发事件发生时被 赋值次,如果在转换发生后监护条件才由假变为真,那么转换也不会被触发。 动作。动作是一组可执行语句或者计算处理过程。动作可以包括发送消息给 另一个对象、操作调用、设置返回值、创建和销毁对象等。动作也可以是一个动 作序列,即一系列简单的动作的组合。动作是原子的,不可中断的,动作或者动 作序列的执行不会被同时发生的其他动作影响或终止。动作的执行时间非常短, 与外界事件所经历的时间相比是可以忽略的,因此,在动作的执行过程中不能再 插入其他事件。表2 2 列出了u m l 中的各种动作。 表2 2i m 中的各种动作 动作种类对动作的描述 语法 赋值对一个变量赋值t a r g e t := e x p r e s s j o n 调用调用目标对象的一个操作,等待操作执行完成,可能会有返回值s e t n a m e ( a r g ) 创建创建一个新对象 n e ws t u d e n t ( ) 销毁销毁一个已存在的对象 o b j e c t d e s t r o y o 返同为调用者指定返回值 r e t u r nv a lu e 发送创建一个信号实例并将器发送到目标对象( 一个或者一组)o p e r a t i o n c o m p l e t e ( a r g ) 中止对象的自我销毁 t e r m i n a t e 2 3u m l 存在的缺陷及其对策 u m l 模型的最大优点在于用户可以很快掌握并应用于实际开发中,但是 u m l 模型获得成功的同时,也收到了各界的反对批评意见,如:过于庞大复杂, 用户很难全面熟练的掌握,许多定义概念含义不清,理论上存在缺陷和错误等问 题。 而p e t r i 网作为一种建模工具,可以准确的描述含有并发、同步等特征的应 用系统2 踟,可以定性或定量地分析系统的有界性、安全性、可达性、活性、公 平性等一系列性质,可得到对被模拟系统性能的正确评价,并提出系统改进建议。 因此,将u m l 和p e t r i 网的优点结合是一种很好的解决u m l 不是形式化的 建模语言、缺乏精确的语义描述、难以在模型设计的早期阶段进行分析验证的缺 陷。同时也可以充分展现p e t r i 网对并发、同步系统描述的优势。所以,在实际 1 0 浙江理工大学硕士学位论文 应用中,我们可以将这两种建模方法相结合,首先使用u m l 对系统进行建模, 扎到u m l 模型到p e t r i 网模型的转换规则,并借助p e t r i 网强大的分析能力,对 系统模型进行分析验证,找模型中存在的缺陷,提出系统改进建议,最后将结果 反馈回u m l 模型。 2 4u m l 状态的非功能标注 在u m l 状态图中使用简单的添加标记和注释虽然可以含有非功能属性标注 的作用,但是不能准确的将u m l 中的非功能属性转移到p e t r i 网模型中,本节 首先分析非功能因素的特点,然后在此基础上提出对u m l 状态图扩展方法。 2 4 1 对非功能属性的分析 非功能属性是对系统整体性质、系统功能属性或者系统开发过程中的某种约 束。 事实上,非功能属性至今为止没有一个权威的定义,下面列出几个比较经典 的定义描述: ( 1 ) n s r o s a t 2 9 l 软件的功能需求定义了一个软件期望做“什么”,而非功能性需求 ( n o n - f u n c t i o n a lr e q u i r e a - n e n t ) 则是指定了关于软件“如何”运行和功能“如何”实 现的全局性限制。 ( 2 ) x f r a n c h t 3 0 】 软件的属性可以用来作为描述和评价软件的一种方式。 文献 2 9 】中,“非功能属性”是相对“功能属性”而说的,而文献 3 0 】中对非功能属 性的定义更像是对软件质量评价的表述。 那么,哪些属于软件的非功能性属性? 从最广泛接受的角度上来看,软件的 非功能性属性包括以下方面【3 l 】【3 刁性能、安全性、可靠性、可维护性、可用性。 其他的非功能性属性还有可扩展性、可移植性、可修改性、灵活性和适应性等。 本文主要针对系统的可靠性、可用性、性能和安全性进行分析度量。 浙江理工大学硕士学位论文 2 4 2u m l 状态图非功能扩展 u m l 状态图主要由状态、转换、事件、活动和动作五部分组成。对状态图 进行非功能标注分为与状态相关的非功能系数和与转换相关的非功能系数两类。 因此我们可以将与状态相关的非功能系数标注在活动的后面,并以分号间隔;同 样的,将与转换相关的非功能系数标注在事件的后面,并以分号间隔。这样,在 同一张状态图上就可以兼有动态性质和静态功能信息,更全面的来描述一个实际 的系统参数。 1 2 浙江理工大学硕士学位论文 第三章u m l 状态图到p e t r i 网的转换规则 3 1p e t r i 网简介 p e t r i 网的概念是1 9 6 2 年由德国科学家c a r la d a mp e t r i 在他的博士论 文 k o m m u n i k a t i o nm i ta u t o m a t c :f l ( 用自动机通信) 中首先提出来的。目前的状况 是:几乎所有与信息科学相关的学术期刊及会议论文集中都能见到涉及p e t r i 网 的论文;每年都有以p e t r i 网理论和应用为主题的国际会议和专题会议;许多高 校在教授p e t r i 网课程;每年都有p c t r i 网学术著作问世。4 0 余年的发展足以证明 p e t r i 网的生命力。 p e t r i 网的魅力何在? 人们通常称赞p e t r i 网描述异步并发的能力和它的图形表示。p e t r i 网的这两 个特点来源于它的网状结构。网状结构产生偏序,使描述异步并发成为可能,使 图形表示更符合异步并发的实际。 但是网状结构并非p e t r i 网的出发点,而是它尊重自然规律的必然结果:大 干世界正是由于一张张有形和无形的网构成,万事万物在这些网上变化着,影响 着,依赖着。p e t r i 网反映的正是这种事物间的依赖关系。p e t r i 网与物理学、化 学等学科不同,它不直接描述自然规律本身,只描述由这种规律产生的依赖关系。 一个好的系统模型不能只存在于纸面上,活跃在论文中。它必须能够用来描 述物理世界的客观存在,使客观存在成为论文的研究对象。它还必须保证,凡是 用它描述的系统都能够转换为客观存在。前者称为系统模型的仿真性,后者即是 系统模型的可实现性。p e t r i 网应用比较成功的两个领域是:系统性能评价和通 信协议 3 3 】分析方面。 3 2p e t r i 网的基本知识 为了应用p e t r i 网,首先必须掌握p e t r i 网的相关基础知识,这些知识包括p e t r i 网的定义与表示方法、p e t r i 网的性质。下面分别予以定义或阐述。 1 3 浙江理工大学硕士学位论文 3 2 1p e t r i 网的相关定义 1 、网 定义3 1 1 3 4 3 3 习:三元组= ( s ,r ;f ) 称为有i 网( d i r e c t e dn e t ,简称网( n e t ) ) 的充必 要条件是: 0 ) s n t = 1 2 j ; ( 2 ) s u t 囝: ( 3 ) f ( s x t ) u ( t x s ) ( 为笛卡尔积) ( 4 ) d o r a ( f ) v c o d ( f ) = s u l 其中, d o m ( f ) = 缸i 砂: ,y ) 毋 c o d ( f ) = 夕i 孤:( 五y ) f ) 它们分别为f 的定义域和值域。其中s 和t 分别为n 的库所( p l a c e ) 集和变迁 ( t r a n s i t i o n ) 集,f 为流关系( f l o wr e l a t i o n ) 。 2 、网系统 定义3 2 :六元组= ( s ,t ;f ,k ,矿,) 构成的网系统的条件是: ( 1 ) = ( s ,t ;f ) 构成有向图,成为的基网; ( 2 ) k ,w ,m 。依次为n 上的容量函数、权函数和标识。心称为的初始标识 ( i n i t i a lm a r k i n g ) 。 3 、尸r 网 定义3 3 六元组= ( s ,t ;f ,k ,职峨) 称为p t 网的条件是: ( 1 ) = ( s ,t ;f )

温馨提示

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

评论

0/150

提交评论