SERENE 2017: Software Engineering for Resilient Systems pp 133-148 | Cite as
100 Years of Software - Adapting Cyber-Physical Systems to the Changing World
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 testingNotes
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.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.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)MATHGoogle 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)CrossRefGoogle 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 CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)MathSciNetCrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 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.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 CrossRefGoogle 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 CrossRefGoogle Scholar