Download - Integrating UML and Petri Nets
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)
ReferencesCampos, J., Merseguer, J.: On the integration of UML and Petri nets insoftware 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):224-228