5. Conclusions and future research
Altaira is a system which has undergone a very rapid development. In
this section, some of the changes that have taken place in response to
deficiencies in early versions are discussed, as well as observations
regarding the present state of the system.
5.1 Evolution
Several of Altaira's features were introduced during its development
specifically to address deficiencies in the original specification.
These changes have redcuced the sizes of the rulesets, and also
assisted in debugging.
The rule recorder was added in response to the difficulty of debugging
rulesets. Frequently, while exploring a course, an unexpected
behavior will occur, but there will be several more execution cycles
before the user is able to react and stop the robot. This was a
particular problem when executing in real mode, as the robot's inertia
made single-stepping to identify the problem impractical. The rule
recorder permits the necessary look back to the problem in the execution.
The original language specification did not have 'dontcare' rule
inputs or 'nochange' rule outputs. Rule enabling and firing were
combined into a multidimensional array lookup based on rule inputs
(consequently, only a single rule could be enabled on any given
execution cycle, so the notions of rule priority and amalgamation did
not exist). Since reflexive, tactical, and strategic rule elements
had to be present in all rules, the resulting rulesets were quite
large and unwieldy (the original solution to the VPC compulsory
problem required over 2100 rules).
Addressing this problem led to a new difficulty: identifying the rule
responsible for a behavior. When an unexpected behavior occurs,
there are 1024 different input combinations which may be responsible.
This made locating an erroneous rule difficult, creating the need for
the search mechanism.
The description of Altaira in
[16]
reflects the
system's status before these changes were made.
web page last updated on March 18, 1998