Model-Driven Performance Analysis of UML Design Models Based on Stochastic Process Algebra

The popular model-driven development (MDD) methodology strongly promotes a model-based approach to modular system development, which often implies as an integral part automatic transformation of UML design components into executable forms. When using MDD for verifying performance-related system specifications, UML designs annotated with these specifications in some profile language need to be transformed to stochastic (Markovian) models or timed simulation models. However, most of the previous efforts have focused on transformations of (variants of) UML state machine models and/or transformations to stochastic Petri net models, which lead to two problems: Relying (solely) on state machine models often restricts design flexibility (designers instead prefer choosing diagrams on a case-by-case basis), and graph-oriented Petri net models complicate the modular transformations of UML models. To resolve these problems, we propose stochastic performance analysis of a UML design defined in different sorts of diagrams, including not only state machines but also activity diagrams with temporal annotation in UML-SPT, which are transformed into stochastic process algebraic forms. To our knowledge, this is the first attempt to define stochastic process algebraic semantics for the UML AD with UML-SPT annotations. Unlike the related efforts, ours will facilitate verification in early development stages, in which consultants and architects can benefit from modeling in a natural manner and modular component-based development, thanks to the inherent compositionality of process algebra. Further, to guarantee the validity of the transformation, we have proved the equivalence of our semantics with the stochastic Petri net semantics of UML AD. We have developed a prototype implementation of this performance analysis mechanism, and shown that realistic design examples, defined in different sorts of UML diagrams, can successfully be transformed into those that provide various performance metrics.

[1]  Harald Störrle,et al.  Semantics of Control-Flow in UML 2.0 Activities , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

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

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

[4]  Jane Hillston,et al.  A compositional approach to performance modelling , 1996 .

[5]  Stephen Gilmore,et al.  PEPA Nets: A Structured Performance Modelling Formalism , 2002, Computer Performance Evaluation / TOOLS.

[6]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[7]  Jan Trowitzsch,et al.  Towards quantitative analysis of real-time UML using stochastic Petri nets , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[8]  Marina Ribaudo,et al.  Stochastic Petri net semantics for stochastic process algebras , 1995, Proceedings 6th International Workshop on Petri Nets and Performance Models.

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

[10]  Holger Hermanns,et al.  Process Algebra and Markov Chains , 2002, European Educational Forum: School on Formal Methods and Performance Analysis.

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

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

[13]  Marco Ajmone Marsan,et al.  The Application of EB-Equivalence Rules to the Structural Reduciton of GSPN Models , 1992, J. Parallel Distributed Comput..

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

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

[16]  Jim Davies,et al.  Activity Graphs and Processes , 2000, IFM.