Next: M3Plexus Functional Schematic: Up: No Title Previous: Environment Implementation:

Proposed Research Methodology:

The initial tool design will be based on our experiences with LIFE and with our prototype active dictionary project MathProbe.

Expert Systems

The proposed work revolves around a centerpiece component, the Expert System Manager. This clearly indicates critical importance for the provision of support that this component is to deliver. We intend to use an advance system (LIFE) to provide this support. The main use of LIFE will be to provide Expert System capabilities and a sort of lingua franca through which all system components interact smoothly. Since the term ``Expert Systems'' is likely to invite controversy, it is important that we comment on our understanding of the expected functionality.

The category of software we have in mind is that which is generally qualified as ``intelligent.'' The qualifier is typically used whenever a computer application exhibits a behavior that is not immediately dictated explicitly by its programmer but rather works thanks to a wide spectrum of capabilities such as reasoning, exploiting implicit knowledge, interacting with the user in a purposeful manner, taking initiative, offering explicit solutions to non-trivial sets of constraints, or accommodating the user with the convenience of natural language.

In fact, the technology of such systems take on issues pertaining to virtually all aspects of software (i.e. programming language issues, formal semantics, symbolic reasoning, constraint arithmetic, logic, data structures, compiling, database issues, computational linguistics, graphics, operating system issues, concurrency, etc.). In view of that, it becomes clear that our understanding of expert systems technology goes well beyond in ambition and power that is generally perceived.

The Essence of LIFE

LIFE (Logic, Inheritance, Functions, Equations) is a programming language that was originally conceived by Hassan At-Kaci. LIFE reconciles styles from functional programming and logic programming by implicitly delegating control to an automatic suspension mechanism. This allows interleaving interpretation of relational and functional expressions that specify abstract structural dependencies on objects. Together, these conveniences provide a versatile power of abstraction for very high-level expression of constrained data structures.


MathProbe takes TeX based reference material and produces a hypertext document. Within this document, cross-references and other lexicographic features are accessible. Additionally, MathProbe identifies mathematical formulae and inserts them into Maple for symbolic, graphic, numeric exploration.

Initial design decisions will refine the goals of each of the project's sub-groups. Aït-Kaci will take responsibility for the expert system module, Watters for the hypertext/MathProbe features, CECM members for the remaining elements. Prototype testing will be carried out at each functional stage to ensure feedback into the development process. The working standalone prototype will be presented to students and researchers for intensive testing and evaluation before the master-client implementation is undertaken. More documentation on LIFE, MathProbe and other tools is available on request.

Next: Schedules and Milestones: Up: No Title Previous: Project Implementations:

Mon Nov 28 10:37:27 PST 1994