The WoTDL (Web of Things Description Language) ontology describes the key concepts of Artificial Intelligence Planning-based End User Development applications for the Web of Things.
AI Planning
IoT
Sebastian Heil, Chemnitz, Germany
2019-02-07
Copyright 2019 Massachusetts Institute of Technology
MIT License
Copyright (c) 2019 Technische Universität Chemnitz
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
2018-10-05
WoTDL Ontology
Composition
wotdl
1.0
The WoTDL ontology describes the key concepts of Artificial Intelligence Planning-based End User Development applications for the Web of Things (WoT). Some of the relevant existing ontologies have the following limitations: they (i) do not support the description of WoT devices, (ii) do not suffice the needs for WoT device planning due to missing concepts. The main design principles of developing such an ontology are (i) reuse the existing concepts and add new concepts to support the development of WoT composition, (ii) following best practices and (iii) ensure semantic interoperability with existing IoT platforms.
For more details please see:
- Noura M., Heil S., Gaedke M. (2018) GrOWTH: Goal-Oriented End User Development for Web of Things Devices. In: Mikkonen T., Klamma R., Hernández J. (eds) Web Engineering. ICWE 2018. Lecture Notes in Computer Science, vol 10845. Springer
- Noura M., Heil S., Gaedke M. (2018) WoTDL: Ontology-based Model-driven Web of Things Application Development. Submitted to: ICWE 2019
Please report any errors to mahda.noura@informatik.tu-chemnitz.
WoT
Martin Gaedke, Chemnitz, Germany
Mahda Noura, Chemnitz, Germany
The link between an Effect and a Parameter which describes the affects it has on a physical parameter leading to a state change in the environment
affects
Relation linking a Transition to the Actuation.
has actuation
Relation linking a CompositeDevice to the Actuator.
has actuator
Relation between a Transition and an Effect that describes each transition has an effect on the environment.
has effect
Relation between a Sensor and a Measurement that it is capable of sensing.
has measurement
Describes the relation between a state and a parameter to expresses that each state of the system is described using a set of parameter and values.
has parameter
Relation from a Transition to a Precondition describing the transition to next state under certain Conditions. Used for example to say that in order to turn a lamp off certain conditions apply.
has precondition
Relation linking a CompositeDevice to the Sensor.
has sensor
Relation from an Actuator to a Transition between the different states of the environment.
has transition
Relation linking a Measurement made by a Sensor to the parameter that was measured. For instance a temperature sensor measures the current temperature.
measures
Relation from a Transition to an Effect describing the effects that a certain transition has on the environmental state.
on
The amount of decrease an effect has on an environmental parameter
Decrement
OpenAPI 3.0 compliant body specification
HTTP body
https://swagger.io/docs/specification/describing-request-body/
HTTP defines a set of request methods to indicate the desired action to be performed for a given resource i.e. get, post, put, delete
HTTP Method
The amount of increase an effect has on an environmental parameter
Increment
Describes the name of a physical device, parameter, or actuation
The duration it takes for the desired effect to take place
Time To Effect
It describes the valid data type of a parameter, for instance a type for the temperature could be float or for a shades OpenClose.
type
It is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it.
URL
It describes the value of a fixed effect type i.e., lamp=on or the value of a precondition lamp=off, or the value of a state.
value
The duration it takes before the actuation can take place for example in some cases the device needs to first startup before the actuation can be triggered.
Wait After Actuation
An Actuation carries out an (Actuation) Transition to change the state of the world using an Actuator.
actuation
A device that is used by, or implements, an (Actuation) Procedure that changes the state of the world.
actuator
specifies that a hardware device can have multiple components where each component can be controlled independently. A CompositeDevice can have a series of Actuator and Sensor. For example, a Raspberry Pi equipped with a SenseHat is a CompositeDevice with a set of sensors and actuators i.e., LED board that are connected to it.
composite device
It is used for decreasing a parameter
decrease effect
A device that is used by, or implements, an (Actuation) Procedure that changes the state of the world
device
The transformation of Actuations performed by Actuators and the affects it has on a physical parameter leading to a state change in the environment
effect
It is used for assigning constant values to a parameter
fixed value effect
It refers to the desired state of the environment
goal state
Provides all the required information to execute an HTTP request to perform either Actuation or Measurement. The HTTPRequest includes HTTPMethod (GET, POST, PUT), HTTPheader, URL, and the body.
HTTP request
for increasing a parameter
increase effect
It refers to the state at the start of planning.
initial state
It is triggered on a Sensor device to measure the value of a Parameter.
measurement
expresses the facts known about each State.
parameter
In order for a Transition to be applied to reach the next state, it’s Precondition must hold true.
precondition
Device, agent, or software (simulation) involved in, or implementing, a Procedure. Sensors respond to a Stimulus, e.g., a change in the environment, or Input data composed from the Results of prior Measurement, and generate a Result. Sensors are subclass of Device. Example temperature sensor, air quality sensor, humidity sensor, motion sensor etc.
Sensors are a subclass of Device which measures the current state of the environment. Examples include temperature sensor, humidity sensor, motion sensor.
sensor
It is used to describe the state of the physical environment
state
for switching between the possible values of parameter
toggle effect
describes the Effect i.e., that is the dynamic change between different states of the environment which are intended to be caused by the Actuation-the expected behavior which may not necessarily occur due to external influences, unpredicted behavior, etc. performed by Actuators and Precondition.
transition