Skip to main content
Log in

Dynamic data-driven learning for self-healing avionics

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

In sensor-based systems, spatio-temporal data streams are often related in non-trivial ways. For example in avionics, while the airspeed that an aircraft attains in cruise phase depends on the weight it carries, it also depends on many other factors such as engine inputs, angle of attack, and air density. It is therefore a challenge to develop failure models that can help recognize errors in the data, such as an incorrect fuel quantity or an incorrect airspeed. In this paper, we present a highly-declarative programming framework that facilitates the development of self-healing avionics applications, which can detect and recover from data errors. Our programming framework enables specifying expert-created failure models using error signatures, as well as learning failure models from data. To account for unanticipated failure modes, we propose a new dynamic Bayes classifier, that detects outliers and upgrades them to new modes when statistically significant. We evaluate error signatures and our dynamic Bayes classifier for accuracy, response time, and adaptability of error detection. While error signatures can be more accurate and responsive than dynamic Bayesian learning, the latter method adapts better due to its data-driven nature.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26

Similar content being viewed by others

Notes

  1. We have designed, but not fully implemented the trainer abstraction in PILOTS version 0.4 as of June 2017.

  2. We have not implemented the when clause support in PILOTS version 0.4 as of June 2017.

  3. Note the current version (v0.4) of PILOTS does not fully support the grammar shown here as of October 2017.

