Advertisement

Towards an Analysis of Dynamic Gossip in Netkat

  • Malvin Gattinger
  • Jana Wagemaker
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11194)

Abstract

In this paper we analyse the dynamic gossip problem using the algebraic network programming language Netkat.

Netkat is a language based on Kleene algebra with tests and describes packets travelling through networks. It has a sound and complete axiomatisation and an efficient coalgebraic decision procedure. Dynamic gossip studies how information spreads through a peer-to-peer network in which links are added dynamically.

In this paper we embed dynamic gossip into Netkat. We show that a reinterpretation of Netkat in which we keep track of the state of switches allows us to model Learn New Secrets, a well-studied protocol for dynamic gossip. We axiomatise this reinterpretation of Netkat and show that it is sound and complete with respect to the packet-processing model, via a translation back to standard Netkat.

Our main result is that many common decision problems about gossip graphs can be reduced to checks of Netkat equivalences. We also implemented the reduction.

Keywords

Dynamic gossip Kleene algebra with tests (KAT) Network programming language NetKAT Peer-to-peer communication 

Notes

Acknowledgements

We received helpful feedback from Jan van Eijck, Tobias Kappé, Jurriaan Rot, Jan Rutten and the anonymous RAMiCS reviewers. The first author was affiliated with the ILLC at the University of Amsterdam during most of this work. The research of the second author is funded by the Dutch NWO project 612.001.210.

References

  1. 1.
    Anderson, C.J., et al.: NetKAT: semantic foundations for networks. In: Proceedings of the 41st ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, POPL 2014, pp. 113–126 (2014). ISBN: 978-1-4503-2544-8. Extended version https://hdl.handle.net/1813/34445.  https://doi.org/10.1145/2535838.2535862
  2. 2.
    Apt, K.R., Grossi, D., van der Hoek, W.: Epistemic protocols for distributed gossiping. In: Proceedings of TARK 2015 (2015). Edited by Ramanujam.  https://doi.org/10.4204/EPTCS.215.5MathSciNetCrossRefGoogle Scholar
  3. 3.
    Apt, K.R., Wojtczak, D. Common knowledge in a logic of gossips. In: Proceedings of TARK 2017 (2017). Edited by Jérôme Lang.  https://doi.org/10.4204/EPTCS.251.2MathSciNetCrossRefGoogle Scholar
  4. 4.
    Attamah, M., van Ditmarsch, H., Grossi, D., van der Hoek, W.: Knowledge and gossip. In: Proceedings of the Twenty-First European Conference on Artificial Intelligence. Frontiers in Artificial Intelligence and Applications, pp. 21–26 (2014). ISBN: 978-1-61499-418-3.  https://doi.org/10.3233/978-1-61499-419-0-21
  5. 5.
    Baltag, A., Christoff, Z., Rendsvig, R.K., Smets, S.: Dynamic epistemic logics of diffusion and prediction in social networks. In: Proceedings of the Twelfth Conference on Logic and the Foundations of Game and Decision Theory (2016). https://is.gd/DiffDEL
  6. 6.
    Beckett, R., Greenberg, M., Walker, D.: Temporal NetKAT. In: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2016, pp. 386–401 (2016). ISBN: 978-1-4503-4261-2.  https://doi.org/10.1145/2908080.2908108
  7. 7.
    van Ditmarsch, H., van Eijck, J., Pardo, P., Ramezanian, R., Schwarzentruber, F.: Dynamic gossip. Bulletin of the Iranian Mathematical Society, Sept 2018. ISSN: 1735-8515, https://doi.org/10.1007/s41980-018-0160-4
  8. 8.
    van Ditmarsch, H., van Eijck, J., Pardo, P., Ramezanian, R., Schwarzentruber, F.: Epistemic protocols for dynamic gossip. J. Appl. Log. 20, 1–31 (2017).  https://doi.org/10.1016/j.jal.2016.12.001MathSciNetCrossRefGoogle Scholar
  9. 9.
    van Ditmarsch, H., Grossi, D., Herzig, A., van der Hoek, W., Kuijer, L.B.: Parameters for epistemic gossip problems. In: Proceedings of the Twelfth Conference on Logic and the Foundations of Game and Decision Theory (2016). https://is.gd/GosPar
  10. 10.
    Foster, N., Kozen, D., Milano, M., Silva, A., Thompson, L.: A coalgebraic decision procedure for NetKAT. In: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, pp. 343–355 (2015). ISBN: 978-1-4503-3300-9.  https://doi.org/10.1145/2676726.2677011
  11. 11.
    Hedetniemi, S.M., Hedetniemi, S.T., Liestman, A.L.: A survey of gossiping and broadcasting in communication networks. Networks 18(4), 319–349 (1988).  https://doi.org/10.1002/net.3230180406MathSciNetCrossRefGoogle Scholar
  12. 12.
    Herzig, A., Maffre, F.: How to share knowledge by gossiping. AI Commun. 30(1), 1–17 (2017).  https://doi.org/10.3233/AIC-170723MathSciNetCrossRefGoogle Scholar
  13. 13.
    Hoare, T., Möller, B., Struth, G., Wehrman, I.: Concurrent kleene algebra and its foundations. J. Log. Algebr. Program. 80(6), 266–296 (2011). Relations and Kleene Algebras in Computer Science. ISSN: 1567–8326.  https://doi.org/10.1016/j.jlap.2011.04.005MathSciNetCrossRefGoogle Scholar
  14. 14.
    Kappé, T., Brunet, P., Silva, A., Zanasi, F.: Concurrent kleene algebra: free model and completeness. In: Ahmed, A. (ed.) Programming Languages and Systems (ESOP 2018), pp. 856–882 (2018). ISBN: 978-3-319-89884-1. https://doi.org/10.1007/978-3-319-89884-1_30CrossRefGoogle Scholar
  15. 15.
    Kozen, D.: Kleene algebra with tests. ACM Trans. Program. Lang. Syst. 19(3), 427–443 (1997).  https://doi.org/10.1145/256167.256195CrossRefzbMATHGoogle Scholar
  16. 16.
    Kozen, D., Smith, F.: Kleene algebra with tests: completeness and decidability. In: Computer Science Logic, pp. 244–259 (1997). Edited by Dirk van Dalen and Marc Bezem. ISBN: 978-3-540-69201-0.  https://doi.org/10.1007/3-540-63172-0_43CrossRefGoogle Scholar
  17. 17.
    McClurg, J., Hojjat, H., Foster, N., Černý, P.: Event-driven network programming. ACM SIGPLAN Not. 51(6), 369–385 (2016).  https://doi.org/10.1145/2908080.2908097. PLDI 2016. ISSN: 0362–1340CrossRefGoogle Scholar
  18. 18.
    Pous, D.: Symbolic algorithms for language equivalence and kleene algebra with tests. In: Proceedings of the 42nd Annual ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, POPL 2015, pp. 357–368. ISBN: 978-1-4503-3300-9.  https://doi.org/10.1145/2676726.2677007
  19. 19.
    Smolka, S. Eliopoulos, S., Foster, N., Guha, A.: A fast compiler for NetKAT. In: Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015, pp. 328–341 (2015). ISBN: 978-1-4503-3669-7.  https://doi.org/10.1145/2784731.2784761
  20. 20.
    Wagemaker, J.: Gossip in NetKAT. Master’s thesis, ILLC, University of Amsterdam (2017). https://eprints.illc.uva.nl/1552/

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.University of GroningenGroningenThe Netherlands
  2. 2.CWIAmsterdamThe Netherlands

Personalised recommendations