The thesis proposes a model transformation chain called Performance from Unified Modeling Analysis for Service-Oriented Architecture (SOA) systems (PUMA4SOA), whose purpose is to automatically generate performance models from the UML software design models of SOA systems with performance annotations. The main goal of PUMA4SOA is to enable the analysis of performance properties of software systems in the early software development phases, which helps developing SOA systems that meet their performance requirements. PUMA4SOA extends PUMA, an existing transformation approach from software to
performance models developed in our research group. The main differences between PUMA4SOA and PUMA are as follows: a) focus on SOA systems; b) application of Model-Driven Architecture (MDA) principles of considering first software platform-independent models (PIM) which are then transformed into platform-specific models (PSM); c) use of a Platform Completion (PC) feature model to define variability of platform characteristics; d) use of aspect-oriented modeling (AOM) techniques to specify realization of platform features; and e) systematic use of trace-links between different types of models
(i.e., software, intermediate and performance models). PUMA4SOA accepts the following input models: the software platform independent model, the deployment model, the PC-feature models and a set of platform aspect models. Similar to PUMA, PUMA4SOA makes use of an intermediate model called Core Scenario Model (CSM). The model transformations chain of PUMA4SOA begins by transforming the UML PIM to a CSM PIM, which in turn is used to generate a CSM PSM using an AOM approach. The third model transformation maps the CSM platform specific model into a performance model (Layered Queuing Network in
this case) which is then solved to produce the performance output results.
A traceability model is used in PUMA4SOA to navigate between different kinds of models (i.e., UML, CSM and LQN) in order to propagate changes of properties from one model to another and to feed back the LQN output results into the UML design model.