Communication in Abstract State Machines

Up to recently the majority of applications of the Abstract State Machines method for design and verification of computational systems used the shared variable approach. However in particular with distributed systems only various forms of communication may be available to share information. We define communicating ASMs by using instead of shared locations an explicit, abstract concept of Sending/Receiving messages which can be added to existing ASM execution engines. We aim to provide a definition which is a conservative extension of traditional ASMs, uniformly captures synchronous and asynchronous communication and is not bound to any specific message passing mechanism but can be instantiated to the major communication concepts in the literature. We illustrate the concept by an application to synchronous and asynchronous networks of communicating processes.

[1]  Klaus-Dieter Schewe,et al.  Concurrent abstract state machines , 2016, Acta Informatica.

[2]  Shaoying Liu,et al.  Formal Methods and Software Engineering , 2016, Lecture Notes in Computer Science.

[3]  Andreas Prinz,et al.  The formal semantics of SDL-2000: Status and perspectives , 2003, Comput. Networks.

[4]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[5]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[6]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[7]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[8]  Frank Waters,et al.  The B Book , 1971 .

[9]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[10]  Elvinia Riccobene,et al.  A formal framework for service modeling and prototyping , 2013, Formal Aspects of Computing.

[11]  Margus Veanes,et al.  Abstract communication model for distributed systems , 2004, IEEE Transactions on Software Engineering.

[12]  Werner Schmidt,et al.  Subject-Oriented Business Process Management , 2012, Springer Berlin Heidelberg.

[13]  Dean Rosenzweig,et al.  Communicating Evolving Algebras , 1992, CSL.

[14]  Egon Börger,et al.  High Level System Design and Analysis Using Abstract State Machines , 1998, FM-Trends.

[15]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[16]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[17]  Egon Börger Modeling Distributed Algorithms by Abstract State Machines Compared to Petri Nets , 2016, ABZ.

[18]  Kaisa Sere,et al.  Design with Asynchronously Communicating Components , 2002, FMCO.

[19]  Nazareno Aguirre,et al.  Towards Dynamically Communicating Abstract Machines in the B Method , 2005, ICFEM.

[20]  Jim Larson Erlang for Concurrent Programming , 2008, ACM Queue.

[21]  Damien Zufferey,et al.  P: safe asynchronous event-driven programming , 2013, PLDI.