References

  1. Akidau, Tyler, Balikov, Alex, Bekiroğlu, Kaya, Chernyak, Slava, Haberman, Josh, Lax, Reuven, McVeety, Sam, Mills, Daniel, Nordstrom, Paul, Whittle, Sam: Millwheel: fault-tolerant stream processing at internet scale. Proceedings of the VLDB Endowment 6(11), 1033–1044 (2013)

    Article  Google Scholar 

  2. Allaire, Douglas., Kordonowy, David., Lecerf, Marc., Mainini, Laura., Willcox, Karen.: Multifidelity DDDAS methods with application to a self-aware aerospace vehicle. In: DDDAS 2014 Workshop at ICCS’14, pages 1182–1192, (June 2014)

  3. Anderson Jr., J.D.: Fundamentals of Aerodynamics. Tata McGraw-Hill Education, New York (2010)

    Google Scholar 

  4. Biswas, Gautam., Khorasgani, Hamed., Stanje, Gerald., Dubey, Abhishek., Deb, Somnath., Ghoshal, Sudipto.: An application of data driven anomaly identification to spacecraft telemetry data. In: Prognostics and Health Management Conference, (2016)

  5. Blasch, Erik P., Lambert, Dale A., Valin, Pierre, Kokar, Mieczyslaw M., Llinas, James, Das, Subrata, Chong, Chee, Shahbazian, Elisa: High level information fusion (hlif): survey of models, issues, and grand challenges. IEEE Aerospace and Electronic Systems Magazine 27(9), 4–20 (2012)

    Article  Google Scholar 

  6. Bureau d’Enquêtes et d’Analyses pour la Sécurité de l’Aviation Civile. Final Report: On the accident on 1st June 2009 to the Airbus A330-203 registered F-GZCP operated by Air France flight AF 447 Rio de Janeiro - Paris

  7. Chaiken, Ronnie, Jenkins, Bob, Larson, PerÅke, Ramsey, Bill, Shakib, Darren, Weaver, Simon, Zhou, Jingren: SCOPE: Easy and efficient parallel processing of massive data sets. Proc. VLDB Endow. 1(2), 1265–1276 (2008)

    Article  Google Scholar 

  8. Chen, Sida., Imai, Shigeru., Zhu, Wennan., Varela, Carlos A.: Towards learning spatio-temporal data stream relationships for failure detection in avionics. In: Dynamic Data-Driven Application Systems (DDDAS 2016), Hartford, CT, Aug 2016. To appear

  9. Darema, Frederica.: Dynamic data driven applications systems: A new paradigm for application simulations and measurements. In: Computational Science-ICCS 2004, pages 662–669. Springer, (2004)

  10. Das, S., Matthews, BL., Srivastava, Ashok N., Oza, Nikunj C.: Multiple kernel learning for heterogeneous anomaly detection: algorithm and aviation safety case study. Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 47–55, (2010)

  11. De Raedt, Luc, Kimmig, Angelika, Toivonen, Hannu: Problog: A probabilistic prolog and its application in link discovery. International Joint Conference on Artificial Intelligence 7, 2462–2467 (2007)

    Google Scholar 

  12. Ditzler, Gregory., Hariri, Salim., Akoglu, Ali.: High Performance Machine Learning (HPML) Framework to Support DDDAS Decision Support Systems: Design Overview. In: Foundations and Applications of Self* Systems (FAS* W), 2017 IEEE 2nd International Workshops on, pages 360–362. IEEE, (2017)

  13. Fonnesbeck, Christopher J.: PyMC 2.3.6 documentation. https://pymc-devs.github.io/pymc/. Accessed 06-12-(2017)

  14. Hwang, Inseok, Kim, Sungwan, Kim, Youdan, Seah, Chze Eng: A survey of fault detection, isolation, and reconfiguration methods. IEEE Transactions on Control Systems Technology 18(3), 636–653 (2010)

    Article  Google Scholar 

  15. Imai, Shigeru., Blasch, Erik., Galli, Alessandro., Zhu, Wennan., Lee, Frederick., Varela, Carlos A.: Airplane flight safety using error-tolerant data stream processing. IEEE Aerospace and Electronics Systems Magazine, 32(4), (2017)

  16. Imai, Shigeru., Galli, Alessandro., Varela, Carlos A.: Dynamic data-driven avionics systems: Inferring failure modes from data streams. In: Dynamic Data-Driven Application Systems (DDDAS 2015), Reykjavik, Iceland, (June 2015)

  17. Imai, Shigeru., Klockowski, Richard., Varela, Carlos A.: Self-healing spatio-temporal data streams using error signatures. In: 2nd International Conference on Big Data Science and Engineering (BDSE 2013), Sydney, Australia, (December 2013)

  18. Imai, Shigeru., Patterson, Stacy., Varela, Carlos A.: Maximum sustainable throughput prediction for data stream processing over public clouds. In: 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2017), Madrid, Spain, (May 2017)

  19. Imai, Shigeru., Varela, Carlos A.: A programming model for spatio-temporal data streaming applications. In: Dynamic Data-Driven Application Systems (DDDAS 2012), pages 1139–1148, Omaha, Nebraska, (June 2012)

  20. Imai, Shigeru., Varela, Carlos A.: Programming spatio-temporal data streaming applications with high-level specifications. In: 3rd ACM SIGSPATIAL International Workshop on Querying and Mining Uncertain Spatio-Temporal Data (QUeST): Redondo Beach, p. 2012. California, USA, November (2012)

  21. JavaCC Development Group. JavaCC - The Java Parser Generator. http://javacc.org/. Accessed 06-12-2017

  22. Jaynes, E.T.: Probability Theory: The Logic of Science. Cambridge University Press, Cambridge (2003)

    Book  MATH  Google Scholar 

  23. John, George H., Langley, Pat.: Estimating continuous distributions in Bayesian classifiers. In: Proceedings of the Eleventh conference on Uncertainty in artificial intelligence, pages 338–345. Morgan Kaufmann Publishers Inc., (1995)

  24. Kamburugamuve, Supun., Ekanayake, Saliya., Pathirage, Milinda., Fox, Geoffrey.: Towards high performance processing of streaming data in large data centers. In: Parallel and Distributed Processing Symposium Workshops, 2016 IEEE International, pages 1637–1644. IEEE, (2016)

  25. Klockowski, Richard S., Imai, Shigeru., Rice, Colin., Varela, Carlos A.: Autonomous data error detection and recovery in streaming applications. In: Proceedings of the International Conference on Computational Science (ICCS 2013). Dynamic Data-Driven Application Systems (DDDAS 2013) Workshop, pages 2036–2045, (May 2013)

  26. Ludäscher, Bertram, Altintas, Ilkay, Berkley, Chad, Higgins, Dan, Jaeger, Efrat, Jones, Matthew, Lee, Edward A, Tao, Jing, Zhao, Yang: Scientific workflow management and the Kepler system. Concurrency and Computation: Practice and Experience 18(10), 1039–1065 (2006)

    Article  Google Scholar 

  27. Mack, Daniel L.C., Biswas, Gautam, Koutsoukos, Xenofon D., Mylaraswamy, Dinkar: Learning bayesian network structures to augment aircraft diagnostic reference models. IEEE Transactions on Automation Science and Engineering 14(1), 358–369 (2017)

    Article  Google Scholar 

  28. Mack, Daniel LC., Biswas, Gautam., Koutsoukos, Xenofon D., Mylaraswamy, Dinkar., Hadden, George.: Deriving bayesian classifiers from flight data to enhance aircraft diagnosis models. In: Annual Conference of the Prognostics and Health Management Society, (2011)

  29. De Francisci Morales, Gianmarco, Bifet, Albert: SAMOA: Scalable Advanced Massive Online Analysis. Journal of Machine Learning Research 16, 149–153 (2015)

    Google Scholar 

  30. Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: Machine learning in Python. Journal of Machine Learning Research 12, 2825–2830 (2011)

    MathSciNet  MATH  Google Scholar 

  31. Agenzia Nazionale per la Sicurezza del Volo. Final Report: Accident involving ATR 72 aircraft registration marks TS-LBB ditching off the coast of Capo Gallo (Palermo - Sicily), August 6th, (2005)

  32. Portugal, I., Alencar, P., Cowan, D.: A preliminary survey on domain-specific languages for machine learning in big data. In: 2016 IEEE International Conference on Software Science, Technology and Engineering (SWSTE), (June 2016)

  33. Rish, Irina.: An empirical study of the naive Bayes classifier. In: IJCAI 2001 workshop on empirical methods in artificial intelligence, volume 3, pages 41–46. IBM New York, (2001)

  34. Shekhar, Shashank., Gokhale, Aniruddha.: Dynamic resource management across cloud-edge resources for performance-sensitive applications. In: Proceedings of the 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, pages 707–710. IEEE Press, (2017)

  35. Sujeeth, Arvind., Lee, HyoukJoong., Brown, Kevin., Rompf, Tiark., Chafi, Hassan., Wu, Michael., Atreya, Anand., Odersky, Martin., Olukotun, Kunle.: OptiML: an implicitly parallel domain-specific language for machine learning. In: Proceedings of the 28th International Conference on Machine Learning (ICML-11), pages 609–616, (2011)

  36. The Apache Software Foundation. Apache Storm. http://storm.apache.org/, January 2015. Accessed 06-14-2017

  37. Wang, Jianwu., Tang, Yan., Nguyen, Mai., Altintas, Ilkay: A scalable data science workflow approach for big data bayesian network learning. In: Big Data Computing (BDC), 2014 IEEE/ACM International Symposium on, pages 16–25. IEEE, (2014)

  38. Weimer, Markus., Condie, Tyson., Ramakrishnan, Raghu.: Machine learning in ScalOps, a higher order cloud computing language. In: NIPS 2011 Workshop on parallel and large-scale machine learning (BigLearn), volume 9, pages 389–396, (2011)

  39. Zaharia, Matei., Das, Tathagata., Li, Haoyuan., Shenker, Scott., Stoica, Ion.: Discretized streams: an efficient and fault-tolerant model for stream processing on large clusters. In: Proceedings of the 4th USENIX conference on Hot Topics in Cloud Computing. USENIX Association, (2012)

