A descriptive-operational semantics for prescribing programming languages with “reflective” capabilities
H. Justin Coven · 1991
An important ingredient of any intelligent system is the ability to reflect on its own reasoning process. It is of significant value for such a system to be able to reason using different representations. A descriptive semantic system for describing such reflective systems is presented. This semantics is based upon the operational components that are typically used to implement programming language and knowledge representation systems. Typical components include data, functions, control structures, interconnections (or environment), interpreter and learning algorithm. The descriptive semantics is used to prescribe numerous new tools for the operation on the different components of a system. New tools include: zap which modifies the control structure; control queues which have an alternative control mechanism that traverses function calls breadth-first instead of the standard depth-first traversal; control carousels which incorporate a new control flow mechanism that circles between different control structure frames based on timing; and altering predicates which manipulate entire predicates instead of single clauses.