Skip to main content

100 Years of Software - Adapting Cyber-Physical Systems to the Changing World

  • Conference paper
  • First Online:
  • 674 Accesses

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

Abstract

Cyber-Physical Systems (CPS) are software and hardware systems that interact with the physical environment. Many CPSs have useful lifetimes measured in decades. This leads to unique concerns regarding security and longevity of software designed for CPSs which are exacerbated by the need for CPSs to adapt to ecosystem changes if they are to remain functional over extended periods. In particular, the software in long-lifetime CPSs must adapt to unanticipated trends in environmental conditions, aging effects on mechanical systems, and component upgrades and modifications. This paper presents the Toolkit for Evolving Ecosystem Envelopes (TEEE) system created to help address these challenges in CPSs. TEEE is able to detect environmental changes which have caused errors within the CPS without directly sensing the environmental change. TEEE uses dynamic profiling to detect the errors within the CPS, determine the root cause of the error, alert the user, and suggest a possible adaption.

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

Learn about institutional subscriptions

Notes

  1. 1.

    In one of the authors person experience, we once came across some donated defibrillators none of which had batteries. While the defibrillators are designed to still function without a battery (slightly slower charge build up), they were clearly never intended to be used this way as one of steps in the daily self test required the presence of a battery despite the battery itself not being present in the test. Luckily, we were able to find an alternate method of ensuring proper functionality.

References

  1. Adjepon-Yamoah, D.E.: cloud-ATAM: method for analysing resilient attributes of cloud-based architectures. In: Crnkovic, I., Troubitsyna, E. (eds.) SERENE 2016. LNCS, vol. 9823, pp. 105–114. Springer, Cham (2016). doi:10.1007/978-3-319-45892-2_8

    Chapter  Google Scholar 

  2. Arafeen, M.J., Do, H.: Test case prioritization using requirements-based clustering. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation (ICST), pp. 312–321. IEEE (2013)

    Google Scholar 

  3. Chen, Y., Probert, R.L., Sims, D.P.: Specification-based regression test selection with risk analysis. In: Proceedings of the 2002 Conference of the Centre for Advanced Studies on Collaborative Research, p. 1. IBM Press (2002)

    Google Scholar 

  4. Chlipala, A.: Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant. MIT Press, Cambridge (2013)

    MATH  Google Scholar 

  5. Cohen, D.M., Dalal, S.R., Fredman, M.L., Patton, G.C.: The AETG system: an approach to testing based on combinatorial design. IEEE Trans. Softw. Eng. 23(7), 437–444 (1997)

    Article  Google Scholar 

  6. Dreossi, T., Donzé, A., Seshia, S.A.: Compositional falsification of cyber-physical systems with machine learning components. In: Barrett, C., Davies, M., Kahsai, T. (eds.) NFM 2017. LNCS, vol. 10227, pp. 357–372. Springer, Cham (2017). doi:10.1007/978-3-319-57288-8_26

    Chapter  Google Scholar 

  7. Feiler, P., Lewis, B., Vestal, S.: The SAE avionics architecture description language (AADL) standard: a basis for model-based architecture-driven embedded systems. In: Real-Time Applications Symposium Workshop on Model-Driven Embedded Systems (2003)

    Google Scholar 

  8. Feiler, P.H., Gluch, D.P., Hudak, J.J.: The architecture analysis & design language (AADL): an introduction. Technical report, DTIC Document (2006)

    Google Scholar 

  9. Grindal, M., Lindström, B., Offutt, J., Andler, S.F.: An evaluation of combination strategies for test case selection. Empir. Softw. Eng. 11(4), 583–611 (2006)

    Article  Google Scholar 

  10. Hughes, J., Sparks, C., Stoughton, A., Parikh, R., Reuther, A., Jagannathan, S.: Building resource adaptive software systems (brass): objectives and system evaluation. ACM SIGSOFT Softw. Eng. Notes 41(1), 1–2 (2016)

    Article  Google Scholar 

  11. Software Engineering Institute. Open source AADL tool environment (osate). http://la.sei.cmu.edu/aadlinfosite/OpenSourceAADLToolEnvironment.html

  12. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  13. Larson, B., Hatcliff, J., Fowler, K., Delange, J.: Illustrating the AADL error modeling annex (v. 2) using a simple safety-critical medical device. ACM SIGAda Ada Lett. 33(3), 65–84 (2013)

    Article  Google Scholar 

  14. Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: Genprog: a generic method for automatic software repair. IEEE Trans. Softw. Eng. 38(1), 54–72 (2012)

    Article  Google Scholar 

  15. Lott, C., Jain, A., Dalal, S.: Modeling requirements for combinatorial software testing. ACM SIGSOFT Softw. Eng. Notes 30, 1–7 (2005). ACM

    Article  Google Scholar 

  16. Mogyorodi, G.: What is requirements-based testing? Technical report, Crosstalk (2003)

    Google Scholar 

  17. Myers, G.J., Sandler, C., Badgett, T.: The Art of Software Testing. Wiley, New York (2011)

    Google Scholar 

  18. Neches, R.: Engineered resilient systems (ers) s&t priority description and roadmap (2011)

    Google Scholar 

  19. Perkins, J.H., Kim, S., Larsen, S., Amarasinghe, S., Bachrach, J., Carbin, M., Pacheco, C., Sherwood, F., Sidiroglou, S., Sullivan, G., et al.: Automatically patching errors in deployed software. In: Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles, pp. 87–102. ACM (2009)

    Google Scholar 

  20. Qi, Y., Mao, X., Lei, Y.: Efficient automated program repair through fault-recorded testing prioritization. In: 2013 29th IEEE International Conference on Software Maintenance (ICSM), pp. 180–189. IEEE (2013)

    Google Scholar 

  21. Ranganathan, K., Rangarajan, M., Alexander, P., Regan, T.: Automated test vector generation from rosetta requirements. In: VHDL International Users Forum Fall Workshop, Proceedings, pp. 51–58. IEEE (2000)

    Google Scholar 

  22. Rodríguez, R.J., Merseguer, J., Bernardi, S.: Modelling and analysing resilience as a security issue within UML. In: Proceedings of the 2nd International Workshop on Software Engineering for Resilient Systems, pp. 42–51. ACM (2010)

    Google Scholar 

  23. Rugina, A.-E., Kanoun, K., Kaâniche, M.: A system dependability modeling framework using AADL and GSPNs. In: Lemos, R., Gacek, C., Romanovsky, A. (eds.) WADS 2006. LNCS, vol. 4615, pp. 14–38. Springer, Heidelberg (2007). doi:10.1007/978-3-540-74035-3_2

    Chapter  Google Scholar 

  24. Stoicescu, M., Fabre, J.-C., Roy, M.: Architecting resilient computing systems: overall approach and open issues. In: Troubitsyna, E.A. (ed.) SERENE 2011. LNCS, vol. 6968, pp. 48–62. Springer, Heidelberg (2011). doi:10.1007/978-3-642-24124-6_5

    Chapter  Google Scholar 

Download references

Acknowledgments

This material is based upon work supported by the United States Air Force and DARPA under Contract No. FA8750-16-C-0273. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Air Force or DARPA.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hayley Borck .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Borck, H. et al. (2017). 100 Years of Software - Adapting Cyber-Physical Systems to the Changing World. In: Romanovsky, A., Troubitsyna, E. (eds) Software Engineering for Resilient Systems. SERENE 2017. Lecture Notes in Computer Science(), vol 10479. Springer, Cham. https://doi.org/10.1007/978-3-319-65948-0_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65948-0_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-65947-3

  • Online ISBN: 978-3-319-65948-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics