Runtime Verification of Cognitive Applications

Cognitive systems have been the subject of much research, and are increasingly of interest in embedded systems. However, cognitive applications have unique characteristics that make them challenging to verify, validate, and debug. A cognitive application by definition makes intelligent decisions – if it were possible to formally and precisely express its behavior under all circumstances, the cognitive system would not need to be “cognitive.”