[Trac] [AllemaniACs] #39: Plugin dependencies

AllemaniACs trac-notifications at lists.kbsg.rwth-aachen.de
Mon May 5 13:36:11 CEST 2008

#39: Plugin dependencies
 Reporter:  tim      |        Owner:  tim
     Type:  feature  |       Status:  new
 Priority:  major    |    Milestone:     
Component:  Fawkes   |   Resolution:     
 Keywords:  Base     |  
Comment (by tim):

 What just came to my mind is that we should allow for an "XOR" relation. I
 came to this while thinking about the Nao: there the lower hardware can
 either be simulated (by the naosim plugin) or on the real robot (naohw
 plugin to come). Thus if we define a naomotion plugin which provides basic
 walking/kicking actions etc. we need an "either A or B" relation.
 Something like:
 naomotion::requires() = "naosim|naohw"
 Now if naomotion is loaded it is checked if one of naosim or naohw is
 loaded. If it is not it will load the first one mentioned. If this fails
 (for example if the simulator is not running and thus it is likely that we
 are on the real hardware) the plugin loader tries to load naohw. If this
 fails as well the plugin dependencies are not met and thus the naomotion
 plugin cannot be loaded. Both of naosim and naohw cannot be loaded anyway
 since they would write to the very same interface which is not possible.

 If the plugins are written properly they fail if the simulator respective
 the real hardware is not available and so the loader would automagically
 do the right thing.

Ticket URL: <https://lechuck.informatik.rwth-aachen.de:2342/trac/ticket/39#comment:1>
AllemaniACs <http://robocup.rwth-aachen.de>
AllemaniACs Trac

More information about the fawkes-trac mailing list