ETOILE and MEMOLAB are implemented with Allegro Common Lisp and run on Sun Sparcstation. It could be easily ported to other Unix platforms. Since the whole systems are based on an object-oriented approach, we use the object-oriented features of Common Lisp, i.e. CLOS. For the interface functions, we use the beta-release of the `Common Lisp Interface Manager' (Clim 2.0). The software may be ported to micro-computer platforms (i.e. Windows and MacIntosh) when Clim 2.0 and multi-threading will be available for those in 1994.
The main components of ETOILE are:
The components of MEMOLAB are:
- the Object-Oriented Production System (see section Appendix III: "The Inference Engine" on page 28) that includes not only the inference engine itself but also all the classes used by this engine (rules, rule bases,...);
- the hypertext (see section Appendix II: "The Integrated Hypertext" on page 26) which is also implemented as objects and has hence been integrated with the other system components;
- the hierarchy of pedagogical objects: goals, problems, initiatives, and the classes of agents (the coach, the tutors and the experts);
- the instances of pedagogical agents: the coach and the tutors, with their rules;
- the `Learning Environment' window which contains commands that are supported by ETOILE, whatever the domain is: starting/ending a session, selecting a tutor, an expert or a problem, asking to see the expert's goals or the expert's trace, opening an hypertext...
- the `Developer Tool' window which contains commands that enable the author to test an agent, to reset its rulebase, etc...
- the `Authorview' and `Developer Tools' windows (see section 6) that provide the designer with basic facilities to monitor and control agents and the execution of rulebases.
In other words, MEMOLAB includes two sets of things. The first three are instances of pre-defined ETOILE classes. The author may define sub-classes if he wants to add domain-specific slots to these objects. The three next things define the microworld. The author of a learning environment must add in ETOILE the file name defining the file structure of his own learning environment (using `defsystem').
- the curriculum, i.e. a list of instances for the classes `goal' and `problem';
- the instances of experts, i.e. a rulebase for each expert;
- the instances of hypertext: the "Handbook of Methodology" and the "Encyclopaedia of Memory"
- the domain-specific application frames, i.e. the windows where the lab appears, with all the commands for designing an experiment, the window that helps building a list of words, the simulation window,...
- the domain-specific classes and instances to be manipulated by the learner: experiments, events, tasks, subjects, materials, words, non-words,....;
- the simulation (which is conceptually included in the domain-specific frames)