ThingFacet is a reusable TQL component that defines the software interaction with a "thing" or an aspect of a "thing". The "thing" can be sensors, actuators or machines.
ThingFacet is one of the several types of of Model Facets. Model Facets also include DataFacets and AppFacets.
A ThingFacet has attributes and actions.
Attributes are containers of values. They can be used to hold fixed information about the thing, such as manufacturer name or serial number, or to hold changing variable values, such as TempValue.
Actions define processes. In ThingFacets such processes often are about interacting with external things based a some communication protocol.
A special type of attributes is called "actionable attributes". Actionable attributes are linked with one or more actions in the same ThingFacet.