Concurrent abstract state machines

A concurrent Abstract State Machine (ASM) is a family of agents each equipped with a sequential ASM to execute. We define the semantics of concurrent ASMs by concurrent ASM runs which overcome the problems of Gurevich’s distributed ASM runs and generalize Lamport’s sequentially consistent runs. A postulate characterizing an intuitive understanding of concurrency is formulated. It allows us to state and prove an extension of the sequential ASM thesis to a concurrent ASM thesis.

[1]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[2]  Nancy A. Lynch,et al.  Distributed Computing: Models and Methods , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[3]  Antoni W. Mazurkiewicz,et al.  Introduction to Trace Theory , 1995, The Book of Traces.

[4]  Klaus-Dieter Schewe,et al.  Specifying Transaction Control to Serialize Concurrent Program Executions , 2014, ABZ.

[5]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[6]  Erich Grädel,et al.  Quantum Computing and Abstract State Machines , 2003, Abstract State Machines.

[7]  Gregory H. Harris,et al.  Review of "Abstract state machines: a method for high-level system design and analysis" by Egon Börger and Robert Stärk. Springer-Verlag 2003. , 2004, SOEN.

[8]  Yuri Gurevich,et al.  A New Thesis , 2017 .

[9]  Egon Börger,et al.  Computability, Complexity, Logic (English translation of "Berechenbarkeit, Komplexität, Logik" from 1985) , 1989, Studies in Logic and the Foundations of Mathematics.

[10]  Andreas Blass,et al.  Ordinary interactive small-step algorithms, I , 2006, TOCL.

[11]  José Nelson Amaral,et al.  An Abstract State Machine Specification and Verification of the Location Consistency Memory Model and Cache Protocol , 2001, J. Univers. Comput. Sci..

[12]  Leslie Lamport,et al.  Paradigms for Distributed Programs , 1984, Advanced Course: Distributed Systems.

[13]  Orna Grumberg,et al.  A game-based framework for CTL counterexamples and 3-valued abstraction-refinement , 2007, TOCL.

[14]  Prof. Dr. Robert F. Stärk,et al.  Java and the Java Virtual Machine , 2001, Springer Berlin Heidelberg.

[15]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

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

[17]  Kurt Lautenbach,et al.  System Modelling with High-Level Petri Nets , 1981, Theor. Comput. Sci..

[18]  Jean-Raymond Abrial Modeling in Event-B: A simple file transfer protocol , 2010 .

[19]  Leslie Lamport,et al.  Pretending Atomicity , 1989 .

[20]  James R. Larus,et al.  Transactional Memory, 2nd edition , 2010, Transactional Memory.

[21]  Leslie Lamport,et al.  On interprocess communication , 1986, Distributed Computing.

[22]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[23]  Susan Stepney,et al.  Atomicity failure and the retrenchment atomicity pattern , 2013, Formal Aspects of Computing.

[24]  Leslie Lamport,et al.  On Interprocess Communication-Part I: Basic Formalism, Part II: Algorithms , 2016 .

[25]  Carl Hewitt,et al.  What is Computation? Actor Model versus Turing's Model , 2012 .

[26]  Andreas Blass,et al.  Interactive Small-Step Algorithms I: Axiomatization , 2007, Log. Methods Comput. Sci..

[27]  Antoni W. Mazurkiewicz,et al.  Trace Theory , 1986, Advances in Petri Nets.

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

[29]  Glynn Winskel,et al.  Models for Concurrency , 1994 .

[30]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[31]  Klaus-Dieter Schewe,et al.  Synchronous Parallel Database Transformations , 2012, FoIKS.

[32]  Leslie Lamport,et al.  Interprocess Communication , 2020, Practical System Programming with C.

[33]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[34]  Yuri Gurevich,et al.  Partially Ordered Runs: A Case Study , 2000, Abstract State Machines.

[35]  Susan Stepney,et al.  Retrenchment and the Atomicity Pattern , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

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

[37]  Andreas Blass,et al.  Ordinary interactive small-step algorithms, II , 2007, TOCL.

