Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Concurrent abstract state machines

Published: 01 August 2016 Publication History

Abstract

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.

References

[1]
Abrial, J.R.: The B-Book. Cambridge University Press, Cambridge (1996)
[2]
Abrial, J.R.: Modeling in Event-B. Cambridge University Press, Cambridge (2010)
[3]
Agha, G.: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)
[4]
Banach, R., Hall, A., Stepney, S.: Retrenchment and the atomicity pattern. In: Fifth IEEE International Conference on Software Engineering and Formal Methods, pp. 37---46 (2007)
[5]
Banach, R., Jeske, C., Hall, A., Stepney, S.: Atomicity failure and the retrenchment atomicity pattern. Form. Asp. Comput. 25, 439---464 (2013)
[6]
Best, E.: Semantics of Sequential and Parallel Programs. Prentice Hall, Englewood Cliffs (1996)
[7]
Blass, A., Gurevich, Y.: Abstract state machines capture parallel algorithms. ACM Trans. Comput. Log. 4(4), 578---651 (2003)
[8]
Blass, A., Gurevich, Y.: Ordinary interactive small-step algorithms I. ACM Trans. Comput. Log. 7(2), 363---419 (2006)
[9]
Blass, A., Gurevich, Y.: Ordinary interactive small-step algorithms II. ACM Trans. Comput. Log. 8(3), 1---41 (2007)
[10]
Blass, A., Gurevich, Y.: Ordinary interactive small-step algorithms III. ACM Trans. Comput. Log. 8(3), 1---51 (2007)
[11]
Blass, A., Gurevich, Y.: Abstract state machines capture parallel algorithms: correction and extension. ACM Trans. Comput. Log. 9(3), 1---32 (2008)
[12]
Blass, A., Gurevich, Y., Rosenzweig, D., Rossman, B.: Interactive small-step algorithms I: axiomatization. Log. Methods Comput. Sci. 3(4:3), 1---29 (2007)
[13]
Blass, A., Gurevich, Y., Rosenzweig, D., Rossman, B.: Interactive small-step algorithms II: abstract state machines and the characterization theorem. Log. Methods Comput. Sci. 3(4:4), 1---35 (2007)
[14]
Börger, E.: Computability, complexity, logic (English translation of Berechenbarkeit, Komplexität, Logik, Vieweg-Verlag 1985), Studies in Logic and the Foundations of Mathematics, vol. 128. North-Holland (1989)
[15]
Börger, E.: The origins and the development of the ASM method for high-level system design and analysis. J. Univers. Comput. Sci. 8(1), 2---74 (2002)
[16]
Börger, E.: The ASM refinement method. Form. Asp. Comput. 15, 237---257 (2003)
[17]
Börger, E.: Construction and analysis of ground models and their refinements as a foundation for validating computer based systems. Form. Asp. Comput. 19, 225---241 (2007)
[18]
Börger, E., Fleischmann, A.: Abstract state machine nets. Closing the gap between business process models and their implementation. In: Proceedings of the S-BPM ONE 2015. ACM Digital Library. ACM. ISBN:978-1-4503-3312-2 (2015)
[19]
Börger, E., Schewe, K.D.: Specifying transaction control to serialize concurrent program executions. In: Ait-Ameur, Y., Schewe, K.D. (eds.) Proceedings ABZ 2014, LNCS. Springer (2014)
[20]
Börger, E., Stärk, R.F.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Berlin (2003)
[21]
Farahbod, R., et al.: The CoreASM Project. http://www.coreasm.org and http://www.github.com/coreasm
[22]
Ferrarotti, F., Schewe, K.D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing--simplified parallel ASM thesis. CoRR abs/1504.06203 (2015).arXiv:1504.06203. Submitted for publication
[23]
Fleischmann, A., Schmidt, W., Stary, C., Obermeier, S., Börger, E.: Subject-Oriented Business Process Management. Springer Open Access Book, Heidelberg (2012). www.springer.com/978-3-642-32391-1
[24]
Genrich, H.J., Lautenbach, K.: System modelling with high-level Petri nets. Theor. Comput. Sci. 13, 109---136 (1981)
[25]
Grädel, E., Nowack, A.: Quantum computing and abstract state machines. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) Abstract State Machines 2003--Advances in Theory and Applications, Lecture Notes in Computer Science, vol. 2589, pp. 309---323. Springer, Berlin (2003)
[26]
Gurevich, Y.: Reconsidering Turing's thesis: toward more realistic semantics of programs. Technical Report CRL-TR-36-84, EECS Department, University of Michigan (1984)
[27]
Gurevich, Y.: A new thesis. Amer. Math. Soc. 6(4), 317 (1985)
[28]
Gurevich, Y.: Evolving algebras 1993: Lipari guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9---36. Oxford University Press (1995)
[29]
Gurevich, Y.: Sequential abstract state machines capture sequential algorithms. ACM Trans. Comput. Log. 1(1), 77---111 (2000)
[30]
Gurevich, Y., Mani, R.: Group membership protocol: specification and verification. In: Börger, E. (ed.) Specification and Validation Methods, pp. 295---328. Oxford University Press, Oxford (1995)
[31]
Gurevich, Y., Rosenzweig, D.: Partially ordered runs: a case study. In: Gurevich, Y., Kutter, P., Odersky, M., Thiele, L. (eds.) Abstract State Machines: Theory and Applications, LNCS, vol. 1912, pp. 131---150. Springer, Berlin (2000)
[32]
Gurevich, Y., Tillmann, N.: Partial updates. Theor. Comput. Sci. 336(2---3), 311---342 (2005)
[33]
Hamburg, U.: The Petri nets bibliography. http://www.informatik.uni-hamburg.de/TGI/pnbib/index.html
[34]
Harris, T., Larus, J., Rajwar, R.: Transactional Memory, 2nd edn. Morgan and Claypool, Los Altos (2010)
[35]
Hewitt, C.: What is computation? Actor model versus Turing's model. In: Zenil, H. (ed.) A Computable Universe: Understanding Computation and Exploring Nature as Computation. Dedicated to the memory of Alan M. Turing on the 100th anniversary of his birth. World Scientific Publishing (2012)
[36]
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
[37]
Jensen, K.: Coloured Petri Nets - Basic Concepts, Analysis Methods and Practical. Monographs in Theoretical Computer Science. An EATCS Series vol. 3. Springer, Berlin (1997).
[38]
Lamport, L.: A new solution of Dijkstra's concurrent programming problem. Commun. ACM 17(8), 453---455 (1974)
[39]
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558---565 (1978)
[40]
Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. 28(9), 690---691 (1979)
[41]
Lamport, L.: On interprocess communication. Part I: Basic formalism. Part II: algorithms. Distrib. Comput. 1, 77---101 (1986)
[42]
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley (2003). http://lamport.org
[43]
Lamport, L., Schneider, F.B.: Pretending Atomicity. DEC Systems Research Center (1989)
[44]
Lamport, L., Lynch, N.: Distributed computing: models and methods. In: J. van Leeuwen (ed.) Handbook of Theoretical Computer Science, pp. 1157---1199. Elsevier (1990)
[45]
Lynch, N.: Distributed Algorithms. Morgan Kaufmann (1996). ISBN:978-1-55860-348-6
[46]
Mazurkiewicz, A.: Trace Theory, pp. 279---324. Springer, Berlin (1987)
[47]
Mazurkiewicz, A.: Introduction to trace theory. In: Diekert, V., Rozenberg, G. (eds.) The Book of Traces, pp. 3---67. World Scientific, Singapore (1995)
[48]
Milner, R.: A Calculus of Communicating Systems. Springer (1982). ISBN 0-387-10235-3
[49]
Milner, R.: Communicating and Mobile Systems: The Pi-Calculus. Springer (1999). ISBN 9780521658690
[50]
Peterson, J.: Petri Net Theory and the Modeling of Systems. Prentice-Hall, Englewood Cliffs (1981)
[51]
Petri, C.A.: Kommunikation mit automaten. Ph.D. thesis, Institut für Instrumentelle Mathematik der Universität Bonn (1962). Schriften des IIM Nr. 2
[52]
Plosila, J., Sere, K., Walden, M.: Design with asynchronously communicating components. In: de Boer et al., F. (ed.) Proceedings of FMCO 2002, No. 2852 in LNCS, pp. 424---442. Springer (2003)
[53]
Prinz, A., Sherratt, E.: Distributed ASM-pitfalls and solutions. In: Aït-Ameur, Y., Schewe, K.D. (eds.) Abstract State Machines, Alloy, B, TLA, VDM and Z--Proceedings of the 4th International Conference (ABZ 2014), LNCS, vol. 8477, pp. 210---215. Springer, Toulouse (2014)
[54]
Karp, R.M., Miller, R.: Parallel program schemata. J. Comput. Syst. Sci. 3, 147---195 (1969)
[55]
Roscoe, A.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)
[56]
Schewe, K.D., Wang, Q.: A customised ASM thesis for database transformations. Acta Cybern. 19(4), 765---805 (2010)
[57]
Schewe, K.D., Wang, Q.: XML database transformations. J. Univers. Comput. Sci. 16(20), 3043---3072 (2010)
[58]
Schewe, K.D., Wang, Q.: Partial updates in complex-value databases. In: Heimbürger, A., et al. (eds.) Information and Knowledge Bases XXII, Frontiers in Artificial Intelligence and Applications, vol. 225, pp. 37---56. IOS Press, Amsterdam (2011)
[59]
Schewe, K.D., Wang, Q.: A simplified parallel ASM thesis. In: Derrick, J., et al. (eds.) Abstract State Machines, Alloy, B, VDM, and Z--Third International Conference (ABZ 2012), LNCS, vol. 7316, pp. 341---344. Springer (2012)
[60]
Schewe, K.D., Wang, Q.: Synchronous parallel database transformations. In: Lukasiewicz, T., Sali, A. (eds.) Foundations of Information and Knowledge Bases (FoIKS 2012), LNCS, vol. 7153, pp. 371---384. Springer, Berlin (2012)
[61]
Schneider, F., Lamport, L.: Paradigms for distributed programs. In: Distributed Systems, LNCS, vol. 190. Springer (1985)
[62]
Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Berlin (2001)
[63]
Wallace, C., Tremblay, G., Amaral, J.N.: An abstract state machine specification and verification of the location consistency memory model and cache protocol. J. Univers. Comput. Sci. 7(11), 1089---1113 (2001)
[64]
Wang, Q.: Logical Foundations of Database Transformations for Complex-Value Databases.Logos (2010). http://logos-verlag.de/cgi-bin/engbuchmid?isbn=2563&lng=deu&id=
[65]
Wegner, P.: Why interaction is more powerful than algorithms. Commun. ACM 40, 80---91 (1997)
[66]
Winskel, G., Nielsen, M.: Models for concurrency. In: Abramsky, S., Gabbay, D., Maibaum, T.S.E. (eds.) Handbook of Logic and the Foundations of Computer Science: Semantic Modelling, vol. 4, pp. 1---148. Oxford University Press, Oxford (1995)

Cited By

View all
  • (2024)A journey with ASMETA from requirements to code: application to an automotive system with adaptive featuresInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-024-00751-426:3(379-401)Online publication date: 1-Jun-2024
  • (2024)Modal Extensions of the Logic of Abstract State MachinesRigorous State-Based Methods10.1007/978-3-031-63790-2_8(123-140)Online publication date: 25-Jun-2024
  • (2023)Thread-Local, Step-Local Proof Obligations for Refinement of State-Based Concurrent SystemsRigorous State-Based Methods10.1007/978-3-031-33163-3_6(70-87)Online publication date: 30-May-2023
  • Show More Cited By
  1. Concurrent abstract state machines

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Acta Informatica
    Acta Informatica  Volume 53, Issue 5
    August 2016
    85 pages

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 01 August 2016

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media