This Article 
 Bibliographic References 
 Add to: 
Model-Based Performance Risk Analysis
January 2005 (vol. 31 no. 1)
pp. 3-20
Performance is a nonfunctional software attribute that plays a crucial role in wide application domains spreading from safety-critical systems to e-commerce applications. Software risk can be quantified as a combination of the probability that a software system may fail and the severity of the damages caused by the failure. In this paper, we devise a methodology for estimation of performance-based risk factor, which originates from violations of performance requirements (namely, performance failures). The methodology elaborates annotated UML diagrams to estimate the performance failure probability and combines it with the failure severity estimate which is obtained using the Functional Failure Analysis. We are thus able to determine risky scenarios as well as risky software components, and the analysis feedback can be used to improve the software design. We illustrate the methodology on an e-commerce case study using step-by-step approach and then provide a brief description of a case study based on large real system.

[1] H. Ammar, K. Goseva-Popstojanova, V. Cortelessa, A. Guedem, K. Appukutty, W. AbdelMoez, A. Hassan, R. Elnaggar, and A. Mili, “Less Risk, Sooner: Performance-Based Risk Assessment,” Proc. NASA Software Assurance Symp. 2003, .
[2] K. Appukkutty, “Software Risk Assessment Based on UML Models,” master's thesis, Lane Dept. of Computer Science and Electrical Eng., West Virginia Univ., Dec. 2004.
[3] S. Bernardi, S. Donatelli, and J. Merseguer, “From UML Sequence Diagrams and Statecharts to Analysable Petri Net models,” Proc. Third Int'l Workshop Software and Performance (WOSP2002), pp. 35-45, July 2002.
[4] G. Booch, I. Jacobson, and J. Rumbaugh, The Unified Modeling Language User Guide. Addison Wesley, 1998.
[5] V. Cortellessa and R. Mirandola, “PRIMA-UML: A Performance Validation Incremental Methodology on Early UML Diagrams,” Science of Computer Programming, vol. 44, no. 1, pp. 101-129, July 2002.
[6] A. Di Berardino, “Design of an Algorithm to Translate Annotated UML Sequence Diagrams into Execution Graphs,” master's thesis Experimenting Software Risk Analysis (in italian), Univ. of L'Aquila, Apr. 2003.
[7] B.P. Douglass, Real Time UML: Developing Efficient Objects for Embedded Systems. second ed., Addison Wesley, 2000.
[8] H. Gomaa and D.A. Menasce, “Design and Performance Modeling of Component Interconnection Patterns for Distributed Software Architecture,” Proc. Second Int'l Workshop Software and Performance (WOSP2000), pp. 117-126, Sept. 2000.
[9] H. Gomaa, Designing Concurrent, Distributed, and Real-Time Applications with UML. Addison-Wesley, 2000.
[10] K. Goseva-Popstojanova, A. Hassan, A. Guedem, W. Abdelmoez, D. Nassar, H. Ammar, and A. Mili, “Architectural-Level Risk Analysis Using UML,” IEEE Trans. Software Eng., vol. 29, no. 10, pp. 946-960, Oct. 2003.
[11] G.P. Gu and D.C. Petriu, “XSLT Transformation from UML Models to LQN Performance Models,” Proc. Third Int'l Workshop Software and Performance (WOSP2002), pp. 227-234, July 2002.
[12] A. Hassan, W. Abdelmoez, A. Guedem, K. Apputkutty, K. Goseva-Popstojanova, and H. Ammar, “Severity Analysis at Architectural Level Based on UML Diagrams,” Proc. 21st Int'l System Safety Conf., pp. 571-580, Aug. 2003.
[13] P. Johannessen, C. Grante, A. Alminger, and U.E. J. Torin, “Hazard Analysis in Object Oriented Design of Dependable Systems,” Proc. 2001 Int'l Conf. Dependable Systems and Networks, pp. 507-512, July 2001.
[14] P. Kahkipuro, “UML Based Performance Modeling Framework for Object-Oriented Distributed Systems,” Proc. Second Int'l Conf. the Unified Modeling Language, Oct. 1999.
[15] P. King and R. Pooley, “Using UML to Derive StochasticPetri Net Models,” Proc. 15th UK Performance Eng. Workshop (UKPEW '99), pp. 23-33, July 1999.
[16] E. Lazowska, Quantitative System Performance: Computer System Analysis Using Queuing Network Models. Prentice Hall, 1984.
[17] J.P. Loopez-Grao, J. Merseguer, and J. Campos, “From UML Activity Diagrams to Stochastic Petri Nets: Application to Software Performance Engineering,” Proc. Fourth Int'l Workshop Software and Performance (WOSP2004), pp. 25-36, Jan. 2004.
[18] J. Merseguer, J. Campos, and E. Mena, “A Pattern-Based Approach to Model Software Performance,” Proc. Second Int'l Workshop Software and Performance (WOSP2000), pp. 137-142, Sept. 2000.
[19] J. Merseguer, J. Campos, and E. Mena, “Performance Evaluation for the Design of Agent-Based Systems: A Petri Net Approach,” Proc. Software Eng. and Petri Nets (SEPN 2000), pp. 1-20, June 2000.
[20] Y. Papadopoulos and J.A. McDermid, “Hierarchically Performed Hazard Origin and Propagation Studies,” Proc. 18th Int'l Conf. Computer Safety, Reliability and Security, 1999.
[21] D. Petriu and X. Wang, “Deriving Software Performance Models from Architectural Patterns by Graph Transformations,” Proc. Theory and Applications of Graph Transformations (TAGT '98), pp. 475-488, 2000.
[22] D. Petriu, “Deriving Performance Models from UML Models by Graph Transformations,” Tutorials, Proc. Second Int'l Workshop Software and Performance (WOSP2000), Sept. 2000.
[23] D. Petriu, C. Shousha, and A. Jalnapurkar, “Architecture Based Performance Analysis Applied to a Telecommunication System,” IEEE Trans. Software Eng., vol. 26, no. 11, pp. 1049-1065, Nov. 2000.
[24] R. Pooley and C. Kabajunga, “Simulation of UML Sequence Diagrams,” Proc. 14th UK Performance Eng. Workshop (PEW '98), July 1998.
[25] R. Pooley, “Using UML to Derive Stochastic Process Algebras Models,” Proc 15th UK Performance Eng. Workshop (UKPEW '99), pp. 23-33, July 1999.
[26] Procedures for Performing Failure Mode Effects and Criticality Analysis, US MIL_STD_1629 Nov. 1974, US MIL_STD_1629A Nov. 1980, US MIL_STD_1629A/Notice 2, Nov. 1984.
[27] D.J. Pumfrey, “The Principled Design of Computer System Safety Analyses,” PhD thesis, Dept. of Computer Science, Univ. of York, Sept. 1999.
[28] Rational Rose Real-Time. , 2004.
[29] C.U. Smith and L.G. Williams, Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, 2002.
[30] C.U. Smith, Performance Engineering of Software Systems, SEI Series in Software Eng., Addison-Wesley, 1990.
[31] UML Profile for Schedulability, Performance and Time, OMG Full Specification, formal/03-09-01(2003), http:/, 2003.
[32] S. Yacoub and H. Ammar, “A Methodology for Architectural-Level Reliability Risk Analysis,” IEEE Trans. Software Eng, vol. 28, no. 6, pp. 529-547, June 2002.

Index Terms:
Nonfunctional requirements, software risk, software performance, UML, performance failure, Functional Failure Analysis.
Vittorio Cortellessa, Katerina Goseva-Popstojanova, Kalaivani Appukkutty, Ajith R. Guedem, Ahmed Hassan, Rania Elnaggar, Walid Abdelmoez, Hany H. Ammar, "Model-Based Performance Risk Analysis," IEEE Transactions on Software Engineering, vol. 31, no. 1, pp. 3-20, Jan. 2005, doi:10.1109/TSE.2005.12
Usage of this product signifies your acceptance of the Terms of Use.