EN FR
EN FR


Section: New Results

Cloud Computing and Deployment

Participants : Elena Giachino, Saverio Giallorenzo, Claudio Guidi, Cosimo Laneve, Gianluigi Zavattaro.

Static deployment

We have continued our foundational investigation of the Aeolus component model for the automatic deployment of a component-based application in a cloud environment. In [42] we have refined a previous Turing completeness result for the Aeolus model. In fact, a previous proof of undecidability of the deployment problem assumes the possibility of performing in a synchronized way atomic configuration actions on a set of interdependent components: this feature is usually not supported by actual deployment frameworks. To make the theoretical model used for our undecidability result closer to the real deployment infrastructures, in [42] we have proved that even without synchronized configuration actions the Aeolus component model is still Turing complete.

Dynamic deployment

We have analyzed linguistic mechanisms for expressing and managing dynamic aspects of deployment, in particular the possibility to dynamically modify the architecture of an application.

In [17] we propose a new mechanism for Dynamic Rebinding, a particular kind of Dynamic Software Updating that focuses on modifying the workflow of a program. This mechanism is built upon the model of Concurrent Object Groups, which is adopted in programming languages like Coboxes, Creol or ABS. Using this model, which extends and solves some of the limitations of Active Objects, it becomes possible for an update to wait for the program to reach a local quiescent state and then perform the update without creating any inconsistency in the program's state.

In [34] we show how deployment can be added as a first-class citizen in the object-oriented modeling language ABS. We follow a declarative approach: programmers specify deployment constraints and a solver synthesizes ABS classes exposing methods like deploy (resp. undeploy) that executes (resp. cancels) configuration actions changing the current deployment towards a new one satisfying the programmer's desiderata. Differently from previous works, this novel approach supports the specification of incremental modifications, thus supporting the declarative modeling of elastic applications.