[38]  Nikolai Tillmann,et al.  Partial updates , 2005, Theor. Comput. Sci..

[39]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[40]  Yuri Gurevich,et al.  Group membership protocol: specification and verification , 1995, Specification and validation methods.

[41]  Egon Börger,et al.  Java and the Java Virtual Machine: Definition, Verification, Validation , 2001 .

[42]  Klaus-Dieter Schewe,et al.  A new thesis concerning synchronised parallel computing - simplified parallel ASM thesis , 2015, Theor. Comput. Sci..

[43]  Eike Best,et al.  Semantics of sequential and parallel programs , 1996, Prentice Hall International series in computer science.

[44]  Leslie Lamport,et al.  Distributed Systems: Methods and Tools for Specification, An Advanced Course, April 3-12, 1984 and April 16-25, 1985, Munich, Germany , 1985, Advanced Course: Distributed Systems.

[45]  James R. Larus,et al.  Transactional Memory , 2006, Transactional Memory.

[46]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[47]  Håkan Grahn,et al.  Transactional memory , 2010, J. Parallel Distributed Comput..

[48]  Andreas Blass,et al.  Abstract state machines capture parallel algorithms , 2003, TOCL.

[49]  Andreas Blass,et al.  Ordinary interactive small-step algorithms, III , 2007, TOCL.

[50]  Alessio Guglielmi,et al.  A system of interaction and structure , 1999, TOCL.

[51]  Klaus-Dieter Schewe,et al.  XML Database Transformations , 2010, J. Univers. Comput. Sci..

[52]  Andreas Prinz,et al.  Distributed ASM - Pitfalls and Solutions , 2014, ABZ.

[53]  Peter Wegner,et al.  Why interaction is more powerful than algorithms , 1997, CACM.

[54]  Egon Börger,et al.  Construction and analysis of ground models and their refinements as a foundation for validating computer-based systems , 2007, Formal Aspects of Computing.

[55]  R. Stärk,et al.  Abstract State Machines , 2003, Springer Berlin Heidelberg.

[56]  Egon Börger,et al.  Subject-Oriented Business Process Management , 2012, Springer Berlin Heidelberg.

[57]  Yuri Gurevich,et al.  Sequential abstract-state machines capture sequential algorithms , 2000, TOCL.

[58]  Ana Sokolova,et al.  Generic Trace Semantics via Coinduction , 2007, Log. Methods Comput. Sci..

[59]  Klaus-Dieter Schewe,et al.  A Simplified Parallel ASM Thesis , 2012, ABZ.

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

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

[62]  C. Petri Kommunikation mit Automaten , 1962 .

[63]  Egon Börger,et al.  Abstract state machine nets: closing the gap between business process models and their implementation , 2015, S-BPM ONE.

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

[65]  Egon Börger,et al.  The Origins and the Development of the ASM Method for High Level System Design and Analysis , 2002, J. Univers. Comput. Sci..

[66]  Egon Börger,et al.  The ASM Refinement Method , 2003, Formal Aspects of Computing.

[67]  Egon Börger,et al.  Abstract State Machines , 2003 .

[68]  Klaus-Dieter Schewe,et al.  Partial Updates in Complex-Value Databases , 2011, EJC.

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

[70]  Yuri Gurevich,et al.  Reconsidering Turing's thesis : (toward more realistic semantics of programs) , 1984 .

[71]  Andreas Blass,et al.  Abstract state machines capture parallel algorithms: Correction and extension , 2006, TOCL.

[72]  Qing Wang,et al.  Logical Foundations of Database Transformations for Complex-Value Databases , 2010 .

[73]  Andreas Blass,et al.  Interactive Small-Step Algorithms II: Abstract State Machines and the Characterization Theorem , 2007, Log. Methods Comput. Sci..

[74]  Bernhard Thalheim,et al.  Updates, Schema Updates and Validation of XML Documents - Using Abstract State Machines with Automata-Defined States , 2009 .

[75]  Klaus-Dieter Schewe,et al.  A Customised ASM Thesis for Database Transformations , 2010, Acta Cybern..

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

[77]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .