Modeling and Analyzing the Software Architecture of a Communication Protocol Using SAM

SAM is a general framework for modeling and analyzing software architectures. In this paper, we apply SAM to model and analyze a popular alternating-bit communication protocol. To compare with other existing formalization of this communication protocol and to show the salient features of SAM, we provide two specifications of the communication protocol — one without a timer and one with a timer. Furthermore we explore two different translation approaches using the model checking language SMV, and compare their effectiveness. We provide some general rules, including rules to deal with timing issues, to translate predicate transition nets into SMV specifications so that automatic verification of systems properties through model checking can be done.

[1]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[2]  Yi Deng,et al.  A Framework for Developing and Analyzing Software Architecture Specifications in SAM , 2002, Comput. J..

[3]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[4]  David Notkin,et al.  Model checking large software specifications , 1996, SIGSOFT '96.

[5]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[6]  Martín Abadi,et al.  An old-fashioned recipe for real time , 1994, TOPL.

[7]  Dimitra Giannakopoulou,et al.  Software architecture directed behaviour analysis , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[8]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[9]  M. Diaz,et al.  Modeling and Verification of Time Dependent Systems Using Time Petri Nets , 1991, IEEE Trans. Software Eng..

[10]  Yi Deng,et al.  Specifying Software Architectural Connectors in SAM , 2000, Int. J. Softw. Eng. Knowl. Eng..

[11]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[12]  Jiacun Wang,et al.  Introducing software architecture specification and analysis in SAM through an example , 1999, Inf. Softw. Technol..

[13]  Carlo Ghezzi,et al.  A Unified High-Level Petri Net Formalism for Time-Critical Systems , 1991, IEEE Trans. Software Eng..

[14]  A. Prasad Sistla,et al.  Quantitative temporal reasoning , 1990, Real-Time Systems.

[15]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[16]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[17]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[18]  Ichiro Suzuki,et al.  Formal Analysis of the Alternating Bit Protocol by Temporal Petri Nets , 1990, IEEE Trans. Software Eng..