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.
Similar content being viewed by others
References
Fowler K, Mission-critical and safety-critical development. IEEE Instrumentation & Measurement, 2004, 7(4): 52-59.
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.
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.
Kramer J, Magee J. Self-managed systems: An architectural challenge. In Proc. the 2007 International Conference on Software Engineering, May 2007, pp.259-268.
Li D Y, Liu C Y, Du Y, Han X. Artificial intelligence with uncertainty. Journal of Software, 2004, 15(11): 1583-1594. (In Chinese)
Zadeh L A. Fuzzy sets. Information and Control, 1965, 8(3): 338-353.
Zadeh L A. Fuzzy logic. IEEE Computer, 1988, 21(4): 83-93.
Zadeh L A. Fuzzy sets as a basis for a theory of possibility. Fuzzy Sets and Systems, 1999, 100(Supplement 1): 9-34.
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.
Kokar M M, Baclawski K, Eracar Y A. Control theory-based foundations of self-controlling software. IEEE Intelligent Systems, 1999, 14(3): 37-45.
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.
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.
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.
Phoha V V, Nadgar A U, Ray A, Phoha S. Supervisory control of software systems. IEEE Transactions on Computers, 2004, 53(9): 1187-1199.
Kephart J O, Chess D M. The vision of autonomic computing. IEEE Computer, 2003, 36(1): 41-50.
Wang L X. A Course in Fuzzy Systems and Control. Prentice Hall, 1996.
Passino K M, Yurkovich S. Fuzzy Control. Addison-Wesley Longman, 1997.
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.
Liu B, Tang W. Modern Control Theory (3rd edition). Beijing: China Machine Press, 2006. (In Chinese)
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)
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.
Salehie M, Tahvildari L. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems, 2009, 4(2): Article No.4.
Cheng S W. Rainbow: Cost-effective software architecture-based self-adaptation [Ph.D. Thesis]. Carnegie Mellon University, USA, 2008.
IBM. An architectural blueprint for autonomic computing (4th Edition). Technical Report. June 2006.
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.
Floch J, Hallsteinsen S, Stav E et al. Using architecture models for runtime adaptability. IEEE Software, 2006, 23(2): 62-70.
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.
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.
Subramanian N. Adaptable software architecture generation using the NFR approach [Ph.D. Thesis]. University of Texas at Dallas, USA, May 2003.
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.
Manoel E, Nielsen M J, Salahshour A et al. Problem determination using self-Managing autonomic technology. IBM redbooks, June 2005.
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.
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.
Janik A, Zielinski K. Adaptability mechanisms for autonomic system implementation with AAOP. Software Practice and Experience, 2010, 40(3): 209-223.
Kiczales G, Lamping J, Mendhekar A, Maeda C et al. Aspect-oriented programming. In Proc. the 11th ECOOP, June 1997, pp.220-242.
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.
McNeill F M, Thro E. Fuzzy Logic: A Practical Approach, Morgan Kaufmann Pub, 1994.
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.
Tziallas G, Theodoulidis B. A controller synthesis algorithm for building self-adaptive software. Information and Software Technology, 2004, 46(11): 719-727.
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.
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.
Wang Q X. Towards a rule model for self-adaptive software. ACM SIGSOFT Software Engineering Notes, 2005, 30(1): 1-5.
Cheng S W, Garlan D. Handling uncertainty in autonomic Systems. In Proc. 2007 International Workshop on Living with Uncertainties, November 2007.
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.
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.
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.
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.
Author information
Authors and Affiliations
Corresponding author
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.
Rights 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
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-013-1321-9