PASA(SM): An Architectural Approach to Fixing Software Performance Problems

When fixing performance problems in new or existing software or determining whether a proposed system will meet its performance objectives, taking an architectural approach can make it possible to achieve performance objectives more quickly and at a lower cost. This paper describes PASA, a method for performance assessment of software architectures. It was developed from our experience in conducting performance assessments of software architectures in a variety of application domains including web-based systems, financial applications, and real-time systems. PASA uses the principles and techniques of software performance engineering (SPE) to determine whether an architecture is capable of supporting its performance objectives. The method may be applied to new development to uncover potential problems when they are easier and less expensive to fix. It may also be used when upgrading legacy systems to decide whether to continue to commit resources to the current architecture or migrate to a new one. The method is illustrated with an example drawn from an actual assessment.

[1]  Simon S. Lam,et al.  Two Classes of Performance Bounds for Closed Queueing Networks , 1987, Perform. Evaluation.

[2]  Paul Clements,et al.  Coming attractions in software architecture , 1997, Proceedings of 5th International Workshop on Parallel and Distributed Real-Time Systems and 3rd Workshop on Object-Oriented Real-Time Systems.

[3]  Connie U. Smith,et al.  Performance evaluation of software architectures , 1998, WOSP '98.

[4]  Shikharesh Majumdar,et al.  Performance Bounds for Concurrent Software with Rendezvous , 1991, Perform. Evaluation.

[5]  Connie U. Smith,et al.  Performance Engineering Evaluation of CORBA-based Distributed Systems with SPE*ED , 1998, Computer Performance Evaluation.

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[8]  Paola Inverardi,et al.  An approach to performance evaluation of software architectures , 1998, WOSP '98.

[9]  Lawrence W. Dowdy,et al.  Convolutional bound hierarchies , 1984, SIGMETRICS '84.

[10]  Derek L. Eager,et al.  Throughput Concavity and Response Time Convexity , 1984, Inf. Process. Lett..

[11]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[12]  Rob Pooley,et al.  The unified modelling language , 1999, IEE Proc. Softw..

[13]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[14]  Connie U. Smith,et al.  PASASM: a method for the performance assessment of software architectures , 2002, WOSP '02.

[15]  Raffaela Mirandola,et al.  Deriving a queueing network based performance model from UML diagrams , 2000, WOSP '00.

[16]  Connie U. Smith,et al.  Performance Engineering Evaluation of Object Oriented Systems With SPE-ED , 1997, Int. CMG Conference.

[17]  Derek L. Eager,et al.  Performance bound hierarchies for queueing networks , 1982, TOCS.

[18]  Thomas J. Mowbray,et al.  AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis , 1998 .

[19]  Connie U. Smith,et al.  Software performance antipatterns , 2000, WOSP '00.

[20]  Connie U. Smith,et al.  Software Performance AntiPatterns; Common Performance Problems and their Solutions , 2001, Int. CMG Conference.

[21]  Leonard J. Bass,et al.  Scenario-Based Analysis of Software Architecture , 1996, IEEE Softw..

[22]  Connie U. Smith,et al.  New Software Performance AntiPatterns: More Ways to Shoot Yourself in the Foot , 2002, Int. CMG Conference.

[23]  Vincenzo Grassi,et al.  Performance evaluation of mobility-based software architectures , 2000, WOSP '00.

[24]  Douglas C. Schmidt,et al.  Patterns for concurrent and networked objects , 2000 .

[25]  Günter Haring,et al.  Performance Bounds for Distributed Systems with Workload Variabilities and Uncertainties , 1997, Parallel Comput..

[26]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[27]  Connie U. Smith,et al.  Performance Engineering of Software Systems , 1990, SIGMETRICS Perform. Evaluation Rev..