Skip to main content
Log in

ASM-based formal design of an adaptivity component for a Cloud system

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

The request of formal methods for the specification and analysis of distributed systems is nowadays increasing, especially when considering the development of Cloud systems and Web applications. This is due to the fact that modeling languages currently used in these areas have informal definitions and ambiguous semantics, and therefore their use may be unreliable. Thanks to their mathematical foundation, formal methods can guarantee rigorous system design, leading to precise models where requirements can be validated and properties can be assured, already at the early stages of the system development. In this paper, we present a rigorous engineering process for distributed systems, based on the Abstract State Machines (ASM) formal method. We rely on the foundational notions of ASM ground model and model refinement to obtain a precise model for a client-server application for Cloud systems. This application has been proposed to tackle the problem of making Cloud services usable to different end-devices by adapting on-the-fly the content coming from the Cloud to the different devices contexts. The ASM-based modeling process is supported by a number of validation and verification activities that have been exploited on the component under development to guarantee consistency, correctness, and reliability properties.

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. Arcaini, P., Bonfanti, S., Gargantini, A., Mashkoor, A., Riccobene, E.: Formal validation and verification of a medical software critical component. In: 13th ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2015). IEEE (2015)

  2. Abrial J.-R.: The B book: Deriving Programs from Meaning. Cambridge University Press, Cambridge (1996)

    Book  Google Scholar 

  3. Alalfi M.H., Cordy J.R., Dean T.R.: Modelling methods for web application verification and testing: State of the art. Softw. Test. Verif. Reliab. 19(4), 265–296 (2009)

    Article  Google Scholar 

  4. Arvind, N.D., Michael, K.: Getting formal verification into design flow. In: Jorge, C., Tom, M., Kaisa, S. (eds.) FM 2008: Formal Methods, vol. 5014 of Lecture Notes in Computer Science, pp. 12–32. Springer, Berlin Heidelberg (2008)

  5. Arcaini, P., Gargantini, A., Riccobene, E.: AsmetaSMV: a way to link high-level ASM models to low-level NuSMV specifications. In: Proceedings of the 2nd International Conference on Abstract State Machines, Alloy, B and Z (ABZ 2010), vol. 5977 of Lecture Notes in Computer Science, pp. 61–74. Springer, Berlin (2010)

  6. Arcaini, P., Gargantini, A., Riccobene, E.: Automatic review of abstract state machines by meta property verification. In: Muñoz, C. (ed.) Proceedings of the Second NASA Formal Methods Symposium (NFM 2010), pp. 4–13. NASA (2010)

  7. Arcaini, P., Gargantini, A., Riccobene, E.: CoMA: conformance monitoring of Java programs by Abstract State Machines. In: Sarfraz, K., Koushik, S. (eds.) Runtime Verification, vol. 7186 of Lecture Notes in Computer Science, pp. 223–238. Springer, Berlin (2012)

  8. Arcaini, P., Gargantini, A., Riccobene, E.: Rigorous development process of a safety-critical system: from ASM models to Java code. Int. J. Softw. Tools Technol. Transf. 1–23 (2015)

  9. Arcaini P., Gargantini A., Riccobene E., Scandurra P.: A model-driven process for engineering a toolset for a formal method. Softw. Pract. Exp. 41, 155–166 (2011)

    Article  Google Scholar 

  10. Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.: Agile Software Development Methods: Review and Analysis. Technical Report 478. VTT PUBLICATIONS (2002)

  11. Barros, A., Börger, E.: A compositional framework for service interaction patterns and interaction flows. In: Lau, K.-K., Banach, R. (eds.) Formal Methods and Software Engineering, vol. 3785, Lecture Notes in Computer Science, pp. 5–35. Springer, Berlin Heidelberg (2005)

  12. Ballis D., García-Vivó J.: A rule-based system for web site verification. Electron. Notes Theor. Comput. Sci. 157(2), 11–17 (2006)

    Article  Google Scholar 

  13. A formal model of client-cloud interaction. In: Thalheim, B., Schewe, K-D., Prinz, A., Buchberger, B. (eds.) Correct Software in Web Applications and Web Services, Texts and Monographs in Symbolic Computation, pp. 83–144. Springer International Publishing, New York (2015)

  14. Baier C., Katoen J.-P.: Principles of Model Checking (Representation and Mind Series). The MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  15. Börger E.: The ASM refinement method. Formal Aspect. Comput. 15, 237–257 (2003)

    Article  MATH  Google Scholar 

  16. Börger, E.: The ASM method for system design and analysis. A tutorial introduction. In: Gramlich, B. (ed.) Proceedings of Frontiers of Combining Systems, 5th International Workshop, FroCoS 2005, Vienna, Austria, Sep 19–21, 2005, vol. 3717 of Lecture Notes in Computer Science, pp. 264–283. Springer, New York (2005)

  17. Börger E.: Construction and analysis of ground models and their refinements as a foundation for validating computer based systems. Formal Aspect. Comput. 19, 225–241 (2007)

    Article  MATH  Google Scholar 

  18. Bósa, K.: A formal model of a cloud service architecture in terms of ambient ASM. Technical report, Christian Doppler Laboratory for Client-Centric Cloud Computing (CDCC), Johannes Kepler University Linz, Hagenberg, Austria (2012)

  19. Bósa, K.: An ambient ASM model for client-to-client interaction via cloud computing. In: José, C., Marca, D.A., van Sinderen, M. (eds.) ICSOFT 2013 Proceedings of the 8th International Joint Conference on Software Technologies, Reykjavík, Iceland, 29–31 July, pp. 459–470. SciTePress, Portugal (2013)

  20. Back, R.-J., Petre, L., Paltor, I.P.: Analysing UML use cases as contracts. In: Proceedings of the 2nd International Conference on The Unified Modeling Language: Beyond the Standard, UML’99, pp. 518–533. Springer-Verlag, Berlin, Heidelberg (1999)

  21. Börger E., Stärk R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer Verlag, Berlin (2003)

    Book  MATH  Google Scholar 

  22. Banach R., Zhu H., Su W., Wu X.: ASM, controller synthesis, and complete refinement. Sci. Comput. Program. 94(2), 109–129 (2014)

    Article  Google Scholar 

  23. Carioni, A., Gargantini, A., Riccobene, E., Scandurra, P.: A scenario-based validation language for ASMs. In: Proceedings of the 1st International Conference on Abstract State Machines, B and Z (ABZ 2008), vol. 5238 of Lecture Notes in Computer Science, pp. 71–84. Springer-Verlag, Berlin (2008)

  24. Chelemen, R.-M.: Modeling a web application for cloud content adaptation with ASMs. In: Cloud Computing and Big Data (CloudCom-Asia), 2013 International Conference on, pp. 44–51 (2013)

  25. Cremin, R.: Mobile web content adaptation techniques. http://mobiforge.com/starting/story/mobile-web-content-adaptation-techniques (2011)

  26. Eckhardt J., Mühlbauer T., Meseguer J., Wirsing M.: Semantics, distributed implementation, and formal analysis of KLAIM models in Maude. Sci. Comput. Program. 99, 24–74 (2015)

    Article  Google Scholar 

  27. Fitzgerald J., Larsen P.G.: Modelling Systems: Practical Tools and Techniques in Software Development. Cambridge University Press, Cambridge (2009)

    Book  MATH  Google Scholar 

  28. Gervasi V., Börger E., Cisternino A.: Modeling web applications infrastructure with ASMs. Sci. Comput. Program. 94(P2), 69–92 (2014)

    Article  Google Scholar 

  29. Gargantini, A., Riccobene, E., Rinzivillo, S.: Using spin to generate tests from ASM specifications. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) Abstract State Machines 2003, vol 2589., Lecture Notes in Computer Science, pp. 263–277. Springer, Berlin Heidelberg (2003)

  30. Gargantini A., Riccobene E., Scandurra P.: A metamodel-based language and a simulation engine for abstract state machines. J. Univ. Comput. Sci. 14(12), 1949–1983 (2008)

    Google Scholar 

  31. Gargantini, A., Riccobene, E., Scandurra, P.: Model-driven language engineering: the ASMETA case study. In: Int. Conf. on Software Engineering Advances, ICSEA, pp. 373–378 (2008)

  32. Gurevich Y.: Sequential abstract-state machines capture sequential algorithms. ACM Trans. Comput. Logic 1(1), 77–111 (2000)

    Article  MathSciNet  Google Scholar 

  33. Heitmeyer, C.L.: On the need for practical formal methods. In: Proceedings of the 5th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems, FTRTFT ’98, pp. 18–26. Springer-Verlag, London (1998)

  34. Hildebrandt, T., Ravara, A., van der Werf, J.M., Weidlich, M. (eds.) Web Services, Formal Methods, and Behavioral Types. 11th International Workshop, WS-FM 2014, Eindhoven, The Netherlands, September 11-12, 2014, and 12th International Workshop, WS-FM/BEAT 2015, Madrid, Spain, September 4-5, 2015, Revised Selected Papers, vol. 9421. Springer (2016)

  35. Homma, K., Izumi, S., Abe, Y., Takahashi, K., Togashi, A.: Using the model checker spin for web application design. In: Proceedings of the 2010 10th IEEE/IPSJ International Symposium on Applications and the Internet, SAINT ’10, pp. 137–140. IEEE Computer Society, Washington, DC (2010)

  36. Hull E., Jackson K., Dick J.: Requirements Engineering, 3rd edn. Springer-Verlag New York Inc, New York (2010)

    MATH  Google Scholar 

  37. Haydar M., Petrenko A., Boroday S., Sahraoui H.: A formal approach for run-time verification of web applications using scope-extended LTL. Inform. Softw. Technol. 55(12), 2191–2208 (2013)

    Article  Google Scholar 

  38. Haydar, M., Petrenko, A., Sahraoui, H.: Formal verification of web applications modeled by communicating automata. In: Formal Techniques for Networked and Distributed Systems-FORTE 2004, vol. 3235 of Lecture Notes in Computer Science, pp. 115–132. Springer, Berlin Heidelberg (2004)

  39. Leuschel, M.: The high road to formal validation. In: Proceedings of the 1st international conference on Abstract State Machines, B and Z, ABZ ’08, pp. 4–23. Springer-Verlag, Berlin, Heidelberg (2008)

  40. Lampesberger, H., Rady, M.: Monitoring of client-cloud interaction. In: Thalheim, B., Schewe, K.-D., Prinz, A., Buchberger, B. (eds.) Correct Software in Web Applications and Web Services, Texts & Monographs in Symbolic Computation, pp. 177–228. Springer International Publishing, New York (2015)

  41. Meyer B.: Agile! The Good, the Hype and the Ugly. Springer, New York (2014)

    Google Scholar 

  42. Meseguer J., Palomino M., Martí-Oliet N.: Algebraic simulations. J. Logic Algebr. Program. 79(2), 103–143 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  43. Mao-shan, S., Yi-hai, C., Sheng-bo, C., Jia, M.: A model checking approach to Web application navigation model with session mechanism. In: Computer Application and System Modeling (ICCASM), 2010 International Conference on, vol. 5, pp. V5-398–V5-403 (2010)

  44. Offutt J., Ye W.: Modeling presentation layers of web applications for testing. Softw. Syst. Model. 9(2), 257–280 (2010)

    Article  Google Scholar 

  45. Rieger, B., Rieger, S.: Adaptation: why responsive design actually begins on the server. In: Breaking Development Conference, Nashville, Sep. 12–14 (2011)

  46. Schewe, K.-D., Bósa, K., Lampesberger, H., Ma, H., Vleju, M.B.: The christian Doppler laboratory for client-centric cloud computing. In: 2nd Workshop on Software Services (WoSS 2011), Timisoara, Romania (2011)

  47. Schellhorn G.: ASM refinement preserving invariants. J. Univ. Comput. Sci. 14(12), 1929–1948 (2008)

    MathSciNet  MATH  Google Scholar 

  48. Sciascio, E., Donini, F.M., Mongiello, M., Totaro, R., Castelluccia, D.: Design verification of web applications using symbolic model checking. In: Lowe, D., Gaedke, M. (eds.) Web Engineering, vol. 3579, Lecture Notes in Computer Science, pp. 69–74. Springer, Berlin Heidelberg (2005)

  49. Stärk R.F, Schmid J., Börger E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, New York (2001)

    Book  MATH  Google Scholar 

  50. Vleju, M.B.: A client-centric ASM-based approach to identity management in cloud computing. In: Advances in Conceptual Modeling., vol. 7518 of Lecture Notes in Computer Science, pp. 34–43. Springer, Berlin Heidelberg (2012)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paolo Arcaini.

Additional information

Thomas Hildebrandt, Joachim Parrow, Matthias Weidlich, and Marco Carbone

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Arcaini, P., Holom, RM. & Riccobene, E. ASM-based formal design of an adaptivity component for a Cloud system. Form Asp Comp 28, 567–595 (2016). https://doi.org/10.1007/s00165-016-0371-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-016-0371-5

Keywords

Navigation