1 Self-explaining Digital Systems
5
specific context with the goal to diagnose, control, and/or explain. Particularly, realtime expert systems have been proposed, e.g., for fault tolerance [22]. Aspects like
online-reasoning on formalized knowledge have been considered in this domain.
This brief overview of very diverse works in several fields shows that understanding a system has a long tradition and is extremely important. Recent advances
in autonomy and complexity reinforce this demand. In contrast to previous work,
we show how to turn a given digital system into a self-explaining system.
1.3 Self-explanation
Figure 1.1 gives a high-level view for self-explanation as proposed here. The
digital system is enhanced by a layer for self-explanation that holds a—potentially
abstracted—model of the system. Any action executed by the system at a certain
point in time is an event (bold black arrows in the figure). The explanation layer
stores events and their immediate causes as an explanation and provides a unique
tag to the system (dotted black arrows). While processing data, the system relates
follow-up events to previous ones based on these tags (blue zig-zag arrows). Besides
events, references to the specification can provide causes for actions. The user or
designer may retrieve an explanation for events observable at the output of the
system as a cause–effect chain (green dots connected by arrows). This cause–effect
chain only refers to input provided to the system, the—abstracted—system model,
and the specification.
In the following we formalize self-explanation and provide an approach for
implementation and verification. We also propose a conceptual framework that uses
different layers for making explanations more digestible for designers and users,
respectively.
Fig. 1.1 Approach
(abstract) system model + requirements
Self-Explanation
Digital system
User, designer
Précédent

- 13/268

Suivant