Current methods for software architecture analysis often falls short of providing objective and quantitative performance information. The paper describes how to bring together techniques in software performance engineering and software architecture analysis in order to support performance-related software architecture engineering. Software architecture analysis is an emerging field, promoted by the increasing complexity of software systems and the need to reduce maintenance costs for evolution. Resource utilization is the key factor for evaluating the performance of the system. These architectural views are developed to support insightful understanding of the system and to facilitate communications among various stakeholders.
Key words: PRSAE, Architecture Model Generation [AMG], Software Performance Engineering [SPE], Performance model, Resource utilization.
[...] Based on the evaluation of the software architecture and performance, we build prototypes to demonstrate how to eliminate certain problems or to improve performance and other system qualities. The approach has been used in one instance to synthesize an architecture based on design patterns for the problem area. The new design greatly reduced coupling between some system components and, at the same time, improved the overall performance CONCLUSION The ultimate goal of this approach is to aid design teams to reduce time-to-market and to meet the stakeholders objectives. [...]
[...] Bass, and P. Clements, “Scenariobased analysis of software architecture”, IEEE. Software, Nov C.-H. Lung, “Effective software partitioning through clustering techniques”, Nortel Design Forum, Oct C.-H. Lung, S. Bot, K. Kalaichelvan, and R. Kazman, approach to software architecture analysis for evolution And reusability”, Proc. of CASCON, pp. 144- C.-H. Lung and K. Kalaichelvan, approach to quantitative software architecture sensitivity analysis”, to appear in Proc. Of the Int'l Conf. on Software Eng. and Knowledge Eng J.A. Rolia and K.C. Sevcik, method of [...]
[...] The existence of software bottlenecks in such systems may result in disastrous performance results Perform architecture analysis based on the results of step The main purpose of this step is to evaluate the overall software architecture. Some critical areas of focus include elimination of redundant operations, reduction of execution frequency of some paths or components, and avoidance of levels of indirection. For examples, the initialization operation may be invoked repeatedly, redundant memory copy operations may be performed, or a module may be a contention point or over-executed. [...]
[...] More elaboration on the steps as well as some of the derived lessons follow Develop or capture a software architecture Identify most frequently used scenarios, with focus on real-time scenarios Identify execution paths for the scenarios Apply performance modeling, analysis, and measurements Perform architecture analysis based on the results of step Conduct trade-off analysis between performance and other quality attributes, and among design alternatives Build a prototype, based on the analysis, to improve the performance or other quality attributes Develop or capture the software architecture. [...]
APA Style referenceFor your bibliography
Online readingwith our online reader
Content validatedby our reading committee