McPAM is a small, simple program that captures the essential flavor of PAM's explanation algorithm. McPAM is written for clarity, not for generality or efficiency.
McPAM differs from PAM in a number of important ways. Most importantly, McPAM has been designed to separate out as much as possible knowledge about planning from knowledge about explanation. That is, the rules in McPAM's memory are simple declarative patterns. They encode facts about which plans are applicable to which goals, etc., without specifying how these facts should be used in story understanding. In contrast, PAM's rules are much more procedural in nature-they specify what predictions to make, and how to fill in a story representation.