MORALE Tool Description: SIRRINE
Name:
Self-Improving Reflective Reasoner Integrating Noteworthy
Experience (SIRRINE)
Purpose:
The purpose of the SIRRINE project is to provide a tool for
defining software systems capable of reasoning about their own
behavior and performance. By creating systems in this way, we support
complex learning of new or improved capabilities; a system which
understands what it does and how it works can potentially alter
itself. A variety of applications of such a tool are apparent. Two
such applications we have focused on are:
- One can build intelligent agents capable of adapting to new
functional requirements.
- One can build relatively simple self-aware "mock-ups" of existing
software systems. If one views these mock-ups as architectural
descriptions of the legacy system, then learning done by the SIRRINE
tool can be viewed as a plan for evolutionary redesign of the legacy
system. This application is the primary contribution which SIRRINE
makes to MORALE.
Description:
The overall paradigm that SIRRINE operates under describes learning as
a kind of design task; a reasoner is viewed as an abstract device and
the learning process involves redesign of the device. Some of the
advantages of this approach include
- Learning is situated within the context of reasoning.
- The strategies and methods used for learning are driven by
reasoning goals.
- There is a very large body of research in the area of the design
of physical devices; by asking which results from this research may
successfully be transferred into the design of automated reasoning
systems we hope to develop new insights into the problem of learning
that would not be as accessible viewing such systems in isolation.
Our view of reasoning agents as devices leads us to the hypothesis
that reasoning can be formulated as the combination and interaction of
different reasoning components, i.e. primitive building blocks of
cognition which occur in a wide variety of different strategies for
different problems. In past projects, we have observed evidence of
such patterns which we refer to as generic learning tasks and
generic learning strategies . The ultimate objective of the
SIRRINE project is to develop a taxonomy of these generic reasoning
components and how they can be combined. We expect that by analyzing
a variety of individual problems (such as meeting scheduling) we will
be able to observe a wide variety of these patterns of functionality.
To the extent that we do, these patterns will then constitute a
concrete theory of how reasoning and reflection can occur.
Status:
The current version of SIRRINE is SIRRINE2 Version 1.0. This
version is available for downloading:
Operating System Dependencies:
SIRRINE2 consists of a set of core features plus optional packages
to interface with
VisEd and
ACMEServer. The core features run under both
SunOS 4.1 and Solaris. The optional interface packages only run on
Solaris.
Platform Dependencies:
We believe that any platform capable of supporting the OS and COTS
dependencies (q.v.) would provide adequate support for SIRRINE.
COTS Dependencies:
SIRRINE2 requires
Harlequin LispWorks 3.2.2 or later and Tcl/Tk 8.0 or later.
Other Dependencies:
The optional interface features require several non-commerical
software components:
Expect 5.26 or later,
VisEd, and
ACMEServer, plus the further dependencies that those systems
introduce.
Documentation:
Point of Contact:
J. William Murdock
College of Computing
801 Atlantic Drive
Georgia Institute of Technology
Atlanta, Georgia 30332-0280
murdock@cc.gatech.edu