It was evident that the language should be able to handle such types of specifications. Upon examining the major requirements, a language syntax was developed. The method chosen was to utilize a binary tree structure. A binary tree describes a set of nodes where each node may be connected to only one parent node and no more than two child nodes. This structure allowed for our definition of operators and expressions to represent nodes.
Operators enable the representation of functions.
The binary tree methodology allows for any level of complexity to be represented. Also it helps to facilitate optimization of the audit process. The major requirements builder is used to specify requirements and uses a language that generates a binary tree representation of requirements. It consists of operators and expressions that enable the construction of Boolean-like expressions. The audit engine traverses the binary tree of requirements, matches them with the student's records and produces a result.