14
G. Fey and R. Drechsler
Table 1.2 Implementation
sizes
Entries
#State bits
#Gates
No explanation
–
113
5, 692
With explanation
4
437
8, 643
With explanation
32
2, 250
21, 714
With explanation
256
16, 605
123, 572
Column “entries,” number of addresses in explanation units
Column “#state bits” and “#gates,” size of the implementation
Table 1.3 Wrap around in
tags for a trace of 10,000
cycles
Entries Main Motor_left Motor_right Power Sensor
4
269
252
252
15
158
32
32
30
30
1
18
256
3
2
2
0
1
Column “entries,” number of addresses in explanation units
Other columns, number of wrap arounds for unique tags of
modules
of explanations was not optimized for size. The main aims were a simplified
implementation and easily separable reasons in a hexadecimal representation.
Note that this implementation of the robot controller is rather simplistic having
the full functionality implemented directly in Verilog modules with a data path of
at most 8 bit. A rather typical implementation would implement power control,
sensor data collection, and main control in different hardware units, some of them as
software in microcontrollers. These units would then communicate, e.g., via CANbus. However, the style of explanations could directly be kept as they are abstracting
from all the low-level details on CAN-communication, process execution, etc. In
this case a memory of less than 2 KByte for 256 entries would be negligible in a
system that includes microcontrollers.
The number of entries in the memories decides for how long an explanation
can be traced back before the unique tags for explanations wrap to zero again, i.e.,
are not unique anymore. This restricts self-explanation to recent history. Table 1.3
shows how many times the tags were set back to zero for the different explanation
units in a run of 10,000 cycles. The number of wrap arounds per module are different
as the number of events also differs between the modules. Some of the events of
one module do not necessarily trigger a follow-up event in a subsequent module,
e.g., values of the microphones are only relevant, if the robot currently follows the
sound. Obviously a memory of size 4 is too small to explain a long historical trace.
Already 32 entries cause at most 32 wrap arounds in module “Main” within 10,000
cycles, i.e., explanations are unique for traces of about 312 cycles. With 256 entries
the length of the history increases to 3300 cycles on average for the main module
having 3 wrap arounds.
Précédent

- 22/268

Suivant