Skip to main content
Log in

Fuzzy Self-Adaptation of Mission-Critical Software Under Uncertainty

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

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.

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. Fowler K, Mission-critical and safety-critical development. IEEE Instrumentation & Measurement, 2004, 7(4): 52-59.

    Article  MathSciNet  Google Scholar 

  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.

    Article  Google Scholar 

  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.

  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.

  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)

    MATH  Google Scholar 

  6. Zadeh L A. Fuzzy sets. Information and Control, 1965, 8(3): 338-353.

    Article  MathSciNet  MATH  Google Scholar 

  7. Zadeh L A. Fuzzy logic. IEEE Computer, 1988, 21(4): 83-93.

    Article  Google Scholar 

  8. Zadeh L A. Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets and Systems, 1999, 100(Supplement 1): 9-34.

    Article  MathSciNet  Google Scholar 

  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.

  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.

    Article  Google Scholar 

  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.

  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.

    Article  Google Scholar 

  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.

  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.

    Article  Google Scholar 

  15. Kephart J O, Chess D M. The vision of autonomic computing. IEEE Computer, 2003, 36(1): 41-50.

    Article  Google Scholar 

  16. Wang L X. A Course in Fuzzy Systems and Control. Prentice Hall, 1996.

  17. Passino K M, Yurkovich S. Fuzzy Control. Addison-Wesley Longman, 1997.

  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.

  19. Liu B, Tang W. Modern Control Theory (3rd edition). Beijing: China Machine Press, 2006. (In Chinese)

    Google Scholar 

  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. 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.

    Article  Google Scholar 

  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.

  23. Cheng S W. Rainbow: Cost-effective software architecture-based self-adaptation [Ph.D. Thesis]. Carnegie Mellon University, USA, 2008.

  24. IBM. An architectural blueprint for autonomic computing (4th Edition). Technical Report. June 2006.

  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.

    Article  Google Scholar 

  26. Floch J, Hallsteinsen S, Stav E et al. Using architecture models for runtime adaptability. IEEE Software, 2006, 23(2): 62-70.

    Article  Google Scholar 

  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.

  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.

  29. Subramanian N. Adaptable software architecture generation using the NFR approach [Ph.D. Thesis]. University of Texas at Dallas, USA, May 2003.

  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.

    Article  Google Scholar 

  31. Manoel E, Nielsen M J, Salahshour A et al. Problem determination using self-Managing autonomic technology. IBM redbooks, June 2005.

  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.

  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.

  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. Kiczales G, Lamping J, Mendhekar A, Maeda C et al. Aspect-oriented programming. In Proc. the 11th ECOOP, June 1997, pp.220-242.

  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.

    Article  Google Scholar 

  37. McNeill F M, Thro E. Fuzzy Logic: A Practical Approach, Morgan Kaufmann Pub, 1994.

  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.

  39. Tziallas G, Theodoulidis B. A controller synthesis algorithm for building self-adaptive software. Information and Software Technology, 2004, 46(11): 719-727.

    Article  Google Scholar 

  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.

  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.

  42. Wang Q X. Towards a rule model for self-adaptive software. ACM SIGSOFT Software Engineering Notes, 2005, 30(1): 1-5.

    Article  Google Scholar 

  43. Cheng S W, Garlan D. Handling uncertainty in autonomic Systems. In Proc. 2007 International Workshop on Living with Uncertainties, November 2007.

  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.

  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.

  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.

  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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qi-Liang Yang.

Additional information

Supported by the National Natural Science Foundation of China under Grant Nos. 60736015, 61073031, 60973044, 61003019, and the National Basic Research 973 Program of China under Grant No. 2009CB320702.

Electronic Supplementary Material

Below is the link to the electronic supplementary material.

(DOC 27.5 KB)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yang, QL., Lv, J., Tao, XP. et al. Fuzzy Self-Adaptation of Mission-Critical Software Under Uncertainty. J. Comput. Sci. Technol. 28, 165–187 (2013). https://doi.org/10.1007/s11390-013-1321-9

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-013-1321-9

Keywords

Navigation