Abstract
Ensuring that service-oriented systems can adapt quickly and effectively to changes in service quality, business needs and their runtime environment is an increasingly important research problem. However, while considerable research has focused on developing runtime adaptation frameworks for service-oriented systems, there has been little work on assessing how effective the adaptations are. Effective adaptation ensures the system remains relevant in a changing environment and is an accurate reflection of user expectations. One way to address the problem is through validation. Validation allows us to assess how well a recommended adaptation addresses the concerns for which the system is reconfigured and provides us with insights into the nature of problems for which different adaptations are suited. However, the dynamic nature of runtime adaptation and the changeable contexts in which service-oriented systems operate make it difficult to specify appropriate validation mechanisms in advance. This paper describes a novel consumer-centered approach that uses machine learning to continuously validate and refine runtime adaptation in service-oriented systems, through model-based clustering and deep learning.
Similar content being viewed by others
References
Rosen M, Lublinsky B, Smith KT, Balcer MJ (2008) Applied SOA: service-oriented architecture and design strategies. Wiley, New York
Taylor RN, Medvidovic N, Oreizy P (2009) Architectural styles for runtime software adaptation. In: European conference on software architecture, joint working IEEE/IFIP conference European conference on software architecture: 171180, Cambridge, pp 171–180
Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Auton. Adapt. Syst. 42:1–42
de Lemos R et al (2013) Software engineering for self-adaptive systems: a second research roadmap. Lecture notes in computer science, vol 7475. Springer, Berlin, pp 1–32
Papazoglou MP, Traverso P, Distar S, Leymann F (2007) Service-oriented computing: state of the art and research challenges. IEEE Comput Soc 40:38–45
Cardellini V, Casalicchio E, Grassi V, Prestiand FL, Mirandola R (2009) Towards self-adaptation for dependable service-oriented systems. ICSOC Lecture notes in computer science, vol 5835. Springer, Berlin, pp 24–48
Sommerville I (2016) Software enginnering, 10th edn. Pearson Education, London
Caruana R, Niculescu-Mizil A (2006) An empirical comparison of supervised learning algorithms. In: Proceedings of the 23rd international conference on Machine learning, Pittsburgh, Pennsylvania, pp 161–168, 25–29 June 2006
Ahmad MW, Mourshed M, Rezgui Y (2017) Trees vs. neurons: comparison between random forest and ANN for high-resolution prediction of building energy consumption. Energy Build 147:77–89
Breiman L (2001) Random forests. Mach Learn 45(1):5–32
Cutler A, Zhao G (2001) PERT-perfect random tree ensembles. Comput Sci Stat 33:490–497
Wang RY, Storey VC, Firth CP (1995) A framework for analysis of data quality research. IEEE Trans Knowl Data Eng 7:632–640
Mhaskar H, Liao Q, Poggio T (2017) When and why are deep networks better than shallow ones? In: Proceedings of the 31st AAAI conference on artificial intelligence, 4–9 Feb 2017, pp 2343–2349
Mutanu L, Kotonya G (2016) Consumer-centred validation for runtime adaptation in service-oriented system. In: Proceedings of 9th international conference on service-oriented computing and applications (SOCA), Macau, pp 16–23
Filieri A et al (2015) Software engineering meets control theory. In: Proceedings of 10th international symposium on software engineering for adaptive and self-managing systems (SEAMS, 2015), pp 71–82
Cheng BHC, de Lemos R et al (2009) Software engineering for self-adaptive systems: a research road map. Springer, Berlin, pp 1–26
Breitgand D, Henis E, Shehory O (2005) Automated and adaptive threshold setting: enabling technology for autonomy and self-management. In: IEEE international conference on autonomic computing (ICAC), pp 204–215
Sutanto EL, Warwick K (1995) Cluster analysis for multivariable process control. In: Proceedings of American control conference, vol 1, pp 749–750
Eze T, Anthony RJ, Walshaw C, Soper A (2011) The challenge of validation for autonomic and self-managing systems. In: Proceedings of 7th international conference on AAS, pp 128–133
Weyns D, Iftikhar U (2016) Model-based simulation at runtime for self-adaptive systems. In: 13th International conference on autonomic computing Germany, pp 1–9
Schumann J, Gupta P, Jacklin S (2005) Toward verification and validation of adaptive aircraft controllers. In: Proceedings of IEEE aerospace conference. IEEE Press
Zhang J, Goldsby H, Cheng BHC (2009) Modular verification of dynamically adaptive systems. In: Proceedings of 8th international conference on aspect oriented software development, pp 161–172
Calinescu R, Grunske L, Kwiatkowska M, Mirandola R, Tamburrelli G (2011) Dynamic QoS management and optimization in service-based systems. IEEE Trans Softw Eng 37(3):387–409
Cardozo N, Christophe L, De Roover C, De Meuter W (2014) Run-time validation of behavioral adaptations. In: Proceedings of 6th international workshop on context-oriented programming, ser. COP14. ACM, pp 5–6
King TM, Ramirez AE, Cruz R, Clarke PJ (2007) An integrated self-testing framework for autonomic computing systems. J Comput 2(9):3749
Skalkowski K, Sota R, KrL D, Kitowski J (2013) QoS-based storage resources provisioning for grid applications. Future Gener Comput Syst J 29:713727
Canfora G, Di Penta M (2006) SOA: testing and self-checking. In: Proceedings of the international workshop on web services modeling and testing, Palermo, Italy, p 312
Hoffert J, Mack D, Schmidt DC (2009) Using machine learning to maintain pub/sub system QoS in dynamic environments. In: Proceedings of the 8th international workshop on adaptive and reflective middleware
Hielscher J, Kazhamiakin R, Metzger A, Pistore M (2008) A framework for proactive self-adaptation of service-based applications based on online testing. In: Proceedings of first European conference on towards a service-based internet, pp 122–133
Tamura G, Villegas N, Muller H et al (2013) Towards practical runtime verification and validation of self-adaptive software systems. Lecture notes in computer science, vol 7475, pp 108–132
Sammodi O, Metzger A, Franch X, Oriol M, Marco J, Pohl K (2011) Usage-based online testing for proactive adaptation of service-based applications. In: COMPSAC 2011, IEEE Computer Society, pp 582–587
Baresi L, Heckel R, Thne S, Varr D (2003) Modeling and validation of service-oriented architectures: application vs. style. In: Proceedings of ESEC/FSE and ACM SIGSOFT. ACM Press, pp 68–77
Alfares HK, Duffua SO (2008) Assigning cardinal weights in multi-criteria decision making based on ordinal ranking. J Multi Criteria Decis Anal 5:77–83
Bouguettaya A, Benatallah B, Blake MB, Casati F, Chen L, Dong H, Dustdar S, Erradi A, Georgakopoulos D, Huhns MN, Liu X, Leymann F, Mistry S, Medjahed B, Malik Z, Neiat AG, Nepal S, Ouzzani M, Papazoglou MP, Singh MP, Sheng QZ, Wang H, Wang Y, Yu Q (2017) A service computing manifesto: the next 10 years. Commun ACM 60:64–72
Kenya Demographic and Health Survey, Kenya Open Data. Retrieved from https://opendata.go.ke, updated Apr 14 2015
Namuye S, Mutanu L, Chege G, Macharia J (2014) Leveraging health through the enhancement of information access using Mobile and service-oriented technology. In: Proceedings of the IST-Africa conference, pp 1–9
Piotrowski AP, Jarosaw JN (2013) A comparison of methods to avoid overfitting in neural networks training in the case of catchment runoff modelling. J Hydrol 476:97–111
Fleurey F, Dehlen V, Bencomo N, Morin B, Jzquel JM (2008) Modeling and validating dynamic adaptation. In: 3rd International workshop on models@runtime (MOD-ELS08), France, pp 97–108
Autili M, Berardinelli B, Cortellessa V, DiMarco A, DiRuscio D, Inverardi P, Tivoli M (2007) A developmentprocess for self-adapting service-oriented applications. ICSOC. Springer, Heidelberg, pp 442–448
Arcaini P, Riccobene E, Scandurra P (2015) Modeling and analyzing MAPE-K feedback loops for self-adaptation. In: Proceedings of the 10th international symposium on software engineering for adaptive and self-managing systems, SEAMS 15. IEEE Press, pp 13–23
Dustdar S, Goeschka K, Truong H, Zdun U (2009) Self-adaptation techniques for complex service-oriented systems. In: 5th International conference on next generation web services practices. IEEE Press, pp 37–43
Morin B, Barais O, Jzquel J-M, Fleurey F, Solberg A (2009) Models@run.time to support dynamic adaptation. IEEE Comput 42(10):44–51
Jureta IJ, Faulkner S, Thiran P (2007) Dynamic requirements specification for adaptable and open service systems. In: Requirements engineering conference, pp 381–382
Gomaa H, Hashimoto K (2014) Model-based run-time software adaptation for distributed hierarchical service coordination. In: Proceedings of sixth international conference on adaptive and self-adaptive systems and applications, Venice, pp 1–6
Wang Q, Quan L, Ying F (2004) Online testing of Web-based applications. In: Proceedings of the 28th annual international computer software and applications conference (COMPSAC), pp 166–169
Bartolini N, Bongiovanni GC, Silvestri S (2009) Self-* through self-learning: overload control for distributed web systems. Comput Netw 53(5):727–743
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Mutanu, L., Kotonya, G. A self-learning approach for validation of runtime adaptation in service-oriented systems. SOCA 12, 11–24 (2018). https://doi.org/10.1007/s11761-017-0222-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-017-0222-0