Modules may implement protocols, services, algorithms,
or applications. For best results, it is advisable to keep
modules small. Ideally, each module ought to focus on a
single service or functionality; arbitrarily complex functionalities
should be achieved by linking various modules
together. Note that only modules are allowed to produce or
receive packets/messages, although they are not required to
Specifications Specifications
IMAGE_1 IMAGE_2
TinyOS
Interface Contiki
Interface
MAC 1 SPEC
callback_module
MAC 1
application
MAC 2 SPEC
callback_module
MAC 2
application
ROUTING SPEC
callback_module
MAC 1
application
routing
Figure 3. FLEXOR specification and image examples.
do so. Since flexibility is a key tenet of QoE, FLEXOR
allows users to extend the basic archetype with new incoming/
outgoing gates.