23
Chapter 2
Utilizing UML, cTLA, and SRN:
An Application to Distributed
System Performance Modeling
Razib Hayat Khan
Norwegian University of Science & Technology (NTNU), Norway
ABSTRACT
To meet the challenge of conducting quantitative analysis at the early stage of the system development
process, this chapter introduces an extensive framework for performance modeling of a distributed system.
The goal of the performance modeling framework is the assessment of the non-functional properties of
the distributed system at an early stage based on the system’s functional description and deployment
mapping of service components over an execution environment. System’s functional description with
deployment mapping has been specified using UML. To analyze the correctness of the UML specification style, we have used temporal logic, specifically cTLA, to formalize the UML model. We have shown
in detail how UML models are formalized by a set of cTLA processes and production rules. To conduct
the performance evaluation of a distributed system, the UML model is transformed into analytic model
SRN. We have specified an automated model transformation process to generate SRN model from UML,
which is performed in an efficient and scalable way by the use of model transformation rules.
INTRODUCTION
Distributed software system typically deploys in a resource-limited environment that is mainly constrained by rigorous performance requirements. In a distributed system, system functional behavior is
normally distributed among several objects. The overall behavior of the system is composed of the partial
behavior of the distributed objects of the system. It is essential to capture the behavior of the distributed
objects for appropriate analysis to evaluate the performance related factors of the system at the early
design stage. Distributed software systems offer functionalities to the end users by utilizing the distributed components behavior that leads to complex specification as each distributed component provides
the partial functionalities of the whole system. Hence, modeling plays an important role in the whole
design process of the distributed system to capture partial component behavior efficiently for qualitative
DOI: 10.4018/978-1-4666-8493-5.ch002
Copyright © 2015, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
Utilizing UML, cTLA, and SRN
and quantitative analysis. As functionality is basically a service spanning over several components, we
thus need a specifications describing the collaboration of various distributed components. We therefore
introduce a specification style in which a self contained specification block models all functional aspects and collaboration of distributed objects in encapsulated ways that can be reused. We apply UML
(Unified Modeling Language) collaborations to express static properties and UML activities to model
collaborative detailed behavior as reusable specification of building blocks which in turn provide the
facility to build service and adjust the system functions rapidly rather than start the development process from scratch (OMG, 2009a). Reusability makes the developer task easy and faster as system of a
specific domain can be built by applying the reoccurring building blocks that are selected from existing
libraries. Another advantage of reusable building block utilizing collaboration oriented modeling is that
it supports the convergence of Information and Communication Technology (ICT) modeling concept.
In particular, we can encapsulate the specific properties of component of certain domain in reusable
building block. Thus developers familiar with the concept of different domain of ICT should have less
trouble to create sound distributed system using the building block of existing domain (Kraemer & Herrmann, 2006). Besides, considering collaboration diagram helps to compose the system from the subtask
of the participants which are relevant for drawing the system’s overall functional behavior. Above all,
collaboration oriented approach provides a way to group chunks of interaction behavior contributed by
the most pertinent actors of the system.
Furthermore, we consider system execution architecture to realize the deployment of the service
components. Abstract view of the system architecture is captured by the UML deployment diagram
which defines the execution architecture of the system by identifying the system components and the
assignment of software artifacts to those identified system components (OMG, 2009a). Considering the
system architecture to generate the performability model resolves the bottleneck of system performance
by finding a better allocation of service components to the physical nodes. This needs for an efficient
approach to deploy the service components on the available hosts of distributed environment to achieve
preferably high performance and low cost levels. The most basic example in this regard is to choose better
deployment architectures by considering only the latency of the service. The easiest way to satisfy the
latency requirements is to identify and deploy the service components that require the highest volume
of interaction onto the same physical resource or to choose resources that are connected by links with
sufficiently high capacity (Csorba, Heegaard, & Hermann, 2008).
In order to guarantee the precise understanding and correctness of the model, the approach requires
formal reasoning on the semantics of the language used and to maintain the consistency of the building
blocks and their composition. Temporal logic is a suitable option for that. In particular, the properties
of super position supported by compositional Temporal Logic of Action (cTLA) make it possible to
describe systems from different view points by individual processes that are superimposed (Hermann,
1997; Hermann & Krumm, 2000). Here, we focus on the definition of cTLA/c, a style of cTLA that allows us to formalize the collaboration service specifications given by UML activities and also to define
the formal semantics of deployment diagram. By expressing collaborations as cTLA processes, we can
ensure that a composed service maintains the properties of the individual collaborations it is composed
from. Moreover, the semantic definition of collaboration, activity and deployment in form of temporal
logic is implemented as a transformation tool which produces TLA+ modules (Slåtten, 2007). These
modules may then be used as input for the model checker TLC (Yu, Manolios, & Lamport, 1999). The
tool also generates a number of theorems, so that collaborations may be analyzed for more advanced
properties than simple syntactic checks.
24
26 more pages are available in the full version of this document, which may
be purchased using the "Add to Cart" button on the product's webpage:
www.igi-global.com/chapter/utilizing-uml-ctla-and-srn/135879?camid=4v1
This title is available in Advances in Systems Analysis, Software Engineering,
and High Performance Computing, InfoSci-Books, InfoSci-Computer Science
and Information Technology, Science, Engineering, and Information
Technology, InfoSci-Select, InfoSci-Select, InfoSci-Select, InfoSci-Select.
Recommend this product to your librarian:
www.igi-global.com/e-resources/library-recommendation/?id=107
Related Content
Automating Web Service Composition: An Ontological Agent Framework
Tamer M. Al Mashat, Fatma A. El-Licy and Akram I. Salah (2014). Handbook of Research on Architectural
Trends in Service-Driven Computing (pp. 330-353).
www.igi-global.com/chapter/automating-web-service-composition/115434?camid=4v1a
A Semantic Approach to Deploying Product-Service Systems
Robert Andrei Buchmann and Dimitris Karagiannis (2017). International Journal of Information System
Modeling and Design (pp. 24-42).
www.igi-global.com/article/a-semantic-approach-to-deploying-product-servicesystems/197431?camid=4v1a
SLIM: Service Location and Invocation Middleware for Mobile Wireless Sensor and Actuator
Networks
Gianpaolo Cugola and Alessandro Margara (2010). International Journal of Systems and Service-Oriented
Engineering (pp. 60-74).
www.igi-global.com/article/slim-service-location-invocation-middleware/47038?camid=4v1a
Using Attack Graphs to Analyze Social Engineering Threats
Kristian Beckers, Leanid Krautsevich and Artsiom Yautsiukhin (2015). International Journal of Secure
Software Engineering (pp. 47-69).
www.igi-global.com/article/using-attack-graphs-to-analyze-social-engineeringthreats/136466?camid=4v1a