Advertisement

Type Checking Liveness for Collaborative Processes with Bounded and Unbounded Recursion

  • Søren Debois
  • Thomas Hildebrandt
  • Tijs Slaats
  • Nobuko Yoshida
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8461)

Abstract

We present the first session typing system guaranteeing response liveness properties for possibly non-terminating communicating processes. The types augment the branch and select types of the standard binary session types with a set of required responses, indicating that whenever a particular label is selected, a set of other labels, its responses, must eventually also be selected. We prove that these extended types are strictly more expressive than standard session types. We provide a type system for a process calculus similar to a subset of collaborative BPMN processes with internal (data-based) and external (event-based) branching, message passing, bounded and unbounded looping. We prove that this type system is sound, i.e., it guarantees request-response liveness for dead-lock free processes. We exemplify the use of the calculus and type system on a concrete example of an infinite state system.

Keywords

Typing System Transition Sequence Require Response Collaborative Process Liveness Property 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Bettini, L., Coppo, M., D’Antoni, L., De Luca, M., Dezani-Ciancaglini, M., Yoshida, N.: Global progress in dynamically interleaved multiparty sessions. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 418–433. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Brill, M., Damm, W., Klose, J., Westphal, B., Wittke, H.: Live sequence charts: An introduction to lines, arrows, and strange boxes in the context of formal verification. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) INT 2004. LNCS, vol. 3147, pp. 374–399. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Carbone, M., Debois, S.: A graphical approach to progress for structured communication in web services. In: ICE, pp. 13–27 (2010)Google Scholar
  4. 4.
    Cheung, S.-C., Giannakopoulou, D., Kramer, J.: Verification of liveness properties using compositional reachability analysis. In: Jazayeri, M. (ed.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301, pp. 227–243. Springer, Heidelberg (1997)Google Scholar
  5. 5.
    Coppo, M., Dezani-Ciancaglini, M., Padovani, L., Yoshida, N.: Inference of global progress properties for dynamically interleaved multiparty sessions. In: De Nicola, R., Julien, C. (eds.) COORDINATION 2013. LNCS, vol. 7890, pp. 45–59. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  6. 6.
    Damm, W., Harel, D.: Lscs: Breathing life into message sequence charts. Formal Methods in System Design 19, 45–80 (2001)CrossRefzbMATHGoogle Scholar
  7. 7.
    Debois, S., Hildebrandt, T., Slaats, T., Yoshida, N.: Type checking liveness for collaborative processes with bounded and unbounded recursion (full version), http://www.itu.dk/~hilde/liveness-full.pdf
  8. 8.
    Deniélou, P.-M., Yoshida, N.: Multiparty session types meet communicating automata. In: Seidl, H. (ed.) Programming Languages and Systems. LNCS, vol. 7211, pp. 194–213. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Deniélou, P.-M., Yoshida, N.: Multiparty compatibility in communicating automata: Characterisation and synthesis of global session types. In: Fomin, F.V., Freivalds, R., Kwiatkowska, M., Peleg, D. (eds.) ICALP 2013, Part II. LNCS, vol. 7966, pp. 174–186. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  10. 10.
    Dezani-Ciancaglini, M., de’Liguoro, U., Yoshida, N.: On progress for structured communications. In: Barthe, G., Fournet, C. (eds.) TGC 2007. LNCS, vol. 4912, pp. 257–275. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Dezani-Ciancaglini, M., Drossopoulou, S., Mostrous, D., Yoshida, N.: Objects and session types. Inf. Comput. 207, 595–641 (2009)CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    Fossati, L., Honda, K., Yoshida, N.: Intensional and extensional characterisation of global progress in the π-calculus. In: Koutny, M., Ulidowski, I. (eds.) CONCUR 2012. LNCS, vol. 7454, pp. 287–301. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  13. 13.
    Gay, S.J., Hole, M.: Subtyping for session types in the pi calculus. Acta Inf. 42, 191–225 (2005)CrossRefzbMATHMathSciNetGoogle Scholar
  14. 14.
    Honda, K., Mukhamedov, A., Brown, G., Chen, T.-C., Yoshida, N.: Scribbling interactions with a formal foundation. In: Natarajan, R., Ojo, A. (eds.) ICDCIT 2011. LNCS, vol. 6536, pp. 55–75. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  15. 15.
    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
  16. 16.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: POPL, pp. 273–284 (2008)Google Scholar
  17. 17.
    Hu, R., Yoshida, N., Honda, K.: Session-based distributed programming in Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 516–541. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  18. 18.
    Kobayashi, N.: A type system for lock-free processes. I&C 177, 122–159 (2002)zbMATHGoogle Scholar
  19. 19.
    Kobayashi, N., Ong, C.-H.L.: A type system equivalent to the modal mu-calculus model checking of higher-order recursion schemes. In: LICS, pp. 179–188 (2009)Google Scholar
  20. 20.
    Mostrous, D., Vasconcelos, V.T.: Session typing for a featherweight Erlang. In: De Meuter, W., Roman, G.-C. (eds.) COORDINATION 2011. LNCS, vol. 6721, pp. 95–109. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  21. 21.
    Object Management Group BPMN Technical Committee, Business Process Model and Notation, v2.0, Webpage (2011), http://www.omg.org/spec/BPMN/2.0/PDF
  22. 22.
    Padovani, L.: Fair subtyping for open session types. In: Fomin, F.V., Freivalds, R., Kwiatkowska, M., Peleg, D. (eds.) ICALP 2013, Part II. LNCS, vol. 7966, pp. 373–384. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  23. 23.
    Roa, J., Chiotti, O., Villarreal, P.: A verification method for collaborative business processes. In: Daniel, F., Barkaoui, K., Dustdar, S. (eds.) BPM Workshops 2011, Part I. LNBIP, vol. 99, pp. 293–305. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  24. 24.
    Vasconcelos, V.: Fundamentals of session types. I&C 217, 52–70 (2012)zbMATHMathSciNetGoogle Scholar
  25. 25.
    Torres Vieira, H., Thudichum Vasconcelos, V.: Typing progress in communication-centred systems. In: De Nicola, R., Julien, C. (eds.) COORDINATION 2013. LNCS, vol. 7890, pp. 236–250. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  26. 26.
    Yoshida, N., Vasconcelos, V.T.: Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. ENTCS 171, 73–93 (2007)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Søren Debois
    • 1
  • Thomas Hildebrandt
    • 1
  • Tijs Slaats
    • 1
    • 2
  • Nobuko Yoshida
    • 3
  1. 1.IT University of CopenhagenCopenhagenDenmark
  2. 2.Exformatics A/SCopenhagenDenmark
  3. 3.Imperial College LondonLondonUK

Personalised recommendations