Declarative Elasticity in ABS

  • Stijn de Gouw
  • Jacopo MauroEmail author
  • Behrooz Nobakht
  • Gianluigi Zavattaro
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9846)


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.


Virtual Machine Service Level Agreement Cloud Provider Initial Deployment Query Service 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Abate, P., Johannes, S.: Bootstrapping software distributions. In: CBSE 2013 (2013)Google Scholar
  2. 2.
    Abstract behavioral specification language.
  3. 3.
    Albert, E., Arenas, P., Flores-Montoya, A., Genaim, S., Gómez-Zamalloa, M., Martin-Martin, E., Puebla, G., Román-Díez, G.: SACO: static analyzer for concurrent objects. In: ETAPS (2014)Google Scholar
  4. 4.
    Apache Software Foundation: Apache Brooklyn.
  5. 5.
    Brogi, A., Canciani, A., Soldani, J.: Modelling and analysing cloud application. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 19–33. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  6. 6.
    Burgess, M.: A site configuration engine. Comput. Syst. 8(2), 309–337 (1995)Google Scholar
  7. 7.
    Clarke, D., Muschevici, R., Proença, J., Schaefer, I., Schlatte, R.: Variability modelling in the ABS language. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 204–224. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Cosmo, R.D., Lienhardt, M., Mauro, J., Zacchiroli, S., Zavattaro, G., Zwolakowski, J.: Automatic application deployment in the cloud: from practice to theory and back. In: CONCUR (2015)Google Scholar
  9. 9.
    Cosmo, R.D., Lienhardt, M., Treinen, R., Zacchiroli, S., Zwolakowski, J., Eiche, A., Agahi, A.: Automated synthesis and deployment of cloud applications. In: ASE (2014)Google Scholar
  10. 10.
    de Gouw, S., Lienhardt, M., Mauro, J., Nobakht, B., Zavattaro, G.: On the integrationof automatic deployment into the ABS modeling language. In: Dustdar, S., Leymann, F., Villari, M. (eds.) ESOCC 2015. LNCS, vol. 9306, pp. 49–64. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  11. 11.
    Din, C.C., Bubel, R., Hähnle, R.: KeY-ABS: a deductive verification tool for the concurrent modelling language ABS. In: CADE (2015)Google Scholar
  12. 12.
    Docker Inc.: Docker.
  13. 13.
    Ferry, N., Chauvel, F., Rossini, A., Morin, B., Solberg, A.: Managing multi-cloud systems with CloudMF. In: NordiCloud (2013)Google Scholar
  14. 14.
    Fischer, J., Majumdar, R., Esmaeilsabzali, S.: Engage: a deployment management system. In: PLDI (2012)Google Scholar
  15. 15.
    Giachino, E., Laneve, C., Lienhardt, M.: A framework for deadlock detection in core ABS. CoRR (2015)Google Scholar
  16. 16.
    Gonçalves, G.E., Endo, P.T., Santos, M.A., Sadok, D., Kelner, J., Melander, B., Mångs, J.: CloudML: an integrated language for resource, service and request description for D-Clouds. In: CloudCom (2011)Google Scholar
  17. 17.
    HashiCorp: Terraform.
  18. 18.
    Hewson, J.A., Anderson, P., Gordon, A.D.: A declarative approach to automated configuration. In: LISA (2012)Google Scholar
  19. 19.
    Kanies, L.: Puppet: next-generation configuration management. ;login: the USENIX magazine (1) (2006)Google Scholar
  20. 20.
    OASIS: Cloud Application Management for Platforms.
  21. 21.
    OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Version 1.0.
  22. 22.
  23. 23.
    Puppet Labs: Marionette collective.
  24. 24.
    Rendl, A., Guns, T., Stuckey, P.J., Tack, G.: MiniSearch: a solver-independent meta-search language for MiniZinc. In: CP (2015)Google Scholar
  25. 25.
    Wong, P.Y.H., Bubel, R., de Boer, F.S., Gómez-Zamalloa, M., de Gouw, S., Hähnle, R., Meinke, K., Sindhu, M.A.: Testing abstract behavioral specifications. STTT 17(1), 107–119 (2015)CrossRefGoogle Scholar
  26. 26.
    Zabolotnyi, R., Leitner, P., Hummer, W., Dustdar, S.: JCloudScale: closing the gap between IaaS and PaaS. ACM Trans. Internet Technol. 15(3), 10 (2015)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2016

Authors and Affiliations

  • Stijn de Gouw
    • 1
  • Jacopo Mauro
    • 3
    Email author
  • Behrooz Nobakht
    • 2
  • Gianluigi Zavattaro
    • 4
  1. 1.FredhopperAmsterdamNetherlands
  2. 2.Leiden UniversityLeidenNetherlands
  3. 3.University of OsloOsloNorway
  4. 4.University of Bologna/INRIABolognaItaly

Personalised recommendations