Service Oriented Computing and Applications

, Volume 8, Issue 4, pp 323–339 | Cite as

Formal modeling and analysis of resource management for cloud architectures: an industrial case study using Real-Time ABS

  • Elvira Albert
  • Frank S. de Boer
  • Reiner Hähnle
  • Einar Broch JohnsenEmail author
  • Rudolf Schlatte
  • S. Lizeth Tapia Tarifa
  • Peter Y. H. Wong
Special Issue Paper


We demonstrate by a case study of an industrial distributed system how performance, resource consumption, and deployment on the cloud can be formally modeled and analyzed using the abstract behavioral specification language Real-Time ABS. These non-functional aspects of the system are integrated with an existing formal model of the functional system behavior, achieving a separation of concerns between the functional and non-functional aspects in the integrated model. The resource costs associated with execution in the system depend on the size of local data structures, which evolve over time; we derive corresponding worst-case cost estimations by static analysis techniques and integrate them into our resource-sensitive model. The model is further parameterized with respect to deployment scenarios which capture different application-level management policies for virtualized resources. The model is validated against the existing system’s performance characteristics and used to simulate, analyze, and compare deployment scenarios on the cloud.


Virtualization Cloud computing Formal methods  Abstract behavioral specification Executable modeling Worst-case cost analysis Static analysis  Hybrid validation 



