Performance aware software development (PASD) using resource demand budgets

Performance Aware Software Development (PASD) as described here combines a software specification, a model, and resource demand budgets. The budgets are planning figures created by the designers and managers, from the requirements and their experience. The key elements of this approach are the planning of budgets for the resource demands of each of the parts and operations of the system, and a validation check (using the model) for the required performance. The paper starts from a Use Case Map (UCM) specification, but other specification languages such as UML could equally be used. Demand budgets are allocated to responsibilities and the entire budget is verified by a semi-automated performance analysis using Layered Queuing Network (LQN) models. The key step is to add "completions" to the software system design, representing those parts of the system not defined in the software specification (infrastructure such as middleware, the environment, and competing applications), which could impact the performance. Budget adjustments are indicated by bottleneck locations and the sensitivity of results.

[1]  Khalid H. Siddiqui Time/Performance Budgeting for Software Designs , 2001 .

[2]  Wolfgang A. Halang,et al.  Constructing Predictable Real Time Systems , 1991 .

[3]  C. Murray Woodside,et al.  Performance analysis of distributed server systems , 2000 .

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

[5]  Raymond J. A. Buhr,et al.  Use Case Maps as Architectural Entities for Complex Systems , 1998, IEEE Trans. Software Eng..

[6]  Jerome A. Rolia,et al.  Automatic generation of a software performance model using an object-oriented prototype , 1995, MASCOTS '95. Proceedings of the Third International Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[7]  Hesham El-Sayed,et al.  Automated Performance Modeling from Scenarios and SDL Designs of Distributed Systems , 1998, PDSE.

[8]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[9]  Dorina C. Petriu,et al.  Applying the UML Performance Profile: Graph Grammar-Based Derivation of LQN Models from UML Specifications , 2002, Computer Performance Evaluation / TOOLS.

[10]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[11]  C. Murray Woodside,et al.  Performance-related completions for software specifications , 2002, ICSE '02.

[12]  R. J. A. Buhr,et al.  Use Case Maps for Object-Oriented Systems , 1995 .

[13]  Dorina C. Petriu,et al.  Software Performance Models from System Scenarios in Use Case Maps , 2002, Computer Performance Evaluation / TOOLS.

[14]  Shikharesh Majumdar,et al.  Performance comparison of architectures for client-server interactions in CORBA , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[15]  Gabriel A. Moreno,et al.  Packaging Predictable Assembly with Prediction-Enabled Component Technology , 2001 .

[16]  Jerome A. Rolia,et al.  Trace-Based Load Characterization for Gernerating Performance Software Models , 1999, IEEE Trans. Software Eng..

[17]  C. Murray Woodside,et al.  Evaluating concurrency options in software specifications , 1999, MASCOTS '99. Proceedings of the Seventh International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[18]  Massachusett Framingham,et al.  The Common Object Request Broker: Architecture and Specification Version 3 , 2003 .

[19]  Shikharesh Majumdar,et al.  Software Bootlenecking in Client-Server Systems and Rendezvous Networks , 1995, IEEE Trans. Software Eng..

[20]  Jerome A. Rolia,et al.  A Toolset for Performance Engineering and Software Design of Client-Server Systems , 1995, Perform. Evaluation.

[21]  Shikharesh Majumdar,et al.  Achieving high performance in CORBA-based systems with limited heterogeneity , 2001, Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISORC 2001.

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

[23]  Ian D. Graham Use case maps for object-oriented systems : R.J.A. Buhr and R.S. Casselman Published by Prentice-Hall, Englewood Cliffs, NJ, 1996. 302pp. hb. ISBN 0-13-456542-8 , 1996, Fuzzy Sets Syst..