On the Integration of UML and Petri Nets in Software Development

Software performance engineering deals with the consideration of quantitative analysis of the behaviour of software systems from the early development phases in the life cycle. This paper summarizes in a semiformal and illustrative way our proposal for a suitable software performance engineering process. We try to integrate in a very pragmatic approach the usual object oriented methodology —supported with UML language and widespread CASE tools— with a performance modelling formalism, namely stochastic Petri nets. A simple case study is used to describe the whole process. More technical details should be looked up in the cited bibliography.

[1]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[2]  José Merseguer,et al.  Exploring Roles for the UML Diagrams in Software Performance Engineering , 2003, Software Engineering Research and Practice.

[3]  José Merseguer,et al.  Performance by unified model analysis (PUMA) , 2005, WOSP '05.

[4]  J. Merseguer,et al.  Performance Engineering based on UML & SPN ’ s : A software performance tool , 2002 .

[5]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

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

[7]  Steffen Göbel,et al.  4th Working IEEE / IFIP Conference on Software Architecture (WICSA 2004), 12-15 June 2004, Oslo, Norway , 2004, WICSA.

[8]  J. Schiller SECURE DISTRIBUTED COMPUTING , 1994 .

[9]  Vincenzo Grassi,et al.  From design to analysis models: a kernel language for performance and reliability analysis of component-based systems , 2005, WOSP '05.

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

[11]  Diego Latella,et al.  Dependability analysis in the early phases of UML-based system design , 2001, Comput. Syst. Sci. Eng..

[12]  Simona Bernardi,et al.  QoS assessment via stochastic analysis , 2006, IEEE Internet Computing.

[13]  José Merseguer,et al.  ArgoSPE: Model-Based Software Performance Engineering , 2006, ICATPN.

[14]  W. Wayt Gibbs,et al.  Software's Chronic Crisis , 1994 .

[15]  Jonathan Billington,et al.  Application of Petri Nets to Communication Networks , 1999, Lecture Notes in Computer Science.

[16]  Susanna Donatelli,et al.  A compositional semantics for UML state machines aimed at performance evaluation , 2002, Sixth International Workshop on Discrete Event Systems, 2002. Proceedings..

[17]  Wolfgang Reisig,et al.  Application and Theory of Petri Nets 1996 , 1996, Lecture Notes in Computer Science.

[18]  P. S. Thiagarajan,et al.  Petri Nets and Other Models of Concurrency - ICATPN 2006, 27th International Conference on Applications and Theory of Petri Nets and Other Models of Concurrency, Turku, Finland, June 26-30, 2006, Proceedings , 2006, ICATPN.

[19]  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.

[20]  Dorina C. Petriu,et al.  XSLT transformation from UML models to LQN performance models , 2002, WOSP '02.

[21]  John Anil Saldhana UML Diagrams to Object Petri Net Models: An Approach for Modeling and Analysis , 2000 .

[22]  Stephen Gilmore,et al.  Analysing UML 2.0 activity diagrams in the software performance engineering process , 2004, WOSP '04.

[23]  Javier Campos,et al.  From UML activity diagrams to Stochastic Petri nets: application to software performance engineering , 2004, WOSP '04.

[24]  Dorina C. Petriu,et al.  From UML to LQN by XML algebra-based model transformations , 2005, WOSP '05.

[25]  Eduardo Mena,et al.  Analysing Internet Software Retrieval Systems: Modeling and Performance Comparison , 2003, Wirel. Networks.

[26]  Luciano Baresi,et al.  On Formalizing UML with High-Level Petri Nets , 2001, Concurrent Object-Oriented Programming and Petri Nets.

[27]  Simonetta Balsamo,et al.  UML-PSI: the UML performance simulator , 2004, First International Conference on the Quantitative Evaluation of Systems, 2004. QEST 2004. Proceedings..

[28]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[29]  Vittorio Cortellessa,et al.  XPRIT: an XML-based tool to translate UML diagrams into execution graphs and queueing networks , 2004, First International Conference on the Quantitative Evaluation of Systems, 2004. QEST 2004. Proceedings..

[30]  Eladio Domínguez,et al.  Dynamic Semantics of UML State Machines: A Metamodeling Perspective , 2002, J. Database Manag..

[31]  Simon Peck,et al.  Practice of Petri Nets in Manufacturing , 1993 .

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

[33]  Susanna Donatelli,et al.  From UML sequence diagrams and statecharts to analysable petri net models , 2002, WOSP '02.

[34]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[35]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[36]  Gul Agha,et al.  Concurrent Object-Oriented Programming and Petri Nets , 2001, Lecture Notes in Computer Science.

[37]  Marco Ajmone Marsan,et al.  Modelling with Generalized Stochastic Petri Nets , 1995, PERV.

[38]  Hassan Gomaa,et al.  Modeling behavioral patterns of concurrent software architectures using Petri nets , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[39]  C. Murray Woodside,et al.  A Metamodel for Generating Performance Models from UML Designs , 2004, UML.

[40]  Ramon Puigjaner,et al.  Computer Performance Evaluation , 2000, Lecture Notes in Computer Science.

[41]  Giuliana Franceschinis,et al.  The PSR Methodology: Integrating Hardware and Software Models , 1996, Application and Theory of Petri Nets.

[42]  Connie U. Smith,et al.  Software Performance Engineering , 1993, Performance/SIGMETRICS Tutorials.