A self-learning approach for validation of runtime adaptation in service-oriented systems

  • Leah Mutanu
  • Gerald Kotonya
Special Issue Paper


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.


Service-oriented Validation Runtime Adaptation 


  1. 1.
    Rosen M, Lublinsky B, Smith KT, Balcer MJ (2008) Applied SOA: service-oriented architecture and design strategies. Wiley, New YorkGoogle Scholar
  2. 2.
    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–180Google Scholar
  3. 3.
    Salehie M, Tahvildari L (2009) Self-adaptive software: landscape and research challenges. ACM Trans Auton. Adapt. Syst. 42:1–42CrossRefGoogle Scholar
  4. 4.
    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–32Google Scholar
  5. 5.
    Papazoglou MP, Traverso P, Distar S, Leymann F (2007) Service-oriented computing: state of the art and research challenges. IEEE Comput Soc 40:38–45CrossRefGoogle Scholar
  6. 6.
    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–48Google Scholar
  7. 7.
    Sommerville I (2016) Software enginnering, 10th edn. Pearson Education, LondonGoogle Scholar
  8. 8.
    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 2006Google Scholar
  9. 9.
    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–89CrossRefGoogle Scholar
  10. 10.
    Breiman L (2001) Random forests. Mach Learn 45(1):5–32CrossRefzbMATHGoogle Scholar
  11. 11.
    Cutler A, Zhao G (2001) PERT-perfect random tree ensembles. Comput Sci Stat 33:490–497Google Scholar
  12. 12.
    Wang RY, Storey VC, Firth CP (1995) A framework for analysis of data quality research. IEEE Trans Knowl Data Eng 7:632–640CrossRefGoogle Scholar
  13. 13.
    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–2349Google Scholar
  14. 14.
    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–23Google Scholar
  15. 15.
    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–82Google Scholar
  16. 16.
    Cheng BHC, de Lemos R et al (2009) Software engineering for self-adaptive systems: a research road map. Springer, Berlin, pp 1–26Google Scholar
  17. 17.
    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–215Google Scholar
  18. 18.
    Sutanto EL, Warwick K (1995) Cluster analysis for multivariable process control. In: Proceedings of American control conference, vol 1, pp 749–750Google Scholar
  19. 19.
    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–133Google Scholar
  20. 20.
    Weyns D, Iftikhar U (2016) Model-based simulation at runtime for self-adaptive systems. In: 13th International conference on autonomic computing Germany, pp 1–9Google Scholar
  21. 21.
    Schumann J, Gupta P, Jacklin S (2005) Toward verification and validation of adaptive aircraft controllers. In: Proceedings of IEEE aerospace conference. IEEE PressGoogle Scholar
  22. 22.
    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–172Google Scholar
  23. 23.
    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–409CrossRefGoogle Scholar
  24. 24.
    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–6Google Scholar
  25. 25.
    King TM, Ramirez AE, Cruz R, Clarke PJ (2007) An integrated self-testing framework for autonomic computing systems. J Comput 2(9):3749CrossRefGoogle Scholar
  26. 26.
    Skalkowski K, Sota R, KrL D, Kitowski J (2013) QoS-based storage resources provisioning for grid applications. Future Gener Comput Syst J 29:713727CrossRefGoogle Scholar
  27. 27.
    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 312Google Scholar
  28. 28.
    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 middlewareGoogle Scholar
  29. 29.
    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–133Google Scholar
  30. 30.
    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–132Google Scholar
  31. 31.
    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–587Google Scholar
  32. 32.
    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–77Google Scholar
  33. 33.
    Alfares HK, Duffua SO (2008) Assigning cardinal weights in multi-criteria decision making based on ordinal ranking. J Multi Criteria Decis Anal 5:77–83Google Scholar
  34. 34.
    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–72CrossRefGoogle Scholar
  35. 35.
    Kenya Demographic and Health Survey, Kenya Open Data. Retrieved from, updated Apr 14 2015
  36. 36.
    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–9Google Scholar
  37. 37.
    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–111CrossRefGoogle Scholar
  38. 38.
    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–108Google Scholar
  39. 39.
    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–448Google Scholar
  40. 40.
    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–23Google Scholar
  41. 41.
    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–43Google Scholar
  42. 42.
    Morin B, Barais O, Jzquel J-M, Fleurey F, Solberg A (2009) Models@run.time to support dynamic adaptation. IEEE Comput 42(10):44–51CrossRefGoogle Scholar
  43. 43.
    Jureta IJ, Faulkner S, Thiran P (2007) Dynamic requirements specification for adaptable and open service systems. In: Requirements engineering conference, pp 381–382Google Scholar
  44. 44.
    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–6Google Scholar
  45. 45.
    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–169Google Scholar
  46. 46.
    Bartolini N, Bongiovanni GC, Silvestri S (2009) Self-* through self-learning: overload control for distributed web systems. Comput Netw 53(5):727–743CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag London Ltd., part of Springer Nature 2017

Authors and Affiliations

  1. 1.School of Science and TechnologyUnited States International UniversityNairobiKenya
  2. 2.School of Computing and CommunicationsLancaster UniversityLancasterUK

Personalised recommendations