基于构件的软件性能预测工具的设计与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
软件性能(Software Performance)是影响软件质量的重要指标之一,它属于软件的非功能属性。随着软件规模的扩大和软件复杂度的增加,越来越多的软件产品中存在性能问题。传统的“事后”测量的方法,基于对已经构造完成的软件系统性能的监测发现性能问题,并通过各种途径进行性能调优。这样方法虽然能够发现性能问题,并对其进行一定程度的改进,但是其代价高昂且不能从根本上解决性能问题。因此,在软件开发早期进行性能预测就成为一个重要的、具有研究价值的课题。
     基于模型的性能预测方法向软件体系结构模型中添加性能注释,使其包含性能数据,再将体系结构模型转换成性能模型,最后使用性能模型自动求解工具获取性能预测数据。由于软件设计人员缺少性能建模的领域知识,早期性能预测能够成功应用的关键因素是预测过程的自动化。这意味着必须具有有效的工具支持性能预测过程的自动化。本文研究并实现了一个基于构件的软件系统性能预测工具,该工具能够有效的支持性能预测过程的自动化。
     大量的软件系统通过构件组装完成,运行在某些中间件平台之上,其性能势必受到中间件平台的影响。然而,中间件平台对设计人员是透明的,让设计人员对其建模是不现实的。本文所述的自动化性能预测工具提供一个中间件性能影响因素库,在进行性能预测时引入中间件影响因素对系统性能的影响。
     本文所述自动化性能预测工具通过面向方面技术将横切整个系统的影响因素(诸如安全性、事务管理、日志等)进行分离,建立横切关注点性能影响因素库。在进行性能预测时利用编织技术将横切关注点影响因素织入原始体系结构模型,分析其对软件系统整体性能的影响。
     实验证明该工具能够将软件原始体系结构模型自动转换为性能模型,并在转换过程中自动引入中间件和横切关注点性能影响因素。该工具输出的预测数据能够有效预测系统性能,对不同设计方案进行比较,辅助设计人员构造性能内建于软件结构的高质量的软件产品。
Software performance is an important indicator of impact of software quality, it belongs to the software non-functional properties. With the expansion of software size and software complexity increase, more and more software products in a performance problem. Traditional "after" measurement method, finds performance problems by monitoring the performance of software system which has been constructed, and through various methods of performance tuning. Although this method can find performance problems, and gain a degree of improvement, but it is expensive and can not fundamentally solve the performance problems. Therefore, performance prediction in the early of the software development becomes an important and valuable subject to research.
     Model-based performance prediction methods add performance profiles to a software architecture model, which will be including performance information, and converts the architecture model into the performance model, then acquires performance prediction data by using performance model automatically solving tool. Because of software designer's domain knowledge of performance modeling is poor. The prediction process automation is a key factor for the successful application of early performance prediction. This means that you must have effective tools to support performance prediction process automation. This paper researched and implemented a component-based software system performance prediction tool, the tool can effectively support the performance prediction process automation.
     Large number of software systems are assembled through the components, run in some middleware platform, the performance is bound to be impacted by middleware platform. However, the middleware platform is transparent to the designer. It is not realistic that letting designers to build performance model of middleware. The automated performance prediction tool described in this article provides a performance factors library of middleware. The performance factors of middleware will be woven into original software architecture model in the performance prediction process.
     The automated performance prediction tool separate cross-cutting concerns factors (such as security, transaction management, logging, etc.) by aspect-oriented technology and establish cross-cutting concerns library. Cross-cutting concerns will be woven into the original architecture model before model conversion, in order to analyze its overall impact of software systems performance.
     Experiments show that the tool can automatically convert the original system model to the performance model, and automatically include the cross-cutting and middleware performance factors in the conversion process. The tool can effectively predict system performance, compare different designs, help designers to construct high-quality software products whose performance built-in software architecture.
