Abstract
Today’s systems are increasingly complex, often adaptable, and even autonomous. This makes designing, connecting, diagnosing, and using such systems difficult. Often this difficulty is due to a lack in understanding why a system acts as it does, i.e., why the system executes certain actions.
We propose to extend systems such that they can explain their actions to users and designers. We formalize this as self-explanation. For digital systems we discuss an approach for implementing and verifying our notion of self-explanation. A self-explaining robot controller serves as proof-of-concept.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
An extension of our formalism could consider more complex actions that include a certain series of assignments over time, e.g., to first send an address and afterwards data over a communication channel. However, for simplicity we assume here that an appropriate abstraction layer is available. Nonetheless, multiple valuations of the variables may be associated to the same action, e.g., the action “moving towards front left” may abstract from the radius of the curve followed by a system.
References
Basu, P., Das, S., Banerjee, A., Dasgupta, P., Chakrabarti, P., Mohan, C., Fix, L., Armoni, R.: Design-intent coverage: a new paradigm for formal property verification. IEEE Trans. CAD 25(10), 1922–1934 (2006)
Bormann, J.: Complete Functional Verification. Ph.D. Thesis, University of Kaiserslautern (2009). English translation 2017
Chan, W.: Temporal-logic queries. In: Computer Aided Verification. Lecture Notes in Computer Science, vol. 1855, pp. 450–463 (2000)
Clarke, E., Grumberg, O., Long, D.: Model checking and abstraction. In: Symposium on Principles of Programming Languages, pp. 342–354 (1992)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge, MA (2001)
Deutsch, S., Chakrabarty, K.: Massive signal tracing using on-chip dram for in-system silicon debug. In: 2014 International Test Conference, pp. 1–10. IEEE, Piscataway (2014). https://doi.org/10.1109/TEST.2014.7035363
Drechsler, R., Lüth, C., Fey, G., Güneysu, T.: Towards self-explaining digital systems: a design methodology for the next generation. In: International Verification and Security Workshop (IVSW), pp. 1–6. IEEE, Piscataway (2018)
Fähndrich, J., Ahrndt, S., Albayrak, S.: Towards self-explaining agents. In: Trends in Practical Applications of Agents and Multiagent Systems, pp. 147–154. Springer, Berlin (2013)
Fähndrich, J., Ahrndt, S., Albayrak, S.: Self-explanation through semantic annotation: a survey. In: Position Papers of the 2015 Federated Conference on Computer Science and Information Systems (FedCSIS) (2015)
Fey, G., Drechsler, R.: Self-explaining digital systems—some technical steps. In: ITG/GI/GMM-Workshop Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen (MBMV) (2019)
Fey, G., Staber, S., Bloem, R., Drechsler, R.: Automatic fault localization for property checking. IEEE Trans. CAD 27(6), 1138–1149 (2008)
Fraud, R., Clrot, F.: A methodology to explain neural network classification. Neural Netw. 15(2), 237–246 (2002). https://doi.org/10.1016/S0893-6080(01)00127-7
Goldberg, E., Novikov, Y.: Verification of proofs of unsatisfiability for CNF formulas. In: Design, Automation and Test in Europe, pp. 886–891. IEEE Computer Society, Washington, DC (2003)
Große, D., Kühne, U., Drechsler, R.: Analyzing functional coverage in bounded model checking. IEEE Trans. CAD 27(7), 1305–1314 (2008)
Keng, B., Veneris, A.: Scaling VLSI design debugging with interpolation. In: International Conference on Formal Methods in CAD, pp. 144–151. IEEE, Piscataway (2009). https://doi.org/10.1109/FMCAD.2009.5351130
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)
Korel, B., Laski, J.: Dynamic program slicing. Inf. Process. Lett. 29(3), 155–163 (1988). https://doi.org/10.1016/0020-0190(88)90054-3
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978). https://doi.org/10.1145/359545.359563
Lewis, D.: Causation. J. Philos. 70(17), 556–567 (1973)
Liffiton, M., Sakallah, K.: Algorithms for computing minimal unsatisfiable subsets of constraints. J. Autom. Reason. 40(1), 1–33 (2007)
Lin, D., Singh, E., Barrett, C., Mitra, S.: A structured approach to post-silicon validation and debug using symbolic quick error detection. In: 2015 IEEE International Test Conference (ITC), pp. 1–10. IEEE, Piscataway (2015). https://doi.org/10.1109/TEST.2015.7342397
Liu, W.: Real-time fault-tolerant control systems. In: Leondes, C.T. (ed.) Expert Systems, pp. 267–304. Academic, London (2002)
Liu, X., Xu, Q.: Trace signal selection for visibility enhancement in post-silicon validation. In: Design, Automation and Test in Europe, pp. 1338–1343. IEEE, Piscataway (2009). https://doi.org/10.1109/DATE.2009.5090872
Malburg, J., Flenker, T., Fey, G.: Property mining using dynamic dependency graphs. In: ASP Design Automation Conference, pp. 244–250. IEEE, Piscataway (2017). https://doi.org/10.1109/ASPDAC.2017.7858327
Maybury, M.T., Wahlster, W. (eds.): Readings in Intelligent User Interfaces. Morgan Kaufmann Publishers, Los Altos (1998)
Montavon, G., Samek, W., Mller, K.R.: Methods for interpreting and understanding deep neural networks. Digital Signal Process. 73, 1–15 (2018). https://doi.org/https://doi.org/10.1016/j.dsp.2017.10.011
Müller-Schloer, C., Tomforde, S.: Organic Computing: Technical Systems for Survival in the Real World. Birkhäuser, Basel (2017)
Mstl, M., Schlatow, J., Ernst, R., Hoffmann, H., Merchant, A., Shraer, A.: Self-aware systems for the internet-of-things. In: International Conference on Hardware/Software Codesign and System Synthesis (CODES+ ISSS), pp. 1–9. IEEE, Piscataway (2016)
Necula, G.C., Lee, P.: Safe, untrusted agents using proof-carrying code. In: Vigna, G. (ed.) Mobile Agents and Security, pp. 61–91. Springer, Berlin (1998)
Oh, Y., Mneimneh, M.N., Andraus, Z.S., Sakallah, K.A., Markov, I.L.: AMUSE: a minimally-unsatisfiable subformula extractor. In: Design Automation Conference, pp. 518–523 (2004)
Pearl, J.: Causality. Cambridge University Press, Cambridge (2010)
Siafara, L.C., Kholerdi, H.A., Bratukhin, A., Taherinejad, N., Jantsch, A.: SAMBA—an architecture for adaptive cognitive control of distributed cyber-physical production systems based on its self-awareness. Elektrotech. Informationstech. 135(3), 270–277 (2018)
Weiser, M.: Program slicing. In: International Conference on Software Engineering, pp. 439–449. IEEE, Piscataway (1981)
Woods, S., Yang, Q.: The program understanding problem: analysis and a heuristic approach. In: International Conference on Software Engineering, pp. 6–15. IEEE, Piscataway (1996)
Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications. In: Design, Automation and Test in Europe, pp. 880–885. IEEE, Piscataway (2003)
Zhang, X., He, H., Gupta, N., Gupta, R.: Experimental evaluation of using dynamic slices for fault location. In: International Symposium on Automated Analysis-Driven Debugging (AADEBUG), pp. 33–42. ACM, New York (2005). http://doi.acm.org/10.1145/1085130.1085135
Zhu, C.S., Weissenbacher, G., Malik, S.: Silicon fault diagnosis using sequence interpolation with backbones. In: International Conference on CAD, pp. 348–355 (2014). https://doi.org/10.1109/ICCAD.2014.7001373
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Fey, G., Drechsler, R. (2020). Self-explaining Digital Systems: Technical View, Implementation Aspects, and Completeness. In: Drechsler, R., Soeken, M. (eds) Advanced Boolean Techniques. Springer, Cham. https://doi.org/10.1007/978-3-030-20323-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-20323-8_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-20322-1
Online ISBN: 978-3-030-20323-8
eBook Packages: EngineeringEngineering (R0)