Modeling and Performance Analysis of Distributed Systems with Collaboration Behaviour Diagrams - Israr, Toqeer (Université d'Ottawa / University of Ottawa, 2014)
The use of distributed systems, involving multiple components, has become a common industry practice. However, modeling the behaviour of such systems is a challenge, especially when the behavior consists of several collaborations of different parties, each involving possibly several starting (input) and ending (output) events of the involved components. Furthermore, the global behavior should be described as a composition of several sub-behaviours, in the following called collaborations, and each collaboration may be further decomposed into several sub-collaborations. We assume that the performance of the elementary sub-collaborations is known, and that the performance of the global behavior should be determined from the performance of the contained elementary collaborations and the form of the composition. A collaboration, in this thesis, is characterized by a partial order of input and output events, and the performance of the collaboration is defined by the minimum delays required for a given output event with respect to an input event. This is a generalization of the semantics of UML Activities, where all input events are assumed to occur at the same time, and all output events occur at the same time. We give a semantic definition of the dynamic behavior of composed collaborations using the composition operators for control flow from UML Activity diagrams, in terms of partial order relationships among the involved input and output events. Based on these semantics, we provide formulas for calculating the performance of composed collaborations in terms of the performance of the sub-collaborations, where each delay is characterized by (a) a fixed value, (b) a range of values, and (c) a distribution (in the case of stochastic behaviours). We also propose approximations for the case of stochastic behavior with Normal distributions, and discuss the expected errors that may be introduced due to ignoring of shared resources or possible dependencies in the case of stochastic behaviours. A tool has been developed for evaluating the performance of complex collaborations, and examples and case studies are discussed to illustrate the applicability of the performance analysis and the visual notation which we introduced for representing the partial-order relationships of the input and output events.
Keywords: performance; modeling; partial order; collaborations; UML; UML Activity Diagrams; UML Collaborations; Distributed Applications; Software Performance; Distributed Services; Web Services; Stochastic; Stochastic Performance; Normal Distributions; Petri Nets; PERT; Performance Modeling; Algorithms; Measurements; Verifications