Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

ThingFacet is a reusable TQL component that defines the software interaction interactions with a "thing" or an aspect of a and represent the "thing" in the software. The A "thing" can be sensors, actuators or machines.

ThingFacet is a component that defines how your application interacts with a "thing", and how the "thing" is represented in software.

ThingFacet is one of the several types of of Model Facets. Model Facets also include DataFacets and AppFacets.

A ThingFacet has attributes and actions., devices, or a particular aspect or function of a more complex machine. A ThingFacet has a name, Model Attributes and Actions.

Attributes

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 for the following purposes in ThingFacets:

(1) Store parameters required to make a protocol specific invocation to the thing, such as <String Name="InterfacePort"/>

(2) Store information received from the thing, such as <Number Name="TempValue"/> (The TempValue from the temperature sensor)

(3) Hold fixed information about the thing, such as <String Name="Unit" default="Celsius"/>

(4) Act as control variables - variable that can activate certain actions. They are called "actionable attributes". Actionable attributes are linked with one or more actions in the same ThingFacet by a modifier "KnownBy". For example: <Number Name="TempValue" KnownBy="SerialReadAction"/>

Actions

Action is where the processes to interact with things are defined.

Gliffy
nameThingFacet

An example of Camera ThingFacet.