Abstraction of Communication Channels in Promela: A Case Study

  • Elena Fersman
  • Bengt Jonsson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1885)


We present a case study of how abstractions can be applied to a protocol model, written in Promela, in order to make in amenable for exhaustive state-space exploration, e.g., by SPIN. The protocol is a simple version of the Five Packet Handshake Protocol, which is used in TCP for transmission of single messages. We present techniques for abstracting from actual values of messages, sequence numbers, and identifiers in the protocol. Instead, an abstract model of the protocol is constructed of variables which record whether variables and parameters of messages are equal or unequal. The abstraction works because the protocol handles identifiers and parameters of messages in a simple way. The abstracted model contains only on the order of a thousand states, and safety properties have been analyzed by SPIN.


Model Check Abstract Model Boolean Variable Message Transmission Concrete Model 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AČJYK96]
    Abdulla, P.A., Čerǎns, K., Jonsson, B., Yih-Kuen, T.: General decidability theorems for infinite-state systems. In: Proc. 11th IEEE Int. Symp. on Logic in Computer Science, pp. 313–321 (1996)Google Scholar
  2. [AJ96]
    Abdulla, P.A., Jonsson, B.: Verifying programs with unre- liable channels. Information and Computation 127(2), 91–101 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  3. [Bel76]
    Belsnes, D.: Single-message communication. IEEE Trans. on Computers COM-24(2), 190–194 (1976)Google Scholar
  4. [BLO98]
    Bensalem, S., Lakhnech, Y., Owre, S.: Computing abstractions of infinite state systems automatically and compositionally. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 319–331. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  5. [CC77]
    Cousot, P., Cousot, R.: Abstract interpretation: A unified model for static analysis of programs by construction or approximation of fixpoints. In: Proc. 4th ACM Symp. on Principles of Programming Languages, pp. 238–252 (1977)Google Scholar
  6. [CGL94]
    Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Trans. on Programming Languages and Systems 16(5) (September 1994)Google Scholar
  7. [CU98]
    Colon, M.A., Uribe, T.E.: Generating finite-state abstractions of re- active systems using decision procedures. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 293–304. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  8. [DDP99]
    Das, S., Dill, D.L., Park, S.: Experience with predicate abstraction. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 160–171. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. [DGG97]
    Dams, D., Gerth, R., Grumberg, O.: Abstract interpretation of reactive systems. ACM Transactions on Programming Languages and Systems 19(2) (1997)Google Scholar
  10. [GS97]
    Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, Springer, Heidelberg (1997)Google Scholar
  11. [JP93]
    Jonsson, B., Parrow, J.: Deciding bisimulation equivalences for a class of non-finite-state programs. Information and Computation 107(2), 272–302 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  12. [Lam90]
    Lamport, L.: A theorem on atomicity in distributed algorithms. Distri- buted Computing 4(2), 59–68 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  13. [LS97]
    Lesens, D., Saidi, H.: Abstraction of parameterized networks. Electronic Notes in Theoretical Computer Science, 9 (1997)Google Scholar
  14. [Lyn96]
    Lynch, N.: Distributed Algorithms. Morgan Kaufmann Publishers, San Francisco (1996)zbMATHGoogle Scholar
  15. [MP92]
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, Heidelberg (1992)Google Scholar
  16. [SS99]
    Saidi, H., Shankar, N.: Abstract and model check while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 443–454. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  17. [Wol86]
    Pierre Wolper. Expressing interesting properties of programs in proposi- tional temporal logic (extended abstract). In Proc. 13th ACM Symp. on Principles of Programming Languages, pages 184{193, Jan. 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Elena Fersman
    • 1
  • Bengt Jonsson
    • 1
  1. 1.Dept. of Computer SystemsUppsalaSweden

Personalised recommendations