Performance analysis at the software architectural design level

Abstract In this paper we present an approach to evaluating the expected performance of a software architecture (SA). The method allows the derivation of a performance evaluation model, based on a Queuing Network Model, from a SA formal specification modeled as a Labeled Transition System (LTS). The goal of this approach is to provide a set of measures to compare the performance of two or more competing SAs, even at their high level of abstraction. This means that, differently to most approaches in software performance, we do not assume to have, or to expect to obtain, further information on the system under development from the subsequent development steps, e.g. design, implementation and deployment. Rather we stick at the level of abstraction of the SA and even in the absence of relevant pieces of information we want to be able to carry on an evaluation of concurrent execution of SA which should allow the validation of the possibly critical design choices made at the SA level. We aim at deriving mathematical relations among the parameters characterizing the competing models. These relations are obtained by using implementation scenarios to relate the performance indices which can then be suitably evaluated. Besides assisting in the choice of an SA, these relations give information on how to carry on the development process in order to maintain the given performance. To a certain extent, the information obtained by means of the evaluation provides further requirements to be fulfilled by an implementation in order to satisfy the chosen performance criteria. This last step suggests the possibility of developing performance models at the SA design level that can then be used to derive the performance models related to further development steps.

[1]  Paul Clements,et al.  Analyzing development qualities at the architectural level , 1998 .

[2]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[3]  Raif O. Onvural,et al.  Survey of closed queueing networks with blocking , 1990, CSUR.

[4]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[5]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[6]  Bran Selic,et al.  A wideband approach to integrating performance prediction into a software design environment , 1998, WOSP '98.

[7]  S. Wittevrongel,et al.  Queueing Systems , 2019, Introduction to Stochastic Processes and Simulation.

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

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

[10]  Rob Pooley,et al.  Software engineering and performance: a roadmap , 2000, ICSE '00.

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

[12]  Shikharesh Majumdar,et al.  The Stochastic Rendezvous Network Model for Performance of Synchronous Client-Server-like Distributed Software , 1995, IEEE Trans. Computers.

[13]  Paolo Ciancarini,et al.  ÆMPA: a process algebraic description language for the performance analysis of software architectures , 2000, WOSP '00.

[14]  Xin Wang,et al.  From UML Descriptions of High-Level Software Architectures to LQN Performance Models , 1999, AGTIVE.

[15]  Connie U. Smith,et al.  Performance Evaluation of Distributed Software Architectures , 1998, Int. CMG Conference.

[16]  Dorina C. Petriu,et al.  Architecture-Based Performance Analysis Applied to a Telecommunication System , 2000, IEEE Trans. Software Eng..

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

[18]  Paola Inverardi,et al.  Uncovering Architectural Mismatch in Component Behavior , 1999, Sci. Comput. Program..

[19]  Paola Inverardi,et al.  Formal and Semi-formal descriptions of a Cross-Connector Software Architecture , 2002 .

[20]  Rob Pooley,et al.  Using UML to Derive Stochastic Process Algebra Models , 1999 .

[21]  Marco Ajmone Marsan,et al.  Performance models of multiprocessor systems , 1987, MIT Press series in computer systems.

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

[23]  Daniel A. Menascé,et al.  Design and performance modeling of component interconnection patterns for distributed software architectures , 2000, WOSP '00.

[24]  F. Russo,et al.  Performance evaluation of a software architecture: a case study , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[25]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

[26]  C. Murray Woodside,et al.  Software Performance Evaluation by Models , 2000, Performance Evaluation.

[27]  Mandyam M. Srinivasan,et al.  Introduction To Computer System Performance Evaluation , 1992 .

[28]  Simonetta Balsamo,et al.  Properties and Analysis of Queueing Network Models with Finite Capacities , 1993, Performance/SIGMETRICS Tutorials.

[29]  Paola Inverardi,et al.  Deriving performance models of software architectures from message sequence charts , 2000, WOSP '00.

[30]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[31]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[32]  Connie U. Smith,et al.  Software Performance Engineering: A Case Study Including Performance Comparison with Design Alternatives , 1993, IEEE Trans. Software Eng..

[33]  Daniel A. Menascé,et al.  A Method for Design and Performance Modeling of Client/Server Systems , 2000, IEEE Trans. Software Eng..

[34]  Harry G. Perros Queueing Networks with Blocking: Exact and Approximate Solutions , 1994 .

[35]  Rob Pooley,et al.  Derivation of Petri Net Performance Models from UML Specifications of Communications Software , 2000, Computer Performance Evaluation / TOOLS.

[36]  Roberto Gorrieri,et al.  Extended Markovian Process Algebra , 1996, CONCUR.