A Substrate for Accountable Layered Systems

Morgan, B. "A Substrate for Accountable Layered Systems"


A system built on a layered reflective cognitive architecture presents many novel and difficult software engineering problems. Some of these problems can be ameliorated by erecting the system on a substrate that implicitly supports tracing the behavior of the system to the data and through the procedures that produced that behavior. Good traces make the system accountable; it enables the analysis of success and failure, and thus enhances the ability to learn from mistakes.

This constructed substrate provides for general parallelism and concurrency, while supporting the automatic collection of audit trails for all processes, including the processes that analyze audit trails. My system natively supports a Lisp-like language. In such a language, as in machine language, a program is data that can be easily manipulated by a program, making it easier for a user or an automatic procedure to read, edit, and write programs as they are debugged.

Constructed within this substrate is an implementation of the bottom four layers of an Emotion Machine cognitive architecture, including built-in reactive, learned reactive, deliberative, and reflective layers. A simple natural language planning language is presented for the deliberative control of a problem domain. Also, a number of deliberative planning algorithms are implemented in this natural planning language, allowing a recursive application of reflectively planned control. This recursion is demonstrated in a fifth super-reflective layer of planned control of the reflective planning layer, implying N reflective layers of

planned control.

Here, I build and demonstrate an example of reflective problem solving through the use of English plans in a block building problem domain. In my demonstration an AI model can learn from experience of success or failure. The AI not only learns about physical activities but also reflectively learns about

thinking activities, refining and learning the utility of built-in knowledge. Procedurally traced memory can be used to assign credit to those thinking processes that are responsible for the failure, facilitating learning how to better plan for these types of problems in the future.

Related Content