引文
[1] Murray Woodside, Greg Franks. The Future of Software Performance Engineering. Future of Software Engineering(FOSE'07)
    [2]刘晓明,任正平,黄松,张晓锋,胡斌.基于模型的构件系统性能预测综述.计算机仿真学报,19(13),2007
    [3]刘晓明,任正平,黄松,张晓锋.软件性能预测现状与发展[J].计算机研究与发展, 43(增刊),2006
    [4] Simonetta Balsamo, Antinisca Di Marco. Model-Based Performance Prediction in Software Development: A Survey. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 30, NO. 5, MAY 2004
    [5] G. Franks, P. Maly, M. Woodside, D. C. Petriu, and A. Hubbard, Layered Queueing Network Solver and Simulator User Manual, Real-time and Distributed Systems Lab, Carleton University, Ottawa, 2005. Available at http://www.sce.carleton.ca/rads/lqn/lqndocumentation/
    [6] Bertolino A, Mirandola R. Software performance engineering of component-based systems [C]// Proc 4th Int’l Workshop Software and Performance Redwood Shore (US): ACM Press. 2004.
    [7] Bertolino A, Mirandola R. Towards component-based software performance engineering [C]// Proc 6th ICSE Workshop on Component-Based Software Eng (CBSE). Portland (USA): IEEE Computer Society Press. 2003.
    [8] Bertolino A, Mirandola R. CB-SPE tool: putting component-based performance engineering into practice [C]// Proc 7th Int’l SIGSOFT Symposium Component-Based Software Eng. Edinburgh (UK): ACM Press. 2004.
    [9] Wu Xiu-ping, McMullan D, Woodside M. Component based performance prediction [C]// Proc 6th ICSE Workshop on Component-Based Software Eng (CBSE). Portland (USA): IEEE Computer Society Press. 2003.
    [10] D.C. Petriu and H. Shen. Software Performance Evaluation: Graph Grammar-based Transformation of UML Design Models into Performance Models. In Field and Harrison[24], pages 159–177.
    [11] Gordon P. Gu, Dorina C. Petriu. XSLT transformation from UML models to LQN performance models. Proceedings of the International Workshop on Software and Performance, WOSP '02
    [12] Dorina C. Petriu, Hui Shen. Applying the UML Performance Profile: Graph Grammar-based Derivation of LQN Models from UML Specifications. [C]∥Proc. of International Conference on Modelling Techniques and Tools for Performance Evaluation. LNCS 2324.2002 :1592177
    [13] Murray Woodside, Dorina C. Petriu, Performance by Unified Model Analysis (PUMA). Proceedings of the International Workshop on Software and Performance, WOSP '05
    [14] Dorin B. Petriu, MurrayWoodside. An intermediate metamodel with scenarios and resources for generating performance models from UML designs. Softw Syst Model (2007)
    [15] Heiko Koziolek1. A Model Transformation from the Palladio Component Model to LayeredQueueing Networks. Springer-Verlag Berlin Heidelberg, 2008
    [16] Alexander Ufimtsev. Performance Modeling of a JavaEE Component Application using Layered Queuing Networks: Revised Approach and a Case Study. Fifth International Workshop on Specification and Verification of Component-Based Systems (SAVCBS 2006)
    [17] Jing Xu, Murray Woodside. Performance Modeling and Prediction of Enterprise JavaBeans with Layered Queuing Network Templates. ACM SIGSOFT Software Engineering Notes, 2006
    [18] Jing Xu, Murray Woodside. Template Driven Performance Modeling of Enterprise Java Beans. Proceedings of Middleware for Web Services (MWS) 2005
    [19] Zhang, Y, Huang, T., Wei, J., Chen, N. A Performance Analysis Infrastructure for Component-Based System Hosted by Middleware. in IFIP International Federation for Information Processing, Volume 227, Software Engineering Techniques: Design for Quality, ed K. Sacha, (Boston: Springer), pp. 97-108. .2006
    [20]张勇,黄涛,魏峻,陈宁江.基于容器中间件的组件系统体系结构性能评价[J].软件学报, 2006,17(6)
    [21] Murray Woodside. Resource Architecture and Continuous Performance Engineering. S. Overhage et al. (Eds.): QoSA 2007, LNCS 4880, pp. 1– 14, 2007.
    [22] Steffen Becker. Model-Based Performance Prediction with the Palladio Component Model. Proceedings of the International Workshop on Software and Performance, WOSP '07
    [23] D.C. Petriu, C.M. Woodside. Performance Analysis of Security Aspects in UML Models. Proceedings of the International Workshop on Software and Performance, WOSP '07
    [24] Hui Shen and Dorina C. Petriu. Performance Analysis of UML Models Using Aspect-Oriented Modeling Techniques. L. Briand and C. Williams (Eds.): MoDELS 2005,
    [25] Connie U.Smith,唐毅鸿,杨朝晖,刘倩羽译.软件性能工程[M].机械工业出版社, 2003. Tom Verdickt, Bart Dhoedt. Hybrid Performance Modeling Approach for Network Intensive Distributed Software. Proceedings of the International Workshop on Software and Performance, WOSP '07
    [26]李鹏程,李钢.软件开发初期的性能研究.中国计算机学会第十一届计算机工程与工艺学术年会
    [27]林闯,李雅娟,王忠民.性能评价形式化方法的现状和发展[J].电子学报,2002,30(12)
    [28]黄翔,张文博,张波,魏峻.基于方面模板的分布式组件系统性能预测方法[J].计算机科学, 36(8),2009
    [29] Greg Franks, Tariq Al-Omari, Murray Woodside, Olivia Das, Salem Derisavi. Enhanced Modeling and Solution of Layered Queueing Networks. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 35, NO. 2, MARCH/APRIL 2009
    [30] Xiuping Wu, Murray Woodside. Performance Modeling from Software Components. Dept. of Systems and Computer Engineering, WOSP '04
    [31] Grady Booch,James Rumbaugh,Ivar Jacobson. UML用户指南(第2版)[M].人民邮电出版社,2006
    [32] Martin Fowler. UML精粹:标准对象语言简明指南[M].清华大学出版社,2005
    [33] Object Management Group: UML Profile for Schedulability, Performance and Time.OMGDocument ad/2001-06-14, http://www.omg.org/cgi-bin/doc?ad/2001-06-14(2001)
    [34] Murray Woodside Greg Franks. Tutorial Introduction to Layered Modeling of Software Performance. 2007
    [35] Filman,R.E.等著.面向方面软件开发[M].莫倩等译.北京:机械工业出版社[M],2006
    [36]曹东刚,梅宏.面向Aspect的程序设计技术——一种新的编程范型[J].计算机科学,2003,30(9)
    [37]张宇亮.面向方面的分布式实时软件的性能分析[D].广东工业大学, 2006
    [38]李泰鑫.网格环境下异构动态分布式实时系统的面向方面的性能分析方法[D].广东工业大学,2008
    [39]郭东亮,张立臣.面向方面软件开发研究[J].计算机应用研究.2005(8):36-38
    [40]林燕霞.面向方面建模及编织工具的研究与实现[D].中山大学,2006
    [41] Verdickt T ,Dhoedt B. Automatic Inclusion of Middleware Performance Attributes into Architectural UML Software Models[J]. IEEE Transactions on Software Engineering ,2005 ,31 (8) :6952711
    [42] UML官方网站. Hup://www.uml.org/.2006-3
    [43] Pet riu D C ,Woodside M. Performance Analysis wit h UML [M]∥B. Selic ,L. Lavagno ,G. Martin. UML for Real ,2003 :2212240
    [44] http://sourceforge.net/projects/oncepd/

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700