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