Abstract
Coordination scenarios have high demands on concurrency and interaction. However, these are typical sources for flaws in both design and implementation. A modeling approach enables reasoning about distributed algorithms and finding deficiencies right from the beginning. The Peer Model has been introduced as a modeling tool for distribution, concurrency and blackboard-based collaboration and coordination, relying on known foundations like tuple spaces, Petri Nets and Actor Model. A runtime system exists that serves Java developers for prototyping, but still a feasible tool-chain was missing, like for most academic systems.
This paper presents a practical new tool-chain for the Peer Model consisting of a graphical modelling tool, building on a drawing program that exports XML. A translator parses the XML and translates it into a newly developed domain specific language that is the basis for code generation. One target is a new, formal automaton-based runtime written in the Go programming language. It allows systematic simulation runs of user models. The demo shows a peer competition scenario, where several players play a game, a global state holds the players’ scores, and in addition each peer maintains a decentralized state. Before taking a move in the game, a peer asserts its current local state to be the same like the global one. If this is the case, it carries out its action and distributes the information about it to all other players for further verification. The scenario captures core coordination mechanisms found in blockchain systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Ethereum. https://www.ethereum.org/. Accessed 01 Apr 2019
Flowchart marker and online diagram software (draw.io). https://app.diagrams.net/. Accessed 20 Feb 2020
GreatSPN 3, Universita di Torino, http://www.di.unito.it/greatspn/
UPPAAL 4.015, Uppsala University Sweden (2019). https://uppaal.org/
High-level Petri Nets - Concepts, Definitions and Graphical Notation. Tech. rep., Final Draft International Standard ISO IEC 15909, V. 4.7.1 (2000)
Abrial, J.R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press (2010)
Agha, G.A.: ACTORS: A Model Of Concurrent Computation in Distributed Systems. MIT Press (1990)
Cejka, S.: Enabling scalable collaboration by introducing platform-independent communication for the Peer Model. Master’s thesis, TU Wien (2019)
CraĂź, S.: Secure coordination through fine-grained access control for space-based computing middleware. Ph.D. thesis, TU Wien (2020)
Elaraby, N., Kühn, E., Messinger, A., Radschek, S.T.: Towards a hybrid verification approach. In: Mazzara, M., Ober, I., Salaün, G. (eds.) STAF 2018. LNCS, vol. 11176, pp. 367–386. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-04771-9_27
Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)
Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM (CACM) 35(2), 96–107 (1992)
Group, E.E.U.: Hybrid ertms/etcs level 3: principles. Technical Report, Ref: 16E042, version 1A, Hybrid-ERTMS-ETCS-Level-3 (2017)
Jensen, K., Kristensen, L.M., Wells, L.: Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems. Int. J. Softw. Tool Technol. Transfer (STTT) 9, 213–254 (2007)
Kuehn, E.: Reusable coordination components: reliable development of cooperative information systems. Int. J. Cooperative Inf. Syst. 25(4), 1740001:1–1740001:32 (2016)
Kühn, E.: Flexible transactional coordination in the peer model. In: Dastani, M., Sirjani, M. (eds.) FSEN 2017. LNCS, vol. 10522, pp. 116–131. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68972-2_8
Kuehn, E.: Peer Model: Agile Middleware and Programming Model for the coordination of parallel and distributed flows. Tech. rep, TU Wien, Institute of Computer Languages (2012)
Kühn, E., Craß, S., Joskowicz, G., Marek, A., Scheller, T.: Peer-based programming model for coordination patterns. In: De Nicola, R., Julien, C. (eds.) COORDINATION 2013. LNCS, vol. 7890, pp. 121–135. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38493-6_9
Kuehn, E., CraĂź, S., Schermann, G.: Extending a peer-based coordination model with composable design patterns. In: 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, PDP. IEEE (2015)
Kühn, E., Radschek, S.T.: An initial user study comparing the readability of a graphical coordination model with event-B Notation. In: Cerone, A., Roveri, M. (eds.) SEFM 2017. LNCS, vol. 10729, pp. 574–590. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-74781-1_38
Kuehn, E., Radschek, S.T., Elaraby, N.: Distributed coordination runtime assertions for the Peer Model. In: Di Marzo Serugendo, G., Loreti, M. (eds.) COORDINATION 2018. LNCS, vol. 10852. pp. 200–219, Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92408-3_9
Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)
Petri, C.A.: Kommunikation mit automaten. Ph.D. thesis, Technische Hochschule Darmstadt (1962)
Ratzer, A.V., et al.: CPN tools for editing, simulating, and analysing coloured petri nets. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 450–462. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-44919-1_28
Scheller, T., Kuehn, E.: Automated measurement of API usability: the API concepts framework. Inf. Softw. Technol. 61, 145–162 (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix
A1: Simulation Run
A2: Arbiter Peer Type
Rights and permissions
Copyright information
© 2021 IFIP International Federation for Information Processing
About this paper
Cite this paper
Kuehn, E.M. (2021). A Practical Tool-Chain for the Development of Coordination Scenarios. In: Damiani, F., Dardha, O. (eds) Coordination Models and Languages. COORDINATION 2021. Lecture Notes in Computer Science(), vol 12717. Springer, Cham. https://doi.org/10.1007/978-3-030-78142-2_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-78142-2_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-78141-5
Online ISBN: 978-3-030-78142-2
eBook Packages: Computer ScienceComputer Science (R0)