Skip to main content

Fine-Grained Software Evolution Using UML Activity and Class Models

  • Conference paper
Model-Driven Engineering Languages and Systems (MODELS 2013)

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

Abstract

Modern software systems that play critical roles in society’s infrastructures 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 work we describe an approach to updating Java software at runtime through the use of runtime models consisting of UML class and activity diagrams. Changes to models are turned into 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.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barais, O., Cariou, E., Duchien, L., Pessemier, N., Seinturier, L.: TranSAT: A Framework for the specification of Software Architecture Evolution. In: Proc. of WCAT 2004, Oslo, Norway, pp. 31–38 (June 2004)

    Google Scholar 

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

    Article  Google Scholar 

  3. Cazzola, W., Pini, S., Ghoneim, A., Saake, G.: Co-Evolving Application Code and Design Models by Exploiting Meta-Data. In: Proc. of SAC 2007, South Korea (2007)

    Google Scholar 

  4. Cazzola, W., Rossini, N.A., Bennett, P., Pradeep Mandalaparty, S., France, R.B.: Fine-Grained Semi-Automated Runtime Evolution. In: MoDELS@Run-Time. LNCS. Springer, Heidelberg (2013)

    Google Scholar 

  5. Cazzola, W., Vacchi, E.: @Java: Annotations in Freedom. In: Proc. of SAC 2013, Coimbra, Portugal, pp. 1691–1696. ACM Press (March 2013)

    Google Scholar 

  6. Costa-Soria, C., Hervás-Muñoz, D., Pérez Benedí, J., Carsí Cubel, J.: A Reflective Approach for Supporting the Dynamic Evolution of Component Types. In: Proc. of ICECCS 2009, Potsdam, Germany, pp. 301–310 (June 2009)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. France, R., Rumpe, B.: Model-Driven Development of Complex Software: A Research Roadmap. In: Proc. of FoSE 2007, pp. 37–54. IEEE, Minneapolis (2007)

    Google Scholar 

  9. 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 

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

    Article  Google Scholar 

  11. Hicks, M., Nettles, S.: Dynamic Software Updating. ACM Trans. on Progr. Languages and Systems 27(6), 1049–1096 (2005)

    Article  Google Scholar 

  12. Kramer, J., Magee, J.: Self-Managed Systems: an Architectural Challenge. In: Proc. of FoSE 2007, pp. 259–268. IEEE, Minneapolis (2007)

    Google Scholar 

  13. Maoz, S., Ringert, J., Rumpe, B.: ADDiff: Semantic Differencing for Activity Diagrams. In: Proc. of ESEC/FSE 2011, Szeged, Hungary, pp. 179–189 (September 2011)

    Google Scholar 

  14. 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 

  15. Murphy, G., Notkin, D., Sullivan, K.: Software Reflexion Models: Bridging the Gap between Design and Implementation. Trans. Softw. Eng. 27(4), 364–380 (2001)

    Article  Google Scholar 

  16. Oreizy, P., Medvidovic, N., Taylor, R.: Architecture-Based Runtime Software Evolution. In: Proc. of ICSE 1998, pp. 177–186. IEEE, Kyoto (1998)

    Google Scholar 

  17. Orso, A., Rao, A., Harrold, M.: A Technique for Dynamic Updating of Java Software. In: Proc. of ICSM 2002, pp. 649–658. IEEE, Montréal (2002)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Salehie, M., Tahvildari, L.: Self-Adaptive Software: Landscape and Research Challenges. Trans. on Autonomous and Adaptive Systems 4(2), 14:1–14:42 (2009)

    Google Scholar 

  20. Stoyle, G., Hicks, M., Bierman, G., Sewell, P., Neamtiu, I.: Mutatis Mutandis. ACM Trans. on Progr. Languages and Systems 29(4) (August 2007)

    Google Scholar 

  21. Ubayashi, N., Akatoki, H., Nomura, J.: Pointcut-based Architectural Interface for Bridging a Gap between Design and Implementation. In: RAM-SE 2009, Italy (2009)

    Google Scholar 

  22. Vogel, T., Giese, H.: Adaptation and Abstract Runtime Models. In: Proc. of SEAMS 2010, pp. 39–48. ACM, Cape Town (2010)

    Google Scholar 

  23. Xing, Z., Stroulia, E.: Differencing Logical UML Models. Automated Software Engineering 14(2), 215–259 (2007)

    Article  Google Scholar 

  24. Zhang, J., Cheng, B.: Model-Based Development of Dynamically Adaptive Software. In: Proc. of ICSE 2006, pp. 371–380. ACM, Shanghai (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cazzola, W., Rossini, N.A., Al-Refai, M., France, R.B. (2013). Fine-Grained Software Evolution Using UML Activity and Class Models. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds) Model-Driven Engineering Languages and Systems. MODELS 2013. Lecture Notes in Computer Science, vol 8107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41533-3_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41533-3_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-41532-6

  • Online ISBN: 978-3-642-41533-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics