Skip to main content

Applying evolutionary computation to mitigate uncertainty in dynamically-adaptive, high-assurance middleware

Abstract

In this paper, we explore the integration of evolutionary computation into the development and run-time support of dynamically-adaptable, high-assurance middleware. The open-ended nature of the evolutionary process has been shown to discover novel solutions to complex engineering problems. In the case of high-assurance adaptive software, however, this search capability must be coupled with rigorous development tools and run-time support to ensure that the resulting systems behave in accordance with requirements. Early investigations are reviewed, and several challenging problems and possible research directions are discussed.

References

  1. 1.

    McKinley PK, Sadjadi SM, Kasten EP, Cheng BHC (2004) Composing adaptive software. IEEE Comput 37(7):56–64

    Article  Google Scholar 

  2. 2.

    Zhang J, Cheng BHC (2006) Model-based development of dynamically adaptive software. In: Proceedings of the 28th international conference on software engineering. ACM, New York, pp 371–380 (Distinguished Paper Award)

    Google Scholar 

  3. 3.

    Blair GS, Coulson G, Robin P, Papathomas M (1998) An architecture for next generation middleware. In: Proceedings of the IFIP international conference on distributed systems platforms and open distributed processing (Middleware’98), The Lake District, England, September

    Google Scholar 

  4. 4.

    Whittle J, Sawyer P, Bencomo N, Cheng BHC, Bruel J-M (2009) RELAX: Incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of the 17th international requirements engineering conference (RE ’09), Atlanta, Georgia, USA. IEEE Computer Society, Washington, pp 79–88

    Google Scholar 

  5. 5.

    De Jong KA (2002) Evolutionary computation: a unified approach. MIT Press, Cambridge

    Google Scholar 

  6. 6.

    Awards for human-competitive results produced by genetic and evolutionary computation. Competition held as part of the annual genetic and evolutionary computation conference (GECCO), sponsored by ACM SIGEVO. Results available at http://www.human-competitive.org

  7. 7.

    Schmidt DC, Levine DL, Mungee S (1998) The design of the TAO real-time object request broker. Comput Commun 21:294–324

    Article  Google Scholar 

  8. 8.

    Sadjadi SM (2004) Transparent shaping support for adaptability in pervasive and autonomic computing. PhD thesis, Michigan State University, East Lansing, Michigan, USA

  9. 9.

    Vanegas R, Zinky JA, Loyall JP, Karr DA, Schantz RE, Bakken DE (1998) QuO’s runtime support for quality of service in distributed objects. In: Proceedings of the IFIP international conference on distributed systems platforms and open distributed processing (Middleware’98), The Lake District, England, September

    Google Scholar 

  10. 10.

    Mokhtar SB, Georgantas N, Issarny V (2007) COCOA: COnversation-based service COmposition in pervAsive computing environments with QoS support. J Syst Softw 80(12):1941–1955

    Article  Google Scholar 

  11. 11.

    Kramer J, Magee J (2007) Self-managed systems: an architectural challenge. In: Future of software engineering 2007. IEEE-CS Press, Los Alamitos

    Google Scholar 

  12. 12.

    Fleury F, Solberg A (2009) A domain specific modeling language supporting specification, simulation and execution of dynamic adaptive systems. In: Proceedings of the 2009 international conference on model driven engineering languages and systems (Models ’09), Denver, Colorado, USA. Lecture notes in computer science, vol 5795. Springer, Berlin, pp 606–621

    Google Scholar 

  13. 13.

    Fickas S, Feather MS (1995) Requirements monitoring in dynamic environments. In: Proceedings of the second IEEE international symposium on requirements engineering. IEEE Computer Society, Washington, p 140

    Google Scholar 

  14. 14.

    Allen R, Douence R, Garlan D (1998) Specifying and analyzing dynamic software architectures. In: Proceedings of the 1998 conference on fundamental approaches to software engineering (FASE’98), Lisbon, Portugal, March

    Google Scholar 

  15. 15.

    Kramer J, Magee J (1998) Analysing dynamic change in software architectures: a case study. In: Proc of 4th IEEE international conference on configurable distributed systems, Annapolis, May

    Google Scholar 

  16. 16.

    Zhang J, Cheng BHC (2006) Model-based development of dynamically adaptive software. In: Proceedings of international conference on software engineering (ICSE’06), Shanghai, China, May

    Google Scholar 

  17. 17.

    Holland JH (1975) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. University of Michigan Press, Ann Arbor

    Google Scholar 

  18. 18.

    Koza JR (2003) Genetic programming IV: routine human-competitive machine intelligence. Kluwer Academic, Norwell

    Google Scholar 

  19. 19.

    Ofria C, Wilke CO (2004) Avida: a software platform for research in computational evolutionary biology. J Artif Life 10:191–229

    Article  Google Scholar 

  20. 20.

    Lenski RE, Ofria C, Pennock RT, Adami C (2003) The evolutionary origin of complex features. Nature 423:139–144

    Article  Google Scholar 

  21. 21.

    McKinley PK, Cheng BHC, Ofria C, Knoester D, Beckmann B, Goldsby H (2008) Harnessing digital evolution. IEEE Comput. 41

  22. 22.

    Stanley KO, Miikkulainen R (2004) Competitive coevolution through evolutionary complexification. J Artif Intell Res 21:63–100

    Google Scholar 

  23. 23.

    Floreano D, Husbands P, Nolfi S (2008) Evolutionary robotics. In: Handbook of robotics. Springer, Berlin

    Google Scholar 

  24. 24.

    Miikkulainen R, Stanley KO (2008) Evolving neural networks. In: GECCO ’08: proceedings of the 2008 GECCO conference companion on genetic and evolutionary computation. ACM, New York, pp 2829–2848

    Google Scholar 

  25. 25.

    Knoester DB, McKinley PK (2009) Evolution of probabilistic consensus in digital organisms. In: Proceedings of the third IEEE international conference on self-adaptive and self-organizing systems, San Francisco, California, September

    Google Scholar 

  26. 26.

    Ramirez AJ, Jensen AC, Cheng BHC, Knoester DB (2011) Automatically exploring how uncertainty impacts the behavior of dynamically adaptive systems. In: Proceedings of the 26th international conference on automated software engineering (ASE11), Lawrence, Kansas

    Google Scholar 

  27. 27.

    Lehman J, Stanley KO (2008) Exploiting open-endedness to solve problems through the search for novelty. In: Proceedings of the eleventh international conference on artificial life (ALIFE XI). MIT Press, Cambridge

    Google Scholar 

  28. 28.

    Goldsby HJ, Cheng BHC (2010) Automatically discovering properties that specify the latent behavior of UML models. In: Proceedings of the ACM/IEEE international conference on model driven engineering languages and systems (MoDELS 2010), Oslo, Norway, October

    Google Scholar 

  29. 29.

    Jensen A, Cheng B, Goldsby H, Nelson E (2011) A toolchain for the detection of structural and behavioral latent system properties. In: Proceedings of the ACM/IEEE international conference on model driven engineering languages and systems

    Google Scholar 

  30. 30.

    Ramirez AJ, Cheng BHC, McKinley PK (2010) Adaptive monitoring of software requirements. In: Proceedings of the first international workshop on requirements at run time, Sydney, Australia, October

    Google Scholar 

  31. 31.

    Ramirez A, Knoester D, Cheng BHC, McKinley PK (2009) Applying genetic algorithms to decision making in autonomic computing systems. In: Proceedings of the 6th IEEE international conference on autonomic computing and communications, Barcelona, Spain, June. Best Paper Award

    Google Scholar 

  32. 32.

    Knoester DB, McKinley PK (2011) Neuroevolution of controllers for self-organizing mobile ad hoc networks. In: Proceedings of the fifth IEEE international conference on self-adaptive and self-organizing systems, Ann Arbor, Michigan, October

    Google Scholar 

  33. 33.

    Ramirez AJ, Cheng BHC, McKinley PK, Beckmann BE (2010) Automatically generating adaptive logic to balance non-functional tradeoffs during reconfiguration. In: Proceedings of the 7th international conference on autonomic computing, Washington, DC, June, pp 225–234

    Google Scholar 

  34. 34.

    Bencomo N, Whittle J, Sawyer P, Finkelstein A, Letier E (2010) Requirements reflection: requirements as runtime entities. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, ICSE ’10, vol 2. ACM, New York, pp 199–202

    Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Philip K. McKinley.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

McKinley, P.K., Cheng, B.H.C., Ramirez, A.J. et al. Applying evolutionary computation to mitigate uncertainty in dynamically-adaptive, high-assurance middleware. J Internet Serv Appl 3, 51–58 (2012). https://doi.org/10.1007/s13174-011-0049-4

Download citation

Keywords

  • Middleware
  • Adaptive software
  • High-assurance
  • Evolutionary computation
  • Uncertainty