Formally analyzing software architectural specifications using SAM Article

He, X, Yu, H, Shi, T et al. (2004). Formally analyzing software architectural specifications using SAM . 71(1-2), 11-29. 10.1016/S0164-1212(02)00087-0

cited authors

  • He, X; Yu, H; Shi, T; Ding, J; Deng, Y

fiu authors


  • In the past decade, software architecture has emerged as a major research area in software engineering. Many architecture description languages have been proposed and some analysis techniques have also been explored. In this paper, we present a graphical formal software architecture description model called software architecture model (SAM). SAM is a general software architecture development framework based on two complementary formalisms - Petri nets and temporal logic. Petri nets are used to visualize the structure and model the behavior of software architectures while temporal logic is used to specify the required properties of software architectures. These two formal methods are nicely integrated through the SAM software architecture framework. Furthermore, SAM provides the flexibility to choose different compatible Petri net and temporal logic models according to the nature of system under study. Most importantly, SAM supports formal analysis of software architecture properties in a variety of well-established techniques - simulation, reachability analysis, model checking, and interactive proving. In this paper, we show how to formally analyze SAM software architecture specifications using two well-known techniques - symbolic model checking with tool Symbolic Model Verifier, and theorem proving with tool STeP. © 2002 Elsevier Inc. All rights reserved.

publication date

  • April 1, 2004

Digital Object Identifier (DOI)

start page

  • 11

end page

  • 29


  • 71


  • 1-2