Reusable remote laboratories
A concept-based approach.
- Approach: The GUI of the client of the remote labs are described as an ontology, in OWL file. Even if a plan vanilla XML is more straightforward, we need to use concepts to describe the GUI of the remote labs, in order to able to infer user profile, thus enabling adaptation and evaluation within the remote labs.
- Implementation: We want a platform "device-independant", which means reusable. In fact, even if all remote laboratories nowadays are very specific to the devices involved in the hands-on session, we argue that it is possible, at least by domain, to make enough abstracton layer in order to get laboratoratories that are reusbale for other devices, with the less modifications possible.
- Concepts: In order to achieve this, we use a concept-based system representing all the context of the GUI and its functionalities. Until now, we map a widget to a functionalities, even if we think it is easy to map a sequence of actions to a single fucntionalities, see our paper for ICEIS'06, in paper section). As a result, a OWL file contains all the vocabulary we can need in order to represent a device GUI and functionalities.
Such an ontolgy can be represented as the following figure:
- Collaborativeness embedded within widgets: We have extended Java swing components, in order to let them natively implements all behaviors relative to connection to the middleware, fire remote events, and react to received events. As a consequence, this is this collection of widgets ("IWidgets") that is used in our ontology described earlier. Because of the use of Java Reflexive API, we are able to create a generic client, the same for all remote laboratory clients, that parses the OWL file and dynamically build the remote laboratory client. The only need is the creation of the OWL file associated to the device.
- Message oriented architecture: In order to send and receive events on the remote labs, between all learners, teachers and devices, we use a JOnAS (a J2EE Application Server), JORAM (a Message Oriented Middleware), PostgreSQL (RDBM Backend), OpenLDAP (Authentification and Authorization), which are all open source products.
The following figures show the two steps process for a given command: A learner send a command to the device ("ASK"); upon reception, the device sends back an acknowledgment ("ACK"), process the command and then send back the result to all learners through the middleware ("ANS"):
A command is sent by learner #1.
The corresponding acknowledgments and answers are sent by the device to all users.






