Design and Analysis of Cloud-Based Architectures with KLAIM and Maude

  • Martin Wirsing
  • Jonas Eckhardt
  • Tobias Mühlbauer
  • José Meseguer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7571)

Abstract

Cloud computing is a modern paradigm for offering and utilizing distributed infrastructure resources in a dynamic way. Cloud-based systems are safety- and security-critical; they need to satisfy time-critical performance-based quality of service properties and to dynamically adapt to changes in the potentially hostile and uncertain environment they operate in. In this paper we propose the coordination language KLAIM and a composite actor approach for modelling Cloud-based architectures whereas for formally analyzing such architectures we use a rewritingbased approach. We specify the operational semantics of KLAIM in Maude, show how to realize KLAIM programs in a distributed implementation of Maude, and simulate and analyze three simple Cloud architectures with Maude and the Maude LTL model checker. Moreover, we report shortly on the Maude specification and analysis of three larger Cloud case studies using the composite actor model, where statistical model checking with the Maude-based tool PVeStA is successfully used for detecting bugs and performance issues and for analyzing a defense mechanism against distributed denial-of-service attacks.

Keywords

rewriting logic distributed systems cloud computing formal analysis coordination languages composite actor model 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agha, G.: Actors: a model of concurrent computation in distributed systems. MIT Press (1986)Google Scholar
  2. 2.
    Agha, G., Meseguer, J., Sen, K.: PMaude: Rewrite-based specification language for probabilistic object systems. ENTCS 153(2), 213–239 (2006)Google Scholar
  3. 3.
    AlTurki, M., Meseguer, J.: PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool. In: Corradini, A., Klin, B., Cîrstea, C. (eds.) CALCO 2011. LNCS, vol. 6859, pp. 386–392. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Braga, C., Meseguer, J.: Modular Rewriting Semantics in Practice. ENTCS 117, 393–416 (2005)Google Scholar
  5. 5.
    Carriero, N., Gelernter, D.: Linda in context. Communications of the ACM 32, 444–458 (1989)CrossRefGoogle Scholar
  6. 6.
    Chadha, R., Gunter, C.A., Meseguer, J., Shankesi, R., Viswanathan, M.: Modular Preservation of Safety Properties by Cookie-Based DoS-Protection Wrappers. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 39–58. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)MATHGoogle Scholar
  8. 8.
    De Nicola, R., Ferrari, G.L., Pugliese, R.: KLAIM: A Kernel Language for Agents Interaction and Mobility. IEEE TSE 24, 315–330 (1998)Google Scholar
  9. 9.
    Eckhardt, J.: A Formal Analysis of Security Properties in Cloud Computing. Master’s thesis, LMU Munich, TU Munich (2011)Google Scholar
  10. 10.
    Eckhardt, J., Mühlbauer, T., AlTurki, M., Meseguer, J., Wirsing, M.: Stable Availability under Denial of Service Attacks through Formal Patterns. In: de Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 78–93. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  11. 11.
    Eker, S., Meseguer, J., Sridharanarayanan, A.: The Maude LTL model checker. In: WRLA. ENTCS, vol. 71, pp. 162–187 (2004)Google Scholar
  12. 12.
    Erl, T.: SOA Design Patterns. Prentice Hall (2008)Google Scholar
  13. 13.
    Garfinkel, S.L.: Architects of the Information Society. MIT Press (1999)Google Scholar
  14. 14.
    Gelernter, D.: Generative communication in Linda. TOPLAS 7, 80–112 (1985)MATHCrossRefGoogle Scholar
  15. 15.
    Google. Google finance, http://finance.google.com/ (visited: September 2011)
  16. 16.
    Gupta, J.: Available group key management for NASPInet. Master’s thesis, University of Illinois in Urbana-Champaign (2011)Google Scholar
  17. 17.
    Hewitt, C., Baker, H.G.: Laws for communicating parallel processes. In: IFIP, pp. 987–992 (1977)Google Scholar
  18. 18.
    Hewitt, C., Bishop, P., Steiger, R.: A universal modular actor formalism for artificial intelligence. In: IJCAI, pp. 235–245 (1973)Google Scholar
  19. 19.
    Guseva, I.: Gartner: Top Technology Predictions for 2010 and Beyond (2010), http://cmswire.com/cms/enterprise-20/gartner-top-technology-predictions-for-2010-and-beyond-006390.php#singlereqrespmep (visited April 2012)
  20. 20.
    Khanna, S., Venkatesh, S., Fatemieh, O., Khan, F., Gunter, C.: Adaptive Selective Verification. In: IEEE INFOCOM, pp. 529–537 (2008)Google Scholar
  21. 21.
    Meseguer, J.: Conditional Rewriting Logic as a Unified Model of Concurrency. TCS 96(1), 73–155 (1992)MathSciNetMATHCrossRefGoogle Scholar
  22. 22.
    Meseguer, J., Ölveczky, P.C.: Formalization and Correctness of the PALS Architectural Pattern for Distributed Real-Time Systems. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 303–320. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  23. 23.
    Meseguer, J., Talcott, C.: Semantic Models for Distributed Object Reflection. In: Deng, T. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 1–36. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  24. 24.
    Milner, R.: Communication and Concurrency. Prentice-Hall (1989)Google Scholar
  25. 25.
    Milner, R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press (1999)Google Scholar
  26. 26.
    Minkiewicz, A.: Cloud Nine, Are we there yet? JST 14(4) (2011)Google Scholar
  27. 27.
    Mühlbauer, T.: Formal Specification and Analysis of Cloud Computing Management. Master’s thesis, LMU Munich, TU Munich (2011)Google Scholar
  28. 28.
    Schumacher, M., Fernandez-Buglioni, E., Hybertson, D., Buschmann, F., Sommerlad, P.: Security Patterns. Wiley (2005)Google Scholar
  29. 29.
    Serbanuta, T.-F., Rosu, G., Meseguer, J.: A rewriting logic approach to operational semantics. Information and Computation 207, 305–340 (2009)MathSciNetMATHCrossRefGoogle Scholar
  30. 30.
    Samson, T.: Feds take cloud-first approach to IT. In: InfoWorld TechWatch, December 8 (2010), http://www.infoworld.com/t/cloud-computing/feds-take-cloud-first-approach-it-829 (visited: April 2012)
  31. 31.
    The Apache Software Foundation. Apache Zookeeper, http://zookeeper.apache.org/ (visited: September 2011)
  32. 32.
    The Apache Software Foundation. Apache Zookeeper Wiki, https://cwiki.apache.org/confluence/display/ZOOKEEPER/ProjectDescription (visited: September 2011)
  33. 33.
    Tribastone, M., Gilmore, S.: Scaling Performance Analysis Using Fluid-Flow Approximation. In: Wirsing, M., Hölzl, M. (eds.) SENSORIA. LNCS, vol. 6582, pp. 486–505. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  34. 34.
    Verdejo, A., Martí-Oliet, N.: Executable structural operational semantics in Maude. JLAP 67(1-2), 226–293 (2006)MATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Martin Wirsing
    • 1
    • 4
  • Jonas Eckhardt
    • 2
  • Tobias Mühlbauer
    • 2
  • José Meseguer
    • 3
  1. 1.LMU MunichGermany
  2. 2.Technical University of MunichGermany
  3. 3.University of Illinois at Urbana-ChampaignUSA
  4. 4.IMDEA SoftwareSpain

Personalised recommendations