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

  • Hayley Borck
  • Paul Kline
  • Hazel Shackleton
  • John Gohde
  • Steven Johnston
  • Perry Alexander
  • Todd Carpenter
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, 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.

Keywords

Cyber-Physical systems Resilient systems Requirements-based testing 

Notes

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.

References

  1. 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 CrossRefGoogle Scholar
  2. 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. 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. 4.
    Chlipala, A.: Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant. MIT Press, Cambridge (2013)MATHGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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 CrossRefGoogle Scholar
  7. 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. 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. 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)CrossRefGoogle Scholar
  10. 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)CrossRefGoogle Scholar
  11. 11.
    Software Engineering Institute. Open source AADL tool environment (osate). http://la.sei.cmu.edu/aadlinfosite/OpenSourceAADLToolEnvironment.html
  12. 12.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)MathSciNetCrossRefGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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)CrossRefGoogle Scholar
  15. 15.
    Lott, C., Jain, A., Dalal, S.: Modeling requirements for combinatorial software testing. ACM SIGSOFT Softw. Eng. Notes 30, 1–7 (2005). ACMCrossRefGoogle Scholar
  16. 16.
    Mogyorodi, G.: What is requirements-based testing? Technical report, Crosstalk (2003)Google Scholar
  17. 17.
    Myers, G.J., Sandler, C., Badgett, T.: The Art of Software Testing. Wiley, New York (2011)Google Scholar
  18. 18.
    Neches, R.: Engineered resilient systems (ers) s&t priority description and roadmap (2011)Google Scholar
  19. 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. 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. 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. 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. 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 CrossRefGoogle Scholar
  24. 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 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Hayley Borck
    • 1
  • Paul Kline
    • 2
  • Hazel Shackleton
    • 1
  • John Gohde
    • 1
  • Steven Johnston
    • 1
  • Perry Alexander
    • 2
  • Todd Carpenter
    • 1
  1. 1.Adventium LabsMinneapolisUSA
  2. 2.Information and Telecommunication Technology CenterThe University of KansasLawrenceUSA

Personalised recommendations