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.
Similar content being viewed by others
Notes
We have designed, but not fully implemented the trainer abstraction in PILOTS version 0.4 as of June 2017.
We have not implemented the when clause support in PILOTS version 0.4 as of June 2017.
Note the current version (v0.4) of PILOTS does not fully support the grammar shown here as of October 2017.
References
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)
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)
Anderson Jr., J.D.: Fundamentals of Aerodynamics. Tata McGraw-Hill Education, New York (2010)
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)
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)
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
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)
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
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)
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)
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)
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)
Fonnesbeck, Christopher J.: PyMC 2.3.6 documentation. https://pymc-devs.github.io/pymc/. Accessed 06-12-(2017)
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)
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)
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)
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)
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)
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)
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)
JavaCC Development Group. JavaCC - The Java Parser Generator. http://javacc.org/. Accessed 06-12-2017
Jaynes, E.T.: Probability Theory: The Logic of Science. Cambridge University Press, Cambridge (2003)
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)
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)
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)
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)
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)
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)
De Francisci Morales, Gianmarco, Bifet, Albert: SAMOA: Scalable Advanced Massive Online Analysis. Journal of Machine Learning Research 16, 149–153 (2015)
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)
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)
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)
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)
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)
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)
The Apache Software Foundation. Apache Storm. http://storm.apache.org/, January 2015. Accessed 06-14-2017
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)
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)
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)
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
Corresponding author
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.
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.
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
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-017-1291-8