Advertisement

On the Undecidability of Asynchronous Session Subtyping

  • Julien Lange
  • Nobuko Yoshida
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10203)

Abstract

Asynchronous session subtyping has been studied extensively in [9, 10, 28, 29, 30, 31] and applied in [23, 32, 33, 35]. An open question was whether this subtyping relation is decidable. This paper settles the question in the negative. To prove this result, we first introduce a new sub-class of two-party communicating finite-state machines (CFSMs), called asynchronous duplex (ADs), which we show to be Turing complete. Secondly, we give a compatibility relation over CFSMs, which is sound and complete wrt. safety for ADs, and is equivalent to the asynchronous subtyping. Then we show that the halting problem reduces to checking whether two CFSMs are in the relation. In addition, we show the compatibility relation to be decidable for three sub-classes of ADs.

Notes

Acknowledgements

We thank A. Scalas, B. Toninho and G. Zavattaro for their comments on earlier versions of this paper, in particular G. Zavattaro for identifying the need for additional blank insertion cycles (in Fig. 3). This work is partially supported by EPSRC EP/K034413/1, EP/K011715/1, EP/L00058X/1, EP/N027833/1 and EP/N028201/1; and by EU FP7 612985 (UPSCALE).

References

  1. 1.
    Ancona, D., Bono, V., Bravetti, M., Campos, J., Castagna, G., Deniélou, P., Gay, S.J., Gesbert, N., Giachino, E., Hu, R., Johnsen, E.B., Martins, F., Mascardi, V., Montesi, F., Neykova, R., Ng, N., Padovani, L., Vasconcelos, V.T., Yoshida, N.: Behavioral types in programming languages. Found. Trends Program. Lang. 3(2–3), 95–230 (2016)CrossRefGoogle Scholar
  2. 2.
    Bartoletti, M., Scalas, A., Tuosto, E., Zunino, R.: Honesty by typing. Log. Meth. Comput. Sci. 12(4) (2016)Google Scholar
  3. 3.
    Bocchi, L., Lange, J., Yoshida, N.: Meeting deadlines together. In: CONCUR 2015, pp. 283–296 (2015)Google Scholar
  4. 4.
    Brand, D., Zafiropulo, P.: On communicating finite-state machines. J. ACM 30(2), 323–342 (1983)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Bravetti, M., Carbone, M., Zavattaro, G.: Undecidability of asynchronous session subtyping. CoRR, abs/1611.05026 (2016)Google Scholar
  6. 6.
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centred programming for web services. In: Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 2–17. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-71316-6_2 CrossRefGoogle Scholar
  7. 7.
    Carbone, M., Honda, K., Yoshida, N.: Structured communication-centered programming for web services. ACM Trans. Program. Lang. Syst. 34(2), 8 (2012)CrossRefMATHGoogle Scholar
  8. 8.
    Cécé, G., Finkel, A.: Verification of programs with half-duplex communication. Inf. Comput. 202(2), 166–190 (2005)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Chen, T.-C., Dezani-Ciancaglini, M., Scalas, A., Yoshida, N.: On the preciseness of subtyping in session types. LMCS (2016)Google Scholar
  10. 10.
    Chen, T.-C., Dezani-Ciancaglini, M., Yoshida, N.: On the preciseness of subtyping in session types. In: PPDP 2014, pp. 146–135. ACM Press (2014)Google Scholar
  11. 11.
    Demangeon, R., Honda, K.: Full abstraction in a subtyped pi-calculus with linear types. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 280–296. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-23217-6_19 CrossRefGoogle Scholar
  12. 12.
    Demangeon, R., Yoshida, N.: On the expressiveness of multiparty sessions. In: Harsha, P., Ramalingam, G. (eds.) FSTTCS 2015. LIPIcs, vol. 45, pp. 560–574. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2015)Google Scholar
  13. 13.
    Deniélou, P., Yoshida, N.: Buffered communication analysis in distributed multiparty sessions. In: CONCUR 2010, pp. 343–357 (2010)Google Scholar
  14. 14.
    Deniélou, P.-M., Yoshida, N.: Multiparty session types meet communicating automata. In: Seidl, H. (ed.) ESOP 2012. LNCS, vol. 7211, pp. 194–213. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28869-2_10 CrossRefGoogle Scholar
  15. 15.
    Deniélou, P., Yoshida, N.: Multiparty compatibility in communicating automata: characterisation and synthesis of global session types. In: ICALP 2013, pp. 174–186 (2013)Google Scholar
  16. 16.
    Dezani-Ciancaglini, M., Ghilezan, S., Jaksic, S., Pantovic, J., Yoshida, N.: Denotational and operational preciseness of subtyping: a roadmap. In: Theory and Practice of Formal Methods - Essays Dedicated to Frank de Boer on the Occasion of His 60th Birthday, pp. 155–172 (2016)Google Scholar
  17. 17.
    Finkel, A., McKenzie, P.: Verifying identical communicating processes is undecidable. Theor. Comput. Sci. 174(1–2), 217–230 (1997)MathSciNetCrossRefMATHGoogle Scholar
  18. 18.
    Gay, S.J.: Subtyping supports safe session substitution. In: A List of Successes That Can Change the World - Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday, pp. 95–108 (2016)Google Scholar
  19. 19.
    Gay, S., Hole, M.: Types and subtypes for client-server interactions. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576, pp. 74–90. Springer, Heidelberg (1999). doi: 10.1007/3-540-49099-X_6 CrossRefGoogle Scholar
  20. 20.
    Gay, S.J., Hole, M.: Subtyping for session types in the pi calculus. Acta Inf. 42(2–3), 191–225 (2005)MathSciNetCrossRefMATHGoogle Scholar
  21. 21.
    Gouda, M.G., Manning, E.G., Yu, Y.: On the progress of communications between two finite state machines. Inf. Control 63(3), 200–216 (1984)MathSciNetCrossRefMATHGoogle Scholar
  22. 22.
    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). doi: 10.1007/BFb0053567 CrossRefGoogle Scholar
  23. 23.
    Hu, R., Yoshida, N.: Hybrid session verification through endpoint API generation. In: FASE 2016, pp. 401–418 (2016)Google Scholar
  24. 24.
    Hüttel, H., Lanese, I., Vasconcelos, V.T., Caires, L., Carbone, M., Deniélou, P., Mostrous, D., Padovani, L., Ravara, A., Tuosto, E., Vieira, H.T., Zavattaro, G.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3 (2016)CrossRefGoogle Scholar
  25. 25.
    Lange, J., Tuosto, E., Yoshida, N.: From communicating machines to graphical choreographies. In: POPL 2015, pp. 221–232 (2015)Google Scholar
  26. 26.
    Lange, J., Yoshida, N.: Characteristic formulae for session types. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 833–850. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49674-9_52 CrossRefGoogle Scholar
  27. 27.
    Lange, J., Yoshida, N.: On the undecidability of asynchronous session subtyping (with appendices). Technical report 2016/9, Imperial College London (2016). https://www.doc.ic.ac.uk/research/technicalreports/2016/DTRS16-9.pdf
  28. 28.
    Mostrous, D.: Session types in concurrent calculi: higher-order processes and objects. PhD thesis, Imperial College London, November 2009Google Scholar
  29. 29.
    Mostrous, D., Yoshida, N.: Session-based communication optimisation for higher-order mobile processes. In: Curien, P.-L. (ed.) TLCA 2009. LNCS, vol. 5608, pp. 203–218. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-02273-9_16 CrossRefGoogle Scholar
  30. 30.
    Mostrous, D., Yoshida, N.: Session typing and asynchronous subtyping for the higher-order \(\uppi \)-calculus. Inf. Comput. 241, 227–263 (2015)MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    Mostrous, D., Yoshida, N., Honda, K.: Global principal typing in partially commutative asynchronous sessions. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 316–332. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-00590-9_23 CrossRefGoogle Scholar
  32. 32.
    Ng, N., Figueiredo Coutinho, J.G., Yoshida, N.: Protocols by default. In: Franke, B. (ed.) CC 2015. LNCS, vol. 9031, pp. 212–232. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-46663-6_11 CrossRefGoogle Scholar
  33. 33.
    Ng, N., Yoshida, N., Honda, K.: Multiparty session C: safe parallel programming with message optimisation. In: Furia, C.A., Nanz, S. (eds.) TOOLS 2012. LNCS, vol. 7304, pp. 202–218. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-30561-0_15 CrossRefGoogle Scholar
  34. 34.
    Takeuchi, K., Honda, K., Kubo, M.: An interaction-based language and its typing system. In: Halatsis, C., Maritsas, D., Philokyprou, G., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, pp. 398–413. Springer, Heidelberg (1994). doi: 10.1007/3-540-58184-7_118 CrossRefGoogle Scholar
  35. 35.
    Yoshida, N., Vasconcelos, V., Paulino, H., Honda, K.: Session-based compilation framework for multicore programming. In: Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) FMCO 2008. LNCS, vol. 5751, pp. 226–246. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-04167-9_12 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  1. 1.Imperial College LondonLondonUK

Personalised recommendations