Skip to main content
Log in

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

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

  • Research Paper
  • Published:
Science China Information Sciences Aims and scope Submit manuscript

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.

抽象

创新点

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

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Weiser M. The computer for the 21st century. Sci Amer, 1991, 265: 94–104.

    Article  Google Scholar 

  2. Armbrust M, Fox A, Griffith R, et al. A view of cloud computing. Commun ACM, 2010, 53: 50–58

    Article  MATH  Google Scholar 

  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.

    Article  Google Scholar 

  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–26

    Chapter  Google Scholar 

  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.

    Article  MATH  Google Scholar 

  6. Salehie M, Tahvildari L. Self-adaptive software: Landscape and research challenges. ACM Trans Auton Adapt Syst, 2009, 4: 1–42.

    Article  Google Scholar 

  7. Chan A T S, Chuang S N. MobiPADS: a reflective middleware for context-aware mobile computing. IEEE Trans Softw Eng, 2003, 29: 1072–1085

    Article  Google Scholar 

  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–47

    Chapter  Google Scholar 

  9. Baresi L, Di Nitto E, Ghezzi C. Toward open-world software: issue and challenges. Computer, 2006, 39: 36–43.

    Article  Google Scholar 

  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–10

    Google Scholar 

  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–88

    Chapter  Google Scholar 

  12. Garlan D, Cheng S W, Huang A C, et al. Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer, 2004, 37: 46–54.

    Article  Google Scholar 

  13. Taylor R N, Medvidovic N, Dashofy E M. Software Architecture: Foundations, Theory, and Practice. New York: John Wiley & Sons, 2009

  14. Dinda P A, O’Hallaron D R. Host load prediction using linear models. Cluster Comput, 2000, 3: 265–280.

    Article  Google Scholar 

  15. Perry D E, Wolf A L. Foundations for the study of software architecture. ACM SIGSOFT Softw Eng Notes, 1992, 17: 40–52.

    Article  MATH  Google Scholar 

  16. Medvidovic N, Taylor R N. A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng, 2000, 26: 70–93

    Article  Google Scholar 

  17. Shaw M, Garlan D. Software architecture: perspectives on an emerging discipline. Englewood Cliffs: Prentice Hall, 1996

  18. Baldauf M, Dustdar S, Rosenberg F. A survey on context-aware systems. Int J Ad Hoc Ubiquit Comput, 2007, 2: 263–277.

    Article  Google Scholar 

  19. Yang Z, Duddy K. CORBA: a platform for distributed object computing. SIGOPS Oper Syst Rev, 1996, 30: 4–31

    Article  Google Scholar 

  20. McCarthy D, Dayal U. The architecture of an active database management system. ACM SIGMOD Record, 1989, 18: 215–224.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  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–144

    Google Scholar 

  23. Wermelinger M A. Specification of software architecture reconfiguration. Dissertation for the Doctoral Degree. Lisboa: Universidade Nova de Lisboa, 1999

  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–83

    Google Scholar 

  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–83

    Google Scholar 

  26. Floch J, Hallsteinsen S, Stav E, et al. Using architecture models for runtime adaptability. IEEE Softw, 2006, 23: 62–70.

    Article  Google Scholar 

  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–182

    Chapter  Google Scholar 

  28. Morin B, Barais O, Jezequel J, et al. Models@run.time to support dynamic adaptation. IEEE Comput, 2009, 42: 44–51.

    Article  Google Scholar 

  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.

    Article  Google Scholar 

  30. Mei H, Huang G, Xie T. Internetware: a software paradigm for Internet computing. Computer, 2012, 45: 26–31.

    Article  Google Scholar 

  31. Cheng S W. Rainbow: cost-effective software architecture-based self-adaptation. Dissertation for the Doctoral Degree. Pittsburgh: Carnegie Mellon University, 2008

  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–88

    Google Scholar 

  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–108

    Google Scholar 

  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.

    Article  MATH  Google Scholar 

  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–340

    Article  Google Scholar 

  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–16

    Google Scholar 

  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–244

    Chapter  Google Scholar 

  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.

    Article  Google Scholar 

  39. Keeney J. Completely unanticipated dynamic adaptation of software. Dissertation for the Doctoral Degree. Dublin: Trinity College, 2004

  40. Liu H, Parashar M. Accord: a programming framework for autonomic applications. IEEE Trans Syst Man Cybern Part C-Appl Rev, 2006, 36: 341–352

    Article  Google Scholar 

  41. Wang Q. Towards a rule model for self-adaptive software. ACM SIGSOFT Softw Eng Notes, 2005, 30: 8

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bo Ding.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, H., Ding, B., Shi, D. et al. Auxo: an architecture-centric framework supporting the online tuning of software adaptivity. Sci. China Inf. Sci. 58, 1–15 (2015). https://doi.org/10.1007/s11432-015-5307-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11432-015-5307-9

Keywords

关键词

Navigation