Abstract
To model the notion of self-adaptiveness for multiparty sessions, we propose a formal framework, where participants can access and modify the global state, in such a way that the whole system can react promptly to unforeseen events by reconfiguring itself. The adaptation strategy is triggered by the overall communication choreography, represented by a global type. When the global type is dynamically updated, its projections define new monitors, which set-up novel communication protocols for the participants. The key result of this paper is that self-adaptations are performed in a type-safe way, while providing a high degree of flexibility. Subject Reduction and Progress properties are proven: any session executes all required communications in a type-safe way and never gets stuck.
Similar content being viewed by others
References
Anderson G, Rathke J (2012) Dynamic software update for message passing programs. In: APLAS’12, LNCS, vol 7705. Springer, Berlin, pp 207–222
Bettini L, Coppo M, D’Antoni L, De Luca M, Dezani-Ciancaglini M, Yoshida N (2008) Global progress in dynamically interleaved multiparty sessions. In: CONCUR’08, LNCS, vol 5201. Springer, Berlin, pp 418–433
Bocchi L, Chen T.C, Demangeon R, Honda K, Yoshida N (2013) Monitoring networks through multiparty session types. In: FMOODS/FORTE’13, LNCS, vol 7892. Springer, Berlin, pp 50–65
Bravetti M, Carbone M, Hildebrandt T, Lanese I, Mauro J, Perez J.A, Zavattaro G (2014) Towards global and local types for adaptation. In: SEFM’13, LNCS, vol 8368, Springer, Berlin, pp 3–14
Bravetti M, Di Giusto C, Pérez J.A, Zavattaro G (2012) Adaptable processes. Log Methods Comput Sci 8(4):1–71
Bravetti M, Zavattaro G (2007) Towards a unifying theory for choreography conformance and contract compliance. In: SC’07, LNCS, vol 4829. Springer, Berlin, pp 34–50
Bruni R, Corradini A, Gadducci F, Lluch-Lafuente A, Vandin A (2012) A Conceptual framework for adaptation. In: FASE’12, LNCS, vol 7212. Springer, Berlin, pp 240–254
Bugliesi M, Castagna G, Crafa S (2004) Access control for mobile agents: the calculus of boxed ambients. ACM Trans Program Lang Syst 26(1):57–124
Carbone M, Honda K, Yoshida N (2012) Structured communication-centered programming for web services. ACM Trans Program Lang Syst 34(2):8:1–8:78
Castagna G, Dezani-Ciancaglini M, Padovani L (2012) On global types and multi-party sessions. Log Methods Comput Sci 8:1–45
Chen TC, Bocchi L, Deniélou P.M, Honda K, Yoshida N (2012) Asynchronous distributed monitoring for multiparty session enforcement. In: TGC’11, LNCS, vol 7173. Springer, Berlin, pp 25–45
Coppo M, Dezani-Ciancaglini M, Venneri B (2014) Self-adaptive monitors for multiparty sessions. In: PDP’14, IEEE, pp 688–696
Coppo M, Dezani-Ciancaglini M, Yoshida N, Padovani L (2014) Global progress for dynamically interleaved multiparty sessions. Math Struct Comput Sci (to appear)
Dalla Preda M, Gabbrielli M, Giallorenzo S, Lanese I, Mauro J (2014) Deadlock freedom by construction for distributed adaptive applications. CoRR. arxiv.org:1407.0970
Dalla Preda M, Giallorenzo S, Lanese I, Mauro J, Gabbrielli M (2014) AIOCJ: a choreographic framework for safe adaptive distributed applications. In: SLE’14, LNCS, vol 8706. Springer, Berlin, pp 161–170
Dalla Preda M, Lanese I, Mauro J, Gabbrielli M (2013) Adaptive choreographies. http://www.cs.unibo.it/lanese/publications/adaptchor.gz
Dalla Preda M, Lanese I, Mauro J, Gabbrielli M, Giallorenzo S (2013) Safe run-time adaptation of distributed systems. http://www.cs.unibo.it/lanese/publications/fulltext/safeadapt.gz
Demangeon R, Honda K (2011) Full abstraction in a subtyped pi-calculus with linear types. In: CONCUR’11, LNCS, vol 6901. Springer, Berlin, pp 280–296
Deniélou P.M, Yoshida N (2011) Dynamic multirole session types. In: POPL’11. ACM Press, New York, pp 435–446
Di Giusto C, Pérez JA (2013) Disciplined structured communications with consistent runtime adaptation. In: SAC’13, ACM Press, New York, pp 1913–1918
Ferrari GL, Moggi E, Pugliese R (2002) Guardians for ambient-based monitoring. ENTCS 66(3):52–75
Garralda P, Compagnoni A.B, Dezani-Ciancaglini M (2006) BASS: boxed ambients with safe sessions. In: PPDP’06, ACM Press, New York, pp 61–72
Gay S, Hole M (2005) Subtyping for session types in the Pi calculus. Acta Inf 42(2/3):191–225
Gay SJ (2008) Bounded polymorphism in session types. Math Struct Comput Sci 18(5):895–930
Ghezzi C, Pradella M, Salvaneschi G (2011) An evaluation of the adaptation capabilities in programming languages. In: SEAMS’11. ACM Press, New York, pp 50–59
Gorla D, Hennessy M, Sassone V (2005) Security policies as membranes in systems for global computing. ENTCS 138(1):23–42
Honda K, Vasconcelos VT, Kubo M (1998) Language primitives and type disciplines for structured communication-based programming. In: ESOP’98, LNCS, vol 1381. Springer, Berlin, pp 22–138
Honda K, Yoshida N, Carbone M (2008) Multiparty asynchronous session types. In: POPL’08, ACM Press, New York, pp 273–284
Kouzapas D, Yoshida N, Honda K (2011) On asynchronous session semantics. In: FMOODS/FORTE’11, LNCS, vol 6722, Springer, Berlin, pp 228–243
Lanese I, Bucchiarone A, Montesi F (2010) A framework for rule-based dynamic adaptation. In: TGC’10, LNCS, vol 6084, Springer, Berlin, pp 284–300
Leite LAF, Oliva GA, Nogueira GM, Gerosa MA, Kon F, Milojicic DS (2013) A systematic literature review of service choreography adaptation. SOCA 7(3):199–216
Mostrous D, Yoshida N, Honda K (2009) Global principal typing in partially commutative asynchronous sessions. In: ESOP’09, LNCS, vol 5502, Springer, Berlin, pp 316–332
Padovani L (2010) Session types = intersection types + union types. In: ITRS’10, EPTCS, vol 45, pp 71–89
Padovani L (2011) Fair subtyping for multi-party session types. In: COORDINATION’11, LNCS, vol 6721, Springer, Berlin, pp 127–141
Padovani L (2013) Fair subtyping for open session types. In: ICALP’13, LNCS, vol 7966, Springer, Berlin. pp 373–384
Psaier H, Juszczyk L, Skopik F, Schall D, Dustdar S (2010) Runtime behavior monitoring and self-adaptation in service-oriented systems. In: SASO’10, IEEE Computer Society, pp 164–173
Vasconcelos VT (2009) Fundamentals of session types. In: SFM’09, LNCS, vol 5569, Springer, Berlin. pp 158–186
Acknowledgments
The authors gratefully thank the anonymous referees for their accurate and enlightening remarks, that strongly improved both the presentation and the technical development. This work was partially supported by EU Collaborative project ASCENS 257414, ICT COST Action IC1201 BETTY, MIUR PRIN Project CINA Prot. 2010LHT4KM and Torino University/Compagnia San Paolo Project SALT.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Coppo, M., Dezani-Ciancaglini, M. & Venneri, B. Self-adaptive multiparty sessions. SOCA 9, 249–268 (2015). https://doi.org/10.1007/s11761-014-0171-9
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-014-0171-9