TY - JOUR
T1 - Aeolus
T2 - A component model for the cloud
AU - Di Cosmo, Roberto
AU - Mauro, Jacopo
AU - Zacchiroli, Stefano
AU - Zavattaro, Gianluigi
PY - 2014/12
Y1 - 2014/12
N2 - We introduce the Aeolus component model, which is specifically designed to capture realistic scenarios arising when configuring and deploying distributed applications in the so-called cloud environments, where interconnected components can be deployed on clusters of heterogeneous virtual machines, which can be in turn created, destroyed, and connected on-the-fly. The full Aeolus model is able to describe several component characteristics such as dependencies, conflicts, non-functional requirements (replication requests and load limits), as well as the fact that component interfaces to the world might vary depending on the internal component state. When the number of components needed to build an application grows, it becomes important to be able to automate activities such as deployment and reconfiguration. This corresponds, at the level of the model, to the ability to decide whether a desired target system configuration is reachable, which we call the achievability problem, and producing a path to reach it. In this work we show that the achievability problem is undecidable for the full Aeolus model, a strong limiting result for automated configuration in the cloud. We also show that the problem becomes decidable, but Ackermann-hard, as soon as one drops non-functional requirements. Finally, we provide a polynomial time algorithm for the further restriction of the model where support for inter-component conflicts is also removed.
AB - We introduce the Aeolus component model, which is specifically designed to capture realistic scenarios arising when configuring and deploying distributed applications in the so-called cloud environments, where interconnected components can be deployed on clusters of heterogeneous virtual machines, which can be in turn created, destroyed, and connected on-the-fly. The full Aeolus model is able to describe several component characteristics such as dependencies, conflicts, non-functional requirements (replication requests and load limits), as well as the fact that component interfaces to the world might vary depending on the internal component state. When the number of components needed to build an application grows, it becomes important to be able to automate activities such as deployment and reconfiguration. This corresponds, at the level of the model, to the ability to decide whether a desired target system configuration is reachable, which we call the achievability problem, and producing a path to reach it. In this work we show that the achievability problem is undecidable for the full Aeolus model, a strong limiting result for automated configuration in the cloud. We also show that the problem becomes decidable, but Ackermann-hard, as soon as one drops non-functional requirements. Finally, we provide a polynomial time algorithm for the further restriction of the model where support for inter-component conflicts is also removed.
KW - Cloud computing
KW - Distributed systems
KW - Model
KW - Software component
U2 - 10.1016/j.ic.2014.11.002
DO - 10.1016/j.ic.2014.11.002
M3 - Journal article
AN - SCOPUS:84912099915
SN - 0890-5401
VL - 239
SP - 100
EP - 121
JO - Information and Computation
JF - Information and Computation
ER -