Abstract
Distributed computation is formalized in several description languages for computation, as e.g. Unified Modeling Language (UML), Specification and Description Language (SDL), and Concurrent Abstract State Machines (CASM). All these languages focus on the distribution of computation, which is somewhat the same as concurrent computation. In addition, there is also the aspect of distribution of state, which is often neglected. Distribution of state is most commonly represented by communication between active agents. This paper argues that it is desirable to abstract from the communication and to consider abstract distributed state. This includes semantic handling of conflict resolution, e.g. in connection with data replication. The need for abstract distribution of state is discussed and a novel semantics for concurrency based on an abstract distributed state is presented. This semantics uses runs over so-called multistates, and hides the internal communication for replica handling. This way, distributed computation is described over an abstract memory model.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
As communicating ASMs [4] show, it is also possible to implement local state on top of global state.
- 2.
In reality, a global clock means perfect clock synchronization, which is impossible.
- 3.
The non-shared locations are not relevant here.
References
Apache Software Foundation: Apache Cassandra 2.0—Documentation. http://cassandra.apache.org/ (2016)
Best, E.: Semantics of Sequential and Parallel Programs. Prentice Hall, Upper Saddle River (1996)
Börger, E., Schewe, K.D.: Concurrent abstract state machines. Acta Inf. 53(5), 469–492 (2016)
Börger, E., Schewe, K.D.: Communication in abstract state machines. J. Univ. Comp. Sci. 23(2), 129–145 (2017)
Börger, E., Stärk, R.F.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer (2003)
Ferrarotti, F., Schewe, K.D., Tec, L., Wang, Q.: A new thesis concerning synchronised parallel computing—simplified parallel ASM thesis. Theor. Comp. Sci. 649, 25–53 (2016)
Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002). https://doi.org/10.1145/564585.564601
Gosling, J., Joy, B., Steele, G.L., Bracha, G., Buckley, A.: The Java Language Specification, Java SE 8 Edition. Addison-Wesley Professional, 1st edn. (2014)
Gurevich, Y.: Evolving algebras 1993: lipari guide. In: Börger, E. (ed.) Specification and Validation Methods. Oxford University Press (1995)
Gurevich, Y.: Sequential abstract-state machines capture sequential algorithms. ACM Trans. Comp. Logic 1(1), 77–111 (2000)
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–677 (1978). https://doi.org/10.1145/359576.359585
ITU: Z.100 series, specification and description language SDL. Technical Report, International Telecommunication Union (2011)
Lamport, L., Lynch, N.: Distributed computing: models and methods. In: Handbook of Theoretical Computer Science, pp. 1157–1199. Elsevier (1990)
Manson, J., Pugh, W., Adve, S.V.: The java memory model. SIGPLAN Not. 40(1), 378–391 (2005). https://doi.org/10.1145/1047659.1040336
Milner, R.: A Calculus of Communicating Systems. Springer, New York (1982)
Mironov, A.M.: Theory of processes CoRR abs/1009.2259 (2010)
Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system. http://bitcoin.org/bitcoin.pdf
Narayanan, A., Bonneau, J., Felten, E., Miller, A., Goldfeder, S.: Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction. Princeton University Press, Princeton (2016)
Object Management Group (OMG): Action Language for Foundational UML (Alf), Version 1.1. OMG Document Number formal, 04 July 2017 (2017). http://www.omg.org/spec/ALF/1.1/
Object Management Group (OMG): OMG® Unified Modeling Language® (OMG UML®), Version 2.5.1. OMG Document Number formal, 05 December 2017. http://www.omg.org/spec/UML/2.5.1
Object Management Group (OMG): Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.3. OMG Document Number formal, 02 July 2017. http://www.omg.org/spec/FUML/1.3
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). Lecture Notes in Computer Science, vol. 8477, pp. 210–215. Springer, Heidelberg (2014)
Rabl, T., Sadoghi, M., Jacobsen, H.A., Gómez-Villamor, S., Muntés-Mulero, V., Mankowskii, S.: Solving big data challenges for enterprise application performance management. PVLDB 5(12), 1724–1735 (2012)
Tanenbaum, A.S., Van Steen, M.: Distributed Systems. Prentice-Hall (2007)
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 (1995)
Acknowledgements
This work benefited from many discussions with Egon Börger and Klaus-Dieter Schewe. In particular, the modelling of Cassandra in CASM is joint work with them. I am grateful for the helpful comments of the anonymous reviewers.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Prinz, A. (2018). Distributed Computing on Distributed Memory. In: Khendek, F., Gotzhein, R. (eds) System Analysis and Modeling. Languages, Methods, and Tools for Systems Engineering. SAM 2018. Lecture Notes in Computer Science(), vol 11150. Springer, Cham. https://doi.org/10.1007/978-3-030-01042-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-01042-3_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-01041-6
Online ISBN: 978-3-030-01042-3
eBook Packages: Computer ScienceComputer Science (R0)