Skip to content

Specifying_Domain_Vocabulary

Pankesh Patel edited this page Apr 5, 2016 · 3 revisions

The domain expert specifies a domain vocabulary using Srijan Vocabulary Language (SVL) (Step 1). The vocabulary specification includes concepts specific to a target application domain (e.g., building automation, transport, etc.). For example, the building automation domain is reasoned in terms of rooms and floors, while the transport domain is expressed in terms of highway sectors. Furthermore, the vocabulary includes specification of resources, which are responsible for interacting with entities of interest (EoI). This includes sensors (sense EoI), actuators (control EoI), and storages (store information about EoI).

For the next step - Compiling vocabulary specification .

Figure 2 IoT Application Development Process: Overall Process

Srijan Vocabulary Language (SVL)

SVL is designed to enable the domain expert to describe a domain vocabulary domain. It offers constructs to specify concepts that interact with entities of interest. We describe these concepts in detail as follows:

Regions: It represents the set of regions that are used to specify locations of devices. A region definition includes a region label and region type. For example, the building automation is reasoned in terms of rooms and floors (considered as region labels), while the transport domain is expressed in terms of highway sectors. Each room or floor in a building may be annotated with an integer value (e.g. room: 1 interprets as room number 1) considered as region type. This construct is declared using the regions keyword. Listing 1 (lines 1-4) shows regions definitions for the building automation domain.

Structs: Each resource is characterized by types of information it generates or consumes. A set of information is defined using the structs keyword (Listing 1, line 5). For instance, a temperature sensor may generate a temperature value and unit of measurement (e.g., Celsius or Fahrenheit). This information is defined as TempStruct and its two fields (Listing 1, lines 6-8).

Resources: It defines resources that might be attached with devices, including sensors, actuators, or storages. We describe them in detail as follows:

  • **Sensors: ** It defines a set of various types of sensors (e.g., temperature sensor, smoke detector). A set of sensors is declared using the sensors keyword. Each sensor produces one or more sensor measurements along with the data-types specified in the data structure. A sensor measurement of each sensor is declared using the generate keyword (Listing 1, line 12). For instance, a temperature sensor generates a temperature measurement of Tempstruct type (lines 12) defined in data structures (lines 6-8).

  • **Actuators: ** It defines a set of various types of actuator (e.g., heater, alarm). A set of actuators is declared using the actuators keyword (Listing 1, line 13). Each actuator has one or more actions that are declared using the action keyword. An action of an actuator may take inputs specified as parameters of an action. For instance, a heater may has two actions. One is to switch off the heater and second is to set the heater according to a user's temperature preference illustrated in Listing 1, lines 14 -16. The SetTemp action takes a user's temperature preference shown in line 15.