Skip to main content

Fine-Grained Semi-automated Runtime Evolution

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8378))

Abstract

Modern software systems that play critical roles in society are often required to change at runtime so that they can continuously provide essential services in the dynamic environments they operate in. Updating open, distributed software systems at runtime is very challenging. Using runtime models as an interface for updating software at runtime can help developers manage the complexity of updating software while it is executing. In this chapter we describe an approach to updating Java software at runtime through the use of runtime models consisting of UML class and sequence diagrams. Changes to models are transformed to changes on Java source code, which is then propagated to the runtime system using the JavAdaptor technology. In particular, the presented approach permits in-the-small software changes, i.e., changes at the code statement level, as opposed to in-the-large changes, i.e., changes at the component level. We present a case study that demonstrates the major aspects of the approach and its use. We also give the results of a preliminary evaluation of the approach.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Blair, G.S., Bencomo, N., France, R.B.: Models@run.time. IEEE Computer 42(10), 22–27 (2009)

    Article  Google Scholar 

  2. Cazzola, W., Pini, S., Ghoneim, A., Saake, G.: Co-Evolving Application Code and Design Models by Exploiting Meta-Data. In: Proceedings of the 12th Annual ACM Symposium on Applied Computing (SAC 2007), Seoul, South Korea, March 11–15, pp. 1275–1279. ACM Press (2007)

    Google Scholar 

  3. Chechik, M., Lai, W., Nejati, S., Cabot, J., Diskin, Z., Easterbrook, S., Sabetzadeh, M., Salay, R.: Relationship-Based Change Propagation: A Case Study. In: Proceedings of the ICSE Workshop on Modeling in Software Engineering (MiSE 2009), Vancouver, Canada, pp. 7–12. IEEE (May 2009)

    Google Scholar 

  4. Costa-Soria, C., Hervás-Muñoz, D., Pérez Benedí, J., Carsí Cubel, J.A.: A Reflective Approach for Supporting the Dynamic Evolution of Component Types. In: Proceedings of the 14th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2009), pp. 301–310, Potsdam, Germany (June 2009)

    Google Scholar 

  5. Dzidek, W.J., Arisholm, E., Briand, L.C.: A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance. IEEE Transactions on Software Engineering 34(3), 407–432 (2008)

    Article  Google Scholar 

  6. Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjørven, E.: Beyond Design Time: Using Architecture Models for Runtime Adaptability. IEEE Software 23(2), 62–70 (2006)

    Article  Google Scholar 

  7. France, R.B., Rumpe, B.: Model-Driven Development of Complex Software: A Research Roadmap. In: Briand, L.C., Wolf, A.L. (eds.) Proceedings of Future of Software Engineering (FoSE 2007), Minneapolis, MN, USA, pp. 37–54. IEEE Computer Society (May 2007)

    Google Scholar 

  8. Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-Based Self Adaptation with Reusable Infrastructure. IEEE Computer 37(10), 46–54 (2004)

    Article  Google Scholar 

  9. Georgas, J.C., van der Hoek, A., Taylor, R.N.: Using Architectural Models to Manage and Visualize Runtime Adaptation. IEEE Computer 42(10), 52–60 (2009)

    Article  Google Scholar 

  10. Hicks, M., Nettles, S.: Dynamic Software Updating. ACM Transaction on Programming Languages and Systems 27(6), 1049–1096 (2005)

    Article  Google Scholar 

  11. Kramer, J., Magee, J.: Self-Managed Systems: an Architectural Challenge. In: Briand, L.C., Wolf, A.L. (eds.) Proceedings of 29th International Conference on Software Engineering (ICSE 2007): Future of Software Engineering (FoSE 2007), Minneapolis, MN, USA, pp. 259–268. IEEE Computer Society (May 2007)

    Google Scholar 

  12. Morin, B., Barais, O., Jézéquel, J.-M., Fleurey, F., Solberg, A.: Models@ Run.time to Support Dynamic Adaptation. IEEE Computer 42(10), 44–51 (2009)

    Article  Google Scholar 

  13. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-Based Runtime Software Evolution. In: Proceedings of the 20th International Conference on Software Engineering (ICSE 1998), Kyoto, Japan, pp. 177–186. IEEE Computer Society (1998)

    Google Scholar 

  14. Orso, A., Rao, A., Harrold, M.J.: A Technique for Dynamic Updating of Java Software. In: Proceedings of the International Conference on Software Maintenance (ICSM 2002), Montréal, Canada, pp. 649–658. IEEE Press (October 2002)

    Google Scholar 

  15. Pukall, M., Kästner, C., Cazzola, W., Götz, S., Grebhahn, A., Schöter, R., Saake, G.: JavAdaptor — Flexible Runtime Updates of Java Applications. Software—Practice and Experience 43(2), 153–185 (2013)

    Article  Google Scholar 

  16. Sadjadi, S.M., McKinley, P.K.: ACT: An Adaptive CORBA Template to Support Unanticipated Adaptation. In: Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS 2004), Tokyo, Japan, pp. 74–83. IEEE Computer Society (March 2004)

    Google Scholar 

  17. Salehie, M., Tahvildari, L.: Self-Adaptive Software: Landscape and Research Challenges. ACM Transactions on Autonomous and Adaptive Systems 14, 14:1–14:42 (2009)

    Google Scholar 

  18. Stoyle, G., Hicks, M., Bierman, G., Sewell, P., Neamtiu, I.: Mutatis Mutandis: Safe and Predictable Dynamic Software Updating. ACM Transaction on Programming Languages and Systems 29(4) (August 2007)

    Google Scholar 

  19. Ubayashi, N., Akatoki, H., Nomura, J.: Pointcut-based Architectural Interface for Bridging a Gap between Design and Implementation. In: Oriol, M., Cazzola, W., Chiba, S., Saake, G. (eds.) Proceedings of the 6th ECOOP Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE 2009), Genoa, Italy (July 2009)

    Google Scholar 

  20. Čech Previtali, S., Gross, T.: Dynamic Updating of Software Systems Based on Aspects. In: Proceedings of the 22nd IEEE International Conference on Software Maintenance (ICSM 2006), Philadelphia, USA, pp. 83–92 (September 2006)

    Google Scholar 

  21. Vogel, T., Giese, H.: Adaptation and Abstract Runtime Models. In: Proceedings of the ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2010), Cape Town, South Africa, pp. 39–48. ACM (May 2010)

    Google Scholar 

  22. Zhang, J., Cheng, B.H.C.: Model-Based Development of Dynamically Adaptive Software. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 2006), Shanghai, China, pp. 371–380. ACM (May 2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Cazzola, W., Rossini, N.A., Bennett, P., Mandalaparty, S.P., France, R. (2014). Fine-Grained Semi-automated Runtime Evolution. In: Bencomo, N., France, R., Cheng, B.H.C., Aßmann, U. (eds) Models@run.time. Lecture Notes in Computer Science, vol 8378. Springer, Cham. https://doi.org/10.1007/978-3-319-08915-7_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-08915-7_9

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-08914-0

  • Online ISBN: 978-3-319-08915-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics