Integrating UML and Petri Nets
description
Transcript of Integrating UML and Petri Nets
![Page 1: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/1.jpg)
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
![Page 2: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/2.jpg)
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
![Page 3: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/3.jpg)
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
![Page 4: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/4.jpg)
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
![Page 5: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/5.jpg)
Motivation for Petri Nets
• Concurrent execution
• Distributed Systems
• Non determinism
• Simplicity
• Visual Representation
![Page 6: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/6.jpg)
Translate UML into Petri Nets
• Statecharts and activity diagrams are good candidates
![Page 7: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/7.jpg)
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)
![Page 8: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/8.jpg)
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)
![Page 9: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/9.jpg)
Case Study: Mail Client
![Page 10: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/10.jpg)
Mail Client: UML Statechart
![Page 11: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/11.jpg)
Mail Client: Stochastic PN
![Page 12: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/12.jpg)
Mail Client: UML Statechart
![Page 13: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/13.jpg)
Mail Client: Stochastic PN
![Page 14: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/14.jpg)
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.
![Page 15: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/15.jpg)
Authentication: UML Activity Diagram
![Page 16: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/16.jpg)
Corresponding SPN
![Page 17: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/17.jpg)
Mail Client UML Sequence Diagram
E_open_tcp-connection is an ACTION and has a corresponding FIRING DELAY
![Page 18: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/18.jpg)
Performance data derived from stochastic Petri nets
![Page 19: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/19.jpg)
ArgoSPE• A tool that translates UML diagrams into
Stochastic Petri nets for performance analysis
• Built In performance analysis functions
![Page 20: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/20.jpg)
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.
![Page 21: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/21.jpg)
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)
![Page 22: Integrating UML and Petri Nets](https://reader036.fdocuments.in/reader036/viewer/2022062305/56815255550346895dc0891c/html5/thumbnails/22.jpg)
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