Download references

Acknowledgements

This research is partially supported by the DDDAS program of the Air Force Office of Scientific Research, Grant No. FA9550-15-1-0214, NSF Grant No. 1462342, and a Yamada Corporation Fellowship. We would like to thank anonymous reviewers for their valuable feedback. We would also like to acknowledge co-authors of previous PILOTS papers: Erik Blasch, Richard Klockowski, Alessandro Galli, Frederick Lee, and Colin Rice.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlos A. Varela.

Appendices

Core PILOTS runtime library

The core PILOTS runtime library is in charge of starting a data receiving server, storing received data, providing data selection/interpolation service to the application, and sending processed data to output/error hosts.

Fig. 27
figure 27

Class diagram of PILOTS runtime library

Primary classes included in the PILOTS runtime library shown in Fig. 27 are explained as follows.

  • PilotsRuntime class is extended by the application and provides all basic functions to run a PILOTS application other than application-specific processing. It starts DataReceiver to start receiving data, requests stored data from DataStore, and sends calculated outputs and errors to other hosts.

  • DataReceiver class receives data from data input clients from a port specified in the command-line arguments. Upon accepting data, it launches a new worker thread to receive data and the created thread requests to add these data to DataStore.

  • DataStore class accepts data from DataReceiver as a string, and then it asks SpatioTempoData to parse the string and stores the parsed data. It also implements getData() method supporting closest, euclidean, interpolate for data selection. When comparing locations and time for data selection/interpolation, it asks for the current time and location from CurrentLocationTimeService. Stored data are accessed from multiple threads (i.e., threads for adding data from DataReceiver vs. threads getting data from PilotsRuntime), so the data have to be protected from simultaneous data access.

  • CurrentLocationTimeService class is an interface class for providing the current time and location. Users have to implement this class for the system to work (e.g., SimpleTimeService and SimulationService). The implemented class can either return the actual current time for the real-time mode or past time for the simulation mode.

PILOTS with machine learning component grammar design

The grammar of the PILOTS programming language with machine learning component is designed as shown in Fig. 28. Also, the grammar of the PILOTS trainer file is shown in Fig. 29Footnote 3.

Fig. 28
figure 28

PILOTS with machine learning component grammar design

Fig. 29
figure 29

PILOTS trainer file grammar design (Note: for the non-terminals not defined here, refer to Fig. 28)

Example generated Java code

Generated Java code for the Twice PILOTS program (Fig. 1) is shown in Fig. 30. Also, the difference in generated Java code between Twice (Fig. 1) and Twice_Signatures (Fig. 4) PILOTS programs is shown in Fig. 31. Note that the difference is generated by the following Linux command:

$ diff Twice.java Twice_Signatures.java

Fig. 30
figure 30

Generated Java code for the Twice PILOTS program shown in Fig. 1

Fig. 31
figure 31

Difference in generated Java code between Twice (Fig. 1) and Twice_Signatures (Fig. 4) PILOTS programs

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Imai, S., Chen, S., Zhu, W. et al. Dynamic data-driven learning for self-healing avionics. Cluster Comput 22 (Suppl 1), 2187–2210 (2019). https://doi.org/10.1007/s10586-017-1291-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-017-1291-8

Keywords

Navigation