Each Morphyc agent uses an XML document for its working memory or data. This is called the FactBase. This FactBase is constructed from the XML document passed to the agent at the start of the forward chaining process and is retained in memory until rules processing is complete. It is then returned to the calling process. The FactBase document is updated as the rules are processed to reflect the results of the rules. The FactBase can be altered just like any other XML document, and it can even be transformed using XSLT. This gives developers complete independence when deciding on the structure of the FactBase, as it can be any XML conformant document.
Each RuleBase can also define a number of sub-documents within the FactBase for a particular agent. These sub-documents are called Variables and, like the main FactBase, can contain any XML content.
These are only temporary documents. When a RuleBase begins processing, each Variable is initially empty, and when processing is finished, any content within them will be lost.