The Community for Technology Leaders
RSS Icon
Issue No.11 - Nov. (2013 vol.39)
pp: 1467-1493
Naeem Esfahani , George Mason University, Fairfax
Ahmed Elkhodary , George Mason University, Fairfax
Sam Malek , George Mason University, Fairfax
Self-adaptive software systems are capable of adjusting their behavior at runtime to achieve certain functional or quality-of-service goals. Often a representation that reflects the internal structure of the managed system is used to reason about its characteristics and make the appropriate adaptation decisions. However, runtime conditions can radically change the internal structure in ways that were not accounted for during their design. As a result, unanticipated changes at runtime that violate the assumptions made about the internal structure of the system could degrade the accuracy of the adaptation decisions. We present an approach for engineering self-adaptive software systems that brings about two innovations: 1) a feature-oriented approach for representing engineers' knowledge of adaptation choices that are deemed practical, and 2) an online learning-based approach for assessing and reasoning about adaptation decisions that does not require an explicit representation of the internal structure of the managed software system. Engineers' knowledge, represented in feature-models, adds structure to learning, which in turn makes online learning feasible. We present an empirical evaluation of the framework using a real-world self-adaptive software system. Results demonstrate the framework's ability to accurately learn the changing dynamics of the system while achieving efficient analysis and adaptation.
Software systems, Runtime, Adaptation models, Quality of service, Authentication, Measurement,machine learning, Self-adaptive software, autonomic computing, feature-orientation
Naeem Esfahani, Ahmed Elkhodary, Sam Malek, "A Learning-Based Framework for Engineering Feature-Oriented Self-Adaptive Software Systems", IEEE Transactions on Software Engineering, vol.39, no. 11, pp. 1467-1493, Nov. 2013, doi:10.1109/TSE.2013.37
[1] J. Kramer and J. Magee, "Self-Managed Systems: An Architectural Challenge," Proc. Int'l Conf. Software Eng., pp. 259-268, 2007.
[2] D. Garlan, S.W. Cheng, A.C. Huang, B. Schmerl, and P. Steenkiste, "Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure," Computer, vol. 37, no. 10, pp. 46-54, Oct. 2004.
[3] J.O. Kephart and D.M. Chess, "The Vision of Autonomic Computing," Computer, vol. 36, no. 1, pp. 41-50, Jan. 2003.
[4] S. Malek, G. Edwards, Y. Brun, H. Tajalli, J. Garcia, I. Krka, N. Medvidovic, M. Mikic-Rakic, and G.S. Sukhatme, "An Architecture-Driven Software Mobility Framework," J. Systems and Software, vol. 83, no. 6, pp. 972-989, June 2010.
[5] D.A. Menascé, J.M. Ewing, H. Gomaa, S. Malek, and J.P. Sousa, "A Framework for Utility-Based Service Oriented Design in SASSY," Proc. Joint WOSP/SIPEW Int'l Conf. Performance Eng., pp. 27-36, 2010.
[6] P. Oreizy, N. Medvidovic, and R.N. Taylor, "Architecture-Based Runtime Software Evolution," Proc. Int'l Conf. Software Eng., pp. 177-186, 1998.
[7] B. Cheng, R. de Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, G.M. Serugendo, S. Dustdar, A. Finkelstein, C. Gacek, K. Geihs, V. Grassi, G. Karsai, H.M. Kienle, J. Kramer, M. Litoiu, S. Malek, R. Mirandola, H.A. Muller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns, and J. Whittle, "Software Engineering for Self-Adaptive Systems: A Research Roadmap," Software Eng. for Self-Adaptive Systems, pp. 1-26, Springer-Verlag, 2009.
[8] R.N. Taylor, N. Medvidovic, and E.M. Dashofy, Software Architecture: Foundations, Theory, and Practice. John Wiley & Sons, 2009.
[9] D.E. Perry and A.L. Wolf, "Foundations for the Study of Software Architecture," Software Eng. Notes, vol. 17, no. 4, pp. 40-52, Oct. 1992.
[10] D. Gross and C.M. Harris, Fundamentals of Queueing Theory, second ed. John Wiley & Sons, 1985.
[11] L.R. Rabiner, "A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition," Proc. IEEE, vol. 77, no. 2, pp. 257-286, Feb. 1989.
[12] J.Z. Kolter and M.A. Maloof, "Dynamic Weighted Majority: An Ensemble Method for Drifting Concepts," J. Machine Learning Research, vol. 8, pp. 2755-2790, Dec. 2007.
[13] G. Widmer and M. Kubat, "Learning in the Presence of Concept Drift and Hidden Contexts," Machine Learning, vol. 23, no. 1, pp. 69-101, Apr. 1996.
[14] S. Malek, N.E. Beckman, M. Mikic-Rakic, and N. Medvidovic, "A Framework for Ensuring and Improving Dependability in Highly Distributed Systems," Proc. Workshop Architecting Dependable Systems, pp. 1730-193, 2004.
[15] A. Elkhodary, N. Esfahani, and S. Malek, "FUSION: A Framework for Engineering Self-Tuning Self-Adaptive Software Systems," Proc. Int'l Symp. the Foundations of Software Eng., pp. 7-16, 2010.
[16] H. Gomaa, Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures, illustrated ed. Addison-Wesley Professional, 2004.
[17] E. Alpaydin, Introduction to Machine Learning. MIT Press, 2004.
[18] N. Medvidovic and R.N. Taylor, "A Classification and Comparison Framework for Software Architecture Description Languages," IEEE Trans. Software Eng., vol. 26, no. 1, pp. 70-93, Jan. 2000.
[19] S. Hallsteinsen, M. Hinchey, S. Park, and K. Schmid, "Dynamic Software Product Lines," Computer, vol. 41, no. 4, pp. 93-95, Apr. 2008.
[20] J. Lee and K.C. Kang, "A Feature-Oriented Approach to Developing Dynamically Reconfigurable Products in Product Line Engineering," Proc. Int'l Software Product Line Conf., pp. 131-140, 2006.
[21] C. Cetina, P. Giner, J. Fons, and V. Pelechano, "Autonomic Computing through Reuse of Variability Models at Runtime: The Case of Smart Homes," Computer, vol. 42, no. 10, pp. 37-43, Oct. 2009.
[22] J. Whittle, P. Jayaraman, A. Elkhodary, A. Moreira, and J. Araújo, "MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation," Trans. Aspect-Oriented Software Development VI, pp. 191-237, Springer-Verlag, 2009.
[23] P. deGrandis and G. Valetto, "Elicitation and Utilization of Application-Level Utility Functions," Proc. Int'l Conf. Autonomic Computing, pp. 107-116, 2009.
[24] J.P. Sousa, R.K. Balan, V. Poladian, D. Garlan, and M. Satyanarayanan, "User Guidance of Resource-Adaptive Systems," Proc. Int'l Conf. Software and Data Technologies, pp. 36-44, 2008.
[25] C. Chatfield, The Analysis of Time Series: An Introduction, sixth ed. Chapman and Hall/CRC, 2003.
[26] D.P. Solomatine, "Data-Driven Modelling: Paradigm, Methods, Experiences," Proc. Int'l Conf. Hydroinformatics, pp. 1-5, 2002.
[27] M. Kantardzic, Data Mining: Concepts, Models, Methods, and Algorithms, first ed. Wiley-IEEE Press, 2002.
[28] J.R. Quinlan, "Induction of Decision Trees," Machine Learning, vol. 1, no. 1, pp. 81-106, 1986.
[29] L. Breiman, J. Friedman, C.J. Stone, and R.A. Olshen, Classification and Regression Trees, first ed. Chapman and Hall/CRC, 1984.
[30] J.H. Friedman, "Multivariate Adaptive Regression Splines," The Annals of Statistics, vol. 19, no. 1, pp. 1-67, Mar. 1991.
[31] L.A. Wolsey, Integer Programming, first ed. Wiley-Interscience, 1998.
[32] S.J. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, third ed. Prentice Hall, 2009.
[33] S. Malek, N. Medvidovic, and M. Mikic-Rakic, "An Extensible Framework for Improving a Distributed Software System's Deployment Architecture," IEEE Trans. Software Eng., vol. 38, no. 1, pp. 73-100, Feb. 2012.
[34] G. Edwards, S. Malek, and N. Medvidovic, "Scenario-Driven Dynamic Analysis of Distributed Architectures," Proc. Int'l Conf. Fundamental Approaches to Software Eng., pp. 125-139, 2007.
[35] S. Malek, M. Mikic-Rakic, and N. Medvidovic, "A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems," IEEE Trans. Software Eng., vol. 31, no. 3, pp. 256-272, Mar. 2005.
[36] "GME," /, 2009.
[37] J. Magee and J. Kramer, Concurrency: State Models and Java Programs, second ed. John Wiley & Sons, 2006.
[38] E.M. Dashofy, A. van der Hoek, and R.N. Taylor, "An Infrastructure for the Rapid Development of XML-Based Architecture Description Languages," Proc. Int'l Conf. Software Eng., pp. 266-276, 2002.
[39] N. Esfahani and S. Malek, "Utilizing Architectural Styles to Enhance the Adaptation Support of Middleware Platforms," J. Information and Software Technology, vol. 54, no. 7, pp. 786-801, July 2012.
[40] "QVT Final Specification," ptc2007-07-07 , 2011.
[41] H. Giese and R. Wagner, "Incremental Model Synchronization with Triple Graph Grammars," Proc. Int'l Conf. Model Driven Eng. Languages and Systems, vol. 4199, pp. 543-557, 2006.
[42] "WEKA.", 2010.
[43] M. Gunestas, D. Wijesekera, and A. Elkhodary, "An Evidence Generation Model for Web Services," Proc. IEEE Int'l Conf. System of Systems Eng., pp. 1-6, 2009.
[44] "FUSION Project,", 2013.
[45] S. Malek, "A User-Centric Approach for Improving a Distributed Software System's Deployment Architecture," Univ. of Southern California, 2007.
[46] D. Cooray, S. Malek, R. Roshandel, and D. Kilgore, "RESISTing Reliability Degradation through Proactive Reconfiguration," Proc. Int'l Conf. Automated Software Eng., pp. 83-92, 2010.
[47] N. Esfahani, E. Kouroshfar, and S. Malek, "Taming Uncertainty in Self-Adaptive Software," Proc. Int'l Symp. Foundations of Software Eng., pp. 234-244, 2011.
[48] D.A. Menasce, J.P. Sousa, S. Malek, and H. Gomaa, "QoS Architectural Patterns for Self-Architecting Software Systems," Proc. Int'l Conf. Autonomic Computing, pp. 195-204, 2010.
[49] S. Onn, "Convex Discrete Optimization," Encyclopedia of Optimization, second ed., vol. 1, C.A. Floudas and P.M. Pardalos, eds., pp. 513-550, Springer, 2009.
[50] M. Salehie and L. Tahvildari, "Self-Adaptive Software: Landscape and Research Challenges," ACM Trans. Autonomous Adaptive Systems, vol. 4, no. 2, pp. 1-42, May 2009.
[51] R. de Lemos, H. Giese, H.A. Muller, M. Shaw, J. Andersson, L. Baresi, B. Becker, N. Bencomo, Y. Brun, B. Cikic, R. Desmarais, S. Dustdar, G. Engels, K. Geihs, K.M. Goeschka, A. Gorla, V. Grassi, P. Inverardi, G. Karsai, J. Kramer, M. Litoiu, A. Lopes, J. Magee, S. Malek, S. Mankovskii, R. Mirandola, J. Mylopoulos, O. Nierstrasz, M. Pezze, C. Prehofer, W. Schafer, W. Schlichting, B. Schmerl, D.B. Smith, J.P. Sousa, G. Tamura, L. Tahvildari, N.M. Villegas, T. Vogel, D. Weyns, K. Wong, and J. Wuttke, "Software Engineering for Self-Adpaptive Systems: A Second Research Roadmap," Software Eng. for Self-Adaptive Systems, Springer-Verlag, 2011.
[52] T. Ryutov, L. Zhou, C. Neuman, T. Leithead, and K.E. Seamons, "Adaptive Trust Negotiation and Access Control," Proc. ACM Symp. Access Control Models and Technologies, pp. 139-146, 2005.
[53] M.N. Bennani and D.A. Menasce, "Assessing the Robustness of Self-Managing Computer Systems under Highly Variable Workloads," Proc. Int'l Conf. Autonomic Computing, pp. 62-69, 2004.
[54] "DiVA Project," http://www.ict-diva.euDiVA, 2012.
[55] B. Morin, O. Barais, G. Nain, and J.-M. Jezequel, "Taming Dynamically Adaptive Systems Using Models and Aspects," Proc. Int'l Conf. Software Eng., pp. 122-132, 2009.
[56] F. Fleurey and A. Solberg, "A Domain Specific Modeling Language Supporting Specification, Simulation and Execution of Dynamic Adaptive Systems," Proc. Int'l Conf. Model Driven Eng. Languages and Systems, pp. 606-621, 2009.
[57] B. Morin, F. Fleurey, N. Bencomo, J.-M. Jézéquel, A. Solberg, V. Dehlen, and G. Blair, "An Aspect-Oriented and Model-Driven Approach for Managing Dynamic Variability," Proc. Int'l Conf. Model Driven Eng. Languages and Systems, pp. 782-796, 2008.
[58] D. Ardagna, C. Ghezzi, and R. Mirandola, "Rethinking the Use of Models in Software Architecture," Proc. Int'l Conf. Quality of Software-Architectures: Models and Architectures, pp. 1-27, 2008.
[59] Y. Wang and I.H. Witten, "Induction of Model Trees for Predicting Continuous Classes," Proc. European Conf. Machine Learning, 1997.
[60] P. Oreizy, M.M. Gorlick, R.N. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D.S. Rosenblum, and A.L. Wolf, "An Architecture-Based Approach to Self-Adaptive Software," IEEE Intelligent Systems, vol. 14, no. 3, pp. 54-62, May 1999.
[61] P. Inverardi and M. Mori, "Feature Oriented Evolutions for Context-Aware Adaptive Systems," Proc. Joint ERCIM Workshop Software Evolution and Int'l Workshop Principles of Software Evolution, pp. 93-97, 2010.
[62] A. Gambi, G. Toffetti, and M. Pezze, "Protecting SLAs with Surrogate Models," Proc. Second Int'l Workshop Principles of Eng. Service-Oriented Systems, pp. 71-77, 2010.
[63] G. Tesauro, "Reinforcement Learning in Autonomic Computing: A Manifesto and Case Studies," IEEE Internet Computing, vol. 11, no. 1, pp. 22-30, Jan. 2007.
[64] D. Kim and S. Park, "Reinforcement Learning-Based Dynamic Adaptation Planning Method for Architecture-Based Self-Managed Software," Proc. Workshop Software Eng. for Adaptive and Self-Managing Systems, pp. 76-85, 2009.
[65] D. Zhao and Z. Hu, "Supervised Adaptive Dynamic Programming Based Adaptive Cruise Control," Proc. IEEE Symp. Adaptive Dynamic Programming and Reinforcement Learning, pp. 318-323. 2011.
[66] K. Rieck and P. Laskov, "Language Models for Detection of Unknown Attacks in Network Traffic," J. Computer Virology, vol. 2, no. 4, pp. 243-256, Feb. 2007.
[67] M. Sabhnani and G. Serpen, "Application of Machine Learning Algorithms to KDD Intrusion Detection Data Set within Misuse Detection Context," Proc. Int'l Conf. Machine Learning: Models, Technologies, and Applications, pp. 209-215, 2003.
24 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool