Science China Information Sciences

, Volume 58, Issue 9, pp 1–15 | Cite as

Auxo: an architecture-centric framework supporting the online tuning of software adaptivity

  • HuaiMin Wang
  • Bo Ding
  • DianXi Shi
  • JianNong Cao
  • Alvin T. S. Chan
Research Paper

Abstract

Adaptivity is the capacity of software to adjust itself to changes in its environment. A common approach to achieving adaptivity is to introduce dedicated code during software development stage. However, since those code fragments are designed a priori, self-adaptive software cannot handle situations adequately when the contextual changes go beyond those that are originally anticipated. In this case, the original builtin adaptivity should be tuned. For example, new code should be added to provide the capacity to sense the unexpected environment or to replace outdated adaptation decision logic. The technical challenges in this process, especially that of tuning software adaptivity at runtime, cannot be understated. In this paper, we propose an architecture-centric application framework for self-adaptive software named Auxo. Similar to existing work, our framework supports the development and running of self-adaptive software. Furthermore, our framework supports the tuning of software adaptivity without requiring the running self-adaptive software to be terminated. In short, the architecture style that we are introducing can encapsulate not only general functional logic but also the concerns in the self-adaptation loop (such as sensing, decision, and execution) as architecture elements. As a result, a third party, potentially the operator or an augmented software entity equipped with explicit domain knowledge, is able to dynamically and flexibly adjust the self-adaptation concerns through modifying the runtime software architecture. To truly exercise, validate, and evaluate our approach, we describe a self-adaptive application that was deployed on the framework, and conducted several experiments involving self-adaptation and the online tuning of software adaptivity.

Keywords

software architecture self-adaptive software architecture style application framework software adaptation 

Auxo: 个基于体系结构、支持适应能力在线调整的软件框架

抽象

创新点

软件的适应能力是指软件根据环境对自身进行调整、保证自身持续可靠运行的能力. 通常而言, 软件适应能力的实现需要在软件开发阶段植入相应的代码(例如感知环境的代码). 但 是, 这些代码只能应对开发阶段所能考虑到的情况, 而无法有效应对非预期的环境变化. 本 文给出了一个名为 Auxo 的自适应软件框架. 与同类框架类似, , Auxo 可以有效支持自适应软件的开发和运行. 除此之外, Auxo 还可以基于运行时软件体系结构技术, 对软件的适应能力进行在线调整, 例如动态插入新的环境感知代码、修改自适应决策的逻辑等. 运维人员可以借此为软件植入新的环境适应能力, 应对非预期的环境变化.

关键词

