An Expert System and Tutor for Maritime Navigation Rules
LT Sharif Calfee, U.S. Navy
(831) 656-2056, email@example.com, fax (831) 656-2814, Code CS/Rp, U.S. Naval Postgraduate School, Monterey CA 93943 USA
Neil C. Rowe, Naval Postgraduate School
(831) 656-2462, firstname.lastname@example.org, fax (831) 656-2814, Code CS/Rp, U.S. Naval Postgraduate School, Monterey CA 93943 USA
Topic: C2 Decision Making and Cognitive Analysis
Student Paper Submission
The Navigation Rules Expert System (NRES) is a CLIPS-based implementation of the International and Inland Maritime Navigation Rules (COMDTINST M16672.2C) to assist mariners. NRES functionality is divided into two components, the Mariner-Assistance Module and the Student-Tutor Module. The Mariner-Assistance Module (MAM) is designed for use in real-time operations to assist mariners in correctly determining both the maritime situation and the necessary action(s) to be taken in accordance with the International and Inland Maritime Navigation Rules. In practice, NRES could double-check navigation decisions and issue warnings when the possibility of accidents arises; while some human judgment will always be necessary in this task, it could well be useful on the bridge to have a different and dispassionate point of view. The Student-Tutor Module (STM) is designed to train students in the understanding and application of the International and Inland Maritime Navigation Rules in order to strengthen maritime navigation situational decision-making. The STM utilizes the NRES CLIPS rules database as the source from which the tutor questions are drawn and employs audio and visual cueing information derived from the navigation rules to enhance the student learning process.
This paper appeared in the Command and Control Research and Technology Symposium, Monterey, CA, June 2002.
A thorough acquisition of ship navigation skills is important for naval officers. Much is at stake and a variety of sources of information (including people) need to be exploited under widely varying circumstances. We are exploring the use of computerized assistance in both training and practice. In training, the software could present simulated navigation situations to the student and tutor the student’s decision-making. In practice, the software could double-check navigation decisions and issue warnings when the possibility of accidents arises; while some human judgment will always be necessary in this task, it could well be useful on the bridge to have a different and dispassionate point of view.
The Navigation Rules Expert System (NRES) is a CLIPS (C Language Integration Production System) based implementation of the International and Inland Maritime Navigation Rules (COMDTINST M16672.2C) to assist mariners. CLIPS (Version 6.1) is a development and delivery expert system tool, which provides a complete environment for the construction of rule and/or object based expert systems. The key features of CLIPS are: knowledge representation, portability, integration/extensibility, interactive development, and verification/validation . NRES utilizes navigation rules designed with the CLIPS expert system as the “brains” for the program and employs a Java-based graphical user interface (GUI) for interaction with the customer. NRES functionality is divided into two components, the Mariner-Assistance Module and the Student-Tutor Module.
The Mariner-Assistance Module (MAM) is designed for use in real-time operations to assist mariners in correctly determining both the maritime situation (what type of scenario is occurring between two ships) and the necessary action(s) (if necessary) to be taken in accordance with the International and Inland Maritime Navigation Rules. The MAM possesses the following five data entry options to allow the mariner to input observed (visible or audible) information concerning another ship contact: navigation/tasking lights (color, number, arcs of visibility--if known), sounds signals (ship’s whistle or bell), flashing light signals, day-shapes (large, visible shapes displayed from a ship’s mast), and ship maneuvering. Based on the inputted data, NRES will formulate the appropriate situation (if only one scenario is applicable) or possible range of situations commensurate with the navigation rules and calculate the probability of occurrence for each of the potential scenarios. Finally, utilizing the range of scenarios, NRES will display to the GUI a corresponding list of visual and/or audio cues, allow the mariner to choose the correct situation, and prompt the mariner with the appropriate actions per the International or Inland navigation rules. For example, the cues could be a set of nighttime images of a ship silhouette with a possible navigation/tasking light configuration. The mariner would select the visual cue that relates to the current maritime situation, and the NRES would display the necessary action (or list possible range of actions) available for the user.
The Student-Tutor Module (STM) is designed to train students in the understanding and application of the International and Inland Maritime Navigation Rules. The STM utilizes the NRES CLIPS rules database as the source from which the tutor questions are drawn and employs audio and visual cueing information derived from the navigation rules to enhances the student learning process. Students are posed questions in the following four ways: Visual and/or Audio cue(s) & question -- True/False answer, Visual and/or Audio cue(s) & question -- Multiple choice answer, Text question -- Visual and/or Audio True/False answer, and Text question -- Visual and/or Audio Multiple choice answer. Using this approach provides a better training environment for the students then a text-only tutor because the audio and visual STM information depicts a realistic representation of potential maritime scenarios they may encounter. Additionally, the usage of the audio and visual cues aid the students in comprehending and applying the fundamental concepts of the International and Inland Maritime Navigation rules more quickly and solidly.
The International and Inland Maritime Navigation Rules were formulated to govern the safe conduct and interaction of maritime vessels at sea. The intent of these rules was to codify the standards and behaviors of these vessels among all of the nations in order to substantially reduce/eliminate the possibility of collisions at sea and promote orderly, predictable responses to a variety of frequently-occurring situations. To achieve this objective, the International and Inland Maritime Navigation Rules established regulations for the following categories:
1) Conduct/maneuver of vessels in any condition of visibility
2) Priority/precedence of various types of vessels in given situations
3) Proper nighttime lighting configurations for vessels including:
a) Ranges of the lights
b) Arcs of visibility of the lights
c) Colors of the lights
d) Meaning of the lighting configurations
4) Proper daytime day-shapes for vessels
5) Proper sound signals for communication of actions, intents, and status of vessels
The International Rules were formalized in the Convention on the International Regulations for Preventing Collisions at Sea Treaty in 1972 and became effective on July 15, 1977. The Rules, (commonly called 72 COLREGS [Collision Regulations]), are part of the Convention, and vessels flying the flags of states ratifying the treaty are bound to the Rules. These Rules are applicable on waters outside of established navigational lines of demarcation and do not include the waters internal to the land of the United States such as rivers, lakes, and canals .
The Inland Rules were adopted following the ratification of the International Rules in 1972 and specifically address maritime navigation and safety within the inland waterways of the United States. The Inland Rules are very similar in format, regulations, and execution, but they also contain some notable differences with the International Rules.
In the United States, the International and Inland Rules are published collectively by the U.S. Department of Transportation, United States Coast Guard as the Commandant Instruction (COMDTINST) M16672 of which the most recent version is COMDTINST M16672.2D (March 25 1999). Although the rules provide for specificity and clarity to prevent confusion or misunderstanding, there are a number of differences between the International and Inland rules, which necessitated the need for the NRES program to address both, separately.
A. SHIP NAVIGATIONAL PRACTICES & MAM COMPONENT
Navigation with respect to the application of the International and Inland Navigation Rules onboard United States naval vessels is somewhat varied, but typically follows a common decision-making methodology. The bridge of naval vessels is where the primary navigation of the ship occurs, and the bridge watch team (those responsible for the safe navigation of the ship) is charged with executing this duty. The Officer of the Deck (OOD), an experienced naval officer who is directly responsible to the commanding officer of the vessel for the safety and navigation of ship while underway, leads the bridge watch team. The OOD is supported by several key personnel on the bridge including the Conning Officer, Helmsman/Lee Helmsman, Quartermaster of the Watch (QMOW), and lookouts. The Conning Officer (with the concurrence of the OOD) issues the orders for the Helmsman to alter the course heading and the Lee Helmsman to increase or decrease the speed of the ship. The QMOW’s primary responsibility is to plot the ship’s current location and future navigation plan (plan of intended movement of the ship) in order to ensure that the ship (through the OOD) maintains the assigned/pre-planned track and does not unintentionally close shallow depths where it could run aground. Located at key positions on the exterior of the ship, the lookouts are responsible for maintaining a vigilant observation of the seas around the ship for the purpose of providing warnings of ships and land in the vicinity.
In addition to the bridge watch team, the OOD is also assisted by the ship’s Combat Information Center (CIC), which provides navigational and safety information to support the decision-making on the bridge. This information often takes the form of notifications of the tracks of the ships in the vicinity, recommendations for course changes to ensure the safe navigation of the ship, and other relevant material necessary to support the OOD.
The bridge and CIC watch teams provide the OOD with a large and comprehensive support structure to ensure the safe navigation of the ship, but with respect to the Navigation Rules, normally only the OOD, Conning Officer, and the CIC Watch Officer (officer in charge of CIC watch team) possess the requisite knowledge to apply them to maritime situations. The CIC Watch Officer, however, is responsible for the oversight of five-fifteen personnel (depending on the size of the ship), the execution of several duties, which compete with supporting the OOD, and is restricted in the amount of support that could be provided (CIC is located one-two decks below the bridge and possesses no view of the outside). Furthermore, the Conning Officer is a junior naval officer who is frequently much less experienced in the application of the Navigation Rules than the OOD. Consequently, the OOD usually must rely heavily on his or her own knowledge of the Navigation Rules when attempting to resolve a maritime situation between ships. This situation is often compounded by the presence of numerous ships within the vicinity, which complicates the formulation and resolution of these scenarios. In practice, NRES STM component could provide several benefits to assist the OOD with the performing these demanding duties. First, it could serve as a ship-contact management utility in order to track the critical data for relevant contacts. Second, it could offer the OOD a quick-use tool to double-check his or her assessments of maritime situations with respect to the Navigation Rules. Third, it could serve as a back-up navigation safety utility to warn the OOD of the possibility of situations where ship collisions could occur. Lastly, it could provide the means for the CIC Watch Officer to increase the support provided by the CIC to the OOD and bridge watch team. While human judgment will always be necessary in the task of ensuring the safe navigation of a naval ship, the NRES STM could be useful since it would offer a different and dispassionate assessment of potential maritime scenarios.
B. STM COMPONENT & BRIDGE OFFICER NAVIGATION TRAINING
For naval officers, the learning and application of the International and Inland Navigation Rules occurs in three phases. First, while midshipmen (future naval officers in training) at either the United States Naval Academy (USNA) or Naval Reserve Officer Training Corps (NROTC) universities, they receive formal indoctrination in the basic understanding and application of the Navigation Rules. Second, following graduation and assignment to the Surface Warfare Community (officers who serve on ships), the newly commissioned naval officers are assigned to the Surface Warfare Officer School – Division Officer Course (SWOSDOC) for advanced and specified training of shipboard officers. During their attendance at SWOSDOC, the naval officers received advanced and more detailed training in the learning and application of the Navigation Rules, which consists of nearly the same format as that experienced during the USNA and NROTC course of instruction, with one notable exception. SWOSDOC also utilizes simulators that mimic the bridge operations of a ship in order to provide limited practical application of the Navigation Rules. Finally, after reporting to a ship, the rest of the naval officer’s Navigation Rules training consists of rote memorization and practical application (under the supervision of the OOD) while working with a bridge watch team.
Although Navigation Rules computer training programs are becoming more prevalent, the majority of the indoctrination and training involves rote memorization of the Navigation Rules text followed by the written examinations, which test the midshipmen’s understanding and application of the rules in a static, one-dimensional context. Many of the Navigation Rules training computer programs are nearly identical in format to their written examination counterparts and do not provide much useful enhancements beyond the convenience normally associated with using computers. There are several computer-training programs that employ audio-visual aids such as graphical representations of maritime situations (i.e. a ship’s light configuration at night) and audio playbacks of ship signaling devices (ship’s whistle). These programs substantially increase the learning rate of the students by associating simulated graphical or audio cues with the text questions to stimulate the understanding of the Navigation Rules. However, these programs are also static in that the questions proffered cannot be upgraded/changed easily, and the training programs assume a common level of knowledge (usually only a very basic-beginner level) for all of the students. (An exception is the interesting comprehensive tutoring approach reported in  for teaching a range of tactical skills to Tactical Action Officers at the Surface Warfare Officer School.)
The NRES STM component addresses these limitations through two methods. First, the core of the STM is the CLIPS expert system, which contains all of the encoded International and Inland Navigation Rules. Since the STM questions posed to the students are based on the expert system rules, the format and type of questions can be interchanged frequently with minimal effort. The only requirement would be to ensure the questions posed have valid answers in the expert system rules, which provides an integrity check for the STM. Second, the STM component remedies the static/common level of knowledge problem by employing an adaptive tutoring system that ascertains the level of knowledge for each student who uses the STM. By utilizing a skill (Navigation Rules) lattice design for the questions posed to students, the STM will be able to use an adaptive learning metric to measure the level of knowledge for the students and either accelerate or slow the pace of learning based on the student’s performance.
The NRES program functionality is divided into three components, the Graphical User Interface (GUI), GUI/Expert System Interface, and the Navigation Rules Expert System (NRES) Core. Each component has an established interface with its neighboring component in order to facilitate the communication of data (See Figure 1).
1. Graphical User Interface (GUI) - Language: Java
The GUI contains all of the features necessary for the user to interact with the expert system. The features of the GUI include input and information display popup windows, file load and save options, international and inland rule inputs, and contact utility functions. The GUI interfaces with the CLIPS expert system rules via a C++ connection method.
2. GUI / Expert System Interface - Language: C++
The GUI/Expert System interface facilitates the communication between the Java GUI and the expert system. It utilizes the Java Native Interface (JNI) to call this component from the GUI, which in turn calls the CLIPS program.
3. Navigation Rules Expert System - Language: C / CLIPS 6.1
The NRES is actually two integrated sets of files. The first set of files consists of the original C source code files for the CLIPS program while the second set of files is the CLIPS generated source code files containing the navigation rules modules. These two sets of files are compiled together to produce a single executable program, which accepts user input to the expert system and outputs the appropriate actions in accordance with the programmed International and Inland Maritime Navigation rules.
B. GRAPHICAL USER INTERFACE (GUI)
The International and Inland Rules Mode menus have identical formats, but are linked to their respective expert system rules files. The International and Inland Navigation Rules have five distinct types of descriptive information, which is used to categorize a given maritime situation, navigation/tasking lights, sound signals, flashing lights, day-shapes, and ship maneuvering (positional and directional data between two ships) data input. The International and Inland Rules Mode menus correlate to this input format.
The Ship Contacts menu allows the user to perform administrative tasks on individual contacts. These tasks include adding a new contact, deleting an existing contact, and editing the data attributes (name, course, speed, etc.) of an existing contact.
The Own-Ship menu contains three menu items for modifying or submitting information to the expert system. The first item enables the user to change the course and/or speed of his or her own ship as the need arises. The last two items allow the user to submit Navigation Rules data inputted from the International or Inland Rules Mode menus to either the International or Inland Rules expert system.
Lastly, the Tutor Mode menu includes menu options for the operation of the NRES Tutor Program. The user can perform several key functions including starting a new tutor session (start at basic level, see Figure 5), selecting a specific level (or sub-level) tutor session to run, continuing a tutor session already in-progress, deleting a tutor session, and exiting from the tutor mode.
C. MARITIME ASSISTANCE MODULE (MAM)
The MAM supports the mariner in resolving maritime situations by providing decision-support information via a data input design that follows a logical identification, assessment, recommendation, and decision/selection flow. At the initial execution of the NRES program, the user must enter the own ship’s course and speed, which is then displayed in a sub-window at the lower-right corner of the screen. Before any additional action can be performed, at least one contact must be inputted into the system. After a contact has been entered, the contact’s information will be displayed in the Current Contact Information Display (CCID) sub-window at the lower-left corner of the screen, and a click-able (mouse selectable and has several menu options) icon, corresponding to the contact, is placed on the screen (See Figure 2).
Once this has been accomplished, the user can input contact description information (navigation/tasking lights, sound signals, flashing lights, day-shapes, and ship maneuvering) as previously mentioned in the GUI (Part B) section.
The contact description input menus (located within the International and Inland Rules Mode menus) are the vehicles by which the user translates the maritime situation he or she is experiencing into the data necessary for the NRES program to analyze. For example, if a user desires to enter information concerning a contact’s navigation/tasking lighting configuration, the menu in Figure 3A would be displayed. This menu allows the user to input the key characteristics (color, number of lights, arc of visibility) for each light that has been observed. Similar menus and processes are employed for the sound signals (see Figure 3B), flashing lights, day-shapes, and ship maneuvering menus. The key benefit to this process is that by using an input menu, which closely adheres to the primary characteristics codified by the Navigation Rules to describe the various maritime situations), it provides the user with a straightforward, readily familiar interface to logically identify (identification) the contact’s attributes.
Figures 3A & 3B
As the user enters information concerning the contact’s attributes, the CCID is updated and displays this information to allow for verification of correctness. When the last of the data about the contact has been inputted, the user must submit the information to the either the International or Inland Rules expert systems under the Own-Ship menu. Using the interface and communication paths discussed in Section IV-A, the contact’s characteristics are passed to the appropriate expert system for assessment and return a list of possible maritime situations (recommendation) that support the data submitted. This list is displayed in the CCID, and another window (Audio/Visual Display sub-window) is created in the upper-left corner of the screen (see Figures 4A & 4B).
Figures 4A & 4B
The Audio/Visual Display (AVD) sub-window is where the decision-support cycle concludes with a decision/selection from one of the list of possible maritime situations. The AVD either displays a picture (photograph or graphic representation) of one of the potential situations, or it plays an audio recording of the possible sound signals. Once all of the possibilities have been examined, the user must select the correct recommendation from the list, which will then be stored in the contact’s database with a timestamp corresponding to the current time.
D. STUDENT TUTOR MODULE (STM)
The STM is an intelligent tutoring system , which employs adapting learning processes to enhance and personalize the training program for each student who uses the program. To achieve this adaptive learning capability, the STM employs two methods, an expert system and a skill lattice. The expert system serves as the “brains” and repository for the questions utilized in the STM. The skills lattice (see Figure 5) provides the organizational structure for the STM as well as the necessary design for the implementation of adaptive learning techniques.
1. Expert System
The expert system contains the translation of the International and Inland Navigation rules into the CLIPS, forward-chaining format for the rules. In addition to their use in the MAM for maritime-situational resolution, through a modification to the Java GUI interface (addition of a Java class), backward-chaining is possible in CLIPS and NRES. The addition of the backward-chaining capability enables the STM to reverse the contact-input process employed in the MAM and allows for the rule assertions (answers) to be utilized in determining the rule name, which is then compared to the correct answer for that question.
For example, in Figure 6, rule assertion is “ship-anchored,” and the name of the rule is “ship-anchored2.” With forward chaining, the correct inputs on the left-hand-side of the “ship-anchored2” rule must be satisfied before it will activate the assertion on the right-hand-side of the rule. However, with the backward-chaining capability, if the right-hand-side of the rule (assertion) is activated, the name of rule (based on the modification) will be returned as the answer. Consequently, when the STM poses a question to the student, the STM creates a link between the answers to the question and their corresponding CLIPS rule names via the right-hand-side assertion (See Figure 7). Therefore, to determine whether the student’s response to the question was correct, the STM runs the answer through the backward-chaining component and compares the resulting rule name with a list, which contains the correct answer for that particular question.
2. Skill Lattice
Our tutoring approach is a knowledge-based one as developed in other intelligent tutoring systems we have developed for military skills [6, 7]. A skill lattice is a structured design of all of the sub-skills necessary for competence in a given area of knowledge. A sub-skill is defined to be any isolatable part of the skill that it is possible to incorrectly. A sub-skill is determined from the potential list of likely mistakes (bugs) that a person could make while attempting to use that sub-skill on the associated problem. The sub-skills can be placed naturally into a lattice by the relationship that gets correct answers on all the same problems. The maximal element in the lattice demonstrates a mastery of the entire skill (all of the sub-skills), and the minimal element represents a lack of comprehension of any of the sub-skills. Sub-skills in the lattice observe a strict relationship where only the sub-skills directly along the path between two sub-skill elements (a lower sub-skill element and upper sub-skill element) in the lattice are required perquisites for the mastery of the upper sub-skill.
3. Student Tutor Module Skill Lattice
The skill for the comprehension of the International and Inland Navigation Rules (see Figure 5) is divided into three levels, basic, intermediate, and advanced. The basic level of the STM contains the sub-skills in the lattice necessary for a fundamental, beginner understanding of the Navigation Rules. These sub-skills deal with the definitions of terms and concepts necessary for continued learning in the subject area as well as the recognition of the characteristics of Navigation Rules visual and sound signals. The intermediate level takes the foundation concepts learned in the basic level and begins employing them in practical application maritime scenarios. These scenarios focus on the reinforcement of the basic concepts within the sub-skill path (a specific sub-skill knowledge area – e.g. International Rules Sound Signals) and learning of the intermediate sub-skills in order to successfully resolve the maritime scenarios presented. Lastly, the advanced level seeks to take the knowledge gained during the basic and intermediate levels and integrate these sub-skills through practical application with maritime scenarios. The advanced level maritime scenarios bridge the all of the branches of the lattice and ensure that the student can combine learned sub-skill knowledge areas to resolve the scenarios posed.
4. Skill Lattice and Adaptive Tutoring in the STM
With the expert system and skill lattice in place, the transition to adaptive tutoring in the STM requires two additional features, a point-weighting system for the questions at each element in the skill lattice and a component to analyze the student’s performance based on the correctly (and incorrectly) answered questions. The point-weighting system simply assigns the bonus and penalty points for correct (+5 points – 1st response / +3 points – 2nd response) and incorrect responses (-3 points) to the questions. The student performance analysis component will use the point-weighting system to determine the level of knowledge attained for a particular sub-skill. At each level (or sub-level within the basic level), the student must demonstrate the mastery of the sub-skill by attaining a specified correct-points threshold before moving to a more advanced topic. For each of these levels, there are two correct-points thresholds, normal and accelerated. If the student achieves the higher correct-point threshold of ‘accelerated,’ the performance analysis component will accelerate the student’s tutor session by moving to the next level immediately. However, if the student attains only the ‘normal’ level (due to one or more incorrect responses during that sub-skill session), all of the questions at that sub-skill level will have to be completed correctly before moving to the following level. In addition to the correct-point thresholds, there is an incorrect-point threshold level (a specified negative point value), which, if achieved, will move the student to the previous lower sub-skill level in order to reinforce the critical concepts needed for success at the higher, problematic sub-skill level. The employment of adaptive tutoring within the STM will ensure that the tutoring/assistance the students receive will be appropriate to their performance level in order to ensure that a comprehensive knowledge and understanding of the International and Inland Navigation Rules is attained.
Although the NRES program is fully operational, there are areas available for further enhancement and/or additions. These areas include the following, which will be summarized below:
1. Increased contact data collection & tracking capability (MAM)
2. Object-oriented database (MAM)
3. Expanded set of tutor questions (STM)
4. Multi-student capability (STM)
1. Increased contact data collection & tracking capability:
Currently, the ship contacts in the MAM store the following basic information in the Java Contact class object: number, name, course, speed, relative bearing, and attributes. The data collected could be expanded to include storage of the above information periodically (multiple sets of this data over time) and additional text descriptive information about the contact.
2. Object-oriented database:
Implementing an object-oriented database to manage the contacts would be a logical precursor to the enhancement of the data collection & tracking capabilities for contacts. This would, especially, be useful when large amounts of contact historical data must be stored and there are very substantial numbers of contacts that must be tracked. Additionally, the contact files could be stored and retrieved more efficiently.
3. Expanded set of tutor questions:
The current NRES STM contains a modest-sized library of questions, which serves as a proof-of-concept for the intelligent tutoring system. Since the design feature of employing the expert system as the “brain” for the STM promotes modularity in the creation of questions, a large, detailed bank of questions can be constructed to provide comprehensive coverage of all skills and topics.
4. Multi-student capability:
The NRES program currently only allows for one student to utilize STM during the life of a tutor session. Implementing a multi-student capability would enable numerous students to save their tutor sessions for continuation at a later time.
 Riley, Gary, CLIPS Reference Manual Vol. 1: Basic Programming Guide, Version 6.1, August 1998.
 United States Coast Guard, Navigation Rules, International – Inland, COMDTINST M16672.2D. U.S. Government Printing Office, March 1999.
 Stottler, R., and Vinkavich, M., "Tactical Action Officer Intelligent Tutoring System," Industry/Interservice Training, Simulation, and Education Conference (IITSEC 2000), Orlando, FL, November 2000.
 Lee, J., and Sanquist, T., "A Systematic Evaluation of Technological Innovation: A Case Study of Ship Navigation," Proceedings of the 1993 IEEE International Conference on Systems, Man, and Cybernetics, Vol. 1, Le Touquet, France, 1993, pp. 102-107.
 Brown, J.S., and Sleeman, D., Intelligent Tutoring Systems. Academic Press, Inc., 1982.
 Rowe, N. and Galvin, T., "An Authoring System for Intelligent Procedural-Skill Tutors," IEEE Intelligent Systems, Vol. 13, No. 3 (May/June 1998), pp. 61-69.
 Rowe, N., and Schiavo, S., "An Intelligent Tutor for Intrusion Detection on Computer Systems," Computers and Education, Vol. 31 (1998), pp. 395-404.