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
















Similar content being viewed by others
References
Agha GA (1986) ACTORS: a model of concurrent computations in distributed systems. MIT Press, Cambridge, MA
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–254
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–154
Albert E, Arenas P, Genaim S, Puebla G, Zanardini D (2012) Cost analysis of object-oriented bytecode programs. TCS 413(1):142–159
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–63
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 Press
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–368
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–31
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–72
Armstrong J (2007) Programming Erlang: software for a concurrent world. Pragmatic Bookshelf (2007)
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–12
Baier C, Haverkort BR, Hermanns H, Katoen JP (2010) Performance evaluation and model checking join forces. Commun ACM 53(9):76–85
Barbanera F, Bugliesi M, Dezani-Ciancaglini M, Sassone V (2007) Space-aware ambients and processes. TCS 373(1–2):41–69
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–223
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–43
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–830
Bouyer P, Fahrenberg U, Larsen KG, Markey N (2011) Quantitative analysis of real-time systems using priced timed automata. Commun ACM 54(9):78–87
Bruno EJ, Bollella G (2009) Real-Time Java Programming: with Java RTS. Prentice Hall PTR, Englewood Cliffs, NJ
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–616
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–612
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–50
Caromel D, Henrio L (2005) A theory of distributed objects. Springer, Berlin
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 28
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–106
Douglass BP (2004) Real Time UML—advances in the UML for Real-Time systems, 3rd edn. Addison-Wesley, Reading, MA
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)
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–234
Gulwani S, Mehra KK, Chilimbi TM (2009) Speed: precise and efficient static estimation of program computational complexity. In: POPL. ACM, pp 127–139
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–306
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–164
Johnsen EB, Owe O (2007) An asynchronous communication model for distributed concurrent objects. Softw Syst Model 6(1):35–58
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–661
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–60
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–86
Kirner R, Puschner PP (2005) Classification of WCET analysis techniques. In: ISORC. IEEE Computer Society, pp 190–199
Kramer J (2007) Is abstraction the key to computing? Commun ACM 50(4):36–42
Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a nutshell. Int J Softw Tools Technol Transf 1(1–2):134–152
Lee EA (2009) Computing needs time. Commun ACM 52(5):70–79
Moreau L, Queinnec C (2005) Resource aware programming. ACM ToPLaS 27(3):441–476
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 Aarhus
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–209
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–184
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–810
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–162
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
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)
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–588
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)
Acknowledgments
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
Partly funded by the EU projects FP7-231620 HATS: Highly Adaptable and Trustworthy Software using Formal Models (http://www.hats-project.eu) and FP7-610582 ENVISAGE: Engineering Virtualized Services (http://www.envisage-project.eu).
Rights and permissions
About this article
Cite this article
Albert, E., de Boer, F.S., Hähnle, R. et al. Formal modeling and analysis of resource management for cloud architectures: an industrial case study using Real-Time ABS. SOCA 8, 323–339 (2014). https://doi.org/10.1007/s11761-013-0148-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-013-0148-0