CN102799530A - 一种基于uml架构的软件系统的性能预测方法 - Google Patents
一种基于uml架构的软件系统的性能预测方法 Download PDFInfo
- Publication number
- CN102799530A CN102799530A CN2012102569323A CN201210256932A CN102799530A CN 102799530 A CN102799530 A CN 102799530A CN 2012102569323 A CN2012102569323 A CN 2012102569323A CN 201210256932 A CN201210256932 A CN 201210256932A CN 102799530 A CN102799530 A CN 102799530A
- Authority
- CN
- China
- Prior art keywords
- uml
- software
- performance
- model
- mark value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于UML架构的软件系统的性能预测方法。本发明首先建立软件系统的UML模型,然后在UML图上加入构造型和标记值使之转化为带标注的UML图,生成UMLSPT模型,接着利用UML模型生成排队网络模型算法生成排队网络模型,最后根据排队网络模型性能参数的求解方法计算得出软件性能参数值,实现软件性能预测。本发明所设计的软件性能预测方法用户只需建立软件系统的UML模型,并加入构造型和标记值使之成为UMLSPT模型,就能求得软件的性能指标。因此本发明大大降低了软件性能预测的复杂性,提高了软件开发的效率。
Description
技术领域
本发明属于计算机及通信领域,具体涉及一种基于UML架构的软件系统的性能预测方法。
背景技术
上个世纪八十年代以来,大规模、高复杂度的软件逐渐增多,软件设计产品除了满足基本功能需求之外,还需满足一些质量需求,由此,作为软件质量重要组成部分的软件性能,得到了越来越多的关注。传统的软件开发方法通常只关注软件的功能性要求,一般在软件生命周期的后期阶段才引入性能问题,这种开发模型通常被称为“fix-it-later”方法,它往往是经过系统测试之后,才真正确定该设计是否能真正满足系统功能、性能和可靠性方面的需求,若不满足系统的性能需求,则重新设计软件系统将会导致整个项目的成本急剧增加。如今,研究者已经提出了许多应用于软件开发早期阶段的性能分析方法,如基于模型的方法和基于分析的方法。性能分析可以成功应用于早期的关键是自动化技术,这意味着在软件生命周期中性能预测可以支持自动化。虽然还没有针对软件开发和性能预测的完整的集成方法,但有些方法提供部分自动化功能,从性能模型评估的软件规格说明来看,方法和工具已经被提出应该部分地使得集成过程自动化。
排队网络模型是目前性能预测中应用较为广泛的一种分析模型,它抓住了实际系统最重要的特征,即系统工作负荷与系统资源之间的相互作用,分析采用符合实际情况的假设。排队网络模型广泛用来分析资源共享系统,如计算机系统、通信系统等。分析排队网络模型即可获得系统经典的面向资源的性能参数,如资源利用率、吞吐率、平均响应时间等,性能参数的计算准确度比较高,并且计算复杂度不高,这也是排队网络模型应用较为广泛的一个原因。
统一建模语言(Unified Modeling Language,UML)是一种定义良好、富于表达、功能强大且普遍适用的建模语言,是目前常用的体系结构描述方式,并侧重于描述系统的功能性行为,尤其在面向对象的系统分析、设计和实现中的应用极为广泛,可以说,UML已成为了一种面向对象系统开发的标准规范。为使UML模型能够描述系统性能需求,一种叫做SPT性能文档(UMLprofile for schedulability,performance and time,UML SPT)错误!未找到引用源。的扩展语言已经被OMG组织采纳并定为规范。SPT性能文档通过构造型(stereotype)和标记值(tagged value)扩展了UML语言,以反映系统的性能需求,为设计时评估系统性能提供了方便。
从UML生成排队网络是基于SPE提出的,第一个基于SPE的方法是Williams和Smith在中提出的。他们应用SPE方法来评估使用UML图表征的软件架构的性能特征,即使用具有丰富消息图(Message Sequence Chart,MSC)特征的类图和部署图以及顺序图来表征软件架构。该方法的重点在于软件执行模型的构建和分析,它被认为是该软件系统SA的目标模型,从顺序图中获得,而类图和部署图主要用于对SA的描述上,并不参与转换过程。
Cortellessa和Mirandola对上述方法进行了扩展。他们提出的方法被称为PRIMA-UML,利用不同的UML图中的信息逐渐产生一个性能模型来代表指定的系统,SA用部署图、顺序图和用例图描述,软件执行模型来源于用例图和顺序图,而系统模型来源于部署图。
出于自动化的考虑,人们又设计出很多性能自动化分析的工具,这些工具适用于不同的情况。1999年人们研究了关于3类排队网络(多服务器、无限队列、多类顾客;多服务器、无限队列、单类顾客;多服务器、有限队列、单类顾客)的自动化性能分析工具。HenkTijms对单个服务中心的排队系统,如M/G/1、M/M/c、M/D/c和G/M/c的性能进行自动化分析,只要输入相关参数就能得出性能参数如响应时间、平均队长等。Moreno Marzolla开发的qnetwork是GNU Octave下计算性能参数的工具;B.Van Houdt开发matlab下的QMAM工具是针对电信系统的自动化性能分析工具。这些工具都是从排队网络中获取相关信息作为性能分析的输入参数来计算性能参数。
发明内容
本发明针对现有技术的不足,提供了一种基于UML架构的软件系统的性能预测方法。
一种基于UML架构的软件系统的性能预测方法,包含以下步骤:
步骤一:用UML模型描述软件系统架构,生成软件系统的UML模型;选取UML模型的用例图来描述软件系统的外部输入,用活动图来描述软件系统的执行路径,用构件图来描述软件系统的资源。
步骤二:在UML模型的基础上,结合UML扩展机制,加入构造型和标记值,建立软件系统的UML SPT模型;对用例图的扩展加入了构造型《PAopenuser》和《PAcloseduser》来描述操作者,加入了标记值PAarrival来描述操作者到达系统的规律,《PAopenuser》表示使用系统功能后离开系统的操作者,《PAcloseduser》表示使用系统功能后不离开系统的操作者,PAarrival是一个随机变量,包含两个元素:PDFstring和value,其中,PDFstring代表它所服从的分布,value代表所服从分布的参数,对构件图的扩展加入了构造型《PAresource》来描述每一个资源节点,加入了标记值PArate描述资源节点的平均处理速率,加入了标记值PAschedpolicy描述资源节点的处理方式,加入了标记值PAbfork描述资源节点被分支节点衍生出来的活动状态请求的信息,对活动图的扩展加入构造型《PAjoin》来描述汇合节点,用标记值PAjname描述该汇合节点的名称;加入了构造型《PAfork》来描述分支节点,同时用标记值PAfname描述该分支节点的名称;加入构造型《PAaction》来描述活动状态,同时用标记值PAresource描述活动所请求的节点资源,用标记值PAdemand描述请求节点资源的规律。
步骤三:根据软件开发时的性能要求,给定步骤二中生成的标记值的具体值。
步骤四:UML软件架构性能自动化工具将给定标记值的UML SPT模型转化为计算机可以识别的XML格式文件;
步骤五:UML软件架构性能自动化工具解析步骤四中生成的XML格式文件,利用UML SPT模型生成排队网络模型算法转化为排队网络;
步骤六:UML软件架构性能自动化工具分析步骤五中获得的排队网络,利用UML SPT模型中的标记值作为内部函数参数求解,得到排队网络的性能参数值。
步骤七:将步骤六中求得的性能参数值与软件设计时的性能指标进行比较,如果符合要求,结束性能预测过程;反之,软件开发者要改进软件设计整体架构,重新进行性能预测,直到满足性能需求。
本发明的有益效果:
1、本发明为基于UML架构的软件系统的性能预测方法的实现提供了一种可行、可靠的方法。
2、本发明所设计的软件性能预测方法用户只需建立软件系统的UML模型,并加入构造型和标记值使之成为UML SPT模型,利用UML软件架构性能自动化工具即可得到系统的性能参数值,评定是否满足用户的系统性能需求。因此大大降低了软件性能预测的复杂性,提高了软件开发的效率。
3、本发明的软件性能预测方法是基于UML架构的,因此可以满足各种用户的需求,涉及面广,应用前景良好。
附图说明
图1UML SPT模型映射为排队网络模型示意图;
图2软件性能预测步骤示意图。
具体实施方式
一种基于UML架构的软件系统的性能预测方法,包括如下步骤:
如图2所示,步骤一:用UML模型描述软件系统架构,生成软件系统的UML模型。
选取UML模型的用例图来描述软件系统的外部输入,用活动图来描述软件系统的执行路径,用构件图来描述软件系统的资源。
步骤二:在UML模型的基础上,结合UML扩展机制,加入构造型和标记值,建立软件系统的UML SPT模型;
如图1所示,UML模型生成UML SPT模型时,对用例图的扩展加入了构造型《PAopenuser》和《PAcloseduser》来描述操作者,加入了标记值PAarrival来描述操作者到达系统的规律。《PAopenuser》表示使用系统功能后离开系统的操作者,《PAcloseduser》表示使用系统功能后不离开系统的操作者。PAarrival是一个随机变量,包含两个元素:PDFstring和value,其中,PDFstring代表它所服从的分布,如指数分布,value代表所服从分布的参数,如指数分布的参数λ。
对构件图的扩展加入了构造型《PAresource》来描述每一个资源节点,加入了标记值PArate描述资源节点的平均处理速率,加入了标记值PAschedpolicy描述资源节点的处理方式,如先进先出方式,加入了标记值PAbfork描述资源节点被分支节点衍生出来的活动状态请求的信息,若没有被分支节点衍生出来的活动状态所请求,则该标记值为0。
对活动图的扩展加入构造型《PAjoin》来描述汇合节点,用标记值PAjname描述该汇合节点的名称;加入了构造型《PAfork》来描述分支节点,同时用标记值PAfname描述该分支节点的名称;加入构造型《PAaction》来描述活动状态,同时用标记值PAresource描述活动所请求的节点资源,用标记值PAdemand描述以怎样的规律来请求节点资源,如指数分布。
步骤三:根据软件性能要求,给定步骤二中生成的标记值的具体值。
步骤四:UML软件架构性能自动化工具将给定标记值的UML SPT模型转化为计算机可以识别的XML格式文件;
步骤五:UML软件架构性能自动化工具解析步骤四中生成的XML格式文件,利用UML SPT模型生成排队网络模型算法转化为排队网络;
步骤六:UML软件架构性能自动化工具分析步骤五中获得的排队网络,利用UML模型中的标记值作为内部函数参数求解,得到排队网络的性能参数值。
步骤七:将步骤六中求得的性能参数值与软件设计时的性能指标进行比较,如果符合要求,结束性能预测过程;反之,软件开发者要改进软件设计整体架构,重新进行性能预测,直到满足性能需求。
从图2中可以进一步发现步骤四、五、六都是由UML软件架构性能自动化工具完成的,只需建立软件系统的UML模型,并加入构造型和标记值使之成为UML SPT模型,利用UML软件架构性能自动化工具即可得到系统的性能参数值,评定是否满足用户的系统性能需求。
为方便用户利用UML软件架构性能自动化工具对软件系统进行性能评价,本发明为用户提供了一个操作界面,根据UML软件架构性能自动化工具界面设计的要求对工具的界面进行设计,整个性能评价的过程以向导的形式进行。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (1)
1. 一种基于UML架构的软件系统的性能预测方法,其特征在于,该方法包含以下步骤:
步骤一:用UML模型描述软件系统架构,生成软件系统的UML模型;选取UML模型的用例图来描述软件系统的外部输入,用活动图来描述软件系统的执行路径,用构件图来描述软件系统的资源;
步骤二:在UML模型的基础上,结合UML扩展机制,加入构造型和标记值,建立软件系统的UML SPT模型;对用例图的扩展加入了构造型《PAopenuser》和《PAcloseduser》来描述操作者,加入了标记值PAarrival来描述操作者到达系统的规律,《PAopenuser》表示使用系统功能后离开系统的操作者,《PAcloseduser》表示使用系统功能后不离开系统的操作者,PAarrival是一个随机变量,包含两个元素:PDFstring和value,其中,PDFstring代表它所服从的分布,value代表所服从分布的参数,对构件图的扩展加入了构造型《PAresource》来描述每一个资源节点,加入了标记值PArate描述资源节点的平均处理速率,加入了标记值PAschedpolicy描述资源节点的处理方式,加入了标记值PAbfork描述资源节点被分支节点衍生出来的活动状态请求的信息,对活动图的扩展加入构造型《PAjoin》来描述汇合节点,用标记值PAjname描述该汇合节点的名称;加入了构造型《PAfork》来描述分支节点,同时用标记值PAfname描述该分支节点的名称;加入构造型《PAaction》来描述活动状态,同时用标记值PAresource描述活动所请求的节点资源,用标记值PAdemand描述请求节点资源的规律;
步骤三:根据软件开发时的性能要求,给定步骤二中生成的标记值的具体值;
步骤四:UML软件架构性能自动化工具将给定标记值的UML SPT模型转化为计算机可以识别的XML格式文件;
步骤五:UML软件架构性能自动化工具解析步骤四中生成的XML格式文件,利用UML SPT模型生成排队网络模型算法转化为排队网络;
步骤六:UML软件架构性能自动化工具分析步骤五中获得的排队网络,利用UML SPT模型中的标记值作为内部函数参数求解,得到排队网络的性能参数值;
步骤七:将步骤六中求得的性能参数值与软件设计时的性能指标进行比较,如果符合要求,结束性能预测过程;反之,软件开发者要改进软件设计整体架构,重新进行性能预测,直到满足性能需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210256932.3A CN102799530B (zh) | 2012-07-24 | 2012-07-24 | 一种基于uml架构的软件系统的性能预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210256932.3A CN102799530B (zh) | 2012-07-24 | 2012-07-24 | 一种基于uml架构的软件系统的性能预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799530A true CN102799530A (zh) | 2012-11-28 |
CN102799530B CN102799530B (zh) | 2015-03-18 |
Family
ID=47198643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210256932.3A Expired - Fee Related CN102799530B (zh) | 2012-07-24 | 2012-07-24 | 一种基于uml架构的软件系统的性能预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799530B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246770A (zh) * | 2013-05-08 | 2013-08-14 | 南京大学 | 一种基于活动图模型的系统行为仿真方法 |
CN107102948A (zh) * | 2017-05-19 | 2017-08-29 | 青岛大学 | 一种基于uml的软件架构复杂性度量方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150875A1 (en) * | 2005-12-27 | 2007-06-28 | Hiroaki Nakamura | System and method for deriving stochastic performance evaluation model from annotated uml design model |
CN101211311A (zh) * | 2006-12-25 | 2008-07-02 | 中国电信股份有限公司 | 应用软件在生产环境下的性能预测方法 |
CN101373432A (zh) * | 2008-09-26 | 2009-02-25 | 中国科学院软件研究所 | 一种基于中间件的组件系统性能预测方法和系统 |
JP2011180632A (ja) * | 2010-02-26 | 2011-09-15 | Mitsubishi Electric Corp | 検証装置及び検証方法及び検証プログラム |
-
2012
- 2012-07-24 CN CN201210256932.3A patent/CN102799530B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150875A1 (en) * | 2005-12-27 | 2007-06-28 | Hiroaki Nakamura | System and method for deriving stochastic performance evaluation model from annotated uml design model |
CN101211311A (zh) * | 2006-12-25 | 2008-07-02 | 中国电信股份有限公司 | 应用软件在生产环境下的性能预测方法 |
CN101373432A (zh) * | 2008-09-26 | 2009-02-25 | 中国科学院软件研究所 | 一种基于中间件的组件系统性能预测方法和系统 |
JP2011180632A (ja) * | 2010-02-26 | 2011-09-15 | Mitsubishi Electric Corp | 検証装置及び検証方法及び検証プログラム |
Non-Patent Citations (1)
Title |
---|
徐忠富等: "《USDP分析设计中基于排队网络模型的软件性能预测方法》", 《计算机科学》, vol. 34, no. 10, 31 October 2007 (2007-10-31), pages 272 - 277 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246770A (zh) * | 2013-05-08 | 2013-08-14 | 南京大学 | 一种基于活动图模型的系统行为仿真方法 |
WO2014180106A1 (zh) * | 2013-05-08 | 2014-11-13 | 南京大学 | 一种基于活动图模型的系统行为仿真方法 |
CN103246770B (zh) * | 2013-05-08 | 2015-10-14 | 南京大学 | 一种基于活动图模型的系统行为仿真方法 |
US9594543B2 (en) | 2013-05-08 | 2017-03-14 | Nanjing University | Activity diagram model-based system behavior simulation method |
CN107102948A (zh) * | 2017-05-19 | 2017-08-29 | 青岛大学 | 一种基于uml的软件架构复杂性度量方法 |
CN107102948B (zh) * | 2017-05-19 | 2021-01-26 | 青岛大学 | 一种基于uml的软件架构复杂性度量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102799530B (zh) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Baresi et al. | Event-based multi-level service monitoring | |
CN112685154A (zh) | 任务流引擎的数据处理方法、任务流引擎、设备和介质 | |
Dai et al. | A choreography analysis approach for microservice composition in cyber-physical-social systems | |
CN103065221A (zh) | 基于bpel的多学科协同优化流程建模与调度的方法和系统 | |
EP2520069B1 (en) | Managing session data of a composite service session in a communication network | |
CN102799530B (zh) | 一种基于uml架构的软件系统的性能预测方法 | |
Van den Heuvel et al. | Software service engineering: Tenets and challenges | |
Jayasinghe et al. | An analysis of throughput and latency behaviours under microservice decomposition | |
Yau et al. | Developing service-based software systems with QoS monitoring and adaptation | |
Fu et al. | Configuring competing classifier chains in distributed stream mining systems | |
Li et al. | Modeling and analysis of rabbitmq using uppaal | |
Werle et al. | Data stream operations as first-class entities in component-based performance models | |
EP2209282A1 (en) | A method, device and computer program product for service balancing in an electronic communications system | |
Moon et al. | Stochastic Reo: a case study | |
CN112883110A (zh) | 一种基于nifi的终端大数据分发方法、存储介质及系统 | |
Teixeira et al. | A stochastic model for performance evaluation and bottleneck discovering on soa-based systems | |
Cortellessa et al. | Three performance models at work: a software designer perspective | |
Tsoutsa et al. | Service Simulation in Industry 4.0: A Comparison of Simulators | |
CN112953747A (zh) | 一种联盟链的性能分析方法、系统及终端设备 | |
Schmid | Modeling and Simulation of Message-Driven Self-Adaptive Systems | |
Lin et al. | A QoS-aware BPEL framework for service selection and composition using QoS properties | |
Frank et al. | An architectural template for parallel loops and sections | |
US20080244492A1 (en) | Apparatus and method for designing system, and computer readable medium | |
Liu et al. | Model checking for web service flow based on annotated OWL-S | |
Bharathi et al. | A simple method for deriving LQN-models from software-models represented as UML diagrams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210413 Address after: 226600 no.428, Zhennan Road, Hai'an street, Hai'an City, Nantong City, Jiangsu Province Patentee after: Nantong Yixuan Intelligent Technology Co.,Ltd. Address before: 310018, No. 18 Jiao Tong Street, Xiasha Higher Education Park, Hangzhou, Zhejiang Patentee before: ZHEJIANG GONGSHANG University |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150318 Termination date: 20210724 |
|
CF01 | Termination of patent right due to non-payment of annual fee |