Formally analyzing software architectural specifications using SAM

  • Authors:
  • Xudong He;Huiqun Yu;Tianjun Shi;Junhua Ding;Yi Deng

  • Affiliations:
  • School of Computer Science, Florida International University, Miami, FL;School of Computer Science, Florida International University, Miami, FL;School of Computer Science, Florida International University, Miami, FL;School of Computer Science, Florida International University, Miami, FL;School of Computer Science, Florida International University, Miami, FL

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.