1. Introduction
CASL is a language used for Case-Based Reasoning. The contents of a case-base are described in a file known as a case file, using the language CASL. The program Caspian uses this case file to create a case-base in the computer's memory, which can then be accessed and modified in order to solve problems, give a diagnosis etc. using Case-Based
Reasoning techniques. When new cases are added to the case-base in the computer's memory, they are also appended to the end of the case file.
The process of Case-Based Reasoning (CBR) is to find a case that is similar to the current situation, modify the solution to fit the current situation and then to store the case in the case-base. These processes can be carried out using the program Caspian.
The purpose of this section is to describe the language used in the case file for specifying cases (CASL), and to describe how Caspian uses this information to create the case-base.
You create a case base in CASL using your favourite editor and then load it into Caspian.
Caspian checks that it is a legal CASL program as it loads it in (see the Caspian document for more details of error messages).
2. General Structure of a Case
In CASL, a case is similar to a record in a database. The basic unit is a field which may contain a string, a number, an enumeration symbol or a list. A list item may be any of the four basic types.
There are a number of differences between a CASL case and an ordinary database record:
1) There are two groups of fields in a case. The first group describes the situation and the nature of the problem. The second group describes the solution to the problem.
2) It is possible for a field to be omitted. This is only true for those fields which are not used for indexing (see below). Both field lists must contain at least one field. The problem section must use at least one field as an index.
3) Each case has a value known as the result. This