F. Barbanera, M. Dezani-Ciancaglini, Ugo de'Liguoro
{"title":"Compliance for reversible client/server interactions","authors":"F. Barbanera, M. Dezani-Ciancaglini, Ugo de'Liguoro","doi":"10.4204/EPTCS.162.5","DOIUrl":null,"url":null,"abstract":"In the setting of session behaviours, we study an extension of the concept of compliance when a disciplined form of backtracking is present. After adding checkpoints to the syntax of session behaviours, we formalise the operational semantics via a LTS, and define a natural notion of checkpoint compliance. We then obtain a co-inductive characterisation of such compliance relation, and an axiomatic presentation that is proved to be sound and complete. As a byproduct we get a decision procedure for the new compliance, being the axiomatic system algorithmic. 1 Introduction. In human as well as automatic negotiations, an interesting feature is the ability of rolling back to some previous point, undoing previous choices and possibly trying a different path. Rollbacks are familiar to the users of web browsers, and so are also the troubles that these might cause during “undisciplined” interactions. Clicking the “back” button, or going to some previous point in the chronology when we are in the middle of a transaction, say the booking of a flight, can be as smart as dangerous. In any case it is surely a behaviour that service programmers want to discipline. Also the converse has to be treated with care: a server discovering that a service b ecomes available after having started a conversation could take advantage from some kind of rolling backs. However, such a server would be quite unfair if the rollbacks were completely hidden from the client. Adding rollbacks to interaction protocols requires a sophisticated concept of client/server compliance. In this paper we investigate protocols admitting a simple, though non trivial form of reversibility in the framework of the theory of contracts introduced in [4] and developed in a series of papers, e.g. [5]. We focus here on the scenario of client/server architectures, where services stored in a repository are queried by clients to establish two-sided communications, and the central concept is that of compliance. More precisely, we consider the formalism of session behaviours as introduced in [2, 1, 3], but without delegation. This is a formalism interpreting the sessio n types, introduced by Honda et al. in [7], into a subset of CCS without τ. We extend the session behaviours syntax by means of markers that we call checkpoints; these are intended as pointers to the last place where eithe r the client or the server can roll back at any time. We investigate which constraints must be imposed to obtain a safe notion of client/server interaction in the new scenario, by defining a model in the form of a LTS, and by characterising the resulting concept of compliance both coinductively and axiomatically. Since the axiomatic system is algorithmic that is decidable, the compliance of behaviours with checkpoints is decidable. Before entering into the formal development of session behaviours with checkpoints, we illustrate the basic concepts by discussing a few examples. Suppose that the client is a customer willing to arrange ∗ This work was partially supported by EU Collaborative project ASCENS 257414, ICT COST Action IC1201 BETTY,","PeriodicalId":53853,"journal":{"name":"DOWN BEAT","volume":"96 1","pages":"35-42"},"PeriodicalIF":0.1000,"publicationDate":"2014-08-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"DOWN BEAT","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4204/EPTCS.162.5","RegionNum":3,"RegionCategory":"艺术学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"0","JCRName":"MUSIC","Score":null,"Total":0}
引用次数: 14
Abstract
In the setting of session behaviours, we study an extension of the concept of compliance when a disciplined form of backtracking is present. After adding checkpoints to the syntax of session behaviours, we formalise the operational semantics via a LTS, and define a natural notion of checkpoint compliance. We then obtain a co-inductive characterisation of such compliance relation, and an axiomatic presentation that is proved to be sound and complete. As a byproduct we get a decision procedure for the new compliance, being the axiomatic system algorithmic. 1 Introduction. In human as well as automatic negotiations, an interesting feature is the ability of rolling back to some previous point, undoing previous choices and possibly trying a different path. Rollbacks are familiar to the users of web browsers, and so are also the troubles that these might cause during “undisciplined” interactions. Clicking the “back” button, or going to some previous point in the chronology when we are in the middle of a transaction, say the booking of a flight, can be as smart as dangerous. In any case it is surely a behaviour that service programmers want to discipline. Also the converse has to be treated with care: a server discovering that a service b ecomes available after having started a conversation could take advantage from some kind of rolling backs. However, such a server would be quite unfair if the rollbacks were completely hidden from the client. Adding rollbacks to interaction protocols requires a sophisticated concept of client/server compliance. In this paper we investigate protocols admitting a simple, though non trivial form of reversibility in the framework of the theory of contracts introduced in [4] and developed in a series of papers, e.g. [5]. We focus here on the scenario of client/server architectures, where services stored in a repository are queried by clients to establish two-sided communications, and the central concept is that of compliance. More precisely, we consider the formalism of session behaviours as introduced in [2, 1, 3], but without delegation. This is a formalism interpreting the sessio n types, introduced by Honda et al. in [7], into a subset of CCS without τ. We extend the session behaviours syntax by means of markers that we call checkpoints; these are intended as pointers to the last place where eithe r the client or the server can roll back at any time. We investigate which constraints must be imposed to obtain a safe notion of client/server interaction in the new scenario, by defining a model in the form of a LTS, and by characterising the resulting concept of compliance both coinductively and axiomatically. Since the axiomatic system is algorithmic that is decidable, the compliance of behaviours with checkpoints is decidable. Before entering into the formal development of session behaviours with checkpoints, we illustrate the basic concepts by discussing a few examples. Suppose that the client is a customer willing to arrange ∗ This work was partially supported by EU Collaborative project ASCENS 257414, ICT COST Action IC1201 BETTY,