Scalability in analysis of software architectures

Date

2007-08

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

This thesis describes an approach to improving scalability in analysis of software architectures for large-scale application systems by model transformation. The software architecture for a large-scale application system is modeled using the Unified Modeling Language (UML), and then, in consideration of scalability, it is transformed to a hierarchical Colored Petri Net (CPN) model. The goal of CPN to UML model transformation efforts is to use CPN analysis based on well established formal methods to analyze dynamic behavior of the software architecture model. However, for large scale software architectures the resulting CPN model can contain enough states that lead to combinatorial explosion during analysis of the model consequently creating an innumerable state space where any kind of complete analysis may be practically infeasible.

This thesis presents a methodology that shows how abstraction can be considered during transformation to reduce the resulting CPN state space while preserving the expected behavior of the software. Detailed descriptions of the transformation process from UML model to CPN model for software architectures of application systems are presented as well as two case studies - Automated Teller Machine (ATM) system and Elevator system. The state spaces generated during analysis of each case study are presented, and the practical feasibility of this methodology is described using results of each case study.

Description

Keywords

Software architecture, Software engineering, Scalability

Citation