Event-based run-time adaptation in communication-centric systems

Communication-centric systems are software systems built as assemblies of distributed artifacts that interact following predefined communication protocols. Session-based concurrency is a type-based approach to ensure the conformance of communication-centric systems to such protocols. This paper presents a model of session-based concurrency with mechanisms for run-time adaptation. Our model allows us to specify communication-centric systems whose session behavior can be dynamically updated at run-time. We improve on previous work by proposing an event-based approach: adaptation requests, issued by the system itself or by its context, are assimilated to events which may trigger adaptation routines. These routines exploit type-directed checks to enable the reconfiguration of processes with active protocols. We equip our model with a type system that ensures communication safety and consistency properties: while safety guarantees absence of run-time communication errors, consistency ensures that update actions do not disrupt already established session protocols. We provide soundness results for binary and multiparty protocols.

[1]  Jan Martijn E. M. van der Werf,et al.  Web Services, Formal Methods, and Behavioral Types , 2014, Lecture Notes in Computer Science.

[2]  Ivan Lanese,et al.  AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications , 2014, SLE.

[3]  Luca Padovani,et al.  Global progress for dynamically interleaved multiparty sessions , 2014, Mathematical Structures in Computer Science.

[4]  Jorge A. Pérez,et al.  Session Types with Runtime Adaptation: Overview and Examples , 2013, PLACES.

[5]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[6]  Mario Bravetti,et al.  Adaptable processes , 2011, Log. Methods Comput. Sci..

[7]  Peter Dadam,et al.  Correctness criteria for dynamic changes in workflow systems - a survey , 2004, Data Knowl. Eng..

[8]  Dimitrios Kouzapas,et al.  A study of bisimulation theory for session types , 2013 .

[9]  ROBIN MILNER,et al.  Edinburgh Research Explorer A Calculus of Mobile Processes, I , 2003 .

[10]  Nobuko Yoshida,et al.  Type-Safe Eventful Sessions in Java , 2010, ECOOP.

[11]  Ivan Lanese,et al.  Towards Global and Local Types for Adaptation , 2013, SEFM Workshops.

[12]  Cinzia Di Giusto,et al.  Disciplined structured communications with disciplined runtime adaptation , 2015, Sci. Comput. Program..

[13]  Erhard Rahm,et al.  AGENTWORK: a workflow system supporting rule-based workflow adaptation , 2004, Data Knowl. Eng..

[14]  Nobuko Yoshida,et al.  On Asynchronous Session Semantics , 2011, FMOODS/FORTE.

[15]  Jorge Fox A Formal Orchestration Model for Dynamically Adaptable Services with COWS , 2011 .

[16]  Luca Padovani Session Types = Intersection Types + Union Types , 2010, ITRS.

[17]  Luca Padovani,et al.  Typing Liveness in Multiparty Communicating Systems , 2014, COORDINATION.

[18]  Ilaria Castellani,et al.  Self-Adaptation and Secure Information Flow in Multiparty Structured Communications: A Unified Perspective , 2014, BEAT.

[19]  Mariangiola Dezani-Ciancaglini,et al.  Self-adaptive multiparty sessions , 2014, Service Oriented Computing and Applications.

[20]  Laura Bocchi,et al.  Monitoring Networks through Multiparty Session Types , 2013, FMOODS/FORTE.

[21]  Vasco Thudichum Vasconcelos,et al.  Typing Progress in Communication-Centred Systems , 2013, COORDINATION.

[22]  Nobuko Yoshida,et al.  Multiparty asynchronous session types , 2008, POPL '08.

[23]  Nobuko Yoshida,et al.  On asynchronous eventful session semantics , 2016, Math. Struct. Comput. Sci..

[24]  Simon J. Gay,et al.  Subtyping for session types in the pi calculus , 2005, Acta Informatica.

[25]  João Costa Seco,et al.  Types for Dynamic Reconfiguration , 2006, ESOP.

[26]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[27]  Jorge A. Pérez,et al.  Disciplined structured communications with consistent runtime adaptation , 2013, SAC '13.

[28]  Julian Rathke,et al.  Dynamic Software Update for Message Passing Programs , 2012, APLAS.

[29]  Jorge A. Pérez,et al.  An Event-Based Approach to Runtime Adaptation in Communication-Centric Systems , 2015, WS-FM.

[30]  Reidar Conradi,et al.  Techniques for Process Model Evolution in EPOS , 1993, IEEE Trans. Software Eng..

[31]  ReichertManfred,et al.  Correctness criteria for dynamic changes in workflow systems , 2004 .