orchestrated compliance for session-based client/server...
TRANSCRIPT
![Page 1: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/1.jpg)
Orchestrated compliancefor session-based client/server interactions
Steffen van Bakel, Franco Barbanera, Ugo de’ Liguoro
Department of Computing, Imperial College LondonDip. di Matematica e Informatica Universita di Catania
Dip. di Informatica, Universita di Torino
ICE 2015, Grenoble, June 4 2015
![Page 2: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/2.jpg)
Overview
Session Contracts and Compliance
Orchestrated Compliance
Decidability Results
![Page 3: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/3.jpg)
Overview
Session Contracts and Compliance
Orchestrated Compliance
Decidability Results
![Page 4: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/4.jpg)
Overview
Session Contracts and Compliance
Orchestrated Compliance
Decidability Results
![Page 5: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/5.jpg)
Overview
Session Contracts and Compliance
Orchestrated Compliance
Decidability Results
![Page 6: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/6.jpg)
(first-order) Session-Contracts
A Contract is the abstract description of the behaviour of either aclient or a server (roughly a CCS term without parallel)
Definition
Session Contracts: a ”session” restriction of contracts.
σ, τ ::= 1 success| a1.σ1 + · · ·+ an.σn external choice| a1.σ1 ⊕ · · · ⊕ an.σn internal choice| x variable| rec x .σ recursion
the ai and the ai are, respectively, pairwise distinctrecursion is guarded.
![Page 7: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/7.jpg)
(first-order) Session-Contracts
A Contract is the abstract description of the behaviour of either aclient or a server (roughly a CCS term without parallel)
Definition
Session Contracts: a ”session” restriction of contracts.
σ, τ ::= 1 success| a1.σ1 + · · ·+ an.σn external choice| a1.σ1 ⊕ · · · ⊕ an.σn internal choice| x variable| rec x .σ recursion
the ai and the ai are, respectively, pairwise distinctrecursion is guarded.
![Page 8: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/8.jpg)
(first-order) Session-Contracts
A Contract is the abstract description of the behaviour of either aclient or a server (roughly a CCS term without parallel)
Definition
Session Contracts: a ”session” restriction of contracts.
σ, τ ::= 1 success| a1.σ1 + · · ·+ an.σn external choice| a1.σ1 ⊕ · · · ⊕ an.σn internal choice| x variable| rec x .σ recursion
the ai and the ai are, respectively, pairwise distinctrecursion is guarded.
![Page 9: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/9.jpg)
(first-order) Session-Contracts
A Contract is the abstract description of the behaviour of either aclient or a server (roughly a CCS term without parallel)
Definition
Session Contracts: a ”session” restriction of contracts.
σ, τ ::= 1 success| a1.σ1 + · · ·+ an.σn external choice| a1.σ1 ⊕ · · · ⊕ an.σn internal choice| x variable| rec x .σ recursion
the ai and the ai are, respectively, pairwise distinctrecursion is guarded.
![Page 10: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/10.jpg)
(first-order) Session-Contracts
Used also to model and investigate session types and their subtyperelation:
References
Bernardi and Hennessy: Modelling session types usingcontracts
Bartoletti, Scalas and Zunino A semantic deconstruction ofsession types.
Barbanera and de’ Liguoro: Sub-behaviour relations forsession-based client/server systems (with higher-order)
![Page 11: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/11.jpg)
(first-order) Session-Contracts
Used also to model and investigate session types and their subtyperelation:
References
Bernardi and Hennessy: Modelling session types usingcontracts
Bartoletti, Scalas and Zunino A semantic deconstruction ofsession types.
Barbanera and de’ Liguoro: Sub-behaviour relations forsession-based client/server systems (with higher-order)
![Page 12: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/12.jpg)
(first-order) Session-Contracts
Used also to model and investigate session types and their subtyperelation:
References
Bernardi and Hennessy: Modelling session types usingcontracts
Bartoletti, Scalas and Zunino A semantic deconstruction ofsession types.
Barbanera and de’ Liguoro: Sub-behaviour relations forsession-based client/server systems (with higher-order)
![Page 13: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/13.jpg)
LTS’s
As usual:
For session contracts:
a1.σ1 ⊕ · · · ⊕ an.σn −→ ak .σk a.σa−→ σ
a1.σ1 + · · ·+ an.σnak−→ σk
we equaterec x .σ and σ{rec x .σ/x}
For Client-Server pairs:
ρα−→ ρ′ σ
α−→ σ′
ρ‖σ −→‖ ρ′‖σ′
ρ −→ ρ′
ρ‖σ −→‖ ρ′‖σ
σ −→ σ′
ρ‖σ −→‖ ρ‖σ′
where α ∈ N ∪N and α is the usual involution: α = α.
![Page 14: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/14.jpg)
LTS’s
As usual:For session contracts:
a1.σ1 ⊕ · · · ⊕ an.σn −→ ak .σk a.σa−→ σ
a1.σ1 + · · ·+ an.σnak−→ σk
we equaterec x .σ and σ{rec x .σ/x}
For Client-Server pairs:
ρα−→ ρ′ σ
α−→ σ′
ρ‖σ −→‖ ρ′‖σ′
ρ −→ ρ′
ρ‖σ −→‖ ρ′‖σ
σ −→ σ′
ρ‖σ −→‖ ρ‖σ′
where α ∈ N ∪N and α is the usual involution: α = α.
![Page 15: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/15.jpg)
LTS’s
As usual:For session contracts:
a1.σ1 ⊕ · · · ⊕ an.σn −→ ak .σk a.σa−→ σ
a1.σ1 + · · ·+ an.σnak−→ σk
we equaterec x .σ and σ{rec x .σ/x}
For Client-Server pairs:
ρα−→ ρ′ σ
α−→ σ′
ρ‖σ −→‖ ρ′‖σ′
ρ −→ ρ′
ρ‖σ −→‖ ρ′‖σ
σ −→ σ′
ρ‖σ −→‖ ρ‖σ′
where α ∈ N ∪N and α is the usual involution: α = α.
![Page 16: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/16.jpg)
Compliance
A client complies with a server if all her requirements are fulfilled
by reaching the success state (1) or
by running an infinite interaction without ever getting stuck
A client that does not comply with its server may get stuck
Formally, ρ complies with σ (ρ a σ) if
∀ρ′, σ′. ρ‖σ =⇒ ρ′‖σ′ 6−→ ⇒ ρ′ = 1
![Page 17: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/17.jpg)
Compliance
A client complies with a server if all her requirements are fulfilled
by reaching the success state (1) or
by running an infinite interaction without ever getting stuck
A client that does not comply with its server may get stuck
Formally, ρ complies with σ (ρ a σ) if
∀ρ′, σ′. ρ‖σ =⇒ ρ′‖σ′ 6−→ ⇒ ρ′ = 1
![Page 18: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/18.jpg)
Compliance
MeteoDataProcessingSystem WeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.temp.hum.x
MDPS a WS
![Page 19: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/19.jpg)
Compliance
MeteoDataProcessingSystem
WeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.temp.hum.x
MDPS a WS
![Page 20: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/20.jpg)
Compliance
MeteoDataProcessingSystem
WeatherStation
rec x .
rec x .
tempReq.humReq.temp.hum.x
tempReq.humReq.temp.hum.x
MDPS a WS
![Page 21: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/21.jpg)
Compliance
MeteoDataProcessingSystem WeatherStation
rec x .
rec x .
tempReq.humReq.temp.hum.x
tempReq.humReq.temp.hum.x
MDPS a WS
![Page 22: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/22.jpg)
Compliance
MeteoDataProcessingSystem WeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.temp.hum.x
MDPS a WS
![Page 23: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/23.jpg)
Compliance
MeteoDataProcessingSystem WeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.temp.hum.x
MDPS a WS
![Page 24: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/24.jpg)
Compliance
MeteoDataProcessingSystem newWeatherStation
rec x . rec x .tempReq.humReq...x tempReq.humReq.
(temp.hum.wind.x
...x)
MDPS 6a newWS
![Page 25: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/25.jpg)
Compliance
MeteoDataProcessingSystem
newWeatherStation
rec x . rec x .tempReq.humReq...x tempReq.humReq.
(temp.hum.wind.x
...x)
MDPS 6a newWS
![Page 26: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/26.jpg)
Compliance
MeteoDataProcessingSystem
newWeatherStation
rec x .
rec x .
tempReq.humReq.temp.hum.x
tempReq.humReq.(temp.hum.wind.x⊕hum.temp.wind.x)
MDPS 6a newWS
![Page 27: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/27.jpg)
Compliance
MeteoDataProcessingSystem newWeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.
(temp.hum.wind.x⊕hum.temp.wind.x)
MDPS 6a newWS
![Page 28: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/28.jpg)
Compliance
MeteoDataProcessingSystem newWeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.
(temp.hum.wind.x⊕hum.temp.wind.x)
MDPS 6a newWS
![Page 29: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/29.jpg)
Compliance
MeteoDataProcessingSystem newWeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.
(temp.hum.wind.x⊕hum.temp.wind.x)
MDPS 6a newWS
![Page 30: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/30.jpg)
Compliance
MeteoDataProcessingSystem newWeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.
(temp.hum.wind.x⊕hum.temp.wind.x)
MDPS 6a newWS
![Page 31: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/31.jpg)
Compliance
MeteoDataProcessingSystem newWeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.
(temp.hum.wind.x⊕hum.temp.wind.x)
MDPS 6a newWS
![Page 32: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/32.jpg)
Compliance
MeteoDataProcessingSystem newWeatherStation
rec x . rec x .tempReq.humReq.temp.hum.x tempReq.humReq.
(temp.hum.wind.x⊕hum.temp.wind.x)
MDPS 6a newWS
![Page 33: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/33.jpg)
Orchestrated interactions
MDPS � f � WS
f is a process mediating between the client and the server(sort of an ”active” filter)
with buffering capabilities
without any nondeterminism of its own
Inspired by:
Luca Padovani :
Contract-Based Discovery of Web Services Modulo Simple Orchestrators.
TCS
general contracts
bounded buffers
![Page 34: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/34.jpg)
Orchestrated interactions
MDPS � f � WS
f is a process mediating between the client and the server(sort of an ”active” filter)
with buffering capabilities
without any nondeterminism of its own
Inspired by:
Luca Padovani :
Contract-Based Discovery of Web Services Modulo Simple Orchestrators.
TCS
general contracts
bounded buffers
![Page 35: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/35.jpg)
Orchestrated interactions
MDPS � f � WS
f is a process mediating between the client and the server(sort of an ”active” filter)
with buffering capabilities
without any nondeterminism of its own
Inspired by:
Luca Padovani :
Contract-Based Discovery of Web Services Modulo Simple Orchestrators.
TCS
general contracts
bounded buffers
![Page 36: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/36.jpg)
Orchestrated interactions
MDPS � f � WS
f is a process mediating between the client and the server(sort of an ”active” filter)
with buffering capabilities
without any nondeterminism of its own
Inspired by:
Luca Padovani :
Contract-Based Discovery of Web Services Modulo Simple Orchestrators.
TCS
general contracts
bounded buffers
![Page 37: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/37.jpg)
Orchestrated interactions
MDPS � f � WS
f is a process mediating between the client and the server(sort of an ”active” filter)
with buffering capabilities
without any nondeterminism of its own
Inspired by:
Luca Padovani :
Contract-Based Discovery of Web Services Modulo Simple Orchestrators.
TCS
general contracts
bounded buffers
![Page 38: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/38.jpg)
Orchestrated interactions
MDPS � f � WS
f is a process mediating between the client and the server(sort of an ”active” filter)
with buffering capabilities
without any nondeterminism of its own
Inspired by:
Luca Padovani :
Contract-Based Discovery of Web Services Modulo Simple Orchestrators.
TCS
general contracts
bounded buffers
![Page 39: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/39.jpg)
Orchestrated interactions
MDPS � f � WS
f is a process mediating between the client and the server(sort of an ”active” filter)
with buffering capabilities
without any nondeterminism of its own
Inspired by:
Luca Padovani :
Contract-Based Discovery of Web Services Modulo Simple Orchestrators.
TCS
general contracts
bounded buffers
![Page 40: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/40.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 41: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/41.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 42: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/42.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway.
(Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 43: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/43.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 44: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/44.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.
(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 45: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/45.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 46: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/46.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.
(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 47: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/47.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 48: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/48.jpg)
Session Orchestrators
Orchestrators’ actions:
〈a, a〉 the orchestrator gets a from the client andimmediately delivers it to the server in a synchronousway. (Similarly for 〈a, a〉).
〈a, ε〉 the orchestrator gets a from the client and stores itin the client-to-server buffer.(Similarly for 〈ε, a〉, using the server-to-client buffer).
〈a, ε〉 the orchestrator takes a from the server-to-clientbuffer and sends it to the client.(Similarly for 〈ε, a〉, using the client-to-server buffer).
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 49: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/49.jpg)
Orchestrated interactions
MDPS f WS
hum
wind
and so on ...
f = rec x ..〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 50: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/50.jpg)
Orchestrated interactions
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 51: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/51.jpg)
Orchestrated interactions
!tempReq ?tempReq
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 52: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/52.jpg)
Orchestrated interactions
?tempReq
MDPS tempReqB f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 53: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/53.jpg)
Orchestrated interactions
?tempReq
MDPS f tempReqB WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 54: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/54.jpg)
Orchestrated interactions
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 55: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/55.jpg)
Orchestrated interactions
!humReq ?humReq
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 56: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/56.jpg)
Orchestrated interactions
?humReq
MDPS humReqB f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 57: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/57.jpg)
Orchestrated interactions
?humReq
MDPS f humReqB WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 58: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/58.jpg)
Orchestrated interactions
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 59: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/59.jpg)
Orchestrated interactions
?temp !hum
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 60: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/60.jpg)
Orchestrated interactions
?temp
MDPS f Chum WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 61: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/61.jpg)
Orchestrated interactions
?temp
MDPS f WShum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 62: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/62.jpg)
Orchestrated interactions
?temp !temp
MDPS f WShum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 63: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/63.jpg)
Orchestrated interactions
?temp
MDPS f Ctemp WShum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 64: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/64.jpg)
Orchestrated interactions
?temp
MDPS Ctemp f WShum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 65: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/65.jpg)
Orchestrated interactions
MDPS f WShum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 66: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/66.jpg)
Orchestrated interactions
?hum
MDPS f WShum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 67: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/67.jpg)
Orchestrated interactions
?hum
MDPS Chum f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 68: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/68.jpg)
Orchestrated interactions
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 69: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/69.jpg)
Orchestrated interactions
!wind
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 70: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/70.jpg)
Orchestrated interactions
MDPS f Cwind WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 71: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/71.jpg)
Orchestrated interactions
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 72: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/72.jpg)
Orchestrated interactions
!tempReq ?tempReq
MDPS f WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 73: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/73.jpg)
Orchestrated interactions
?tempReq
MDPS tempReqBf WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 74: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/74.jpg)
Orchestrated interactions
etc. etc.
MDPS etc. f etc. WS
hum
wind
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 75: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/75.jpg)
Orchestrated interactions
etc.
MDPS etc. f etc. WS
hum
wind wind· · ·
and so on ...
f = rec x .〈tempReq, tempReq〉.〈humReq, humReq〉.(〈temp, temp〉.〈hum, hum〉.〈ε, wind〉.x∨〈ε, hum〉.〈temp, temp〉.〈hum, ε〉.〈ε, wind〉.x)
![Page 76: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/76.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 77: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/77.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:
Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 78: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/78.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 79: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/79.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 80: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/80.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 81: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/81.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 82: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/82.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 83: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/83.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 84: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/84.jpg)
Orchestrators Sintax
Enforcing the ”session viewpoint”:Nondeterminism due only to client and server behaviours
only external choice:f ∨ g
no external choice on outputs:
7 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
same ”direction” for prefixes of choices:
7 〈a, ε〉.f ′ ∨ 〈ε, b〉.g ′
3 〈a, ε〉.f ′ ∨ 〈b, ε〉.g ′
![Page 85: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/85.jpg)
Orchestrators LTS
Let µ be an orchestration action:
µ.fµ7−→ f
fµ7−→ f ′
f ∨ gµ7−→ f ′
gµ7−→ g ′
f ∨ gµ7−→ g ′
if fµ17−→ f1
µ27−→ f2 . . .µn7−→ fn
from the state of the buffers of f and from µ1 . . . µn we can getthe state of the buffers of fn.
![Page 86: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/86.jpg)
Orchestrators LTS
Let µ be an orchestration action:
µ.fµ7−→ f
fµ7−→ f ′
f ∨ gµ7−→ f ′
gµ7−→ g ′
f ∨ gµ7−→ g ′
if fµ17−→ f1
µ27−→ f2 . . .µn7−→ fn
from the state of the buffers of f and from µ1 . . . µn we can getthe state of the buffers of fn.
![Page 87: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/87.jpg)
Orchestrated Client/Server Systems
ρ ‖f σ
ρα−→ ρ′ f
〈α,α〉7−→ f ′ σα−→ σ′
ρ ‖f σ〈α,α〉−→ ρ′ ‖f ′ σ′
ρα−→ ρ′ f
〈α,ε〉7−→ f ′
ρ ‖f σ〈a,ε〉−→ ρ′ ‖f ′ σ
f〈ε,α〉7−→ f ′ σ
α−→ σ′
ρ ‖f σ〈ε,a〉−→ ρ ‖f ′ σ′
![Page 88: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/88.jpg)
Orchestrated Client/Server Systems
ρ ‖f σ
ρα−→ ρ′ f
〈α,α〉7−→ f ′ σα−→ σ′
ρ ‖f σ〈α,α〉−→ ρ′ ‖f ′ σ′
ρα−→ ρ′ f
〈α,ε〉7−→ f ′
ρ ‖f σ〈a,ε〉−→ ρ′ ‖f ′ σ
f〈ε,α〉7−→ f ′ σ
α−→ σ′
ρ ‖f σ〈ε,a〉−→ ρ ‖f ′ σ′
![Page 89: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/89.jpg)
Orchestrated Client/Server Systems
ρ ‖f σ
ρα−→ ρ′ f
〈α,α〉7−→ f ′ σα−→ σ′
ρ ‖f σ〈α,α〉−→ ρ′ ‖f ′ σ′
ρα−→ ρ′ f
〈α,ε〉7−→ f ′
ρ ‖f σ〈a,ε〉−→ ρ′ ‖f ′ σ
f〈ε,α〉7−→ f ′ σ
α−→ σ′
ρ ‖f σ〈ε,a〉−→ ρ ‖f ′ σ′
![Page 90: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/90.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
![Page 91: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/91.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
![Page 92: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/92.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
![Page 93: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/93.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7
f : a aa b
not allowed
where f = 〈a, .〉ε
![Page 94: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/94.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7 f : a aa b not allowedwhere f = 〈a, .〉ε
![Page 95: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/95.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7
f : a.b aa a.c .d
not allowed
where f = 〈a, a〉.〈b, ε〉
![Page 96: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/96.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7 f : a.b aa a.c .d not allowedwhere f = 〈a, a〉.〈b, ε〉
![Page 97: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/97.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7
f : rec x .a.c .x aa rec x .c .x
not allowed
where f = rec x .〈a, ε〉.〈c, c〉.x
![Page 98: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/98.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7 f : rec x .a.c .x aa rec x .c .x not allowedwhere f = rec x .〈a, ε〉.〈c, c〉.x
![Page 99: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/99.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7
f : a.b aa rec x .c .b.x
not allowed
where f = 〈a, ε〉.rec x .〈ε, c〉.〈ε, b〉.x
![Page 100: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/100.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
7 f : a.b aa rec x .c .b.x not allowedwhere f = 〈a, ε〉.rec x .〈ε, c〉.〈ε, b〉.x
![Page 101: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/101.jpg)
Orchestrated Compliance (tentative)
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
Too Weak!
We must consider only well behaved (respectful) orchestrators.
![Page 102: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/102.jpg)
Respectful Orchestrators
A respectful orchestrator is
sound: it never sends an element a to a server or to a clientif the a has not been previously received.
client-respectful: all outputs from the client must be eventuallydelivered
not definitely server-inputted: it does not just accepts inputsfrom the server indefinitely from a certain point onBUT it can accept an unbounded number of inputsfrom the server(i.e. wind from WS in the metereological example)
![Page 103: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/103.jpg)
Respectful Orchestrators
A respectful orchestrator is
sound: it never sends an element a to a server or to a clientif the a has not been previously received.
client-respectful: all outputs from the client must be eventuallydelivered
not definitely server-inputted: it does not just accepts inputsfrom the server indefinitely from a certain point onBUT it can accept an unbounded number of inputsfrom the server(i.e. wind from WS in the metereological example)
![Page 104: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/104.jpg)
Respectful Orchestrators
A respectful orchestrator is
sound: it never sends an element a to a server or to a clientif the a has not been previously received.
client-respectful: all outputs from the client must be eventuallydelivered
not definitely server-inputted: it does not just accepts inputsfrom the server indefinitely from a certain point onBUT it can accept an unbounded number of inputsfrom the server(i.e. wind from WS in the metereological example)
![Page 105: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/105.jpg)
Respectful Orchestrators
A respectful orchestrator is
sound: it never sends an element a to a server or to a clientif the a has not been previously received.
client-respectful: all outputs from the client must be eventuallydelivered
not definitely server-inputted: it does not just accepts inputsfrom the server indefinitely from a certain point onBUT it can accept an unbounded number of inputsfrom the server(i.e. wind from WS in the metereological example)
![Page 106: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/106.jpg)
Respectful Orchestrators
A respectful orchestrator is
sound: it never sends an element a to a server or to a clientif the a has not been previously received.
client-respectful: all outputs from the client must be eventuallydelivered
not definitely server-inputted: it does not just accepts inputsfrom the server indefinitely from a certain point on
BUT it can accept an unbounded number of inputsfrom the server(i.e. wind from WS in the metereological example)
![Page 107: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/107.jpg)
Respectful Orchestrators
A respectful orchestrator is
sound: it never sends an element a to a server or to a clientif the a has not been previously received.
client-respectful: all outputs from the client must be eventuallydelivered
not definitely server-inputted: it does not just accepts inputsfrom the server indefinitely from a certain point onBUT it can accept an unbounded number of inputsfrom the server(i.e. wind from WS in the metereological example)
![Page 108: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/108.jpg)
Orchestrated Compliance [right one]
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
![Page 109: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/109.jpg)
Orchestrated Compliance [right one]
f : ρ aa σ if :
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
![Page 110: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/110.jpg)
Orchestrated Compliance [right one]
f : ρ aa σ if f is respectful and:
ρ‖f σµ
=⇒ ρ′‖f ′σ′ 6−→ implies ρ′ = 1.
ρ aa σ if ∃f [f : ρ aa σ].
![Page 111: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/111.jpg)
Decidability of f : ρ aa σ
Theorem
Respectfulness is a decidable property of orchestrators
Decidability of f : ρ aa σ obtained by a formal system B such that
Theorem
The judgment ∅ B f : ρ aa σ is derivableif and only iff : ρ aa σ
and such that
Theorem
Proof search in B is terminating.
![Page 112: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/112.jpg)
Decidability of f : ρ aa σ
Theorem
Respectfulness is a decidable property of orchestrators
Decidability of f : ρ aa σ obtained by a formal system B such that
Theorem
The judgment ∅ B f : ρ aa σ is derivableif and only iff : ρ aa σ
and such that
Theorem
Proof search in B is terminating.
![Page 113: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/113.jpg)
Decidability of f : ρ aa σ
Theorem
Respectfulness is a decidable property of orchestrators
Decidability of f : ρ aa σ obtained by a formal system B such that
Theorem
The judgment ∅ B f : ρ aa σ is derivableif and only iff : ρ aa σ
and such that
Theorem
Proof search in B is terminating.
![Page 114: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/114.jpg)
Decidability of f : ρ aa σ
Theorem
Respectfulness is a decidable property of orchestrators
Decidability of f : ρ aa σ obtained by a formal system B such that
Theorem
The judgment ∅ B f : ρ aa σ is derivableif and only iff : ρ aa σ
and such that
Theorem
Proof search in B is terminating.
![Page 115: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/115.jpg)
Decidability of f : ρ aa σ
Theorem
Respectfulness is a decidable property of orchestrators
Decidability of f : ρ aa σ obtained by a formal system B such that
Theorem
The judgment ∅ B f : ρ aa σ is derivableif and only iff : ρ aa σ
and such that
Theorem
Proof search in B is terminating.
![Page 116: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/116.jpg)
Decidability of ρ aa σ
Out of system B it is possible to devise a terminating algorithmSynth(ρ, σ) producing all the relevant orchestrators f , therespectful ones, if any, and the unrespectful ones, if any (always afinite number, modulo unwinding of rec ) such that f : ρ aa σ.
To decide ρ aa σ:
Compute Synth(ρ, σ)
For any f ∈Synth(ρ, σ), check for the respectfulness of f .
![Page 117: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/117.jpg)
Decidability of ρ aa σ
Out of system B it is possible to devise a terminating algorithmSynth(ρ, σ) producing all the relevant orchestrators f , therespectful ones, if any, and the unrespectful ones, if any (always afinite number, modulo unwinding of rec ) such that f : ρ aa σ.
To decide ρ aa σ:
Compute Synth(ρ, σ)
For any f ∈Synth(ρ, σ), check for the respectfulness of f .
![Page 118: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/118.jpg)
Decidability of ρ aa σ
Out of system B it is possible to devise a terminating algorithmSynth(ρ, σ) producing all the relevant orchestrators f , therespectful ones, if any, and the unrespectful ones, if any (always afinite number, modulo unwinding of rec ) such that f : ρ aa σ.
To decide ρ aa σ:
Compute Synth(ρ, σ)
For any f ∈Synth(ρ, σ), check for the respectfulness of f .
![Page 119: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/119.jpg)
Decidability of ρ aa σ
Out of system B it is possible to devise a terminating algorithmSynth(ρ, σ) producing all the relevant orchestrators f , therespectful ones, if any, and the unrespectful ones, if any (always afinite number, modulo unwinding of rec ) such that f : ρ aa σ.
To decide ρ aa σ:
Compute Synth(ρ, σ)
For any f ∈Synth(ρ, σ), check for the respectfulness of f .
![Page 120: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/120.jpg)
Decidability of ρ aa σ
Out of system B it is possible to devise a terminating algorithmSynth(ρ, σ) producing all the relevant orchestrators f , therespectful ones, if any, and the unrespectful ones, if any (always afinite number, modulo unwinding of rec ) such that f : ρ aa σ.
To decide ρ aa σ:
Compute Synth(ρ, σ)
For any f ∈Synth(ρ, σ), check for the respectfulness of f .
![Page 121: Orchestrated compliance for session-based client/server ...discotec2015.inria.fr/wp-content/uploads/sites/9/2015/06/ICE03.pdf · for session-based client/server interactions Ste en](https://reader034.vdocuments.net/reader034/viewer/2022042219/5ec5988fc9dcfa06723eb45a/html5/thumbnails/121.jpg)
THANKS!