240 likes | 450 Views
Integrating UML and Petri Nets. Topics:. Problem with Current Software Engineering Methodology Stochastic Petri nets and their useful properties Translating UML diagrams into SPNs (Mail client case study). Work of Javier Campos and Jose Merseguer presented by Stephen Rojcewicz.
E N D
Integrating UML and Petri Nets Topics: • Problem with Current Software Engineering Methodology • Stochastic Petri nets and their useful properties • Translating UML diagrams into SPNs (Mail client case study) 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)
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.
Mail Client UML Sequence Diagram E_open_tcp-connection is an ACTION and has a corresponding FIRING DELAY
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):224-228