Formal Aspects of Computing

, Volume 28, Issue 4, pp 567–595 | Cite as

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

  • Paolo Arcaini
  • Roxana-Maria Holom
  • Elvinia Riccobene
Original Article

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.

Keywords

Distributed systems Cloud computing Abstract State Machines Modeling process Model refinement Validation Verification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ABG+15.
    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)Google Scholar
  2. Abr96.
    Abrial J.-R.: The B book: Deriving Programs from Meaning. Cambridge University Press, Cambridge (1996)CrossRefGoogle Scholar
  3. ACD09.
    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)CrossRefGoogle Scholar
  4. ADK08.
    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)Google Scholar
  5. AGR10a.
    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)Google Scholar
  6. AGR10b.
    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)Google Scholar
  7. AGR12.
    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)Google Scholar
  8. AGR15.
    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)Google Scholar
  9. AGRS11.
    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)CrossRefGoogle Scholar
  10. ASRW02.
    Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J.: Agile Software Development Methods: Review and Analysis. Technical Report 478. VTT PUBLICATIONS (2002)Google Scholar
  11. BB05.
    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)Google Scholar
  12. BGV06.
    Ballis D., García-Vivó J.: A rule-based system for web site verification. Electron. Notes Theor. Comput. Sci. 157(2), 11–17 (2006)CrossRefGoogle Scholar
  13. BHV15.
    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)Google Scholar
  14. BK08.
    Baier C., Katoen J.-P.: Principles of Model Checking (Representation and Mind Series). The MIT Press, Cambridge (2008)MATHGoogle Scholar
  15. Bör03.
    Börger E.: The ASM refinement method. Formal Aspect. Comput. 15, 237–257 (2003)CrossRefMATHGoogle Scholar
  16. Bör05.
    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)Google Scholar
  17. Bör07.
    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)CrossRefMATHGoogle Scholar
  18. Bós12.
    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)Google Scholar
  19. Bós13.
    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)Google Scholar
  20. BPP99.
    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)Google Scholar
  21. BS03.
    Börger E., Stärk R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer Verlag, Berlin (2003)CrossRefMATHGoogle Scholar
  22. BZSW14.
    Banach R., Zhu H., Su W., Wu X.: ASM, controller synthesis, and complete refinement. Sci. Comput. Program. 94(2), 109–129 (2014)CrossRefGoogle Scholar
  23. CGRS08.
    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)Google Scholar
  24. Che13.
    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)Google Scholar
  25. Cre11.
    Cremin, R.: Mobile web content adaptation techniques. http://mobiforge.com/starting/story/mobile-web-content-adaptation-techniques (2011)
  26. EMMW15.
    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)CrossRefGoogle Scholar
  27. FL09.
    Fitzgerald J., Larsen P.G.: Modelling Systems: Practical Tools and Techniques in Software Development. Cambridge University Press, Cambridge (2009)CrossRefMATHGoogle Scholar
  28. GBC14.
    Gervasi V., Börger E., Cisternino A.: Modeling web applications infrastructure with ASMs. Sci. Comput. Program. 94(P2), 69–92 (2014)CrossRefGoogle Scholar
  29. GRR03.
    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)Google Scholar
  30. GRS08a.
    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. GRS08b.
    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)Google Scholar
  32. Gur00.
    Gurevich Y.: Sequential abstract-state machines capture sequential algorithms. ACM Trans. Comput. Logic 1(1), 77–111 (2000)MathSciNetCrossRefGoogle Scholar
  33. Hei98.
    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)Google Scholar
  34. HRWW16.
    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)Google Scholar
  35. HIA+10.
    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)Google Scholar
  36. HJD10.
    Hull E., Jackson K., Dick J.: Requirements Engineering, 3rd edn. Springer-Verlag New York Inc, New York (2010)MATHGoogle Scholar
  37. HPBS13.
    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)CrossRefGoogle Scholar
  38. HPS04.
    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)Google Scholar
  39. Leu08.
    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)Google Scholar
  40. LR15.
    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)Google Scholar
  41. Mey14.
    Meyer B.: Agile! The Good, the Hype and the Ugly. Springer, New York (2014)Google Scholar
  42. MPMO10.
    Meseguer J., Palomino M., Martí-Oliet N.: Algebraic simulations. J. Logic Algebr. Program. 79(2), 103–143 (2010)MathSciNetCrossRefMATHGoogle Scholar
  43. MsYhSbJ10.
    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)Google Scholar
  44. OW10.
    Offutt J., Ye W.: Modeling presentation layers of web applications for testing. Softw. Syst. Model. 9(2), 257–280 (2010)CrossRefGoogle Scholar
  45. RR11.
    Rieger, B., Rieger, S.: Adaptation: why responsive design actually begins on the server. In: Breaking Development Conference, Nashville, Sep. 12–14 (2011)Google Scholar
  46. SBL+11.
    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)Google Scholar
  47. Sch08.
    Schellhorn G.: ASM refinement preserving invariants. J. Univ. Comput. Sci. 14(12), 1929–1948 (2008)MathSciNetMATHGoogle Scholar
  48. SDM+05.
    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)Google Scholar
  49. SSB01.
    Stärk R.F, Schmid J., Börger E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, New York (2001)CrossRefMATHGoogle Scholar
  50. Vle12.
    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)Google Scholar

Copyright information

© British Computer Society 2016

Authors and Affiliations

  • Paolo Arcaini
    • 1
  • Roxana-Maria Holom
    • 2
  • Elvinia Riccobene
    • 3
  1. 1.Faculty of Mathematics and PhysicsCharles University in PraguePragueCzech Republic
  2. 2.Christian-Doppler Laboratory for Client-Centric Cloud Computing HagenbergJohannes Kepler University LinzLinzAustria
  3. 3.Dipartimento di InformaticaUniversità degli Studi di MilanoMilanItaly

Personalised recommendations