Declarative Elasticity in ABS

Traditional development methodologies that separate software design from application deployment have been replaced by approaches such as continuous delivery or DevOps, according to which deployment issues should be taken into account already at the early stages of development. This calls for the definition of new modeling and specification languages. In this paper 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 allows for the specification of incremental modifications, thus supporting the declarative modeling of elastic applications.

[1]  Schahram Dustdar,et al.  JCloudScale: Closing the Gap Between IaaS and PaaS , 2014, TOIT.

[2]  Frank S. de Boer,et al.  Testing abstract behavioral specifications , 2015, International Journal on Software Tools for Technology Transfer.

[3]  Dave Clarke,et al.  Variability Modelling in the ABS Language , 2010, FMCO.

[4]  Elvira Albert,et al.  SACO: Static Analyzer for Concurrent Objects , 2014, TACAS.

[5]  Roberto Di Cosmo,et al.  Automated synthesis and deployment of cloud applications , 2014, ASE.

[6]  Cosimo Laneve,et al.  A framework for deadlock detection in core ABS , 2015, Software & Systems Modeling.

[7]  Mark Burgess,et al.  A Site Configuration Engine , 1995, Comput. Syst..

[8]  Brice Morin,et al.  Managing multi-cloud systems with CloudMF , 2013, NordiCloud '13.

[9]  Antonio Brogi,et al.  Modelling and Analysing Cloud Application Management , 2015, ESOCC.

[10]  Peter J. Stuckey,et al.  MiniSearch: A Solver-Independent Meta-Search Language for MiniZinc , 2015, CP.

[11]  Judith Kelner,et al.  CloudML: An Integrated Language for Resource, Service and Request Description for D-Clouds , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

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

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

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

[15]  Gianluigi Zavattaro,et al.  On the Integration of Automatic Deployment into the ABS Modeling Language , 2015, ESOCC.

[16]  Pietro Abate,et al.  Bootstrapping software distributions , 2013, CBSE '13.

[17]  Reiner Hähnle,et al.  KeY-ABS: A Deductive Verification Tool for the Concurrent Modelling Language ABS , 2015, CADE.

[18]  Roberto Di Cosmo,et al.  Automatic Application Deployment in the Cloud: from Practice to Theory and Back (Invited Paper) , 2015, CONCUR.