skip to main content
research-article

Designing Adaptive Applications Deployed on Cloud Environments

Published:13 January 2016Publication History
Skip Abstract Section

Abstract

Designing an adaptive system to meet its quality constraints in the face of environmental uncertainties can be a challenging task. In a cloud environment, a designer has to consider and evaluate different control points, that is, those variables that affect the quality of the software system. This article presents a methodology for designing adaptive systems in cloud environments. The proposed methodology consists of several phases that take high-level stakeholders’ adaptation goals and transform them into lower-level MAPE-K loop control points. The MAPE-K loops are then activated at runtime using search-based algorithms. Our methodology includes the elicitation, ranking, and evaluation of control points, all meant to enable a runtime search-based adaptation. We conducted several experiments to evaluate the different phases of our methodology and to validate the runtime adaptation efficiency.

References

  1. Jesper Andersson, Rogerio De Lemos, Sam Malek, and Danny Weyns. 2009. Modeling dimensions of self-adaptive software systems. In Software Engineering for Self-Adaptive Systems, B. H. C. Cheng et al. (Eds.), Lecture Notes in Computer Science, Vol. 5525, Springer, Berlin, 27--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Konstantinos Angelopoulos, Vítor E. Silva Souza, and John Mylopoulos. 2014. Dealing with multiple failures in zanshin: A control-theoretic approach. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM, New York, NY, 165--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Luciano Baresi and Liliana Pasquale. 2010. Live goals for adaptive service compositions. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’10). ACM, New York, NY, 114--123. DOI:http://dx.doi.org/10.1145/1808984.1808997 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Paul T. Boggs and Jon W. Tolle. 1995. Sequential quadratic programming. Acta Numerica 4, 1--51.Google ScholarGoogle ScholarCross RefCross Ref
  5. Yuriy Brun, Ron Desmarais, Kurt Geihs, Marin Litoiu, Antonia Lopes, Mary Shaw, and Michael Smit. 2013. A design space for self-adaptive systems. In Software Engineering for Self-Adaptive Systems II, R. de Lemos et al. (Eds.), Lecture Notes in Computer Science, Vol. 7475. Springer, Berlin, 33--50. DOI:http://dx.doi.org/10.1007/978-3-642-35813-5_2Google ScholarGoogle Scholar
  6. Yuriy Brun,Giovanna Di Marzo Serugendo, Cristina Gacek, et al. 2009. In Engineering Self-Adaptive Systems Through Feedback Loops. In Software Engineering for Self-Adaptive Systems, B. H. C. Cheng et al. (Eds.), Lecture Notes in Computer Science, Vol. 5525, Springer, Berlin, 48--70. DOI:http://dx.doi.org/10.1007/978-3-642-02161-9_3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Evellin C. S. Cardoso, João Paulo A. Almeida, Giancarlo Guizzardi, and Renata S. S. Guizzardi. 2009. Eliciting goals for business process models with non-functional requirements catalogues. In Enterprise, Business-Process and Information Systems Modeling, T. Halpin et al. (Eds.), Lecture Notes in Business Information Processing, Vol. 29, Springer, Berlin, 33--45.Google ScholarGoogle Scholar
  8. Lorena Castañeda, Norha M. Villegas, and Hausi A. Müller. 2014. Self-adaptive applications: On the development of personalized web-tasking systems. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM, New York, NY, 49--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Betty H. C. Cheng, Rogerio De Lemos, Holger Giese, Paola Inverardi, Jeff Magee, Jesper Andersson, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, and others. 2009. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems, Springer, 1--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Betty H. Cheng, Rogerio de Lemos, Holger Giese et al. 2009. Software engineering for self-adaptive systems. Software Engineering for Self-Adaptive Systems: A Research Roadmap. In Self-Adaptive Systems, B. H. C. Cheng et al. (Eds.), Lecture Notes in Computer Science, Springer, Berlin, 1--26. DOI:http://dx.doi.org/10.1007/978-3-642-02161-9_1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lawrence Chung, B. Nixon, E. Yu, and J. Mylopoulos. 2000. Non-functional requirements. Software Engineering.Google ScholarGoogle Scholar
  12. Luiz Marcio Cysneiros and Eric Yu. 2004. Non-functional requirements elicitation. In J. C. S. Prado Leite et al. (Eds.), Kluwer Academic Publishers, The Netherlands, 115--138.Google ScholarGoogle Scholar
  13. A. G. Ganek and T. A. Corbi. 2003. The dawning of the autonomic computing era. IBM Systems Journal 42, 1, 5--18. DOI:http://dx.doi.org/10.1147/sj.421.0005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Garlan, Shang-Wen Cheng, An-Cheng Huang, B. Schmerl, and P. Steenkiste. 2004. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37, 10, 46--54. DOI:http://dx.doi.org/10.1109/MC.2004.175 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Markus C. Huebscher and Julie A. McCann. 2008. A survey of autonomic computing-degrees, models, and applications. ACM Computing Surveys 40, 3, 7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. O. Kephart and D. M. Chess. 2003. The vision of autonomic computing. Computer 36, 1, 41--50. DOI:http://dx.doi.org/10.1109/MC.2003.1160055 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Kramer and J. Magee. 2007. Self-managed systems: An architectural challenge. In Future of Software Engineering, 2007 (FOSE’07). 259--268. DOI:http://dx.doi.org/10.1109/FOSE.2007.19 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Jim Li, John Chinneck, Murray Woodside, Marin Litoiu, and Gabriel Iszlai. 2009. Performance model driven QoS guarantees and optimization in clouds. In Proceedings of the 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing. IEEE Computer Society, 15--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jim Zw Li, Murray Woodside, John Chinneck, and Marin Litoiu. 2011. CloudOpt: Multi-goal optimization of application deployments across a cloud. In Proceedings of the 7th International Conference on Network and Services Management (CNSM’11). International Federation for Information Processing, 162--170. http://dl.acm.org.ezproxy.library.yorku.ca/citation.cfm?id=2147671.2147697 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Marin Litoiu and Cornel Barna. 2013. A performance evaluation framework for web applications. Journal of Software: Evolution and Process 25, 8, 871--890. DOI:http://dx.doi.org/10.1002/smr.1563Google ScholarGoogle ScholarCross RefCross Ref
  21. Marin Litoiu, Murray Woodside, and Tao Zheng. 2005. Hierarchical model-based autonomic control of software systems. In ACM SIGSOFT Software Engineering Notes, Vol. 30. ACM, New York, NY, 1--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Donella Meadows. 1997. Places to intervene in a system. Whole Earth 91, 78--84.Google ScholarGoogle Scholar
  23. Daniel Menasce, Hassan Gomaa, Sam Malek, and Joao P. Sousa. 2011. Sassy: A framework for self-architecting service-oriented systems. IEEE Software 28, 6, 78--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Zbigniew Michalewicz, Dipankar Dasgupta, Rodolphe G. Le Riche, and Marc Schoenauer. 1996. Evolutionary algorithms for constrained engineering problems. Computers & Industrial Engineering 30, 4, 851--870. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Peyman Oreizy, Michael M. Gorlick, Richard N. Taylor, et al. 1999. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems and Their Applications 14, 3, 54--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Nauman A. Qureshi, Anna Perini, Neil A. Ernst, and John Mylopoulos. 2010. Towards a continuous requirements engineering framework for self-adaptive systems. In Proceedings of the 2010 First International Workshop on Requirements@ Run. Time (RE@ RunTime). IEEE, 9--16.Google ScholarGoogle ScholarCross RefCross Ref
  27. Ervin Y. Rodin. 1977. Nonlinear Programming Analysis and Methods: by Mordecal Avriel. Prentice-Hall, New York (July 1976) 512 pp. (1977).Google ScholarGoogle Scholar
  28. Stuart Russell and Peter Norvig. 1995. Artificial intelligence: A modern approach. Prentice-Hall, Englewood Cliffs, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. L. Saaty. 1980. The Analytic Hierarchy Process. McGraw-Hill International, Maidenhead, UK.Google ScholarGoogle Scholar
  30. Mazeiar Salehie and Ladan Tahvildari. 2009. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems 4, 2, Article 14, 42 pages. DOI:http://dx.doi.org/10.1145/1516533.1516538 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Patrizia Scandurra, Claudia Raibulet, Pasqualina Potena, Raffaela Mirandola, and Rafael Capilla. 2012. A layered coordination framework for optimizing resource allocation in adapting cloud-based applications. In Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC’12). ACM, New York, NY, 471--472. DOI:http://dx.doi.org/10.1145/2245276.2245366 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Vítor E. Silva Souza, Alexei Lapouchnian, William N. Robinson, and John Mylopoulos. 2011. Awareness requirements for adaptive systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM, New York, NY, 60--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Michael Smit, Mark Shtern, Bradley Simmons, and Marin Litoiu. 2012. Partitioning applications for hybrid and federated clouds. In Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research. IBM Corp., 27--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Alice E. Smith and David W. Coit. 1997. Constraint handling techniques-penalty functions. In Handbook of Evolutionary Computation. Oxford University Press and Institute of Physics Publishing, New York, NY.Google ScholarGoogle Scholar
  35. Vıtor E. Silva Souza, Alexei Lapouchnian, and John Mylopoulos. 2012. (Requirement) evolution requirements for adaptive systems. In Proceedings of the 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’12). IEEE, 155--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Gabriel Tamura, Norha M. Villegas, Hausi A. Müller, Laurence Duchien, and Lionel Seinturier. 2013. Improving context-awareness in self-adaptation using the DYNAMICO reference model. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’13). IEEE Press, Piscataway, NJ, 153--162. http://dl.acm.org/citation.cfm?id=2487336.2487361 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Elena Troubitsyna and Kashif Javed. 2014. Towards systematic design of adaptive fault tolerant systems. In Proceedings of the 6th International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE’14). 15--21.Google ScholarGoogle Scholar
  38. Jeffrey S. Vetter and Daniel A. Reed. 2000. Real-time performance monitoring, adaptive control, and interactive steering of computational grids. International Journal of High Performance Computing Applications 14, 4, 357--366. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Norha M. Villegas, Hausi A. Müller, Gabriel Tamura, Laurence Duchien, and Rubby Casallas. 2011. A framework for evaluating quality-driven self-adaptive software systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’11). ACM, New York, NY, 80--89. DOI:http://dx.doi.org/10.1145/1988008.1988020 Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Parisa Zoghi, Mark Shtern, and Marin Litoiu. 2014. Designing search based adaptive systems: A quantitative approach. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM, New York, NY, 7--16. DOI:http://dx.doi.org/10.1145/2593929.2593935 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Designing Adaptive Applications Deployed on Cloud Environments

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Autonomous and Adaptive Systems
              ACM Transactions on Autonomous and Adaptive Systems  Volume 10, Issue 4
              Special Section on Best Papers from SEAMS 2014 and Regular Articles
              February 2016
              211 pages
              ISSN:1556-4665
              EISSN:1556-4703
              DOI:10.1145/2872308
              Issue’s Table of Contents

              Copyright © 2016 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 13 January 2016
              • Accepted: 1 September 2015
              • Revised: 1 June 2015
              • Received: 1 October 2014
              Published in taas Volume 10, Issue 4

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!