This Article 
 Bibliographic References 
 Add to: 
Abstract Communication Model for Distributed Systems
July 2004 (vol. 30 no. 7)
pp. 458-472

Abstract—In some distributed and mobile communication models, a message disappears in one place and miraculously appears in another. In reality, of course, there are no miracles. A message goes from one network to another; it can be lost or corrupted in the process. Here, we present a realistic but high-level communication model where abstract communicators represent various nets and subnets. The model was originally developed in the process of specifying a particular network architecture, namely, the Universal Plug and Play architecture. But, it is general. Our contention is that every message-based distributed system, properly abstracted, gives rise to a specialization of our abstract communication model. The purpose of the abstract communication model is not to design a new kind of network; rather, it is to discover the common part of all message-based communication networks. The generality of the model has been confirmed by its successful reuse for very different distributed architectures. The model is based on distributed abstract state machines. It is implemented in the specification language AsmL and is used for testing distributed systems.

[1] J.-M. Andreoli, C. Hankin, and D. Le Métayer, Coordination Programming: Mechanisms, Models and Semantics. World Scientific, 1996.
[2] F. Arbab and F. Mavaddat, Coordination Languages and Models Proc. Coordination 2002 Conf., Apr. 2002.
[3] Abstract State Machines (ASMs),http://www.eecs.umich.edugasm, 2003.
[4] AsmL for Microsoft.NET, asml, 2003.
[5] M. Barnett and W. Schulte, Runtime Verification of .NET Contracts J. Systems and Software, vol. 65, no. 3, pp. 199-208, 2002.
[6] M. Barnett, C. Campbell, W. Schulte, and M. Veanes, Specification, Simulation and Testing of COM Components Using Abstract State Machines Formal Methods and Tools for Computer Science, Proc. Eurocast 2001 Conf., pp. 266-270, Feb. 2001.
[7] M. Barnett, W. Grieskamp, Y. Gurevich, W. Schulte, N. Tillmann, and M. Veanes, Scenario-Oriented Modeling in AsmL and Its Instrumentation for Testing Proc. Int'l Conf. Software Eng. (ICSE/SCESM), 2003.
[8] M. Barnett, W. Grieskamp, L. Nachmanson, W. Schulte, N. Tillmann, and M. Veanes, Towards a Tool Environment for Model-Based Testing with AsmL Proc. Formal Approaches to Software Testing Conf. (FATES 2003), 2004.
[9] M. Barnett, L. Nachmanson, and W. Schulte, Conformance Checking of Components Against Their Non-Deterministic Specifications Technical Report MSR-TR-2001-56, Microsoft Research, June 2001.
[10] G. Bella and E. Riccobene, Formal Analysis of the Kerberos Authentication System J. Universal Computer Science, vol. 3, no. 12, pp. 1337-1381, 1997.
[11] A. Blass and Y. Gurevich, Abstract State Machines Capture Parallel Algorithms ACM Trans. Computational Logic, vol. 4, no. 4, pp. 578-651, Oct. 2003.
[12] E. Börger and R. Stärk, Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, 2003.
[13] D. Box, Code Name Indigo: A Guide to Developing and Running Connected Systems with Indigo MSDN Magazine, http://msdn. microsoft.commsdnmag/, 2003.
[14] P.C. Clements, "A Survey of Architecture Description Languages," Proc. Eighth Int'l Workshop Software Specification and Design,Germany, Mar. 1996.
[15] D.E. Comer, Internetworking with TCP/IP, Principles, Protocols, and Architectures. Prentice Hall, 2000.
[16] R. Farahbod, U. Glässer, and M. Vajihollahi, Specification and Validation of the Business Process Execution Language for Web Services Technical Report SFU-CMPT-TR-2003-06, Simon Fraser Univ., Sept. 2003.
[17] R. Farahbod, U. Glässer, and M. Vajihollahi, Specification and Validation of the Business Process Execution Language for Web Services Proc. ASM Conf. 2004, 2004.
[18] Foundations of Software Engineering Group at Microsoft,, 2003.
[19] D. Gelernter and N. Carriero, Coordination Languages and Their Significance Comm. ACM, vol. 35, no. 2, pp. 97-107, Feb. 1992.
[20] U. Glässer, Y. Gurevich, and M. Veanes, Universal Plug and Play Machine Models, Foundations of Software Engineering Technical Report MSR-TR-2001-59, Microsoft Research, Redmond, June 2001.
[21] U. Glässer, Y. Gurevich, and M. Veanes, High-Level Executable Specification of the Universal Plug and Play Architecture Proc. 35th Hawaii Int'l Conf. System Sciences (HICSS-35), Jan. 2002.
[22] U. Glässer and M. Veanes, Universal Plug and Play Machine Models: Modeling with Distributed Abstract State Machines Proc. IFIP World Computer Congress, Stream 7 on Distributed and Parallel Embedded Systems (DIPES'02), Aug. 2002.
[23] U. Glässer, R. Gotzhein, and A. Prinz, The Formal Semantics of SDL-2000: Status and Perspectives Computer Networks, vol. 42, no. 3, pp. 343-358, June 2003.
[24] W. Grieskamp, Y. Gurevich, W. Schulte, and M. Veanes, Generating Finite State Machines from Abstract State Machines Proc. Int'l Symp. Software Testing and Analysis, Software Eng. Notes, vol. 27, no. 4, pp. 112-122, 2002.
[25] Y. Gurevich, Evolving Algebras 1993: Lipari Guide Specification and Validation Methods, E. Börger, ed., pp. 9-36, 1995.
[26] Y. Gurevich, Sequential Abstract State Machines Capture Sequential Algorithms ACM Trans. Computational Logic, vol. 1, no. 1, pp. 77-111, July 2000.
[27] Y. Gurevich and N. Tillmann, Partial Updates: Exploration J. Universal Computer Science, vol. 11, no. 7, pp. 917-951, 2001.
[28] Y. Gurevich and N. Tillmann, Partial Updates Exploration II to appear.
[29] Y. Gurevich, B. Rossman, and W. Schulte, Semantic Essence of AsmL Microsoft Research Technical Report MSR-TR-2004-27, Mar. 2004.
[30] Y. Gurevich and W. Schulte, Semantics of AsmL Proc. Second Int'l Symp. Formal Methods for Components and Objects, Nov. 2003.
[31] J. Heering, Application Software, Domain-Specific Languages, and Language Design Assistants Proc. SSGRR 2000 Int'l Conf. Advances in Infrastructure for Electronic Business, Science, and Education on the Internet, May 2000.
[32] J. Heering and P. Klint, Semantics of Programming Languages: A Tool-Oriented Approach ACM SIGPLAN Notices, vol. 35, no. 3, pp. 39-48, Mar. 2000.
[33] J.K. Huggins, Kermit: Specification and Verification Specification and Validation Methods, E. Börger, ed., pp. 247-293, Oxford Univ. Press, 1995.
[34] A. Prinz and M.v. Löwis, Generating a Compiler for SDL from the Formal Language Definition Proc. Specification and Description Language (SDL) Forum, 2003.
[35] N. Medvidovic and R.N. Taylor, "A Classification and Comparison Framework for Software Architecture Description Languages," to be published in IEEE Trans. Software Eng.
[36] NS-2 Reference Manual,, 2003.
[37] A. Sünbül, Abstract State Machines for the Composition of Architectural Styles Proc. Third Int'l Conf. Perspectives of System Informatics, July 1999.
[38] A. Sünbül, Architectural Design of Evolutionary Software Systems in Continuous Software Engineering PhD thesis, Technical Univ. Berlin, Der Andere Verlag, Sept. 2001.
[39] UPnP Device Architecture V1.0 Microsoft Universal Plug and Play Summit, Jan. 2000.
[40] Official Web site of the UPnP Forum,, 2003.
[41] Virtual InterNetwork Testbed (VINT), A Collaboration among USC/ISI, Xerox PARC, LBNL, and UCB,, 2003.
[42] Web Service Description Language (WSDL), W3C Note, Mar. 2001,
[43] XLANG Abstract Machine, Foundations of Software Engineering internal report, Microsoft Research, 2002.
[44] XLANG: Web Services for Business Process Design www. , 2003.

Index Terms:
Abstract state machines, communication protocols, computer networks, distributed systems, requirement specification, system modeling, testing of distributed systems.
Uwe Gl?sser, Yuri Gurevich, Margus Veanes, "Abstract Communication Model for Distributed Systems," IEEE Transactions on Software Engineering, vol. 30, no. 7, pp. 458-472, July 2004, doi:10.1109/TSE.2004.25
Usage of this product signifies your acceptance of the Terms of Use.