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.
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Paul T. Boggs and Jon W. Tolle. 1995. Sequential quadratic programming. Acta Numerica 4, 1--51.Google Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Lawrence Chung, B. Nixon, E. Yu, and J. Mylopoulos. 2000. Non-functional requirements. Software Engineering.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Markus C. Huebscher and Julie A. McCann. 2008. A survey of autonomic computing-degrees, models, and applications. ACM Computing Surveys 40, 3, 7. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Donella Meadows. 1997. Places to intervene in a system. Whole Earth 91, 78--84.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- Ervin Y. Rodin. 1977. Nonlinear Programming Analysis and Methods: by Mordecal Avriel. Prentice-Hall, New York (July 1976) 512 pp. (1977).Google Scholar
- Stuart Russell and Peter Norvig. 1995. Artificial intelligence: A modern approach. Prentice-Hall, Englewood Cliffs, NJ. Google Scholar
Digital Library
- T. L. Saaty. 1980. The Analytic Hierarchy Process. McGraw-Hill International, Maidenhead, UK.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Designing Adaptive Applications Deployed on Cloud Environments
Recommendations
Resource provisioning with budget constraints for adaptive applications in cloud environments
HPDC '10: Proceedings of the 19th ACM International Symposium on High Performance Distributed ComputingUtility computing was a vision stated more than 40 years ago. It refers to the idea that computing resources and services can be delivered, utilized, and paid for as utilities such as water or electricity. The recent emergence of cloud computing is ...
Optimal Resource Usage in Multi-Cloud Computing Environment
Cloud computing has emerged as a new paradigm for accessing distributed computing resources such as infrastructure, hardware platform, and software applications on-demand over the internet as services. This paper presents an optimal resource management ...
Designing search based adaptive systems: a quantitative approach
SEAMS 2014: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsDesigning an adaptive system to meet its quality constraints in the face of environmental uncertainties can be a challenging task. In cloud environment, a designer has to also consider and evaluate different control points, i.e., those variables that ...






Comments