Skip to main content

Low-Disruptive and Timely Dynamic Software Updating of Smart Grid Components

  • Conference paper
  • First Online:
Smart Grid Inspired Future Technologies (SmartGift 2017)

Abstract

Components in the power grid require security, high availability and real-time communications for reliable operation. But these components are based on software that contains issues that need to be fixed. Timely installation of software updates allows securing vulnerable software quickly but conventionally disrupts availability and communications. Rolling updates on redundant systems prevent such disruptions but delay update installations as they need to be prepared carefully to update reliably. Dynamic Software Updating shortens the installation duration of updates by implementing them in-memory, allowing timely hot-fixing and installation of new features without service disruption or degradation in soft real-time communications. As the Smart Grid settles on standardization and common technologies for interoperability, the need for timely hot-fixing and updating of software applications and libraries which are in widespread use increases.

In this paper, we discuss requirements of Smart Grid components and their updating opportunities. Afterwards, we present Lusagent, our dynamic updating system for Java 6 to 8 that is based on a novel eager program state transformation approach. We illustrate its programming efforts in a case study on an open-source Java control system framework and on several other server applications. Furthermore, we present performance measurements of dynamically updating these applications. The results demonstrate the potential of our dynamic updating approach in enabling low-disruptive and timely updating of highly available and widespread components at low and only one-time programming efforts.

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 EPUB and 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

Notes

  1. 1.

    Code of Lusagent and evaluated applications: https://github.com/lusagent

  2. 2.

    https://github.com/tango-controls/JTango

References

  1. Ajmani, S., Liskov, B., Shrira, L.: Modular software upgrades for distributed systems. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 452–476. Springer, Heidelberg (2006). doi:10.1007/11785477_26

    Chapter  Google Scholar 

  2. Brewer, E.A.: Lessons from giant-scale services. IEEE Internet Comput. 5(4), 46–55 (2001)

    Article  Google Scholar 

  3. Brose, G.: JacORB: Implementation and Design of a Java ORB, pp. 143–154. Chapman & Hall, Cottbus (1997)

    Google Scholar 

  4. Dumitraş, T., Narasimhan, P.: Why do upgrades fail and what can we do about it? In: Bacon, J.M., Cooper, B.F. (eds.) Middleware 2009. LNCS, vol. 5896, pp. 349–372. Springer, Heidelberg (2009). doi:10.1007/978-3-642-10445-9_18

    Chapter  Google Scholar 

  5. Durumeric, Z., Kasten, J., Adrian, D., Halderman, J.A., Bailey, M., Li, F., Weaver, N., Amann, J., Beekman, J., Payer, M., Paxson, V.: The matter of heartbleed. In: Proceedings of the 2014 Conference on Internet Measurement Conference (IMC 2014), pp. 475–488. ACM, New York (2014)

    Google Scholar 

  6. Efftinge, S., Eysholdt, M., Köhnlein, J., Zarnekow, S., von Massow, R., Hasselbring, W., Hanus, M.: Xbase: implementing domain-specific languages for Java. In: Proceedings of the 11th International Conference on Generative Programming and Component Engineering (GPCE 2012). ACM, New York (2012)

    Google Scholar 

  7. Götz, A., Taurel, E., et al.: TANGO V8-Another turbo charged major release. In: Proceedings of ICALEPCS, San Francisco (2013)

    Google Scholar 

  8. Gu, T., Cao, C., Xu, C., Ma, X., Zhang, L., Lu, J.: Javelus: a low disruptive approach to dynamic software updates. In: Proceedings of the 2012 19th Asia-Pacific Software Engineering Conference (APSEC 2012), vol. 01, pp. 527–536. IEEE Computer Society, Washington, DC (2012)

    Google Scholar 

  9. Hayden, C.M., Smith, E.K., Hardisty, E.A., Hicks, M., Foster, J.S.: Evaluating dynamic software update safety using systematic testing. IEEE Trans. Softw. Eng. 38(6), 1340–1354 (2012)

    Article  Google Scholar 

  10. Hicks, M., Nettles, S.: Dynamic software updating. ACM Trans. Program. Lang. Syst. 27(6), 1049–1096 (2005)

    Article  Google Scholar 

  11. Neamtiu, I., Hicks, M., Stoyle, G., Oriol, M.: Practical dynamic software updating for C. In: Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2006), pp. 72–83. ACM, New York (2006)

    Google Scholar 

  12. Nishtala, R., Fugal, H., Grimm, S., Kwiatkowski, M., Lee, H., Li, H.C., McElroy, R., Paleczny, M., Peek, D., Saab, P., Stafford, D., Tung, T., Venkataramani, V.: Scaling memcache at Facebook. In: Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI 2013), pp. 385–398. USENIX Association, Berkeley (2013)

    Google Scholar 

  13. Pina, L., Veiga, L., Hicks, M.: Rubah: DSU for Java on a stock JVM. In: Proceedings of the 2014 ACM Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA 2014). ACM, New York (2014)

    Google Scholar 

  14. Pukall, M., Kästner, C., Cazzola, W., Götz, S., Grebhahn, A., Schröter, R., Saake, G.: JavAdaptor-flexible runtime updates of Java applications. Softw. Pract. Exp. 43(2), 153–185 (2013)

    Article  Google Scholar 

  15. Russell, K., Bak, L.: The hotspotTM serviceability agent: an out-of-process high level debugger for a JavaTM virtual machine. In: Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium (JVM 2001), vol. 1, p. 16. USENIX Association, Berkeley (2001)

    Google Scholar 

  16. Stoyle, G., Hicks, M., Bierman, G., Sewell, P., Neamtiu, I.: Mutatis mutandis: safe and predictable dynamic software updating. ACM Trans. Program. Lang. Syst. 29(4), 22 (2007)

    Article  MATH  Google Scholar 

  17. Subramanian, S., Hicks, M., McKinley, K.S.: Dynamic software updates: a VM-centric approach. In: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009), pp. 1–12. ACM, New York (2009)

    Google Scholar 

  18. Würthinger, T., Wimmer, C., Stadler, L.: Unrestricted and safe dynamic code evolution for Java. Sci. Comput. Program. 78(5), 481–498 (2013)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Alexander Neumann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering

About this paper

Cite this paper

Neumann, M.A., Bach, C.T., Ding, Y., Riedel, T., Beigl, M. (2017). Low-Disruptive and Timely Dynamic Software Updating of Smart Grid Components. In: Lau, E., et al. Smart Grid Inspired Future Technologies. SmartGift 2017. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 203. Springer, Cham. https://doi.org/10.1007/978-3-319-61813-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-61813-5_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-61812-8

  • Online ISBN: 978-3-319-61813-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics