Skip to main content
Log in

A verification and deployment approach for elastic component-based applications

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Cloud environments are being increasingly used for the deployment and execution of complex applications and particularly component-based ones. They are expected to provide elasticity, among other characteristics, in order to allow a deployed application to rapidly change the amount of its allocated resources in order to meet the variation in demand while ensuring a given Quality of Service (QoS). However, establishing a correct elastic component-based application is not guaranteed in Cloud. Indeed, applying elasticity mechanisms should preserve functional properties and improve non-functional properties related to QoS, performance and resource consumption. In this paper, we propose an approach for the verification and deployment of elastic component-based applications. Our approach is based on the Event-B formal method. In fact, we formally model the component artifacts using Event-B and we define the Event-B events that model the elasticity mechanisms (scaling up and down) for component-based applications. Furthermore, we formally verify that our approach preserves the semantics of the component-based applications by using the proof obligations and the ProB animator. Once the elastic component-based applications are validated, they can be deployed in a Cloud environment using an elastic deployment framework which we have developed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abrial JR (2010) Modeling in Event-B: system and software engineering. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  2. Albert E, de Boer F-S, Hähnle R, Johnsen E-B, Schlatte R, Tapia Tarifa S-L, Wong P (2014) Formal modeling and analysis of resource management for cloud architectures: an industrial case study using Real-Time ABS. Serv Oriented Comput Appl 8(4): 323–339

    Article  Google Scholar 

  3. Bersani M-M, Bianculli D, Dustdar S, Gambi A, Ghezzi C, Krstić S (2014) Towards the formalization of properties of cloud-based elastic systems. In: The 6th international workshop on principles of engineering service-oriented and cloud systems. ACM

  4. Booch G, Rumbaugh J, Jacobson I (2005) Unified modeling language user guide, 2nd edn. Addison-Wesley Professional, Reading

  5. Chieu T-C, Mohindra A, Karve A-A, Segal A (2009) Dynamic scaling of web applications in a virtualized cloud computing environment. In: The IEEE international conference on e-business engineering. IEEE Computer Society

  6. Cok D-R (2011) JML for Java 7 by Extending OpenJDK. In: The 3rd international conference on NASA formal methods. Springer

  7. Calheiros R-N, Vecchiola C, Karunamoorthy D, Buyya R (2012) The Aneka platform and QoS-driven resource provisioning for elastic applications on hybrid clouds. Future Gener Comput Syst 28(6): 861–870

    Article  Google Scholar 

  8. Dutta S, Gera S, Akshat V, Viswanathan B (2012) SmartScale: automatic application scaling in enterprise clouds. In: The 5th international conference on cloud computing. IEEE Computer Society

  9. Dustdar S, Guo Y, Satzger B, Truong H-L (2011) Principles of elastic processes. IEEE Internet Comput 15(2): 66–71

    Article  Google Scholar 

  10. Gaaloul G, Bhiri S, Rouached M (2010) Event-based design and runtime verification of composite service transactional behavior. IEEE Trans Serv Comput 3(1): 32–45

    Article  Google Scholar 

  11. Galante G, de Bona LCE (2012) A survey on cloud computing elasticity. In: The 5th international conference on utility and cloud computing. IEEE Computer Society

  12. Geelan J, Klems M, Cohen R, Kaplan J, Gourlay D, Gaw P, Edwards D, De Haaff B, Kepes B, Sheynkman K, Sultan O, Hartig K, Pritzker J, Doerksen T, Von Eicken T, Wallis P, Sheehan M, Dodge D, Ricadela A, Martin B, Kepes B, Berger I-W (2009) Twenty-one experts define cloud computing

  13. Hamadi R, Benatallah B (2003) A Petri net-based model for web service composition. In: The 14th Australasian database conference. Australian Computer Society

  14. He S, Guo L, Guo Y, Wu C, Ghanem M, Han R (2012) Elastic application container: a lightweight approach for cloud resource provisioning. In: AINA. IEEE Computer Society

  15. Hoenisch P, Schulte S, Dustdar S (2013) Workflow scheduling and resource allocation for cloud-based execution of elastic processes. In: The 6th international conference on service-oriented computing and applications. IEEE Computer Society

  16. Hoenisch P, Schulte S, Dustdar S, Venugopal S (2013) Self-adaptive resource allocation for elastic process execution. In: The 6th international conference on cloud computing. IEEE

  17. Kranas P, Anagnostopoulos V, Menychtas A, Varvarigou T-A (2012) ElaaS: an innovative elasticity as a service framework for dynamic management across the cloud stack layers. In: The 6th international conference on complex, intelligent, and software intensive systems. IEEE Computer Society

  18. Klai K, Tata S (2013) Formal modeling of elastic service-based business processes. In: International conference on services computing. IEEE Computer Society

  19. Leuschel M, Butler M (2003) ProB: a model checker for B. Formal methods, LNCS 2805

  20. Lahouij A, Hamel L, Graiet M (2013) Formal verification of SCA assembly model with Event-B. In: The 9th international conference on semantics, knowledge and grids. IEEE Computer Society

  21. Lê L-S, Linh Truong H, Ghose A, Dustdar S (2012) On elasticity and constrainedness of business services provisioning. In: The 9th international conference on services computing. IEEE Computer Society

  22. Mammar A, Frappier M (2015) Proof-based verification approaches for dynamic properties: application to the information system domain. Form Asp Comput 27(2): 335–374

    Article  MATH  MathSciNet  Google Scholar 

  23. Mammar A, Graiet M, Hamel L, Tata S. http://www-public.tem-tsp.eu/~mammar_a/FACElasticity.html

  24. Mammar A, Graiet M, Hamel L, Tata S (2016) A verification and deployment approach for elastic component-based applications. http://www-public.tem-tsp.eu/~mammar_a/FACElasticity.html

  25. Marino J, Rowley M (2009) Understanding SCA (Service Component Architecture). Addison-Wesley Professional, Boston

  26. OASIS (2011) OASIS. Architecture assembly model specification. Version 1.2. 19. http://docs.oasis-open.org/opencsa/sca-assembly/sca-assembly-spec/v1.2/csd01/sca-assembly-spec-v1.2-csd01.html

  27. Pokahr A, Braubach L (2016) Elastic component-based applications in PaaS clouds. Concurr Comput Pract Exp 28(4): 1368–1384

    Article  Google Scholar 

  28. Rivera V, Cataño N (2014) Translating Event-B to JML-specified java programs. In: The 29th annual ACM symposium on applied computing. ACM

  29. Roy N, Dubey A, Gokhale A (2011) Efficient autoscaling in the cloud using predictive models for workload forecasting. In: The 4th international conference on cloud computing. IEEE Computer Society

  30. Sahli H, Belala F, Bouanaka C (2015) A BRS-based approach to model and verify cloud systems elasticity. In: 1st international conference on cloud forward: from distributed to complete computing

  31. Solanki M, Cau A, H Zedan H (2006) A wide spectrum language for designing web services. In: The 15th International World Wide Web Conference

  32. Schulte S, Hoenisch P, Venugopal S, Dustdar S (2013) Introducing the Vienna platform for elastic processes. In: Workshops of international conference on service oriented computing. Springer

  33. Tsai W-T, Sun X, Shao Q, Qi G (2010) Two-tier multi-tenancy scaling and load balancing. In: The 7th international conference on e-business engineering. IEEE Computer Society

  34. Vaquero L-M, Rodero-Merino L, Buyya R (2011) Dynamically scaling applications in the cloud. SIGCOMM Comput Commun Rev 41(1): 45–52

    Article  Google Scholar 

  35. Yangui S, Ben Nasrallah M, Tata S (2013) PaaS-independent approach to provision appropriate cloud resources for SCA-based applications deployment. In: 9th international conference on semantics, knowledge and grids

  36. Zhang Q, Cheng L, Boutaba R (2010) Cloud computing: state-of-the-art and research challenges. J Internet Serv Appl 1(1): 7–18

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amel Mammar.

Additional information

Michael J. Butler

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Graiet, M., Hamel, L., Mammar, A. et al. A verification and deployment approach for elastic component-based applications. Form Asp Comp 29, 987–1011 (2017). https://doi.org/10.1007/s00165-017-0425-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-017-0425-3

Keywords

Navigation