This Article 
 Bibliographic References 
 Add to: 
Architecture-Based Performance Analysis Applied to a Telecommunication System
November 2000 (vol. 26 no. 11)
pp. 1049-1065

Abstract—Software architecture plays an important role in determining software quality characteristics, such as maintainability, reliability, reusability, and performance. Performance effects of architectural decisions can be evaluated at an early stage by constructing and analyzing quantitative performance models, which capture the interactions between the main components of the system as well as the performance attributes of the components themselves. This paper proposes a systematic approach to building Layered Queueing Network (LQN) performance models from a UML description of the high-level architecture of a system and more exactly from the architectural patterns used for the system. The performance model structure retains a clear relationship with the system architecture, which simplifies the task of converting performance analysis results into conclusions and recommendations related to the software architecture. In the second part of the paper, the proposed approach is applied to a telecommunication product for which an LQN model is built and analyzed. The analysis shows how the performance bottleneck is moving from component to component (hardware or software) under different loads and configurations and exposes some weaknesses in the original software architecture, which prevent the system from using the available processing power at full capacity due to excessive serialization.

[1] R. Allen and D. Garlan, "A Formal Basis for Architectural Connection," ACM Trans. Software Eng. and Methodology, July 1997.
[2] G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide. Addison Wesley, 1999.
[3] F. Buschmann et al., Pattern-Oriented Software Architecture: A System of Patterns, John Wiley, Chichester, UK, 1996.
[4] G. Franks, A. Hubbard, S. Majumdar, D. Petriu, J. Rolia, and C.M. Woodside, “A Toolset for Performance Engineering and Software Design of Client-Server Systems,” Performance Evaluation J., vol. 24, no. 1-2, pp. 117-135, Nov. 1995.
[5] G. Franks, S. Majumdar, J. Neilson, D. Petriu, J. Rolia, and C.M. Woodside., “Performance Analysis of Distributed Server Systems.” Proc. Sixth Int'l Conf. Software Quality, pp. 15–26, Oct. 1996.
[6] G. Franks and M. Woodside, “Performance of Multi-Level Client-Server Systems with Parallel Service Operations,” Proc. First Int'l Workshop Software and Performance, Oct. 1998.
[7] J. Dilley, R. Friedich, T. Jin, and J. Rolia, “Measurement Tool and Modelling Techniques for Evaluating Web Server Performance,” Proc. Ninth Int'l Conf. Modelling Techniques and Tools for Performance Evaluation, R. Marie, B. Plateau, M. Calzarosa, and G. Rubino eds., vol. 1,245, pp. 155–168, June 1997.
[8] J.E. Neilson, C.M. Woodside, D.C. Petriu, and S. Majumdar, “Software Bottlenecking in Client-Server Systems and Rendez-vous Networks,” IEEE Trans. Software Eng., vol. 21, no. 9, pp. 776-782, Sept. 1995.
[9] D. Petriu and X. Wang, “From UML Descriptions of High-Level Software Architecture to LQN Performance Models,” Applications of Graph Transformations with Industrial Relevance, M. Nagl, A. Schuerr, and M. Muench, eds., vol. 1,779, pp. 47–62, 2000.
[10] S. Ramesh and H.G. Perros, “A Multi-Layer Client-Server Queuing Network Model with Synchronous and Asynchronous Messages,” Proc. First Int'l Workshop Software and Performance, Oct. 1998.
[11] J. Rolia and K. Sevcik, “The Method of Layers,” IEEE Tran. Software Eng., vol. 21, no. 8, pp. 689–700, Aug. 1995.
[12] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[13] M. Shaw, “Some Patterns for Software Architecture,” Pattern Languages of Program Design 2, J. Vlissides, J. Coplien, and N. Kerth, eds., pp. 255–269, Addison-Wesley, 1996.
[14] C. Smith, Performance Engineering of Software Systems. Reading, Mass.: Addison Wesley, 1990.
[15] B. Spitznagel and D. Garlan, “Architecture-Based Performance Analysis,” Proc. Int'l Conf. Software Eng. and Knowledge Eng., SEKE '98, pp. 146–151, 1998.
[16] L.G. Williams and C.U. Smith, “Performance Engineering of Software Architectures,” Proc. Workshop Software and Performance, Oct. 1998.
[17] C.M. Woodside, “Throughput Calculation for Basic Stochastic Rendezvous Networks,” Performance Evaluation, vol. 9, pp. 143-160, 1989.
[18] C.M. Woodside, J.E. Neilson, D.C. Petriu, and S. Majumdar, “The Stochastic Rendezvous Network Model for the Performance of Synchronous Client-Server-Like Distributed Software,” IEEE Trans. Computer, vol. 44, no. 1, pp. 20–34, Jan. 1995.
[19] Quantify User's Guide. Rational Inc., 1995.

Index Terms:
Software performance analysis, layered queueing networks, software architecture, architectural patterns, Unified Modeling Language (UML).
Dorina Petriu, Christiane Shousha, Anant Jalnapurkar, "Architecture-Based Performance Analysis Applied to a Telecommunication System," IEEE Transactions on Software Engineering, vol. 26, no. 11, pp. 1049-1065, Nov. 2000, doi:10.1109/32.881717
Usage of this product signifies your acceptance of the Terms of Use.