Integrating UML and Petri Nets Problem with Current Software Engineering Methodology Stochastic Petri nets and their useful properties Translating UML diagrams into SPNs (Mail client case study) Topics: Work of Javier Campos and Jose Merseguer presented by Stephen Rojcewicz
Problem with Current Practices Early in development, the focus is on functionality Performance objectives are set aside for later evaluation, usually with benchmarks. RESULT: Waste time redesigning, or fail to meet the performance objectives Example: Denver Airport’s notorious project failure
What is Needed A convenient way to compare the performance of Different basic designs early in development If it is possible to directly observe the prototype, it is already too late. Hence, we MUST use MODELING
Proposed Solution UML is convenient and widely used in early stages of development BUT, UML is too static to model performance Introduce performance modeling tools that can be used with UML
Motivation for Petri Nets Concurrent execution Distributed Systems Non determinism Simplicity Visual Representation
Translate UML into Petri Nets Statecharts and activity diagrams are good candidates
Target: Stochastic Petri Net Models probability of events with respect to TIME Transitions have a DELAY Developed to model Continuous Time Markov Chains (probabilistic timed state- transition model)
Computable Properties of a Stochastic PN Probability that a certain marking occurs Average number of tokens in a certain place Average number of times a certain transition fires per unit time Average time for a token to traverse a certain subset of the SPN (Extremely powerful in performance evaluation)
Case Study: Mail Client
Mail Client: UML Statechart
Mail Client: Stochastic PN
Mail Client: UML Statechart
Mail Client: Stochastic PN
Associate Activities with Transitions A transition’s firing delay corresponds to the time required to complete the activity When the transition fires, the activity is completed An active transition that becomes inactive models the interruption of an activity.
Authentication: UML Activity Diagram
Corresponding SPN
Mail Client UML Sequence Diagram E_open_tcp-connection is an ACTION and has a corresponding FIRING DELAY
Performance data derived from stochastic Petri nets
ArgoSPE A tool that translates UML diagrams into Stochastic Petri nets for performance analysis Built In performance analysis functions
Summary: Software Performance Engineering Process Step1: Model the system using traditional UML Step2: Translate the UML diagrams into Stochastic Petri nets Step3: Use the well-defined mathematical properties of Stochastic Petri nets to evaluate the performance of the system.
Related Work: examples Translating UML statecharts and collaboration models into a Colored Petri Net Translating use case, collaboration, and class diagrams into CPNs. Use of CPN to verify correctness. Hierarchical and object oriented petri nets (Classes represented by subnets)
References Campos, J., Merseguer, J.: On the integration of UML and Petri nets in software development. Lecture Notes In Computer Science. (2006) Marsan, M. Ajmone: Stochastic Petri Nets: An Elementary Introduction. Advances in Petri Nets. (1989) Rajabi, B., Lee, S.: A Study of the Software Tools Capabilities in Translating UML Models to PN Models. International Journal of Intelligent Information Technology Application, 2009, 2(5):