Specifications
CHAPTER 6. REQUIREMENTS VERIFICATION 62
limit of t
total
= 25ms is not exceeded, the measurement series’ maximum of t
2
under high
system load is used:
t
total
= t
1
+ t
max
The result for the keyboard events using the AT and PS/2 keyboard driver is:
t
total
= t
1
+ t
max
= 2ms + 14ms = 16ms
The result for ACPI events processed by the ACPI button driver is:
t
total
= t
1
+ t
max
= 2ms + 17ms = 19ms
The result for ACPI Toshiba drivers’ input events depend on the polling frequency. Based on
the assumption that the driver is polling every 250ms the corresponding result for t
total
is at
least:
t
total
= t
1
+ t
max
= 250ms + 16ms = 266ms
Regarding interrupt-driven input devices, the results show that even in worst-case situa-
tions the limit of 25ms is not exceeded. Thus, the performance requirement is guaranteed for
interrupt-driven input devices. In regard to input devices, which are p olled by their device
drivers, the limit of 25ms can not be redeemed since the p olling intervals vary depending on the
device driver. The performance requirement is not fulfilled. However, the Input Abstraction
Layer does not delay the input event by a significant amount of time.
Since the Linux kernel does not meet hard real-time requirements, it is still possible that
the time interval of input events of interrupt-driven devices exceed the limit of 25ms. Though,
the measurements reflect that it is most likely that the limit is not exceeded—even under high
system loads.
6.3 Quality and Security
The quality requirements described in Chapter 3, §3.4 are fulfilled: The logging system of the
Input Abstraction Layer implements the demanded feature for error messages. The configura-
tion is user-friendly and makes it possible to adjust the Input Abstraction Layer to each user’s
needs. The specified requirement to make the Input Abstraction Layer easily expandable is
fulfilled by its modules. They can be added and removed without the need of recompiling the
daemon.
The security requirement states that alpha numeric input events should not be processed
to avoid any abuse of the Input Abstraction Layer. This responsibility is shifted from the
daemon to the modules: they are responsible to prevent the reporting of alpha numeric input
events. The blacklist functionality of the input event interface module fulfills this requirement.