Chapter 1
Self-explaining Digital Systems:
Technical View, Implementation Aspects,
and Completeness
Görschwin Fey and Rolf Drechsler
1.1 Introduction
Digital systems continuously increase in their complexity due to integration of
various new features. Systems handle failures and have complex decision mechanisms for adaptability and autonomy. Understanding why a system performs certain
actions becomes more and more difficult for users. Also designers have to cope with
the complexity while developing the system or parts of it. The main difficulties are
the inaccessibility of the inner logic of the digital system or a lack in understanding
all the details. An explanation for actions executed by a digital system unveils the
reasons for these actions and, by this, can serve various purposes.
From the outside a user may be puzzled why a technical device performs a certain
action, e.g., “why does the traffic light turn red?” In simple cases the user will know
the reason, e.g., “a pedestrian pushed the button, so pedestrians get green light, cars
get red light.” In more complex cases, explanations for actions may not as easily be
accessible. When the digital system that controls the larger technical device provides
an explanation, the user can understand why something happens. This raises the
user’s confidence in the correct behavior. The explanation for actions required in
this case must refer to external input to the system, e.g., through sensors, and to an
abstraction of the internal state that is understandable for a user.
G. Fey ()
Hamburg University of Technology, Hamburg, Germany
e-mail: goerschwin.fey@tuhh.de
R. Drechsler
University of Bremen, Bremen, Germany
DFKI Bremen, Bremen, Germany
© Springer Nature Switzerland AG 2020
R. Drechsler, M. Soeken (eds.), Advanced Boolean Techniques,
https://doi.org/10.1007/978-3-030-20323-8_1
1
Self-explaining Digital Systems:
Technical View, Implementation Aspects,
and Completeness
Görschwin Fey and Rolf Drechsler
1.1 Introduction
Digital systems continuously increase in their complexity due to integration of
various new features. Systems handle failures and have complex decision mechanisms for adaptability and autonomy. Understanding why a system performs certain
actions becomes more and more difficult for users. Also designers have to cope with
the complexity while developing the system or parts of it. The main difficulties are
the inaccessibility of the inner logic of the digital system or a lack in understanding
all the details. An explanation for actions executed by a digital system unveils the
reasons for these actions and, by this, can serve various purposes.
From the outside a user may be puzzled why a technical device performs a certain
action, e.g., “why does the traffic light turn red?” In simple cases the user will know
the reason, e.g., “a pedestrian pushed the button, so pedestrians get green light, cars
get red light.” In more complex cases, explanations for actions may not as easily be
accessible. When the digital system that controls the larger technical device provides
an explanation, the user can understand why something happens. This raises the
user’s confidence in the correct behavior. The explanation for actions required in
this case must refer to external input to the system, e.g., through sensors, and to an
abstraction of the internal state that is understandable for a user.
G. Fey ()
Hamburg University of Technology, Hamburg, Germany
e-mail: goerschwin.fey@tuhh.de
R. Drechsler
University of Bremen, Bremen, Germany
DFKI Bremen, Bremen, Germany
© Springer Nature Switzerland AG 2020
R. Drechsler, M. Soeken (eds.), Advanced Boolean Techniques,
https://doi.org/10.1007/978-3-030-20323-8_1
1
