Global Protocol Implementations via Attribute-Based Communication

Chapter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9465)

Abstract

Several type systems have been developed to address the conformance between specifications and implementations, where types are specifications and type-checking ensures the conformance relation. In this paper, we take a different perspective and assume that programming takes place only at the specification level, by using a type language that captures protocols of interaction. Specifications provide the global interaction scheme and lay the basis for an automatic (provably correct) generation of implementations. The latter is obtained by a translation into a rich formalism that relies on attribute-based communication, whose expressiveness permits modeling in a natural way the symmetric link between message recipient and emitter.

Notes

Acknowledgments

We would like to thank the anonymous reviewers for their feedback and insightful remarks, which helped us to improve the quality of this document. Also, we would like to thank the editors of this volume, Chiara, Corrado and Giangi, for giving us the possibility of contributing to this volume. Most of all, we would like to thank Pierpaolo that with his dedication to research and his quest for scientific rigor has been an example for generations of scholars.

References

  1. 1.
    Alrahman, Y.A., De Nicola, R., Loreti, M.: On expressiveness and behavioural theory of attribute-based communication. Technical Report CSA #10, IMT Institute for Advanced Studies Lucca (2015)Google Scholar
  2. 2.
    Alrahman, Y.A., De Nicola, R., Loreti, M., Tiezzi, F., Vigo, R.: A calculus for attribute-based communication. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, SAC 2015, pp. 1840–1845. ACM (2015)Google Scholar
  3. 3.
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centered programming for web services. ACM Trans. Program. Lang. Syst. 34(2), 8 (2012)CrossRefMATHGoogle Scholar
  4. 4.
    Carbone, M., Montesi, F.: Deadlock-freedom-by-design: multiparty asynchronous global programming. In: The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2013, pp. 263–274. ACM (2013)Google Scholar
  5. 5.
    Castellani, I., Dezani-Ciancaglini, M., Pérez, J.A.: Self-adaptation and secure information flow in multiparty structured communications: a unified perspective. In: Proceedings Third Workshop on Behavioural Types, BEAT 2014. EPTCS, vol. 162, pp 9–18 (2014)Google Scholar
  6. 6.
    Coppo, M., Dezani-Ciancaglini, M., Venneri, B.: Self-adaptive monitors for multiparty sessions. In: Proceedings of the 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, PDP 2014, pp. 688–696. IEEE Computer Society (2014)Google Scholar
  7. 7.
    Preda, M.D., Gabbrielli, M., Giallorenzo, S., Lanese, I., Mauro, J.: Dynamic choreographies. In: Holvoet, T., Viroli, M. (eds.) COORDINATION 2015. LNCS, vol. 9037, pp. 67–82. Springer, Heidelberg (2015)Google Scholar
  8. 8.
    Preda, M.D., Giallorenzo, S., Lanese, I., Mauro, J., Gabbrielli, M.: AIOCJ: a choreographic framework for safe adaptive distributed applications. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 161–170. Springer, Heidelberg (2014)Google Scholar
  9. 9.
    De Nicola, R.: Extensional equivalences for transition systems. Acta Inf. 24(2), 211–237 (1987)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  11. 11.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, pp. 273–284. ACM (2008)Google Scholar
  12. 12.
    Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the gap between interaction- and process-oriented choreographies. In: Proceedings of the Sixth IEEE International Conference on Software Engineering and Formal Methods, SEFM 2008, pp. 323–332. IEEE Computer Society (2008)Google Scholar
  13. 13.
    Lange, J., Tuosto, E., Yoshida, N.: From communicating machines to graphical choreographies. In: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, pp. 221–232. ACM (2015)Google Scholar
  14. 14.
    Montesi, F.: Kickstarting choreographic programming. CoRR, abs/1502.02519 (2015)Google Scholar
  15. 15.
    van Glabbeek, R.J.: The linear time - branching time spectrum. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR ’90 Theories of Concurrency: Unification and Extension. LNCS, vol. 458, pp. 278–297. Springer, Heidelberg (1990)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.IMT Institute for Advanced Studies LuccaLuccaItaly

Personalised recommendations