Aperçu du fichier PDF eeg.pdf - page 4/31

Page 1 2 3 45631

Aperçu texte

less it’s the one which offers the most long-term possibilities. This method has not been more explored, so it will
not be described further.

5.1. Kyma

4.4. OpenInterface Workbench (Skemmi)

Figure 5: Kyma component

Figure 4: Skemmi
OpenInterface Workbench (called Skemmi) is an
Eclipse plugin which allows rapid integration of heterogeneous components. Specially designed for rapid prototyping, the workbench allows interaction between components written in several languages (C++, Java, . . . ).
The interaction between the sensor (EEPOC) and the
sound processing software (Kyma) is done through this
Skemmi is shown as graphical diagrams. These diagrams are composed with differents blocks (representing
sensors, softwares, . . . ) and the interaction between blocks
is done with connection between their inputs and block
outputs (cf. figure 4)
The peculiarity of this platform is that the block drivers (block operation) may be coded in the any desired
programming language and will be executed by the kernel
of Skemmi in a specific thread.
So, graphically it’s like a data flow programming language but each bloc executes a specific code (which can
be structured, object-oriented, multi-task, . . . ).

Inputs :
• Start : initializes the communication between
Skemmi and Kyma ;
• Respond_from : receives the first reply from Kyma
(≡ ACK) ;
• JSON_input : receives the JSON structures ;
• Notify_I : called when a song is changed and notifications are enabled.
Outputs :
• Remove_settings : deletes all the Virtual Interface
inputs/outputs (cf. §5.3.2) ;
• Add_setting : adds an input/output to the Virtual Interface ;
• Respond_to : sends the first message to Kyma ;
• Widget : sends a query for the corresponding widget ;
• Notify_O : enables/disables the notifications.
5.2. EEPOC

Figure 6: EEPOC component