Skip to main content

A Practical Tool-Chain for the Development of Coordination Scenarios

Graphical Modeler, DSL, Code Generators and Automaton-Based Simulator

  • Conference paper
  • First Online:
Coordination Models and Languages (COORDINATION 2021)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12717))

Included in the following conference series:

  • 657 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The open source tool Draw.io [2] was selected, that can export XML.

  2. 2.

    https://golang.org/.

  3. 3.

    E.g., in case of Byzantine errors [22], the assertion might be violated.

  4. 4.

    gameInfo serves only to make game runs more appealing by giving the players real names.

References

  1. Ethereum. https://www.ethereum.org/. Accessed 01 Apr 2019

  2. Flowchart marker and online diagram software (draw.io). https://app.diagrams.net/. Accessed 20 Feb 2020

  3. GreatSPN 3, Universita di Torino, http://www.di.unito.it/greatspn/

  4. UPPAAL 4.015, Uppsala University Sweden (2019). https://uppaal.org/

  5. High-level Petri Nets - Concepts, Definitions and Graphical Notation. Tech. rep., Final Draft International Standard ISO IEC 15909, V. 4.7.1 (2000)

    Google Scholar 

  6. Abrial, J.R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press (2010)

    Google Scholar 

  7. Agha, G.A.: ACTORS: A Model Of Concurrent Computation in Distributed Systems. MIT Press (1990)

    Google Scholar 

  8. Cejka, S.: Enabling scalable collaboration by introducing platform-independent communication for the Peer Model. Master’s thesis, TU Wien (2019)

    Google Scholar 

  9. CraĂź, S.: Secure coordination through fine-grained access control for space-based computing middleware. Ph.D. thesis, TU Wien (2020)

    Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)

    Article  Google Scholar 

  12. Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM (CACM) 35(2), 96–107 (1992)

    Article  Google Scholar 

  13. Group, E.E.U.: Hybrid ertms/etcs level 3: principles. Technical Report, Ref: 16E042, version 1A, Hybrid-ERTMS-ETCS-Level-3 (2017)

    Google Scholar 

  14. 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)

    Article  Google Scholar 

  15. Kuehn, E.: Reusable coordination components: reliable development of cooperative information systems. Int. J. Cooperative Inf. Syst. 25(4), 1740001:1–1740001:32 (2016)

    Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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

    Chapter  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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

    Chapter  Google Scholar 

  21. 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

  22. Lamport, L., Shostak, R., Pease, M.: The byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)

    Article  Google Scholar 

  23. Petri, C.A.: Kommunikation mit automaten. Ph.D. thesis, Technische Hochschule Darmstadt (1962)

    Google Scholar 

  24. 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

    Chapter  Google Scholar 

  25. Scheller, T., Kuehn, E.: Automated measurement of API usability: the API concepts framework. Inf. Softw. Technol. 61, 145–162 (2015)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eva Maria Kuehn .

Editor information

Editors and Affiliations

Appendices

Appendix

A1: Simulation Run

figure a

A2: Arbiter Peer Type

Fig. 8.
figure 8

Peer Type “Arbiter” (above) and Wiring Types for Arbiter (below).

Rights and permissions

Reprints and permissions

Copyright information

© 2021 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics