Analyzing Dynamic Behavior of Large-Scale Systems through Model Transformation

Eonsuk Shin, Alexander Levis, Lee Wagenhals, Dae-Sik Kim

Research output: Contribution to journalArticle

5 Scopus citations


This paper describes model transformation for analyzing dynamic behavior of large-scale systems. The Unified Modeling Language (UML) based system model is transformed into the Colored Petri Nets (CPN) model, which is used for analyzing the scenarios of the use cases of a system and checking freedom of system deadlock at an early stage of software development. The CPN model that is executable is hierarchically structured on the basis of the functional decomposition of a large-scale system. The UML-based system model consisting of the use case model, class model and collaboration model is not executable so that the dynamic behavior of the system cannot be analyzed until implementation of the system. However, the UML-based system model has no hierarchical structure to be transformed into the hierarchical CPN model as well. The discrepancies of dynamic and structural views in the two models are resolved by transformation of the UML model into the layered, executable CPN model with three layers - the use case layer, object layer and operation layer. The model transformation is carried out using relationships among the use case model, class model, and collaboration model of the UML. With the executable CPN model transformed, the dynamic properties of the system are analyzed using the simulation technique, occurrence graph, and state space report provided by the Design/CPN tool. The approach in this paper is validated through two case studies - the gas station system and the distributed factory automation system.

Original languageEnglish
Pages (from-to)35-60
JournalInternational Journal of Software Engineering and Knowledge Engineering
StatePublished - 2005


Dive into the research topics of 'Analyzing Dynamic Behavior of Large-Scale Systems through Model Transformation'. Together they form a unique fingerprint.

Cite this