Journal of Computer Science and Technology

, Volume 28, Issue 1, pp 165–187 | Cite as

Fuzzy Self-Adaptation of Mission-Critical Software Under Uncertainty

  • Qi-Liang YangEmail author
  • Jian Lv
  • Xian-Ping Tao
  • Xiao-Xing Ma
  • Jian-Chun Xing
  • Wei Song
Regular Paper


Mission-critical software (MCS) must provide continuous, online services to ensure the successful accomplishment of critical missions. Self-adaptation is particularly desirable for assuring the quality of service (QoS) and availability of MCS under uncertainty. Few techniques have insofar addressed the issue of MCS self-adaptation, and most existing approaches to software self-adaptation fail to take into account uncertainty in the self-adaptation loop. To tackle this problem, we propose a fuzzy control based approach, i.e., Software Fuzzy Self-Adaptation (SFSA), with a view to deal with the challenge of MCS self-adaptation under uncertainty. First, we present the SFSA conceptual framework, consisting of sensing, deciding and acting stages, and establish the formal model of SFSA to lay a rigorous and mathematical foundation of our approach. Second, we develop a novel SFSA implementation technology as well as its supporting tool, i.e., the SFSA toolkit, to automate the realization process of SFSA. Finally, we demonstrate the effectiveness of our approach through the development of an adaptive MCS application in process control systems. Validation experiments show that the fuzzy control based approach proposed in this work is effective and with low overheads.


mission-critical software software self-adaptation fuzzy self-adaptation fuzzy control self-adaptation logic weaving 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Supplementary material

