Make use of UML designs that are stored in
lengthy and verbose XML form.
We will briefly mention three recent important
methods.
The Core Scenario Model (CSM) (Petriu, 2004)
extracts the relevant performance information
scattered implicitly and explicitly around various
UML diagrams into a single CSM which will then
facilitate the conversion into any desired
performance model that can be executed by
performance tools. Two transformations are required
i.e. from UML model to CSM (U2C) and from CSM
to Performance model (C2P). Authors propose to
use QVT(QVT, 2003) for these transformations but
due to non-availability of tools are currently using
XSLT based transformations.
(Skene, 2003) apply the Model driven
performance analysis to a distributed middleware
based enterprise application developed using EJBs.
They use MDA supported lightweight extension
mechanism using different UML profiles and
merging them to represent the design model.
Specifically UML profile for SPT and EJB are
merged to define a joint profile. A simple profile to
represent queuing network model is specified as
Analysis profile. Lack of tool support has been cited
as the reason for not automating the transformations
defined.
(D’Ambrogio, 2005) proposes a comprehensive
framework for achieving interoperability amongst
various tools based on MDA approach. Considering
the lack and shortcomings of existing tools and
specifications, they prescribe a three layer approach
comprising of a technology independent
metamodeling layer (MML), technology specific
model implementation layer (MIL) and tool layer
(TL) to exploit use of available technologies and
tools built on MDA and XML. Due to lack of proper
tool support for implementing QVT transformations,
XML based technologies such as XSLT/XQuery is
used for transformation.
Many of the drawbacks mentioned earlier are
still retained in these three representative methods.
More specifically, Out of these three methods, the
one proposed by D’Ambrogio looks most promising
as a complete but complex framework is defined by
them to achieve transformation by using proposed
standards as well as combining it with existing
technologies. However, their target performance
model is not generic. On the other hand the idea of
representing an intermediate performance model in
CSM is also promising as it combines all the
performance related information in one place before
a complex transformation is applied. Approach by
Skene is more tied to a particular platform, i.e, EJB,
but could be applied to any other problem domain by
merging suitable domain information.
3 UNIFIED PERFORMANCE
ENGINEERING FRAMEWORK
We propose a Model Driven Framework based on
various MDA(MDA, 2003) standards. Figure 1
depicts the overall UPE framework. All the
metamodel as well as transformations are based on
MOF(MOF, 2003). We claim that basing the design
model as well as analysis models on same
metamodel i.e. MOF will facilitate easy
transformation.
The main advantage of this approach is that
performance estimation can be done continuously
during the design stage. It will also maintain the
performance parameters separate from the design
model so as not to clutter the design model during
development. Another advantage will be that
transformation will be based on metamodel level
that will be expressed in a high-level model
transformation language compared to complex XML
based transformations.
We present the UPE approach in more details in
the following sub-sections by describing the various
models and the required transformations:
3.1 Design Model
As design evolves during the development process,
any of the UML features deemed fit by the
developers are to be used. Organizations usually
follow some process standards such as Unified
process, which prescribe the set of diagrams to be
used at different stages. However, in the initial stage,
we will focus on Use case diagram to represent the
workload, activity diagram to represent the
scenarios, and deployment diagram to represent the
resource allocations. In particular we will be using
UML 2.0 notations and diagrams as well as any
PSM specific profiles such as CORBA or J2EE.
3.2 Performance View
We propose a novel idea of defining performance
views to represent performance related input as well
as results based on the concept described in MOF
QVT (QVTP, 2003). This mechanism will allow any
other view, say, security model, to be described
without interfering with performance model on the
same design model. This will be an editable view
that will allow the selected UML diagrams from the
design model to be annotated with performance data
TRANSFORMATION OF UML DESIGN MODEL INTO PERFORMANCE MODEL - A Model-Driven Framework
577