Common use of Monitoring Sessions in OCaml Clause in Contracts

Monitoring Sessions in OCaml. In this section we illustrate the key aspects of an OCaml module that implements λCoS commu- nication primitives. Instead of building the primitives from scratch, we obtain them as wrappers of the corresponding primitives provided by FuSe, an OCaml library of binary sessions Xxxxxxxx [2017]. This way we do not have to delve into low-level details concerning the encoding of session types or the implementation of the session primitives and instead we can focus on the aspects strictly related to contract monitoring. The fact that we can build λCoS primitives on top of FuSe is a sign that our monitoring technique is modular and should be portable to other session libraries for possibly different programming languages. Even though FuSe has its own OCaml representation of session types, we keep using the metavariables T and S to improve readability. In particular, we write T st for the OCaml type that denotes a lone (i.e., unmonitored) FuSe endpoint with session type T . Similarly, we write T mt for the OCaml type that denotes a possibly monitored endpoint. OCaml’s support for parametric polymorphism in conjunction to FuSe’s representation of session types makes it possible to also represent session type variables standing for unknown session types. Hereafter we use A, B to range over session type variables and A st, A mt for their corresponding representations in FuSe and our λCoS implementation. The FuSe representation of session types makes it easy to switch from a session type to its dual Xxxxxxxx [2017]. We will write A st to refer to the dual of A st. Concerning the session communication primitives, we use the prefix FuSe to disambiguate them from those we are going to implement. As an example,

Appears in 2 contracts

Samples: iris.unito.it, iris.unito.it

AutoNDA by SimpleDocs

Monitoring Sessions in OCaml. In this section we illustrate the key aspects of an OCaml module that implements λCoS commu- nication primitives. Instead of building the primitives from scratch, we obtain them as wrappers of the corresponding primitives provided by FuSe, an OCaml library of binary sessions [Xxxxxxxx [2017]. This way we do not have to delve into low-level details concerning the encoding of session types or the implementation of the session primitives and instead we can focus on the aspects strictly related to contract monitoring. The fact that we can build λCoS primitives on top of FuSe is a sign that our monitoring technique is modular and should be portable to other session libraries for possibly different programming languages. Even though FuSe has its own OCaml representation of session types, we keep using the metavariables metavari- xxxxx T and S to improve readability. In particular, we write T st for the OCaml type that denotes a lone (i.e., unmonitored) FuSe endpoint with session type T . Similarly, we write T mt for the OCaml type that denotes a possibly monitored endpoint. OCaml’s support for parametric polymorphism in conjunction to FuSe’s representation of session types makes it possible to also represent session type variables standing for unknown session types. Hereafter we use A, B to range over session type variables and A st, A mt for their corresponding representations in FuSe and our λCoS implementationimple- mentation. The FuSe representation of session types makes it easy to switch from a session type to its dual [Xxxxxxxx [2017]. We will write A st to refer to the dual of A st. Concerning the session communication primitives, we use the prefix FuSe to disambiguate them from those we are going to implement. As an example,

Appears in 2 contracts

Samples: iris.unito.it, iris.unito.it

Monitoring Sessions in OCaml. In this section we illustrate the key aspects of an OCaml module that implements λCoS commu- nication primitives. Instead of building the primitives from scratch, we obtain them as wrappers of the corresponding primitives provided by FuSe, an OCaml library of binary sessions [Xxxxxxxx [2017]. This way we do not have to delve into low-level details concerning the encoding of session types or the implementation of the session primitives and instead we can focus on the aspects strictly related to contract monitoring. The fact that we can build λCoS primitives on top of FuSe is a sign that our monitoring technique is modular and should be portable to other session libraries for possibly different programming languages. Even though FuSe has its own OCaml representation of session types, we keep using the metavariables metavari- xxxxx T and S to improve readability. In particular, we write T st for the OCaml type that denotes a lone (i.e., unmonitored) FuSe endpoint with session type T . Similarly, we write T mt for the OCaml type that denotes a possibly monitored endpoint. OCaml’s support for parametric polymorphism in conjunction to FuSe’s representation of session types makes it possible to also represent session type variables standing for unknown session types. Hereafter we use A, B to range over session type variables and A st, A mt for their corresponding representations in FuSe and our λCoS implementationimple- mentation. The FuSe representation of session types makes it easy to switch from a session type to its dual [Xxxxxxxx [2017]. We will write A st to refer to the dual of A st. Concerning the session communication primitives, we use the prefix FuSe to disambiguate them from those we are going to implement. As an example,

Appears in 1 contract

Samples: iris.unito.it

AutoNDA by SimpleDocs

Monitoring Sessions in OCaml. In this section we illustrate the key aspects of an OCaml module that implements λCoS commu- nication primitives. Instead of building the primitives from scratch, we obtain them as wrappers of the corresponding primitives provided by FuSe, an OCaml library of binary sessions Xxxxxxxx [2017]. This way we do not have to delve into low-level details concerning the encoding of session types or the implementation of the session primitives and instead we can focus on the aspects strictly related to contract monitoring. The fact that we can build λCoS primitives on top of FuSe is a sign that our monitoring technique is modular and should be portable to other session libraries for possibly different programming languages. Even though FuSe has its own OCaml representation of session types, we keep using the metavariables T and S to improve readability. In particular, we write T st for the OCaml type that denotes a lone (i.e., unmonitored) FuSe endpoint with session type T . Similarly, we write T mt for the OCaml type that denotes a possibly monitored endpoint. OCaml’s support for parametric polymorphism in conjunction to FuSe’s representation of session types makes it possible to also represent session type variables standing for unknown session types. Hereafter we use A, B to range over session type variables and A st, A mt for their corresponding representations in FuSe and our λCoS implementation. The FuSe representation of session types makes it easy to switch from a session type to its dual Xxxxxxxx [2017]. We will write A st to refer to the dual of A st. Concerning the session communication primitives, we use the prefix FuSe to disambiguate them from those we are going to implement. As an example,

Appears in 1 contract

Samples: iris.unito.it

Time is Money Join Law Insider Premium to draft better contracts faster.