The Graduate Student Advisor (GSA) : An Expert System For SAN Graduate Student Advising
The Graduate Student Advisor (GSA) : An Expert System For SAN Graduate Student Advising
Jiazhu Zhang
Systems Analysis Department
Miami University
Oxford, Ohio 45056
Jiazhu Zhang
Abstract
1. Introduction
The knowledge for GSA has been elicited from several experts
including SAN graduate faculty members, professors of Mathematics
and Statistics Department, and the Associate Dean of the Graduate
School. GSA contains two kinds of knowledge:
* knowledge about courses -- course number, title, credit
hours, prerequisites, offering time and so on;
* knowledge about constraints -- rules for determining course
prerequisites, the "bestw courses and rules for determining
the schedule length and forming the schedule of study.
It is implemented in NEXPERT Object. The program currently has
about 550 rules and 50 objects (and classes). Knowledge about
courses is stored as objects (and/or classes) . An object is the
fundamental unit of knowledge representation in NEXPERT Object. A
given object may be defined to belong to one or more classes, which
determine the names and types of its properties. It may include
subobjects which are in turn full-fledged objects with properties
and subobjects of their own. A class is merely a grouping of a set
of objects. The class definition may include any number of
properties to be inherited by the objects belonging to the class
(referred to as its instances or members). The class may have any
number of subclasses, which will likewise inherit its properties
and pass them on in turn on to their own instances, A given class
may be a subclass of more than one other class (called
superclasses), just as a given object may be an instance of more
than one class or a subobject of more than one other object.
Consider the following example, which describes the course SAN572.
Name SAN572
Classes Core-Courses
San-Grad-Courses
...
subobjects . . .
Properties c r e d i t - h o u r s : 3
p r e r e q u i s i t e s : Unknown
d e s c l : Systems life cycle; problem definition; gathering information;
desc2 : creative problem-solving; project management; feasibility study;
desc3 : alternative technology selection; system requirements;structured systems
desc4 : analysis tools; data flow diagrams and dictionary, algorithms
d e s c 5 : specification; logical design; user procedures; review of translation of
d e s c 6 : logical design into systems design. Normally students work on systems
desc7 : development project.
no-of -d e s c s : 7
t i t l e : Analysis of Information Systems
weight : Unknown
when-o f f e r e d : fall, spring
Spring.
- 1993 Total Credit Hours: 12
san571 3 Simulation
san572 3 Analysis of Information Systems
san623 3 Data Communication, Networks and Distributed Processing
san624 3 Expert Systems
First, use Object Editor to find the object with the course number
as object name. Then activate Meta-slot Editor to update the value
of the property when-offered.
Currently, GSA has the knowledge about all SAN graduate courses.
In the case that a new course should be offered in the future time,
you can add it to the knowledge base in NEXPERT Object. First, use
Object Editor to create an object with the course number (e.g.
san626) as the object name. Fill in the class field of the Object
Editor window one of the class names (Foundations, Cores,
Electives) to indicate that the course is a foundation course, core
course, or elective course. The object created will have the same
properties as other SAN courses belonging to the same class have.
Then use Meta-slot Editor to define the values of the properties:
course number, course title, credit hours, offering time, course
description, prerequisites. There are nine properties: descl, .,.,
desc9, which can be used to define the course description. Thus,
you can define up to 9 lines of course description. Put the actual
number of lines in property no-of-descs. If the course does not
have any prerequisites, assign "nonew to property prerequisites.
When it has prerequisites or is prerequisite of other courses, you
need to update those rules dealing with course prerequisites. Here
is what needs to be done. If the course has foundation course(s)
as its prerequisites, use Rule Editor or Rule Notebook to find
.
those rules with hypothesis "set-grad-course~rereq'~ Then use
Rule Editor to modify the action part of those rules. For example,
say, san603 is a prerequisite of the new course san626. Add to the
action part of those rules with condition "1s student,san603-ok
Ilnflwthe following three actions:
Do 11san6031@ san626 .prerequisites
createobject san603 san626
Do MAX(san603.wgt, san626,wgt+l) san603,wgt
If the new course is a prerequisite of other SAN course(s), use
Rule Editor or Rule Notebook to find the rule with hypothesis
t8setgrereq_wgttt. Then use Rule Editor to modify it. For example,
say, the new course san567 is a prerequisite of san654. Add the
statement:
CreateObject san567 san654
to the condition part and the following two actions:
Do 1gsan567e1 san654 ,prerequisites
Do MAX(san567.wgt, san654.wgt+l) san567,wgt
to the action part of the rule. If the new course has as its
prerequisites some course(s) other than foundation courses, similar
modifications should be made to the rule with hypothesis
wset-prereq-wgt". Finally, you have to update the weight list of
each interest area. First, determine the weight of the new course
to each interest area. Then, Add the weight of the new course to
the end of the wgt-list property value of the corresponding
interest area. Find the rule with hypothesis I t i n i t-dialogue88.
Then, add the new course number (e.g, san567) to the end of the
String Value in the second condition.
6. Lessons Learned
7, Conclusion
Algorithms 1 1 5 3 2 1 1 1
Artificial Intelligence 1 1 3 3 1 1 1 1
Computer Graphics 2 1 1 1 1 0 0 0
Database Systems 2 2 3 3 2 0 0 0
Expert Systems 2 3 2 3 2 1 1 1
Forecast Systems 3 2 1 1 1 3 5 3
Information Retrieval 2 4 2 2 1 0 0 0
Inventory systems 3 2 0 0 0 5 4 3
Machine Learning 2 0 4 3 1 0 0 0
Mathematical Optimization 3 1 2 1 1 3 2 3
Operating Systems 2 1 3 3 1 0 0 0
Programming Languages 1 1 4 5 3 0 0 0
Queueing Systems 4 0 0 0 0 2 2 2
Simulation 5 2 0 0 1 3 2 2
Software Engineering 2 5 4 4 5 0 0 0
Systems Dynamics 1 3 0 0 0 2 2 1
Theory of Computation 1 1 5 4 2 0 0 0
(continued)
SAN586 SANG01 SAN602 SAN603 SAN604 SANG12 SAN613 SAN614
Algorithms 3 5 4 5 1 3 4 1
Artificial Intelligence 5 3 3 3 2 4 1 1
Computer Graphics 1 3 1 3 2 1 1 1
Database Systems 3 3 1 5 3 5 1 1
Expert Systems 5 4 3 4 2 3 2 1
Forecasting Systems 1 2 4 1 0 0 2 2
Informational Retrieval 2 3 1 3 3 4 1 1
Inventory Systems 1 2 5 2 0 1 4 3
Machine Learning 5 3 2 3 3 2 1 1
Mathematical Optimization 3 4 5 2 2 1 5 3
Operating Systems 1 4 1 4 5 3 1 1
Programming Languages 3 3 1 5 5 3 0 0
Queueing Systems 1 3 5 3 2 2 3 4
Simulation 2 5 5 3 2 1 3 5
Software Engineering 2 4 1 5 5 4 0 0
Systems Dynamics 2 2 3 1 0 0 2 4
Theory of Computation 2 3 2 2 3 2 2 1
Alnori thms
--
Artificial Intelligence
- -
Computer Graphics
Database Systems 1 5 3 3 3 0 1
Exwert Systems 2 2 1 5 2 1 1
--
Forecasting Systems
- -
lo
Information Retrieval
- -
Inventory Systems
Machine Learning
Mathematical Optimization 1 0 1 1 1 3 11
Natural Language Processing 1 2 I 2 I 2 I 4 I1 I1 I 1 II
Operating Systems I 4 1 5 I 1 II
Programming Languages 3 1 2 2 2
Queueing Systems 1 0 2 1 1
Simulation 1 0 2 2 1
Software Engineering 5 3 3 2 3
Systems Dynamics 0 0 0 2 0
Theory of Computation 1 1 0 1 1
Appendix B: Running the GSA
GSA RTD.
The GSA system consists of the following files (total 77 files):
GSA. TKB
FRM1. FRM
.0 .
FRM69. FRM
COURSE.TXT
CRSEDESCOTXT
SCHEDULE. TXT
SEMESTER. TXT
WAIT. TXT
HLP2 0 HLP
The file GSA.RTD is the Runtime Definition File which is used to
start the GSA. The file GSA.TKB is the knowledge base developed
under NEXPERT Object. The files with .FRM extension are the
NEXPERT forms which are used to create customized interfaces.
COURSE.TXT, CRSEDEC.TXT, SCHEDULE.TXT and SEMESTER.TXT are NEXPERT
report files used to display course descriptions and schedules.
WAIT.TXT and HLP2O.HLP are just DOS text files used to display some
information to the users.
Suppose that the directory \GSA contains all the files of GSA. In
order to start NEXPERT Forms with GSA automatically, NXPFORMS.EXE
should also be under the same directory \GSA. To start GSA on your
system from the directory \GSA, type
NXPFORHS /FGSA.RTD
at the prompt. This command automatically starts PJEXPERT Forms
with GSA.
If NXPFORMS.EXE is not under the directory, you have to start
NEXPERT Forms environment by typing the command
NXPFORMS
at the prompt. Then use the System menu to read the runtime
definition file of GSA and start GSA.