软件体系结构 自适应软件 体系结构风格 应用程序框架 软件适应 
092103 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Weiser M. The computer for the 21st century. Sci Amer, 1991, 265: 94–104.CrossRefGoogle Scholar
  2. 2.
    Armbrust M, Fox A, Griffith R, et al. A view of cloud computing. Commun ACM, 2010, 53: 50–58CrossRefMATHGoogle Scholar
  3. 3.
    Wang H M, Wu W J, Mao X J, et al. Growing construction and adaptive evolution of complex software system (in Chinese). Sci Sin Inform, 2014, 44: 743–761.CrossRefGoogle Scholar
  4. 4.
    Cheng B H C, de Lemos R, Giese H, et al. Software engineering for self-adaptive systems: a research roadmap. In: Cheng B H C, de Lemos R, Inverardi P, et al., eds. Software Engineering for Self-adaptive Systems. Berlin/Heidelberg: Springer, 2009. 1–26CrossRefGoogle Scholar
  5. 5.
    Oreizy P, Gorlick M M, Taylor R N, et al. An architecture-based approach to self-adaptive software. IEEE Intell syst, 1999, 14: 54–62.CrossRefMATHGoogle Scholar
  6. 6.
    Salehie M, Tahvildari L. Self-adaptive software: Landscape and research challenges. ACM Trans Auton Adapt Syst, 2009, 4: 1–42.CrossRefGoogle Scholar
  7. 7.
    Chan A T S, Chuang S N. MobiPADS: a reflective middleware for context-aware mobile computing. IEEE Trans Softw Eng, 2003, 29: 1072–1085CrossRefGoogle Scholar
  8. 8.
    Andersson J, de Lemos R, Malek S, et al. Modeling dimensions of self-adaptive software systems. In: Cheng B H C, de Lemos R, Inverardi P, et al., eds. Software Engineering for Self-adaptive Systems. Berlin/Heidelberg: Springer, 2009. 27–47CrossRefGoogle Scholar
  9. 9.
    Baresi L, Di Nitto E, Ghezzi C. Toward open-world software: issue and challenges. Computer, 2006, 39: 36–43.CrossRefGoogle Scholar
  10. 10.
    Lee E A. Cyber-physical systems-are computing foundations adequate? In: Proceedings of NSF Workshop on Cyber-Physical Systems: Research Motivation, Techniques and Roadmap, Austin, 2006. 1–10Google Scholar
  11. 11.
    Dowling J, Cahill V. The k-component architecture meta-model for self-adaptive software. In: Proceedings of International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, Kyoto, 2001. 81–88CrossRefGoogle Scholar
  12. 12.
    Garlan D, Cheng S W, Huang A C, et al. Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer, 2004, 37: 46–54.CrossRefGoogle Scholar
  13. 13.
    Taylor R N, Medvidovic N, Dashofy E M. Software Architecture: Foundations, Theory, and Practice. New York: John Wiley & Sons, 2009Google Scholar
  14. 14.
    Dinda P A, O’Hallaron D R. Host load prediction using linear models. Cluster Comput, 2000, 3: 265–280.CrossRefGoogle Scholar
  15. 15.
    Perry D E, Wolf A L. Foundations for the study of software architecture. ACM SIGSOFT Softw Eng Notes, 1992, 17: 40–52.CrossRefMATHGoogle Scholar
  16. 16.
    Medvidovic N, Taylor R N. A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng, 2000, 26: 70–93CrossRefGoogle Scholar
  17. 17.
    Shaw M, Garlan D. Software architecture: perspectives on an emerging discipline. Englewood Cliffs: Prentice Hall, 1996Google Scholar
  18. 18.
    Baldauf M, Dustdar S, Rosenberg F. A survey on context-aware systems. Int J Ad Hoc Ubiquit Comput, 2007, 2: 263–277.CrossRefGoogle Scholar
  19. 19.
    Yang Z, Duddy K. CORBA: a platform for distributed object computing. SIGOPS Oper Syst Rev, 1996, 30: 4–31CrossRefGoogle Scholar
  20. 20.
    McCarthy D, Dayal U. The architecture of an active database management system. ACM SIGMOD Record, 1989, 18: 215–224.CrossRefGoogle Scholar
  21. 21.
    Wang H M, Wang Y F, Tang Y B. StarBus+: distributed object middleware practice for Internet computing. J Comput Sci Technol, 2005, 20: 542–551.CrossRefGoogle Scholar
  22. 22.
    Ding B, Shi D X, Wang H M. Towards pervasive middleware: a CORBA3-compliant infrastructure. In: Proceedings of International Symposium on Pervasive Computing and Applications, Urumuqi, 2006. 139–144Google Scholar
  23. 23.
    Wermelinger M A. Specification of software architecture reconfiguration. Dissertation for the Doctoral Degree. Lisboa: Universidade Nova de Lisboa, 1999Google Scholar
  24. 24.
    Davis J. GME: the generic modeling environment. In: Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Anaheim, 2003. 82–83Google Scholar
  25. 25.
    Sadjadi S M, McKinley P K. ACT: an adaptive CORBA template to support unanticipated adaptation. In: Proceedings of International Conference on Distributed Computing Systems, Tokyo, 2004. 74–83Google Scholar
  26. 26.
    Floch J, Hallsteinsen S, Stav E, et al. Using architecture models for runtime adaptability. IEEE Softw, 2006, 23: 62–70.CrossRefGoogle Scholar
  27. 27.
    Rouvoy R, Barone P, Ding Y, et al. Music: middleware support for self-adaptation in ubiquitous and service-oriented environments. In: Cheng B H C, de Lemos R, Inverardi P, et al., eds. Software Engineering for Self-adaptive Systems. Berlin/Heidelberg: Springer, 2009. 164–182CrossRefGoogle Scholar
  28. 28.
    Morin B, Barais O, Jezequel J, et al. Models@run.time to support dynamic adaptation. IEEE Comput, 2009, 42: 44–51.CrossRefGoogle Scholar
  29. 29.
    Coulson G, Blair G, Grace P, et al. A generic component model for building systems software. ACM Trans Comput Syst, 2008, 26: 1–42.CrossRefGoogle Scholar
  30. 30.
    Mei H, Huang G, Xie T. Internetware: a software paradigm for Internet computing. Computer, 2012, 45: 26–31.CrossRefGoogle Scholar
  31. 31.
    Cheng S W. Rainbow: cost-effective software architecture-based self-adaptation. Dissertation for the Doctoral Degree. Pittsburgh: Carnegie Mellon University, 2008Google Scholar
  32. 32.
    Whittle J, Sawyer P, Bencomo N, et al. Relax: incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of International Requirements Engineering Conference, Atlanta, 2009. 79–88Google Scholar
  33. 33.
    Ramirez A J, Jensen A C, Cheng B H C. A taxonomy of uncertainty for dynamically adaptive systems. In: Proceedings of International Symposium on Software Engineering for Adaptive and Self-managing Systems, Zurich, 2012. 99–108Google Scholar
  34. 34.
    Wei E J Y, Chan A T S. CAMPUS: a middleware for automated context-aware adaptation decision making at run time. Pervasive Mob Comput, 2013, 9: 35–56.CrossRefMATHGoogle Scholar
  35. 35.
    Sousa J P, Poladian V, Garlan D, et al. Task-based adaptation for ubiquitous computing. IEEE Trans Syst Man Cybern Part C-Appl Rev, 2006, 36: 328–340CrossRefGoogle Scholar
  36. 36.
    Elkhodary A, Esfahani N, Malek S. FUSION: a framework for engineering self-tuning self-adaptive software systems. In: Proceedings of ACM SIGSOFT International Symposium on Foundations of Software Engineering, Santa Fe, 2010. 7–16Google Scholar
  37. 37.
    Esfahani N, Kouroshfar E, Malek S. Taming uncertainty in self-adaptive software. In: Proceedings of ACM SIGSOFT symposium and European conference on Foundations of software engineering, New York, 2011. 234–244CrossRefGoogle Scholar
  38. 38.
    McKinley P K, Cheng B H C, Ramirez A J, et al. Applying evolutionary computation to mitigate uncertainty in dynamically-adaptive, high-assurance middleware. J Internet Serv Appl, 2012, 3: 51–58.CrossRefGoogle Scholar
  39. 39.
    Keeney J. Completely unanticipated dynamic adaptation of software. Dissertation for the Doctoral Degree. Dublin: Trinity College, 2004Google Scholar
  40. 40.
    Liu H, Parashar M. Accord: a programming framework for autonomic applications. IEEE Trans Syst Man Cybern Part C-Appl Rev, 2006, 36: 341–352CrossRefGoogle Scholar
  41. 41.
    Wang Q. Towards a rule model for self-adaptive software. ACM SIGSOFT Softw Eng Notes, 2005, 30: 8CrossRefGoogle Scholar

Copyright information

© Science China Press and Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • HuaiMin Wang
    • 1
  • Bo Ding
    • 1
  • DianXi Shi
    • 1
  • JianNong Cao
    • 2
  • Alvin T. S. Chan
    • 2
  1. 1.National Key Laboratory of Parallel and Distributed Processing, College of ComputerNational University of Defense TechnologyChangshaChina
  2. 2.Department of ComputingHong Kong Polytechnic UniversityHong KongChina

Personalised recommendations