Aeolus: A component model for the cloud

Abstract 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.

[1]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[2]  Roberto Di Cosmo,et al.  Optimal Provisioning in the Cloud. Technical report of the Aeolus project , 2013 .

[3]  C. Petri Kommunikation mit Automaten , 1962 .

[4]  Roberto Di Cosmo,et al.  Towards a Formal Component Model for the Cloud , 2012, SEFM.

[5]  P. Goldsack,et al.  SmartFrog and Data Centre Automation , 2008 .

[6]  Oscar Nierstrasz,et al.  A calculus for reasoning about software composition , 2005, Theor. Comput. Sci..

[7]  Alan Schmitt,et al.  The Kell Calculus: A Family of Higher-Order Distributed Process Calculi , 2004, Global Computing.

[8]  Charles Rackoff,et al.  The Covering and Boundedness Problems for Vector Addition Systems , 1978, Theor. Comput. Sci..

[9]  ROBIN MILNER,et al.  Edinburgh Research Explorer A Calculus of Mobile Processes, I , 2003 .

[10]  Philippe Schnoebelen,et al.  Revisiting Ackermann-Hardness for Lossy Counter Machines and Reset Petri Nets , 2010, MFCS.

[11]  Gerhard Wickler,et al.  Automated Planning for Configuration Changes , 2011, LISA.

[12]  Gianluigi Zavattaro,et al.  A Planning Tool Supporting the Deployment of Cloud Applications , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[13]  Gianluigi Zavattaro,et al.  Automatic Component Deployment in the Presence of Circular Dependencies , 2013, FACS.

[14]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[15]  Roberto Di Cosmo,et al.  Component Reconfiguration in the Presence of Conflicts , 2013, ICALP.

[16]  Roberto Di Cosmo,et al.  MPM: a modular package manager , 2011, CBSE '11.

[17]  Roberto Di Cosmo,et al.  Package upgrades in FOSS distributions: details and challenges , 2008, HotSWUp '08.

[18]  Rupak Majumdar,et al.  Engage: a deployment management system , 2012, PLDI '12.

[19]  Thomas T. Hildebrandt,et al.  A CPS encoding of name-passing in Higher-order mobile embedded resources , 2006, Theor. Comput. Sci..

[20]  Parosh Aziz Abdulla,et al.  General decidability theorems for infinite-state systems , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[21]  Ursula Dresdner,et al.  Computation Finite And Infinite Machines , 2016 .

[22]  Valerio Schiavoni,et al.  Reconfigurable SCA Applications with the FraSCAti Platform , 2009, 2009 IEEE International Conference on Services Computing.

[23]  Davide Sangiorgi,et al.  A Model of Evolvable Components , 2010, TGC.

[24]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[25]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[26]  Roberto Di Cosmo,et al.  Aeolus: Mastering the Complexity of Cloud Application Deployment , 2013, ESOCC.

[27]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

[28]  Luke Kanies Puppet: Next-Generation Configuration Management , 2006, login Usenix Mag..

[29]  Andrew D. Gordon,et al.  A Declarative Approach to Automated Configuration , 2012, LISA.

[30]  Michael Lienhardt,et al.  Optimal Provisioning in the Cloud , 2013 .

[31]  Klaus Schmid,et al.  Cloud-based software product lines , 2012, SPLC '12.

[32]  Herry Herry,et al.  Planning With Global Constraints for Computing Infrastructure Reconfiguration , 2012 .

[33]  L. Dickson Finiteness of the Odd Perfect and Primitive Abundant Numbers with n Distinct Prime Factors , 1913 .

[34]  Philippe Schnoebelen,et al.  Well-structured transition systems everywhere! , 2001, Theor. Comput. Sci..