11390_2013_1321_MOESM1_ESM.doc (28 kb)
(DOC 27.5 KB)


  1. [1]
    Fowler K, Mission-critical and safety-critical development. IEEE Instrumentation & Measurement, 2004, 7(4): 52-59.MathSciNetCrossRefGoogle Scholar
  2. [2]
    Caslelli V, Harper R E, Heidelberger P et al. Proactive management of software aging. IBM Journal of Research and Development, 2001, 45(2): 311-332.CrossRefGoogle Scholar
  3. [3]
    Cheng B H C, Lemos R D, Giese H et al. Software engineering for self-adaptive systems: a research roadmap. In Software Engineering for Self-Adaptive Systems, B H Cheng et al. (eds.), Springer-Verlag, 2009, pp.1-26.Google Scholar
  4. [4]
    Kramer J, Magee J. Self-managed systems: An architectural challenge. In Proc. the 2007 International Conference on Software Engineering, May 2007, pp.259-268.Google Scholar
  5. [5]
    Li D Y, Liu C Y, Du Y, Han X. Artificial intelligence with uncertainty. Journal of Software, 2004, 15(11): 1583-1594. (In Chinese)zbMATHGoogle Scholar
  6. [6]
    Zadeh L A. Fuzzy sets. Information and Control, 1965, 8(3): 338-353.MathSciNetzbMATHCrossRefGoogle Scholar
  7. [7]
    Zadeh L A. Fuzzy logic. IEEE Computer, 1988, 21(4): 83-93.CrossRefGoogle Scholar
  8. [8]
    Zadeh L A. Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets and Systems, 1999, 100(Supplement 1): 9-34.MathSciNetCrossRefGoogle Scholar
  9. [9]
    Cai K Y, Cangussu J W, DeCarlo R A, Mathur A P, An overview of software cybernetics. In Proc. the 11th Annual International Workshop on Software Technology and Engineering Practice, Sept. 2003, pp.77-86.Google Scholar
  10. [10]
    Kokar M M, Baclawski K, Eracar Y A. Control theory-based foundations of self-controlling software. IEEE Intelligent Systems, 1999, 14(3): 37-45.CrossRefGoogle Scholar
  11. [11]
    Shen J, Wang Q, Mei H. Self-adaptive software: Cybernetic perspective and an application server supported framework. In Proc. the 28th Annual International Computer Software and Applications Conference, Sept. 2004, pp.92-95.Google Scholar
  12. [12]
    Diao Y, Hellerstein J L, Parekh S et al. A Control theory foundation for self-managing computing systems. IEEE Journal on Selected Areas in Communications, 2005, 23(12): 2213-2222.CrossRefGoogle Scholar
  13. [13]
    Peng X, Chen B, Yu Y, Zhao W. Self-tuning of software systems through goal-based feedback loop control. In Proc. the 18th International Conference on Requirements Engineering, Sept. 27-Oct. 1, 2010, pp.104-107.Google Scholar
  14. [14]
    Phoha V V, Nadgar A U, Ray A, Phoha S. Supervisory control of software systems. IEEE Transactions on Computers, 2004, 53(9): 1187-1199.CrossRefGoogle Scholar
  15. [15]
    Kephart J O, Chess D M. The vision of autonomic computing. IEEE Computer, 2003, 36(1): 41-50.CrossRefGoogle Scholar
  16. [16]
    Wang L X. A Course in Fuzzy Systems and Control. Prentice Hall, 1996.Google Scholar
  17. [17]
    Passino K M, Yurkovich S. Fuzzy Control. Addison-Wesley Longman, 1997.Google Scholar
  18. [18]
    Lakin L I. A fuzzy controller for aircraft control systems. In Industrial Applications of Fuzzy Control, Sugeno M (eds.), Northholland, Amsterdam, 1985, pp.87-104.Google Scholar
  19. [19]
    Liu B, Tang W. Modern Control Theory (3rd edition). Beijing: China Machine Press, 2006. (In Chinese)Google Scholar
  20. [20]
    Yang Q, Xing J, Wang P. Design and implementation of the OPC server oriented to one LonWorks network. Computer Engineering, 2007, 33(2): 228-230. (In Chinese)Google Scholar
  21. [21]
    Liu J, Lim K W, Ho W et al. Using the OPC standard for real-time process monitoring and control. IEEE Software, 2005, 22(6): 54-59.CrossRefGoogle Scholar
  22. [22]
    Salehie M, Tahvildari L. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems, 2009, 4(2): Article No.4.Google Scholar
  23. [23]
    Cheng S W. Rainbow: Cost-effective software architecture-based self-adaptation [Ph.D. Thesis]. Carnegie Mellon University, USA, 2008.Google Scholar
  24. [24]
    IBM. An architectural blueprint for autonomic computing (4th Edition). Technical Report. June 2006.Google Scholar
  25. [25]
    Oreizy P, Gorlick M M, Taylor R N et al. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 1999, 14(3): 54-62.CrossRefGoogle Scholar
  26. [26]
    Floch J, Hallsteinsen S, Stav E et al. Using architecture models for runtime adaptability. IEEE Software, 2006, 23(2): 62-70.CrossRefGoogle Scholar
  27. [27]
    Yang Q L, Lv J, Li J L, Ma X X et al. Towards a fuzzy-control-based approach to design of self-adaptive software. In Proc. the 2nd Asia-Pacific Symposium on Internetware, Nov. 2010, Article No.15.Google Scholar
  28. [28]
    Yang Q L, L̈v J, Xing J C et al. Fuzzy control-based software self-adaptation: A case study in mission critical systems. In Proc. the 35th Annual IEEE Conference on Computer Software and Applications, July 2011, pp.13-18.Google Scholar
  29. [29]
    Subramanian N. Adaptable software architecture generation using the NFR approach [Ph.D. Thesis]. University of Texas at Dallas, USA, May 2003.Google Scholar
  30. [30]
    Garlan D, Cheng S W, Huang A C et al. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer, 2004, 37(10): 46-54.CrossRefGoogle Scholar
  31. [31]
    Manoel E, Nielsen M J, Salahshour A et al. Problem determination using self-Managing autonomic technology. IBM redbooks, June 2005.Google Scholar
  32. [32]
    Wu Y, Wu Y, Peng X et al. Implementing self-adaptive software architecture by reflective component model and dynamic AOP: A case study. In Proc. the 10th International Conference on Quality Software, July 2010, pp.288-293.Google Scholar
  33. [33]
    Yang Z, Cheng B H C, Stirewalt R E K et al. An aspect-oriented approach to dynamic adaptation. In Proc. the 1st Workshop of Self-Healing Software, Nov. 2002, pp.85-90.Google Scholar
  34. [34]
    Janik A, Zielinski K. Adaptability mechanisms for autonomic system implementation with AAOP. Software Practice and Experience, 2010, 40(3): 209-223.Google Scholar
  35. [35]
    Kiczales G, Lamping J, Mendhekar A, Maeda C et al. Aspect-oriented programming. In Proc. the 11th ECOOP, June 1997, pp.220-242.Google Scholar
  36. [36]
    Ang K H, Chong G, Li Y. PID control system analysis, design, and technology. IEEE Transactions on Control Systems Technology, 2005, 13(4): 559-576.CrossRefGoogle Scholar
  37. [37]
    McNeill F M, Thro E. Fuzzy Logic: A Practical Approach, Morgan Kaufmann Pub, 1994.Google Scholar
  38. [38]
    Litoiu M, Woodside M, Zheng T. Hierarchical model-based autonomic control of software systems. In Proc. Workshop on Design and Evolution of Autonomic Applications Software, May 2005, pp.1-7.Google Scholar
  39. [39]
    Tziallas G, Theodoulidis B. A controller synthesis algorithm for building self-adaptive software. Information and Software Technology, 2004, 46(11): 719-727.CrossRefGoogle Scholar
  40. [40]
    Karsai G, Ledeczi A, Sztipanovits J et al. An approach to self-adaptive software based on supervisory control. In Proc. the 2nd International Workshop on Self-Adaptive Software, May 2001, pp.24-38.Google Scholar
  41. [41]
    Zhang R, Lu C, Abdelazher T F et al. ControlWare: A middleware architecture for feedback control of software performance. In Proc. the 22nd International Conference on Distributed Computing Systems, July 2002, pp.301-310.Google Scholar
  42. [42]
    Wang Q X. Towards a rule model for self-adaptive software. ACM SIGSOFT Software Engineering Notes, 2005, 30(1): 1-5.CrossRefGoogle Scholar
  43. [43]
    Cheng S W, Garlan D. Handling uncertainty in autonomic Systems. In Proc. 2007 International Workshop on Living with Uncertainties, November 2007.Google Scholar
  44. [44]
    Cheng B H, Sawyer P, Bencomo N. A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In Proc. the 12th International Conference on Model Driven Engineering Languages and Systems, Oct. 2009, pp.468-483.Google Scholar
  45. [45]
    Gmach D, Krompass S, Scholz A et al. Adaptive quality of service management for enterprise services. ACM Transactions on the Web, 2008, 2(1): Article No.8.Google Scholar
  46. [46]
    Esfahani N, Kouroshfar E, Malek S. Taming uncertainty in self-adaptive software. In Proc. the 19th ACM SIGSOFT Internal Symposium on the Foundations of Software Engineering, Sept. 2011, pp.234-244.Google Scholar
  47. [47]
    Chan H, Chieu T C. An approach to monitor application states for self-managing (autonomic) system. In Proc. the 18th ACM Sigplan Conference on Object-Oriented Programming, Systems, Languages, and Applications. Oct. 2003, pp.312-313.Google Scholar

Copyright information

© Springer Science+Business Media New York & Science Press, China 2013

Authors and Affiliations

  • Qi-Liang Yang
    • 1
    • 2
    Email author
  • Jian Lv
    • 1
  • Xian-Ping Tao
    • 1
  • Xiao-Xing Ma
    • 1
  • Jian-Chun Xing
    • 2
  • Wei Song
    • 1
    • 3
  1. 1.State Key Laboratory for Novel Software TechnologyNanjing UniversityNanjingChina
  2. 2.School of National Defense EngineeringPLA University of Science and TechnologyNanjingChina
  3. 3.School of Computer Science and TechnologyNanjing University of Science and TechnologyNanjingChina

Personalised recommendations