Although the author list of this article is rather long already, we gratefully thank the many more people who have been involved in the development of the ABS and Real-Time ABS languages, their toolset, as well as the COSTABS system. Without their effort, the research reported here would not have been possible.


  1. 1.
    Agha GA (1986) ACTORS: a model of concurrent computations in distributed systems. MIT Press, Cambridge, MAGoogle Scholar
  2. 2.
    Albert E, Arenas P, Genaim S, Gómez-Zamalloa M, Puebla G (2011) Cost analysis of concurrent OO programs. In: The 9th Asian symposium on programming languages and systems (APLAS’11), LNCS, vol 7078. Springer, Berlin, pp 238–254Google Scholar
  3. 3.
    Albert E, Arenas P, Genaim S, Gómez-Zamalloa M, Puebla G (2012) COSTABS: a cost and termination analyzer for ABS. In: Kiselyov O, Thompson S (eds) Proceedings of the workshop on partial evaluation and program manipulation (PEPM’12). ACM, pp 151–154Google Scholar
  4. 4.
    Albert E, Arenas P, Genaim S, Puebla G, Zanardini D (2012) Cost analysis of object-oriented bytecode programs. TCS 413(1):142–159Google Scholar
  5. 5.
    Albert E, de Boer F, Hähnle R, Johnsen EB, Laneve C (2013) Engineering virtualized services. In: Babar MA, Dumas M (eds) Proceedings of the 2nd nordic symposium on cloud computing & internet technologies (NordiCloud’13). ACM, pp 59–63Google Scholar
  6. 6.
    Albert E, Bubel R, Genaim S, Hähnle R, Puebla G, Román-Díez G (2011) Verified resource guarantees using COSTA and KeY. In: ACM SIGPLAN workshop on partial evaluation and semantics-based program manipulation (PEPM’11). ACM PressGoogle Scholar
  7. 7.
    Albert E, Genaim S, Gómez-Zamalloa M, Johnsen EB, Schlatte R, Tapia Tarifa SL (2011) Simulating concurrent behaviors with worst-case cost bounds. In: Butler M, Schulte W (eds) FM 2011, LNCS, vol 6664. Springer, Berlin, pp 353–368Google Scholar
  8. 8.
    Albert E, Østvold BM, Rojas JM (2012) Automated extraction of abstract behavioural models from JMS applications. In: Formal methods for industrial critical systems (FMICS’12), LNCS, vol 7437. Springer, Berlin, pp 16–31Google Scholar
  9. 9.
    Amnell T, Fersman E, Mokrushin L, Pettersson P, Yi W (2003) TIMES: a tool for schedulability analysis and code generation of real-time systems. In: Larsen KG, Niebert P (eds) Proceeding of the first international workshop on formal modeling and analysis of timed systems (FORMATS 2003), LNCS, vol 2791. Springer, Berlin, pp 60–72Google Scholar
  10. 10.
    Armstrong J (2007) Programming Erlang: software for a concurrent world. Pragmatic Bookshelf (2007)Google Scholar
  11. 11.
    Bai X, Li M, Chen B, Tsai WT, Gao J (2011) Cloud testing tools. In: Gao JZ, Lu X, Younas M, Zhu H (eds) Proceedings of the 6th international symposium on service oriented system engineering (SOSE’11). IEEE, pp 1–12Google Scholar
  12. 12.
    Baier C, Haverkort BR, Hermanns H, Katoen JP (2010) Performance evaluation and model checking join forces. Commun ACM 53(9):76–85CrossRefGoogle Scholar
  13. 13.
    Barbanera F, Bugliesi M, Dezani-Ciancaglini M, Sassone V (2007) Space-aware ambients and processes. TCS 373(1–2):41–69zbMATHMathSciNetGoogle Scholar
  14. 14.
    Benoy F, King A (1997) Inferring argument size relationships with CLP(R). In: Proceedings of the LOPSTR’97, LNCS, vol 1207. Springer, Berlin, pp 204–223Google Scholar
  15. 15.
    Bjørk J, de Boer FS, Johnsen EB, Schlatte R, Tapia Tarifa SL (2012) User-defined schedulers for real-time concurrent objects. Innov Syst Softw Eng 9(1):29–43Google Scholar
  16. 16.
    Bohnenkamp HC, D’Argenio PR, Hermanns H, Katoen JP (2006) MODEST: a compositional modeling formalism for hard and softly timed systems. IEEE Trans Softw Eng 32(10):812–830CrossRefGoogle Scholar
  17. 17.
    Bouyer P, Fahrenberg U, Larsen KG, Markey N (2011) Quantitative analysis of real-time systems using priced timed automata. Commun ACM 54(9):78–87CrossRefGoogle Scholar
  18. 18.
    Bruno EJ, Bollella G (2009) Real-Time Java Programming: with Java RTS. Prentice Hall PTR, Englewood Cliffs, NJGoogle Scholar
  19. 19.
    Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 25(6):599–616CrossRefGoogle Scholar
  20. 20.
    Calheiros RN, Netto MA, Rose CAD, Buyya R (2012) EMUSIM: an integrated emulation and simulation environment for modeling, evaluation, and validation of performance of cloud computing applications. Softw Pract Exp 43(5):595–612Google Scholar
  21. 21.
    Calheiros RN, Ranjan R, Beloglazov A, Rose CAFD, Buyya R (2011) CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp 41(1):23–50CrossRefGoogle Scholar
  22. 22.
    Caromel D, Henrio L (2005) A theory of distributed objects. Springer, BerlinzbMATHGoogle Scholar
  23. 23.
    Chander A, Espinosa D, Islam N, Lee P, Necula GC (2007) Enforcing resource bounds via static verification of dynamic checks. ACM ToPLaS 29(5), art no 28Google Scholar
  24. 24.
    de Boer FS, Hähnle R, Johnsen EB, Schlatte R, Wong PYH (2012) Formal modeling of resource management for cloud architectures: an industrial case study. In: Paoli FD, Pimentel E, Zavattaro G (eds) Proceedings of the European conference on service-oriented and cloud computing (ESOCC 2012), LNCS, vol 7592. Springer, Berlin, pp 91–106Google Scholar
  25. 25.
    Douglass BP (2004) Real Time UML—advances in the UML for Real-Time systems, 3rd edn. Addison-Wesley, Reading, MAGoogle Scholar
  26. 26.
    ESOCC panel discussion (2012) Global management in service-oriented and cloud computing: challenges and open issues. In: European conference on service-oriented and cloud computing (ESSOC)Google Scholar
  27. 27.
    Foster H, Emmerich W, Kramer J, Magee J, Rosenblum DS, Uchitel S (2007) Model checking service compositions under resource constraints. In: Crnkovic I, Bertolino A (eds) Proceeding of the 6th joint meeting of the European software engineering Conference and the ACM SIGSOFT international symposium on foundations of software engineering (ESEC/FSE’07). ACM, pp 225–234Google Scholar
  28. 28.
    Gulwani S, Mehra KK, Chilimbi TM (2009) Speed: precise and efficient static estimation of program computational complexity. In: POPL. ACM, pp 127–139Google Scholar
  29. 29.
    Hoffmann J, Hofmann M (2010) Amortized resource analysis with polynomial potential. In: The 19th European symposium on programming (ESOP’10), LNCS, vol 6012. Springer, Berlin, pp 287–306Google Scholar
  30. 30.
    Johnsen EB, Hähnle R, Schäfer J, Schlatte R, Steffen M (2011) ABS: a core language for abstract behavioral specification. In: Aichernig B, de Boer FS, Bonsangue MM (eds) Proceeding of the 9th international symposium on formal methods for components and objects (FMCO 2010), LNCS, vol 6957. Springer, Berlin, pp 142–164Google Scholar
  31. 31.
    Johnsen EB, Owe O (2007) An asynchronous communication model for distributed concurrent objects. Softw Syst Model 6(1):35–58CrossRefGoogle Scholar
  32. 32.
    Johnsen EB, Owe O, Schlatte R, Tapia Tarifa SL (2010) Dynamic resource reallocation between deployment components. In: Dong JS, Zhu H (eds) Proceedings of the international conference on formal engineering methods (ICFEM’10), LNCS, vol 6447. Springer, Berlin, pp 646–661Google Scholar
  33. 33.
    Johnsen EB, Owe O, Schlatte R, Tapia Tarifa SL (2011) Validating timed models of deployment components with parametric concurrency. In: Beckert, B Marché C (eds) Proceedings of the international conference on formal verification of Object-Oriented software (FoVeOOS’10), LNCS, vol 6528. Springer, Berlin, pp 46–60Google Scholar
  34. 34.
    Johnsen EB, Schlatte R, Tapia Tarifa SL (2012) Modeling resource-aware virtualized applications for the cloud in Real-Time ABS. In: Aoki T, Tagushi K (eds) Proceedings of the 14th international conference on formal engineering methods (ICFEM’12), LNCS, vol 7635. Springer, Berlin, pp 71–86Google Scholar
  35. 35.
    Kirner R, Puschner PP (2005) Classification of WCET analysis techniques. In: ISORC. IEEE Computer Society, pp 190–199Google Scholar
  36. 36.
    Kramer J (2007) Is abstraction the key to computing? Commun ACM 50(4):36–42CrossRefGoogle Scholar
  37. 37.
    Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a nutshell. Int J Softw Tools Technol Transf 1(1–2):134–152CrossRefzbMATHGoogle Scholar
  38. 38.
    Lee EA (2009) Computing needs time. Commun ACM 52(5):70–79CrossRefGoogle Scholar
  39. 39.
    Moreau L, Queinnec C (2005) Resource aware programming. ACM ToPLaS 27(3):441–476Google Scholar
  40. 40.
    Netjes M, van der Aalst WM, Reijers HA (2005) Analysis of resource-constrained processes with Colored Petri Nets. In: Jensen K (ed) Proceedings of the sixth workshop on the practical use of coloured petri nets and CPN tools (CPN 2005), DAIMI, vol 576. University of AarhusGoogle Scholar
  41. 41.
    Nuñez A, Vázquez-Poletti J, Caminero A, Castañé G, Carretero J, Llorente I (2012) iCanCloud: A flexible and scalable cloud infrastructure simulator. J Grid Comput 10:185–209CrossRefGoogle Scholar
  42. 42.
    Petriu DB, Woodside CM (2007) An intermediate metamodel with scenarios and resources for generating performance models from UML designs. Softw Syst Model 6(2):163–184CrossRefGoogle Scholar
  43. 43.
    Sgroi M, Lavagno L, Watanabe Y, Sangiovanni-Vincentelli A (1999) Synthesis of embedded software using free-choice Petri nets. In: Proceedings of the 36th ACM/IEEE design automation conference (DAC’99). ACM, pp 805–810Google Scholar
  44. 44.
    Verhoef M, Larsen PG, Hooman J (2006) Modeling and validating distributed embedded real-time systems with VDM++. In: Misra J, Nipkow T, Sekerinski E (eds) Proceedings of the 14th international symposium on formal methods (FM’06), LNCS, vol 4085. Springer, pp 147–162Google Scholar
  45. 45.
    Vulgarakis A, Seceleanu CC (2008) Embedded systems resources: views on modeling and analysis. In: Proceeding of the 32nd IEEE international computer software and applications conference (COMPSAC’08). IEEE Computer Society, pp 1321–1328 Google Scholar
  46. 46.
    Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley DB, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner PP, Staschulat J, Stenström P (2008) The worst-case execution-time problem—overview of methods and survey of tools. ACM Trans Embed Comput Syst 7(3)Google Scholar
  47. 47.
    Wong PYH, Albert E, Muschevici R, Proença J, Schäfer J, Schlatte R (2012) The ABS tool suite: modelling, executing and analysing distributed adaptable object-oriented systems. Int J Softw Tools Technol Transf (STTT) 14(5):567–588CrossRefGoogle Scholar
  48. 48.
    Wong PYH, Diakov N, Schaefer I (2012) Modelling distributed adaptable object oriented systems using HATS approach: a fredhopper case study (invited paper). In: 2nd international conference on formal verification of object-oriented software, LNCS, vol 7421. Springer, Berlin (2012)Google Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Elvira Albert
    • 1
  • Frank S. de Boer
    • 2
  • Reiner Hähnle
    • 3
  • Einar Broch Johnsen
    • 4
    Email author
  • Rudolf Schlatte
    • 4
  • S. Lizeth Tapia Tarifa
    • 4
  • Peter Y. H. Wong
    • 5
  1. 1.DSICComplutense University of MadridMadridSpain
  2. 2.CWIAmsterdamThe Netherlands
  3. 3.Technical University of DarmstadtDarmstadtGermany
  4. 4.Department of InformaticsUniversity of OsloOsloNorway
  5. 5.SDL FredhopperAmsterdamThe Netherlands

Personalised recommendations