The Java source code for the constraint-understanding system is included here for reference. It is intended for browsing only - it cannot be compiled and run, because it uses ExJava (package express), a MINT Group internal EXPRESS parser.
Also included here is the source code for the underlying frame system upon which the constraint-understanding system is built. This serves as a `buffer' between ExJava and the constraint-understanding system proper, and provides a data-driven environment in which objects are represented as frames.
These classes form the underlying frame system upon which the constraint-understanding system is built. They provide a data-driven, object-centric environment which is independent of the constraint-understanding application (it could, in fact, be used as a substratum for other systems).
Basic objects in the frame systemThe following classes constitute the constraint-understanding system proper. The system has two entry points: Constraints (for running the constraint-understanding system on a given model with a given case library) and FIL (for adding new cases to the case library).
FIL is a parser for my frame instance language (FIL), written in JavaCC. It really belongs to the frame system, but is included here because it has a feature that is specific to the constraint-understanding task - it keeps a lookout for case frames to insert in the case library.