This Article 
 Bibliographic References 
 Add to: 
Software Performance Engineering: A Case Study Including Performance Comparison with Design Alternatives
July 1993 (vol. 19 no. 7)
pp. 720-741

Software performance engineering (SPE) provides an approach to constructing systems to meet performance objectives. The authors illustrate the application of SPE to an example with some real-time properties and demonstrate how to compare performance characteristics of design alternatives. They show how SPE can be integrated with design methods and demonstrate that performance requirements can be achieved without sacrificing other desirable design qualities such as understandability, maintainability, and reusability.

[1] R. Ammar and B. Qin, "An approach to derive the time costs of sequential computations,"J. Syst. Software, vol. 10, no. 3, Mar. 1990.
[2] G. Arango, "Domain analysis: From art to engineering discipline," inProc. 5th Int. Workshop Software Specification and Design, Pittsburgh, PA, published asSoftware Eng. Notes, vol. 14, pp. 152-159, 1989.
[3] QASE product literature available from Advanced System Technologies, Inc.
[4] T. Baker and G. Scallon, "An architecture for real-time software systems," Tech. Rep. 85-06-04, Dep. Comput. Sci., Univ. of Washington, Seattle, WA, July 1985.
[5] G. Balbo, S. Bruell, and S. Ghanta, "Combining queueing network and generalized stochastic Petri net models for the analysis of some software blocking phenomena,"IEEE Trans. Software Eng., vol. SE-12, no. 4, pp. 561-576, 1986.
[6] M. Baldassari, B. Bruno, V. Russi, and R. Zompi, "PROTOB: A hierarchical object-oriented CASE tool for distributed systems," inProc. Europ. Software Eng. Conf., 1989, Coventry, England, Sept. 1989.
[7] M. Baldassari and G. Bruno, "An environment for object-oriented conceptual programming based on PROT nets," inAdvances in Petri Nets, Lectures in Computer Science No. 340, Berlin: Springer-Verlag, 1988, pp. 1-19.
[8] G. Booch,Software Engineering with Ada, second ed. Menlo Park, CA: Benjamin/Cummings, 1987.
[9] R. J. A. Buhr,System Design with Ada. Englewood Cliffs, NJ: Prentice-Hall, 1984.
[10] R. J. A. Buhr, G. M. Karam, C. J. Hayes, and C. M. Woodside, "Software CAD: A revolutionary approach,"IEEE Trans. Software Eng., vol. 15, no. 3, pp. 235-249, 1989.
[11] T. M. Burger and K. W. Nielsen, "An assessment of the overhead associated with tasking facilities and task paradigms in Ada,"Ada Lett., vol. VII, no. 1, pp. 49-58, 1987.
[12] Product literature available from Cadre Technologies.
[13] G. W. Cherry,The PAMELA 2 Designer's Handbook. Reston, VA: ThoughtTools, Inc., 1987.
[14] G. Chiola, "Great SPN 1.5 software architecture," inProc. 5th Int. Conf. Modeling Techniques and Tools for Comput. Perform. Eval., Torino, Italy, Feb. 1991, pp. 117-132.
[15] G. Ciardo, J. Muppala, and K. Trivedi, "SPNP: Stochastic Petri Net Package,"Proc. Third Int'l Workshop Petri Nets and Performance Models, CS Press, Los Alamitos, Calif., Order No. 2001, 1989, pp. 142-151.
[16] V. Rampa and G. De Micheli, "Computer-Aided Synthesis of a Discrete Cosine Transform Chip,"Proc. Int'l Symp. Circuits and Systems, 1989, pp. 220-225.
[17] D. Embley, B. Kurtz, and S. Woodfield,Object-Oriented Systems Analysis, Prentice-Hall, Englewood Cliffs, N.J., 1992.
[18] G. Estrin, R. S. Fenchel, R. R. Razouk, and M. K. Vernon, "SARA (System ARchitects Apprentice): Modeling, analysis, and simulation support for design of concurrent systems,"IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 293-311, Feb. 1986.
[19] G. Fox, "Performance engineering as a part of the development life cycle for large-scale software systems," inProc. 11th Int. Conf. Software Eng., Pittsburgh, PA, 1989, pp. 85-94.
[20] A. Gabrielian and M. K. Franklin, "Multi-level specification and verification of real-time software," inProc. 12th Int. Conf. Software Eng., Nice, France, Mar. 1990, pp. 52-62.
[21] D. Harel, "Statecharts: A visual formalism for complex systems,"Sci. Comput. Program., vol. 8, pp. 231-274, 1987.
[22] B. R. Haverkort, I. G. Niemegeers, and P. V. vanZanten, "DyQNtool: A performability modeling tool based on the dynamic queueing network concept," inProc. 5th Int. Conf. Modeling Techniques and Tools for Comput. Perform. Eval., Torino, Italy, Feb. 1991, pp. 174-188.
[23] N. R. Howes, "Toward a real-time Ada design methodology," inProc. TRI-Ada, 1990, pp. 189-203.
[24] N. R. Howes and A. C. Weaver, "Measurements of Ada overhead in OSI-style communications systems,"IEEE Trans. Software Eng., vol. 15, no. 12, pp. 1507-1517, 1989.
[25] M. Jackson,System Development. Englewood Cliffs, NJ: Prentice-Hall, 1983.
[26] M. S. Jaffe, N. G. Leveson, M. P. E. Heimdahl, and B. E. Melhart, "Software requirements analysis for real-time process control systems,"IEEE Trans. Software Eng., vol. 17, no. 3, pp. 241-258, 1991.
[27] F. Jahanian and A. K. Mok, "A graph-theoretic approach for timing analysis and its implementation,"IEEE Trans. Comput., vol. 36, pp. 961-975, Aug. 1987.
[28] R. Jain,Art of Computer Systems Performance Analysis. New York: Wiley, 1990.
[29] M. Joseph and P. Pandya, "Finding response times in a real-time system,"Comput. J., vol. 29, no. 5, pp. 390-395, 1986.
[30] K. Kant, "Modeling interprocess communication in distributed programs," inProc. Int. Conf. Petri Nets and Perform. Models, Aug. 1987, pp. 75-83.
[31] H. Kopetz and W. Merker, "The architecture of Mars," inProc. FTCS 15, Ann Arbor, MI, June 1985, pp. 274-279.
[32] H. Kopetz, R. Zainlinger, G. Fohler, H. Kantz, P. Puschner, and W. Schütz: "The design of real-time systems: From specification to implementation and verification,"Software Eng. J., vol. 6, no. 3, pp. 72-82, May 1991.
[33] E. D. Lazawskaet al., Quantitative System Performance--Computer System Analysis Using Queueing Network Models. Englewood Cliffs, NJ: Prentice-Hall, 1984.
[34] E. LeMer, "MEDOC: A methodology for designing and evaluating large-scale real-time systems," inProc. NCC, 1982, Houston, TX, June 1982, pp. 263-272.
[35] N.G. Leveson and J.L. Stolzy, "Safety analysis using Petri nets,"IEEE Trans. Software Eng., vol. SE-13, no. 3, pp. 386-397, Mar. 1987.
[36] S.-T. Levi and A. K. Agrawala,Real-Time System Design. New York: McGraw-Hill, 1990.
[37] M. Ajmone Marsan, G. Balbo, and G. Conte, "A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems,"ACM Trans. Comput. Syst., vol. 2, pp. 93-122, May 1984.
[38] J. F. Meyer, "Performability modeling of distributed real-time systems,"Mathematical Computer Performance and Reliability, G. Iazeolla, P. J. Courtois, and A. Hordijk Eds. Amsterdam: North-Holland, 1983.
[39] M. K. Molloy,Fundamentals of Performance Modeling. New York: Macmillan, 1989.
[40] D. M. Neuse, J. C. Browne, and P. Jain. "Timing analysis of hierarchical models for real-time systems," inProc. Nat. Conf. Methodologies and Tools for Real Time Syst., National Insitute for Software and Productivity, Washington, DC, July 1989.
[41] D. M. Neuse and J. C. Browne, "Graphical tools for software system performance engineering," inProc. CMG XIV, Washington, DC, Dec. 1983, pp. 353-355.
[42] K.W. Nielsen and K. Shumate, "Designing Large Real-Time Systems with Ada,"CACM, Vol. 30, No. 8, Aug. 1987, pp. 695-715.
[43] PIWG, "Ada performance issues,"Ada Lett., vol. X, no. 3, 1990.
[44] R. Prieto-Diaz, "Domain analysis: An introduction,"ACM Software Eng. Notes, vol. 15, no. 2, pp. 47-54, Apr. 1990.
[45] Product literature available from Ready Systems.
[46] J. A. Rolia, "Predicting the performance of software systems," Ph.D. dissertation, Univ. of Toronto, 1992.
[47] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen,Object-Oriented Modeling and Design. Englewood Cliffs, NJ: Prentice-Hall, 1991.
[48] B. Sanden, "Entity-life modeling and structured analysis in real-time software design--A comparison,"Commun. ACM, vol. 32, no. 12, pp. 1458-1466, 1989.
[49] C. H. Sauer and K. M. Chandy,Computer Systems Performance Modeling. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[50] L. Sha and J. B. Goodenough, "Real-time scheduling theory and Ada,"IEEE Comput., vol. 23, no. 4, pp. 53-62, 1990.
[51] S. Shlaer and S. J. Mellor,Object-Oriented Systems Analysis: Modeling the World in Data. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[52] H. Sholl and S. Kim, "An approach to performance modeling as an aid in structuring real-time distributed systems software," inProc. 19th Hawaii Int. Conf. Syst. Sci., Honolulu, HI, Jan. 1986, pp. 5-16.
[53] C. U. Smith,Performance Engineering of Software Systems. Reading, MA: Addison-Wesley, 1990.
[54] C. U. Smith and L. G. Williams, "Why CASE should extend into software performance,"Software Mag., vol. 10, no. 9, pp. 49-65, 1990.
[55] C. U. Smith, "Performance engineering," inThe Encyclopedia of Software Engineering. New York: Wiley, 1994.
[56] R. M. Smith, K. S. Trivedi, and A. V. Ramesh, "Performability analysis: Measures, an algorithm, and a case study,"IEEE Trans. Comput., 1988.
[57] J. A. Stankovic and K. Ramamritham, "The Spring Kernel: A new paradigm for real-time systems,"IEEE Software, vol. 8, no. 3, pp. 62-72, 1991.
[58] L. VanZijl, D. Milton, and S. Crosby, "A tool for graphical network modeling and analysis,"IEEE Software, vol. 9, no. 1, pp. 47-54, 1992.
[59] P. T. Ward and L. G. Williams, "Domain modeling," Tech. Rep. SERM- 012-90, Software Engineering Research, 1990.
[60] P. T. Ward and L. G. Williams, "Domain analysis: An example," Tech. Rep. SERM-013-90, Software Engineering Research, 1990.
[61] P. T. Ward, "The transformation schema: An extension of the data flow diagram to represent control and timing,"IEEE Trans. Software Eng., vol. SE-12, no. 2, pp. 198-210, Feb. 1986.
[62] C. M. Woodside, E. M. Hagos, E. Neron, and R. J. A. Buhr, "The CAEDE performance analysis tool,"Ada Lett., vol. XI, no. 3, 1991.
[63] C. M. Woodside, "Throughput calculation for basic stochastic rendezvous networks,"Perform. Eval., vol. 9, 1989.
[64] J. Xu and D. L. Parnas, "On satisfying timing constraints in hard real-time systems," inProc. ACM SIGSOFT 91 Conf. Software for Critical Syst., New Orleans, LA, Dec., published as Software Eng.Notes, vol. 16, no. 5, pp. 132-145, 1991.
[65] S. J. Young,Real Time Languages: Design and Development. Chichester, England: Ellis Horwood, 1982.

Index Terms:
software performance engineering; performance objectives; real-time properties; design alternatives; SPE; performance requirements; understandability; maintainability; reusability; quality control; real-time systems; software quality; software reliability
C.U. Smith, L.G. Williams, "Software Performance Engineering: A Case Study Including Performance Comparison with Design Alternatives," IEEE Transactions on Software Engineering, vol. 19, no. 7, pp. 720-741, July 1993, doi:10.1109/32.238572
Usage of this product signifies your acceptance of the Terms of Use.