Architectures with declarative representations have knowledge in a format that may be manipulated, decomposed and analyzed by the reasoning engine independent of its content. A classic example of a declarative representation is logic. The primary advantages of declarative knowledge is the ability to use knowledge in ways that the system designer did not foresee.
Declarative knowledge representation contrasts with procedural, which stores knowledge in a faster-to-access but less flexible format.
Often times, whether knowledge is viewed as declarative or procedural is not an intrinsic property of the knowledge base, but is a function of what is allowed to read from it. Production systems, for example, are declarative if productions may view themselves, and are procedural it they cannot. (cf. glass-box/black-box control knowledge).
A particular architecture may use both declarative and procedural knowledge at different times, taking advantage of their different advantages. The distinction between declarative and procedural representations is somewhat artificial in that they may easily be inter-converted, depending on the type of processing that is done on them.
Return to the Table of Contents.