wiki:Bindings

Version 2 (modified by welberge, 7 years ago) (diff)

--

Bindings

A binding provides an XML description of the mapping from a BML behavior to one or more units on the motor plan. While bindings are in principle Engine-dependent, several shared concepts occur in multiple bindings.

Spec

A binding contains different specs, each mapping from a BML behavior with certain properties to one or more motor units.

type

Each spec has a type, which specifies from which BML behavior type it maps (e.g. gesture, faceFacs, ..).

constraints

Constraints specify which BML behavior parameters should be satisfied to bind this specific spec to a BML behavior

For example:

<FaceUnitSpec type="faceLexeme">
  <constraints>
    <constraint name="lexeme" value="smilemouth"/>
  </constraints>
  ...
<FaceUnitSpec>

binds this spec to a BML behavior

<faceLexeme lexeme="smilemouth" ... />

A namespace attribute can be used in constraint to refer to parameters in an external namespace (that is: not the default bml 1.0  http://www.bml-initiative.org/bml/bml-1.0 namespace).

For example:

<MotionUnitSpec type="gaze">
  <constraints>
    <constraint name="influence" value="EYES"/>	
    <constraint namespace="http://hmi.ewi.utwente.nl/bmlt" name="dynamic" value="true"/>			
  </constraints> 
  ...
</MotionUnitSpec>

binds this spec to a BML behavior

<gaze xmlns:bmlt="http://hmi.ewi.utwente.nl/bmlt" influence="EYES" bmlt:dynamic="true"... />