ThingFacet is a reusable TQL component that defines the software interactions with a "thing" and represent the "thing" in the software. A "thing" can be sensors, actuators, devices, or a particular aspect or function of a more complex machine. A ThingFacet has Attributes and Actions.
Attributes are containers of values. They can be used for the following purposes:
(1) Store parameters required to make a protocol specific invocation to the thing, such as ___
<
String
Name
=
"InterfacePort"
/>
Store information received from the thing, such as TempValue from the temperature sensor
Act as control variables - variable that can activate certain actions
hold fixed information about the thing, such as the temperature unit
Action is where the processes to interact with things are defined.
The control variables in the ThingFacet are called "actionable attributes". Actionable attributes are linked with one or more actions in the same ThingFacet by a modifier "KnownBy".