EN FR
EN FR


Section: New Results

Service-Oriented and Cloud Computing

Participants : Mario Bravetti, Maurizio Gabbrielli, Saverio Giallorenzo, Claudio Guidi, Ivan Lanese, Cosimo Laneve, Fabrizio Montesi, Gianluigi Zavattaro, Stefano Pio Zingaro.

Service-Oriented Computing and Internet of Things

Session types, i.e. types for structuring service communication, are recently being integrated into mainstream programming languages. In practice, a very important notion for dealing with such types is that of subtyping, since it allows for typing larger classes of system, where a program has not precisely the expected behavior but a similar one. We recently showed that, when asynchronous communication is considered, unfortunately, such a subtyping relation is undecidable. In [27] we present an algorithm (the first one that does not restrict type syntax or limit communication) and a tool for checking asynchronous subtyping which is sound, but not complete: in some cases it terminates without returning a final verdict. In [29] we discuss the relationship between session types and service behavioural contracts and we show the existence of a fully abstract interpretation of session types into a fragment of contracts, mapping subtyping into binary compliance-preserving contract refinement. This also yields an original undecidability result for asynchronous contract refinement.

In [43] we elaborate on our previous work on choreographies, which specify in a single artefact the expected behaviour of all the participants in a service oriented system. In particular, we extend dynamic choreographies, which model system updates at runtime, with the feature of dynamic inclusion of new unforeseen participants. In [30] we propose, in the context of platooning (a freight organization system where a group of vehicles follows a predefined trajectory maintaining a desired spatial pattern), a two layered, composable technical solution for federated platooning: a decentralized overlay network that regulates the interactions among the stakeholders, useful to mitigate issues linked to data safety and trustworthiness; and a dynamic federation platform, needed to monitor and interrupt deviant behaviors of federated members.

Finally, in [44] we focused on the use of our service-oriented language Jolie in an Internet of Things (IoT) setting. Technically, a key feature of Jolie is that it supports uniform linguistic abstractions to exploit heterogeneous communication stacks, i.e. for service oriented computing, protocols such as TCP/IP, Bluetooth, and RMI at transport level, and HTTP and SOAP at application level. We extend Jolie in order to support, uniformly as well, also the two most adopted protocols for IoT communication, i.e. CoAP and MQTT, and we report our experience on a case study on home automation.

Cloud Computing

In [18] we investigate the problem of modeling the optimal and automatic deployment of cloud applications and we experiment such an approach by applying it to the Abstract Behavioural Specification language ABS. In [28] we show that automated deployment, proven undecidable in the general case, is, instead, algorithmically treatable for the specific case of microservices: we implement an automatic optimal deployment tool and compute deployment plans for a realistic microservice architecture. In [35] we propose a core formal programming model (combining features from λ-calculus and π-calculus) for serverless computing, also known as Functions-as-a-Service: a recent paradigm aimed at simplifying the programming of cloud applications. The idea is that developers design applications in terms of functions and the infrastructure deals automatically with cloud deployment in terms of distribution and scaling.