This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
From UML to Petri Nets: The PCM-Based Methodology
January/February 2011 (vol. 37 no. 1)
pp. 65-79
Salvatore Distefano, University of Messina, Sicily
Marco Scarpa, University of Messina, Sicily
Antonio Puliafito, University of Messina, Sicily
In this paper, we present an evaluation methodology to validate the performance of a UML model, representing a software architecture. The proposed approach is based on open and well-known standards: UML for software modeling and the OMG Profile for Schedulability, Performance, and Time Specification for the performance annotations into UML models. Such specifications are collected in an intermediate model, called the Performance Context Model (PCM). The intermediate model is translated into a performance model which is subsequently evaluated. The paper is focused on the mapping from the PCM to the performance domain. More specifically, we adopt Petri nets as the performance domain, specifying a mapping process based on a compositional approach we have entirely implemented in the ArgoPerformance tool. All of the rules to derive a Petri net from a PCM and the performance measures assessable from the former are carefully detailed. To validate the proposed technique, we provide an in-depth analysis of a web application for music streaming.

[1] C.U. Smith, Performance Engineering of Software Systems. Addison-Wesley Longman Publishing Co., Inc., 1990.
[2] C.U. Smith and L.G. Williams, Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison Wesley Longman Publishing Co., Inc., 2002.
[3] Object Management Group, UML Specification v. 1.5, first ed., OMG, Mar. 2003.
[4] Object Management Group, "UML Profile for Schedulability, Performance and Time Specification," OMG, Jan. 2005.
[5] S. Bernardi and J. Merseguer, "Performance Evaluation of UML Design with Stochastic Well-Formed Nets," J. Systems and Software, vol. 80, no. 11, pp. 1843-1865, 2007.
[6] J.P. López-Grao, J. Merseguer, and J. Campos, "From UML Activity Diagrams to Stochastic Petri Nets: Application to Software Performance Engineering," Proc. Int'l Workshop Software and Performance, pp. 25-36, 2004.
[7] J. Merseguer, J. Campos, S. Bernardi, and S. Donatelli, "A Compositional Semantics for UML State Machines Aimed at Performance Evaluation," Proc. Sixth Int'l Workshop Discrete Event Systems, pp. 295-302, 2002.
[8] D.B. Petriu and M. Woodside, "An Intermediate Metamodel with Scenarios and Resources for Generating Performance Models from UML Designs," Software and Systems Modeling, vol. 6, no. 2, pp. 163-184, June 2007.
[9] D.C. Petriu and H. Shen, "Applying the UML Performance Profile: Graph Grammar-Based Derivation of LQN Models from UML Specifications," Proc. Computer Performance Evaluation/TOOLS, pp. 159-177, 2002.
[10] C.U. Smith, C.M. Lladó, V. Cortellessa, A.D. Marco, and L.G. Williams, "From UML Models to Software Performance Results: An SPE Process Based on XML Interchange Formats," Proc. Int'l Workshop Software and Performance, pp. 87-98, 2005.
[11] A. D'Ambrogio, "A Model Transformation Framework for the Automated Building of Performance Models from UML Models," Proc. Int'l Workshop Software and Performance, pp. 75-86, 2005.
[12] M. Marzolla and S. Balsamo, "UML-PSI: The UML Performance SImulator," Proc. Quantitative Evaluation of Systems, pp. 340-341, 2004.
[13] S. Distefano, D. Paci, A. Puliafito, and M. Scarpa, "UML Design and Software Performance Modeling," Proc. Int'l Symp. Computer and Information Sciences, 2004.
[14] S. Distefano, A. Puliafito, and M. Scarpa, "Software Performance Analysis in UML Models," Proc. Workshop Techniques, Methodologies and Tools for Performance Evaluation of Complex System, 2005.
[15] S. Distefano, D. Paci, A. Puliafito, and M. Scarpa, "Design and Implementation of a Performance Plug-In for the ArgoUML Tool," Proc. Software Eng., 2005.
[16] MDSLAB Research Group, "Argo Performance Plug-In," http:/argoperformance.tigris.org, 2004.
[17] "ArgoUML," Univ. of California, http:/argouml.tigris.org, 2004.
[18] M. Scarpa, S. Distefano, and A. Puliafito, "A Parallel Approach for the Solution of Non-Markovian Petri Nets," Proc. European Parallel Virtual Machine and Message Passing Interface, pp. 196-203, 2003.
[19] M. Woodside, D.C. Petriu, D.B. Petriu, H. Shen, T. Israr, and J. Merseguer, "Performance by Unified Model Analysis (PUMA)," Proc. Int'l Workshop Software and Performance, pp. 1-12, 2005.
[20] G.P. Gu and D.C. Petriu, "From UML to LQN by XML Algebra-Based Model Transformations," Proc. Int'l Workshop Software and Performance, pp. 99-110, 2005.
[21] ISO, "ISO/IEC 19502:2005 Information Technology—Meta Object Facility (MOF)," http:/www.iso.org, July 2005.
[22] S. Balsamo, M. Marzolla, and R. Mirandola, "Efficient Performance Models in Component-Based Software Engineering," Proc. EUROMICRO '06, pp. 64-71, 2006.
[23] S. Balsamo, A.D. Marco, P. Inverardi, and M. Simeoni, "Model-Based Performance Prediction in Software Development: A Survey," IEEE Trans. Software Eng., vol. 30, no. 5, pp. 295-310, May 2004.
[24] V. Grassi, R. Mirandola, and A. Sabetta, "Filling the Gap between Design and Performance/Reliability Models of Component-Based Systems: A Model-Driven Approach," J. Systems and Software, vol. 80, no. 4, pp. 528-558, 2007.
[25] K.S. Trivedi, A. Bobbio, G. Ciardo, R. German, A. Puliafito, and M. Telek, "Non-Markovian Petri Nets," SIGMETRICS Performance Evaluation Rev., vol. 23, no. 1, pp. 263-264, 1995.
[26] K.S. Trivedi, Probability and Statistics with Reliability, Queueing, and Computer Science Applications, second ed. John Wiley and Sons Ltd., Nov. 2001.
[27] A. Bobbio and M. Telek, "Markov Regenerative SPN with Non-Overlapping Activity Cycles," Proc. Int'l Computer Performance and Dependability Symposium, pp. 124-133, 1995.
[28] J.K. Muppala, S.P. Woolet, and K.S. Trivedi, "Real Time System Performance in the Presence of Failures," Computer, vol. 24, no. 5, pp. 37-47, May 1991.
[29] A. Puliafito, A. Horvath, M. Scarpa, and M. Telek, "Analysis and Evaluation of Non-Markovian Stochastic Petri Nets," Proc. 11th Int'l Conf. Modelling Techniques and Tools for Performance Analysis, pp. 171-187, 2000.
[30] A.-E. Rugina, K. Kanoun, and M. Kaâniche, "A System Dependability Modeling Framework Using AADL and GSPNs," Proc. Workshops Software Architectures for Dependable Systems, pp. 14-38, 2006.
[31] I. Majzik, A. Pataricza, and A. Bondavalli, "Stochastic Dependability Analysis of System Architecture Based on UML Models," Proc. Workshops Software Architectures for Dependable Systems, pp. 219-244, 2002.

Index Terms:
Software engineering, performances evaluation, Petri nets, UML, software performance engineering.
Citation:
Salvatore Distefano, Marco Scarpa, Antonio Puliafito, "From UML to Petri Nets: The PCM-Based Methodology," IEEE Transactions on Software Engineering, vol. 37, no. 1, pp. 65-79, Jan.-Feb. 2011, doi:10.1109/TSE.2010.10
Usage of this product signifies your acceptance of the Terms of Use.