Section: New Results
Scripted interactions in a virtual educational environment
We realized a part of a virtual formation environment. One can find the context of our project in the section ``industrial contracts'', and ``GVT''. Firstly, we realized a general pattern to obtain interactive objects and a generic interaction process: the STORM model. Secondly, we focused on the definition of what has to be done in this virtual environment, by using our interaction mechanism. That's the role of the language LORA. Finaly, our last contribution is an author-tool, based on STORM and LORA, which is able to generate scenarios by demonstration. Our objectives was to create generic designs, reusable objects and behaviors, and complex scenarios  .
A general interaction model between behavioral objects
We wanted to obtain a generic treatment of interactions between behavioral objects. A classical problem of interaction between objects is the question where should we put the definition of the interaction? One solution is to put the definition of the interaction in the object itself. We can mention the works of Kallmann, with what he called ``smart objects'', or the work on Synoptic Objects developed by Badawi in our team. We thought that it would be interesting to have information about interaction in the objects, but not have the definition of interaction totally described in a particular object. This definition has to be located somewhere between the objects, with parts of definitions distributed between the objects concerned by the interaction. These parts are named ``capacities''. The definition of interaction located between the objects is named ``relation''. ``Capacities'' combination gives a set of interaction possibilities between objects doted with interaction capacities. The relation is finally responsible of the interaction process, by using the capacities of those objects. This work leads to the deposit of a patent. For example, let us consider only two objects, a screw and a nut. We want to create a screwing interaction between those objects. According to our model, the screw will have male-screwing capacity (length, thread pitch, the male state, etc.) and the nut will have female-screwing capacity (thread pitch, a boolean which indicates if there is already a screw on it, the female state, etc.). We will also have a ``screwing relation'' (cf figure 33 ). This relation contains the definitions of the screwing interaction: a male-screw can be screwed in a female-screw, when the size is good, when the thread pitches match, etc. This relation offers the possibility to screw the screw in the nut, and gives a certain state to this set of two objects: when it is screwed we can not manipulate the screw independently, and when we move the nut, it moves the screw. We can notice that the ``screwing relation'', the ``female-screwing capacity'' and the ``male-screwing capacity'' can be re-used whenever we need to define screwing interactions between two objects.
A graphical scenario language for complex interactions
Based on the preceding model of interactions, we wanted to have the ability to express a complex sequence of interactions. Thus our goal was to define the referential sequence of actions for a student in the formation environment. So we created a new scenario language named LORA. This language has two main aspects: it can be written directly, as we assume when we talk about a language. But it is also a graphical language. This language inherits from different graphical languages such as grafcets and statecharts, and also languages like HPTS for the hierarchical state machine aspect. Our language consists of steps, and links between steps. Each step describes an action which can be: an atomic action (in the previous example, we can select ``screwing''), or a calculation action which uses internal variables, or a conditional action (the result of its evaluation has two possible ways when exiting) or a hierarchical action-step (a scenario can have steps which contain a sub-scenario. Those steps describe a global action locally). This language is interpreted and dynamic. Files are loaded and represented in memory in a virtual machine for scenarios. The memory of this machine can be modified dynamically: the memory representation of the scenario is interpreted with the evolution of the scene. We can edit the language whenever we want in the virtual machine. After actions are executed in the environment, the virtual machine interprets next steps in its own memory. This work leads to the deposit of a patent.
An authoring-tool for scenarii
The creation of virtual training environment is a complex process, associated with high financial and temporal costs. The STORM and LORA models are totally generic, the main aim is the re-usability of objects and behaviors. As a consequence, the GVT project is turned to the design of a platform for the creation of such virtual environments. Our first tool in this platform is an authoring-tool for the creation of scenarii by demonstration. This tool is based on LORA and STORM. The author of scenarii is performing actions in the 3D-scene, in GVT. By the way, those interactions are represented with STORM, so we can directly create LORA's actions. With this tool, the author is now able to show the sequence of actions to do, and the scenarii is directly generated (cf figure 34 ). In the same time, the author can also work on the recorded sequence to adapt it with what he want: a parallel sequence, a hierarchical action, a conditional way, etc. This work leads to the deposit of a patent.