[gephex-devel] Scheduling

JS js at drone.ws
Mon Feb 20 22:42:02 CET 2006


Hi all,

    I'm currently working out to try to integrate one new programming 
paradigm in Drone (apart from dataflow): hierarchical finite-state 
machines. The point would be to facilitate the creation of event-based, 
complex behaviors that could change the way data is processed. This 
paradigm should in fact be a module that integrate seamlessly with the 
dataflow paradigm that is currently Drone's core (which would thus also 
become a module). Thinking about this had me consider the idea of using 
a scripting language as the "middleground" between those various 
modules. In the end, the structure I was thinking of looked like this:

FSM-GUI     dataflow-GUI
   |            |
 script code (scheme)
          |
 script engine (guile) <--> FSM/dataflow libraries

    This is rather close to proposed GePhex 0.5 architecture, except 
there is no bytecode layer. The reason is
    1) I didn't really find any reason to use a bytecode
    2) GePhex 0.5 bytecode was useless because it has no event scheduling

    However I recently read this comment about a scheduling unit in 
GePhex 0.5 bytecode:
    http://lists.gephex.org/pipermail/gephex-devel/2005-November/000795.html

    I guess that such a feature would add what is, in my mind, truly 
missing in gephex bytecode in order for it to support various paradigmas 
(though I'm thinking that I would still need some kind of event 
sender/listener facility).

    However, I still don't really see the point of creating such a 
bytecode language under the Scheme layer. Why not simply code it in 
Scheme with the help of Guile? I've reproduced the Kalkulon example in 
Scheme here and it's pretty neat:
    http://orangeseeds.net/wiki/drone/Core/Drone0.4/Scripting/Spike

    Plus, that would allow users to script their own way of 
handling/scheduling data.

-- 
Jean-Sébastien Senécal
Reseach Assistant, Hexagram / Assistant de recherche à Hexagram
M. A. Student in Interactive Media / Étudiant en Médias Interactifs, Université du Québec à Montréal
M. Sc. Computer Sciences / Informatique, Université de Montréal
Mail: js at drone.ws
Web: http://drone.ws



More information about the gephex-devel mailing list