The Web of Things (WoT) Interest Group (IG) is collecting concepts and technologies to enable discovery and interoperability of Internet of Things (IoT) services on a worldwide basis. This document is used to collect IoT use cases from different domains for the Standardisation work in the W3C WoT groups. The domain use cases are dissaminated to identify so-called building-blocks that are common across the different domains as well as non-functional requirements.

The identified building blocks are inputs to the investigation and standardisation work.

The technology candidates for the respective building blocks were moved into the tech landscape document.

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This collection of exemplary use cases is the result of discussion in the Web of Things Interest Group. The Web of Things Interest Group believes that Working Groups such as a potential The Web of Things Working Group or others will provide recommendations that simplify the application development and interoperabilty for the mentioned use cases. The Web of Things Interest Group may continue to discuss other areas of IoT that have not already been raised in this document, as well as refine the stated use cases and requirements.

This document was published by the Web of Things Interest Group as an Interest Group Note. If you wish to make comments regarding this document, please send them to public-wot-ig@w3.org ( subscribe, archives). All feedback is welcome.

Publication as an Interest Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

The disclosure obligations of the Participants of this group are described in the charter.

Use Cases

Domain: home automation

Building Automation

Buildings often have a large variety of components such as Heating, Venting, and Air Conditioning (HVAC), lighting systems, and possibly more specialized systems such as support for reserving rooms electronically. Very often, these systems are not provided by a single supplier. Instead, landscapes of heterogeneous systems develop over time. Interoperability becomes a paramount challenge, as there should be a single way how interactions with the overall building automation infrastructure are possible. Furthermore, sensors, controllers, and actors of one system serving one specific use case can be useful for other use cases and can also enable new cross-domain applications and services to amplify comfort, security, and operational efficiency in smart buildings.

Possibly, building automation scenarios can have layered services, such for example when it comes to temperature sensing. While the basic functionality of the building automation system might only include to get information about the current temperature in a variety of places, there also might be a "temperature history" service. This service might allow more advanced features such as accessing the complete history of temperature measurements, and possible even more advanced functionalities such as queries in this dataset. By combining available data (e.g., weather forcast and occupancy of meeting rooms), room temperatures and future cooling/heating demand can be predicted to increase (e.g., an office building's) energy efficiency. Again, such an advanced service should be accessible in the same way as the more basic services, so that developers can access all these services in a uniform way.

Related Building Blocks
  • Resource Description: Applications may want to get an understanding of what kind of sensors and other capabilities are exposed as part of the building automation system. In such a case, it is necessary that available resources can be described or are describing themselves, preferably using a framework that makes those descriptions uniform even if the underlying sensors or services are using different implementation and communication technologies.
  • Push Services: Applications may want to be notified of certain events in the building automation system, without having to listen to a continuous event stream from it. In such a case, it is advantageous for the building automation system to support some kind of push mechanism, so that application can subscribe to these events, and will be notified when they happen. This increases the workload of the building automation system (it has to keep track of subscribers), but may make development of certain classes of applications much easier.
Related Non-Functionals

    Adaptive Building

    Each employee in an office building specifies a preference profile (temperature, light setup, table height, ...). Due to his company badge or his smartphone the building can automatically influence the building automation system around him based on his current location and preference profile.

    Besides an increase of comfort in general, personal profiles can also be used to assist people with special needs. For instance, in case of emergency, the acustic alarm sirens are insufficient for death people. Other mechanisms like flashing lights or mobile device notifications that are available in the person's proximity need to be used.

    In case of several people in the same room (e.g. a meeting), a meditation is needed. This is also the case in other cross-influenced situations and if overall goals are set to be achieved, such as energy saving.

    Related Building Blocks
    • Ensemble Discovery: Dynamical selection of the surrounding/affecting resources to create the desired comfort level.
    • Multi-Stakeholder Operation: Multiple people in the same room require automatic mediation of desired comfort levels.
    • Device Lifecycle Management: The appearance and disappearance of users requires means to orchestrate the lifecycle of users/stakeholders.
    • Resource Description: The environment around a user must be conceivable by the system in a way that does not require manual engineering.
    Related Non-Functionals
    • Privacy: Since the system would rely on informations which person is in what room at what time, it can allow a very fine-grained movement profile, which is sensitve information
    • Trust: The infrastructure has to secure personal profile information in order to prohibit unauthorized access or manipulation.

    Smart control of washing machine

    Joan has a heavy load of washing to do. She decides to run it over night to take advantage of the lower power prices. She loads the clothes into the washing machine and selects the economy operation mode. She has previously set her preferences with her home automation agent that is accessible on the Web from her phone, tablet, TV or laptop.

    see http://www.w3.org/WoT/IG/wiki/Use_cases_across_application_domains#Smart_control_of_washing_machine

    How does this translate to a technical Description

    The physical user controls on the washing machine are deliberately simple, and designed to work in conjunction with the web based home automation agent. This agent has access to Joan’s electricity supplier and as is able to track the price charged by her supplier on her electricity plan as it changes according to demand across the city. The agent runs in the cloud, but is able to communicate through the firewall with devices in Joan’s home via her home hub. This was set up automatically when she first plugged the machine in. The washing machine has a very limited embedded controller. It suffices to run the desired washing and drying cycle, and has sensors that monitor its operation and enable components that are wearing out to be detected before they fail. Joan has agreed to share this data with the manufacturer as part of the warranty agreement. In return, she gets proactive scheduling of service visits at her convenience.

    What application domains are related (e.g. referring to the taxonomy)

    main: smart home / home automation / deferred operation

    related: smart cities / smart grid / signaling with smart power devices

    What interaction pattern with or btw things can be observed

    Thing registers: thing registers with service in the cloud

    Configure data subscription: specific data field (e.g. for maintenance) is forwarded (e.g. to manufacturer)

    Thing integration in web based agent

    Which aspects are not considered

    Life cycle of devices, services and applications

    Discovery of devices

    Installation process

    Dealing with faults

    Replacing devices

    Replacing devices

    Related Building Blocks
    Related Non-Functionals
    • Privacy: Home automation agent is accessible on the Web.
    • Trust: User has agreed to share data with the manufacturer as part of the warranty agreement.

    Integrated Home Automation, Demand Response and security

    Many households nowadays use one or more of Home Automation service, Demand-Response (DR) service or Securities and more. For DR subscription and operation, a home gateway device communicates with an aggregator to shed energy use on when asked. Home automation, typically also with a home gateway, enables cloud-based monitoring and control of home devices based-on pre-defined rules that perform actions based on conditions or triggers such as weather forecast or push on doorbells. Security services also install sensors and provide cloud-based control of security features such as arming/disarming and monitoring.

    There is an increasing need to integrate those discrete services from different vendors harmoniously to increase the total benefit by orchestrating them.

    see https://lists.w3.org/Archives/Public/public-wot-ig/2015Mar/0048.html

    How does this translate to a technical Description

    Clear separation of roles between home gateway through which to manage devices and sensors at home, and management platform that enables mashed-up, coordinated cloud-based services. Each device and sensor connects to home gateway through various technologies (e.g. Wi-Fi, Bluetooth, ZigBee, etc.).

    Related Building Blocks
      Related Non-Functionals
      • Privacy: cloud-based monitoring and control of home devices based-on pre-defined rules

      Smart home

      Katherine prefer to living in comfortable condition. She has an air conditioner at home and has been using her smartphone to controlling it since a controller application on the smartphone can more precisely control based on her preference instead of using a remote controller that comes with. Recently she bought a home hub. Then now she can use another attentive feature that can turn-on the air conditioner from outside using the smartphone and the application a little bit before arriving at home to preparing more comfortable room temperature for her.

      Requirements:

      - An application on a smartphone can search devices possible to control both on local network and remote network.

      - An application on a smartphone can understand the property of searched devices.

      - An application on a smartphone can send commands without caring the network connection underneath.

      Related Building Blocks:

      - Abstracted discovery mechanism that applications can queries devices possible to use both locally and remotely.

      - Abstracted device representation that applications can understand capabilities of devices to articulate a command to send.

      - Abstraction APIs that applications can access devices with network agnostic.

      How does this translate to a technical Description

      Intelligent Hotel Room

      Katherine is a frequent business traveler. She stays in a variety of different hotels in many cities and different countries. In each hotel room she is able to control the lighting, heating/air conditioning, locks, alarm clock, water temperature, and entertainment in her room. If someone knocks on the door she can see who's there from the TV or from her phone (a security camera is outside her door). Control is available from her mobile device, or she may be able to interact with the hotel room's services through an ambient device located in the room. It is important for user satisfaction for Katherine to get immediate access to these services when she checks in (without installing hotel-specific software), but it's also important that she not have access after she checks out. She doesn't have time to learn a new user interface for every hotel, or even every hotel chain, that she stays in, because she stays in so many different places.

      The user should also be able to control the room remotely through her mobile device; for example, she would like to be able to warm up the room when she is within a half hour or so of arriving back from dinner. This would support energy savings because the room could be colder when no one is there. Similarly, geofencing could also be used to turn on the lights when she's approaching the room.

      The user would also like to have her preferences made known when she checks in. For example, the room should automatically know her preferred room temperature, preferred units (metric vs. English), and her preferred language. However, her preferences may have to be overridden by the hotel (for example, if she prefers a temperature that is too high or too low, or if her preferred language is not available). In that case, she needs to be informed that her preferences can't be met and she should be offered alternatives.

      Privacy is also important in this use case. For example, the user doesn't want it to be generally known whether or not she's in the room. Security is important for preventing unauthorized access to the room or its services.

      The user sometimes also shares a hotel room with a colleague, in which case both occupants need to have access to the same capabilities.

      see https://lists.w3.org/Archives/Public/public-wot-ig/2015Apr/0027.html

      How does this translate to a technical Description

      This use case describes a dynamic configuration where different users are coming and going into the same space. It terms of control it is very similar to a smart home, but the difference is that the occupant of the room changes on a very frequent basis.

      Discovery is very important so that users' devices can be used to find the hotel room's services and their capabilities. It also points out the importance of:

      Interoperabiltiy across vendors

      Uniform user interface across hotels

      Communication of user preferences between users' device and hotel.

      What application domains are related (e.g. referring to the taxonomy)

      Smart buildings

      What interaction pattern with or btw things can be observed

      The hotel communicates with the room to allow/block access to control of a room as required when a guest checks in/checks out.

      The security camera communicates with the phone and/or the TV so that the camera image can be displayed.

      The user's mobile device communicates with the heating/AC to set preferred temperatures.

      The user's mobile device communicates with the TV to set preferred languages and channels.

      The user communicates to the alarm clock, TV, heating/AC and water to set alarm times, TV channels, and water temperature when she wants to change them.

      Which Aspects are not considered

      How access to the hotel services are authorized (e.g. passcode, biometrics, smart room key).

      How access is turned on/turned off for new and departing guests.

      Related Building Blocks
      • Multi-Stakeholder Operation: The user sometimes also shares a hotel room with a colleague, in which case both occupants need to have access to the same capabilities.
      Related Non-Functionals
      • Privacy: the user doesn't want it to be generally known whether or not she's in the room

      Domain: logistics

      Order Management System

      In companies like a large industry bakery you have storage facilities like silos to store production materials. In order to keep track of the amount of production material in the silos, level radar devices are used. The measurement data is collected by an order management system.

      As soon as the production material falls below a certain threshold, the system sends an order to a delivery company.

      Related Building Blocks
      • Resource Description: At some point in the system, the measurement value has to be enriched with some meta-information (e.g., timestamp, unit, id, ...).
      • Content-Negotiation: The bakery's order management has to interact with the order management system of the delivery company.
      • Object Memory: For perishable ingredients like milk or cheese, the due date can be estimated much more precisely if an object memory is kept for them. Also it can be a way to prove the origin and freshness of ingridients
      Related Non-Functionals
      • Layered L7 Communication: Given a commonality of interfacing protocols to heterogeneous ordering systems, layered communication enables a better reusability across several ordering systems. While the interaction primitives, transport protocol and representation might likely be the same for many systems, a difference in data structure demands a clear layering of the communication.

      Domain: manufacturing

      Shift of Function in Automation Systems

      In a factory, the automation function does not run on a large central system, but decision-making is increasingly decentralized, i.e., shifted "downwards" towards the machine or control panels on the shop flor. With the advent of the digitization, the demand for a flexible production in small batch sizes or the production of multi-variant mass products arises in many manufactoring industries. The production process can be adaptive if product memories specify the machining; appropriate paths along the production line can be discovered dynamically.

      In order to introduce such a new automation function, the function can first be run supervised inside the central system and then shifted downwards, e.g. installed on a field device.

      Related Building Blocks
      • Embedded Runtime: A seamless shift of functions requires an embedded runtime which allows the simple implementation, monitoring and debugging of applications.
      • Device Lifecycle Management: The appearance and disappearance of devices as well as the software management on the devices itself requires means to orchestrate the lifecycle of individual devices resp. components.
      • Resource Description: At some point in the system, the measurement value has to be enriched with some meta-information (e.g., timestamp, unit, id, ...).
      Related Non-Functionals
      • Layered L7 Communication: In heterogeneous systems, the seamless shift of functionality requires a clear and consistent layering of application protocols since the functionality is focused on the data structure and should be agnostic of the underlying application layer protocol layers.

      Service Platform for Automation Factories

      Manufacturing plants and process automation plants not only have to be monitored on-site but also from remote locations. That is for example to compare KPI (key performance indicators) of different manufacturing sites and optimization of the production processes and outputs based on the collected data, for diagnosis, remote service support or predictive maintenance.

      For such a system you need a platform that collects the data from field level devices, from control level and also from applications on MES level. Applications can connect to the platform to retrieve the data for further processing (e.g., optimization algorithms). The open platform enables the connection between data points provided from devices/applications of different companies to applications from different parties (e.g., a software that provides trouble shooting information combined with online status information of devices in an optical head-mounted display).

      Related Building Blocks
      • Resource Description: At some point in the system, the data has to be enriched with some meta-information (e.g. timestamp, unit, id).
      • Database: The platform needs a database to store the collected data.
      Related Non-Functionals
      • Interaction Mechanism: The platform has to provide interaction mechanisms to provide data to the applications.

      Optimal Maintenance in Connected Industries

      Continuous condition monitoring of machines and production systems allow for understanding the current operational performance of a production system. Furthermore, by observing the deterioration of machines or analyzing the causes of defects, typical event patterns and causally determined correlations in more complex systems can be learned and used to predict future maintenance demand. Precise predictions require a large amount of high quality monitoring data in order to achieve the promised aims of reducing the percentage of unplanned maintenance and downtime. Many defects can be diagnosed, and sometimes fixed, remotely if the maintenance service provider accesses historical and live machine data. Furthermore, previous maintenance and repair reports provide useful knowledge to find a solution quickly.

      An efficient maintenance strategy dispatches technicians according to the current maintenance demand, downtime probabilities, available resources, preferences of the machine operator, in conjunction with economic trade-offs. In particular, the dispatching for an optimal maintenance strategy needs to integrate the predicted maintenance demand with various other information sources like skills and experiences of available service technicians, information of installed machines and systems, availability of potentially useful tools and spare parts, time limits of forthcoming production orders, etc.

      Related Building Blocks
      • Resource Description: The collected data has to be enriched with meta-information. This allows for a flexible integration and interpretation of the data that is used to optimize the dispatching of service technicians. Not only machines, sensors and their data points, but also the data from and about installed systems in the factory, personal, control panels and systems, as well as interfaces to (MES, ERP) applications should be self-descriptive with a flexible schema open for future extensions.
      • Content-Negotiation: The different stakeholders have to interact and therefore need a common data format.
      • Database: The platform needs a scalable database to manage and process static as well as dynamic data.
      Related Non-Functionals
      • Interaction Mechanism: The platform has to provide interaction mechanisms to provide data to the applications.
      • Layered L7 Communication: In heterogeneous manufacturing systems integrating machines and sensors of different vendors, a layering of application protocols is required to abstract from specific data schema, interfaces and interaction patterns.
      • Trust: A trust model is especially important in complex service networks and ecosystems. Production, machine, and operational data are extremely valuable, but must be shared among business partners.

      Lifecycle Management for Industrial Automation Systems

      An industrial automation systems (IAS) needs to be managed throughout different phases of its lifecycle, e.g., development, engineering, operation, maintenance, optimization, and other phases. The lifecycle management is a challenging task due to various reasons. For instance, it is a task that involves various stakeholders (e.g., domain engineers, software engineers, system engineers, system installers etc.) and hence it is an error-prone task, it is often handled in a safety critical environment, it needs to be maintained over a longer timeframe (during which some of the stakeholders or parts of the system may not be available) and so forth.

      Let us consider a use case scenario which, throughout the lifecycle management of an IAS, considers following tasks: Development of a new automation function, service or an app based on available resources and domain knowledge; Support for resource discovery, optimal selection and choreography of resources; Parametrization of resources, functions, services and apps; Support for adaptive services running in a dynamic environment (i.e., physical resources appear and disappear); Monitoring and diagnosis of resources, functions, services and apps; Optimization of automation workflows involving different resources and different lifecycle phases.

      From these activities, as found in a typical lifecycle management of an IAS, one can derive following requirements:

      Related Building Blocks
      • Resource Description: When a new application, service or a function needs to be developed, parametrized, maintained or optimized, it is required to get understanding about physical resources involved in such a task. In this case, resources (sensors, actuators, controllers etc.) can be described or self-described in a uniform way, i.e., they expose their properties, functionalities and roles in a uniform way although they may be implemented with different technologies. It would be desired that Resource Description relies on common vocabularies (e.g., tagging conventions, taxonomies, ontologies).
      • Content-Negotiation: Different stakeholders have to interact between themselves. Also, each of them needs to interact with different resources. To support exchange of data between different parties a common data exchange format is needed.
      • Resource Choreography: A language that enables resources to be choreographed, parametrized, wired and invoked. The language also features a communication protocol which enables collaboration during these tasks (e.g., checks constraints when resources are combined).
      • Ensemble Discovery: Resources need be discoverable based on their Resource Description (e.g., properties, functionalities and roles). The discovery also needs to be enabled in a dynamic environment where physical resources appear and disappear during lifecycle phases.
      • Device Lifecycle Management: Different stakeholders interact with different resources throughout different lifecycle phases, e.g., same resources may be used transparently in the development phase as well as in the operation phase.
      • Multi-Stakeholder Operation: Lifecycle management of Industrial Automation Systems involves multi-stakeholders (e.g., domain engineers, software engineers, system engineers, system installers etc.).
      Related Non-Functionals
      • Layered L7 Communication: In heterogeneous systems, where several vendors use different flavors of the same data exchange in terms of data representation or transport protocols, integration requires a clear and consistent layering of application protocols.

      Domain: smart grids

      Virtual Power Plants

      A Virtual Power Plant (VPP) is an aggregation of Distributed Energy Resources (DERs), that can act as an entity on energy markets or as an ancillary service to grid operation.

      The individual DERs often have a primary use on their own, with electric generation/consumption being a side-effect resp. secondary use. This results in negotiations/collaborations between many different parties e.g. such as the DER owner, the VPP operator, the grid operator and others.

      Related Building Blocks
      • Multi-Stakeholder Operation: Multiple involved parties have to find a common mode of operation
      • Device Lifecycle Management: Since the VPP is a dynamic system of loosely coupled DERs, the appearance and disappearance of DERs as well as the software management on the devices itself requires means to orchestrate the lifecycle of individual devices resp. components.
      • Embedded Runtime: Especially for DERs in remote locations, maintaining a close couple control loop can be expensive if feasible at all. Therefore, it is desirable to be able to offload control logic to the DER itself.
      • Ensemble Discovery: In order to dynamically find matching DERs needed for the operational goal of a VPP, a registry with different options of DER discovery is needed.
      • Content-Negotiation: The different stakeholders have to interact and therefore need a common data format.
      • Resource Description: The DER has to describe itself to enable discovery of single DERs and ensembles, also the operational data needs to be understood by the different stakeholders without engineering effort.
      • Push Services: As there is a fan-out with many devices that probably have a rate-limited connection connecting to one single command central, a bidirectional communication mechanism is needed rather tzhan polling for the reverse direction
      • Object Memory: As multiple and interchangable stakeholdes are involved in the application, a backlog of the object is beneficial for scrollkeeping
      Related Non-Functionals
      • Privacy: As fine-grained metering informtion provides sensitve data about a household, the system should show a high digree of privacy
      • Trust: Since the data exchange between the virtual power plant and the distibuted energy resource leads to a physical action that invokves high currents and monetary flows, the integrity of both parties and the exchanges data is crucial
      • Layered L7 Communication: Since multiple different links are used for monitoring and control, integration requires a clear and consistent seperation of information from the used serialization and application protocols to enable the exchange of homogenous information over heterogenous application layer protocols

      Domain: transportation

      E-Mobility

      Te process of charging an e-car diverts greatly from a simple pumping of gas. It involves several players apart from the obvious car, chargespot and car owner, such as electricity providers and clearing houses

      An e-car and the chargespot negotiate different parameters affecting the charging process, such as voltages, currents, time it takes to charge etc., but also information like how the electricity will be payed for, how much was already transferred etc.

      Related Building Blocks
      • Device Lifecycle Management: Managing EVs and Fleets such as buses, cars etc. requires the ability to handle dynamic systems.
      • Content-Negotiation: A standardized data format is needed when different transport/electricity providers and different devices are involved.
      • Push Services: Both components may want to be notified of certain events in the charging system, without having to listen to a continuous event stream from it. This allows a more lightweight implementation.
      • Object Memory: ...
      Related Non-Functionals
      • Trust: Since a financial transaction is directly involved, it is important that both sides can enter a trust relationship.
      • Integrity: To avoid man-in-the middle attacks and fraud by alteration, the integrity of all exchanges messages must be confirmable
      • Layered L7 Communication: Since the same data contents are transferred over several communication links (such as vehicle to charger, charger to driver's smartphone, charger to grid/backend, vehicle to fleet operation, etc.), it is neccessary that the communication of the information/contets can be transferred independent of the different transports or serialization formats used

      Domain: other

      Device, Network, and Application Management

      A device, its network environment, and the applications installed on the device, need to be managed. The relevant resources are typically represented in a hierarchical fashion (as modelled in the YANG schema language) and exchanged as collections or as subsets of a larger collection. Some of the resources can be so large that they seriously stress the runtime environment of the device (e.g., for firmware updates). Some of the subresources may appear and disappear dynamically (e.g., network prefixes). Retrieval and update of the resources may refer to non-contiguous subsets of a hierarchy (PATCH, non-contiguous GET). Traditional URI-paths may be too expensive for repeated transfer in requests.

      Related Building Blocks
      • Resource Description: The management information may need to be reflected in the self-description of the resource.
      • Push Services: Updates may need to be pushed, as well as special event-type information (YANG notifications).
      • Content-Negotiation: The exchange format needs to be both compact and easy to handle in various sub-collections.
      • Ensemble Discovery: Management applications may need to find all devices that have a certain set of properties.
      • Multi-Stakeholder Operation: Management of devices, the network, and applications may all be performed by different entities and the applicationes these set up.
      Related Non-Functionals
      • Privacy: Management information is sometimes relevant to privacy considerations. As importantly, management information needs to be confidentiality protected.
      • Integrity: (This requirement, as phrased, should be called non-repudiation.) Management information usually needs integrity protection, in particular for software updates.
      • Trust: To enable a management application to manage specific device, a security association needs to be set up as part of the provisioning process.

      Domain: smart cities

      Community-based Flood Monitoring

      Flood warning systems are often based on blanket reports from local authorities and environment agencies, which are based on, limited resources and a small number of expensive, professional sensors.

      If John wants to determine if his property will be affected by water, it needs access to flooding information at a street level and understand how connected water streams might effect the water level near his property. Such process requires higher resolution data on the streams, groundwater and complex basins riddling cities and villages.

      John is part of a community-based initiative where members provide access to water level data by radio connected low cost sensors in their properties. It is very important for John to understand the quality of the information it has access too in order to make better decisions about what flood defences to use.

      Privacy is also am important factor as sensors could be deployed in areas of low-density population and John does not want that other people can infer what kind of flood damages his property might have ensued.

      see https://lists.w3.org/Archives/Public/public-wot-ig/2015Apr/0031.html

      How does this translate to a technical description?

      Device installation: Members of the community need to install water-level monitoring sensors on their property;

      Data transmission: Data from the sensors need to be reliably transmitted to cloud services;

      Data transformation: Data streams need to be manipulated and transformed in real time;

      Decision Making: Resulting data streams should be used for decision making (e.g. through visualisation tools or other applications);

      Network Monitoring: Data quality indicators should be used for monitoring the sensor network.

      What application domains are related (e.g. referring to the taxonomy)?

      main: smart cities / other utilities / monitoring water levels for flood warnings

      What interaction pattern with or btw things can be observed?

      Resource Description: In the system, the data has to be enriched with some meta-information (e.g. timestamp, location, data quality indicators, provenance, etc.).

      Thing registration: sensors and gateways are registered with services in the cloud.

      Data subscription: agents subscribe to data streams generated by devices in the sensor network or other external data sources.

      Data transformation: agents transform incoming data streams and generate outgoing data streams.

      Quality Assessment: Information quality indicators associated with things are used by the technical team to monitor the operation of the sensor network

      Automated Decision Making: Automated decisions can be made based on the current status of things e.g. activate flood defences.

      Which aspects are not considered?

      Lifecycle of devices, services and applications

      Discovery of devices and related data sources

      Related Building Blocks
      • Content-Negotiation: Data from the sensors need to be reliably transmitted to cloud services
      • Resource Description: In the system, the data has to be enriched with some meta-information (e.g. timestamp, location, data quality indicators, provenance, etc.)
      • Push Services: Warn user if property will be affected by water
      Related Non-Functionals
      • Privacy: Privacy is also am important factor as sensors could be deployed in areas of low-density population and John does not want that other people can infer what kind of flood damages his property might have ensued.
      • Synchronicity, soft real-time: Data streams need to be manipulated and transformed in real time

      Domain: healthcare and medical

      Remote health monitoring system

      John is retired and lives alone in his own apartment. He has bad legs and there is a constant risk that he falls. If that happens he is not able to rise from the floor without help. In addition, John suffers from heart arrhythmias and diabetes.

      Due to John's condition he needs remote monitoring by his healthcare provider. He therefore wears a wristband capable of continuously monitoring his heart rate and detect irregular heart rhythms as well as detecting a fall situation. A future version of the wristband will also be capable of non-invasive monitoring of his blood glucose level. The wristband communicates wirelessly with John's healthcare provider. This remote monitoring system could be seen as a complement to a normal home alarm system for elderly people with which old persons manually could call an emergency service. The differences are that the wristband system detects severe conditions automatically, which is needed if the old person is confused or gets unconscious, and also has the possibility to measure medical parameters such as heart rate and heart rhythm.

      see https://lists.w3.org/Archives/Public/public-wot-ig/2015Mar/0057.html

      How does this translate to a technical Description

      When the system is in operation everything works automatic without any user interface. The remote monitoring application runs in a cloud server and can communicate with the wristband. A local router, situated for example in a Smartphone, may be needed to translate between a local communication method such as Bluetooth Low Energy and the mobile network or wifi, but at application level end-to-end security and communication through firewalls are achieved. The communication must be reliable and the power consumption in the wristband low to achieve long battery life.

      User interaction is only required at system installation. The user, or another trusted person, e.g. a relative, health care personnel or personal assistant, has to use a web browser to log in to the remote monitoring application and the user has to approve that the application has access to his/her wristband using an existing authorize system, e.g. OAuth.

      To provide service discovery for applications the wristband, during the system installation, is registered in a discovery service that contains a service description for the wristband. This service description states for example manufacturer, owner and the APIs to access the resources of the wristband.

      What application domains are related (e.g. referring to the taxonomy)

      main: Smart lifecare / Healthcare and medical / Remote patient monitoring and care

      What interaction pattern with or btw things can be observed

      Registration and authorization: Registration of IoT device to make it discoverable and accessible by applications. Registration and authorization of applications to access resources on IoT devices.

      User interface: User interface only for registration and authorization. Operation is "user interface less".

      Security: End-to-end security cloud service - IoT device

      Accessibiliy considerations

      Low vision, blindness, deafness and hearing loss does not provide any limitation for users during operation of the system as the system is UI-less. However, the system installation process requires operation of a normal web browser, which may require assistance for people with physical or mental limitations.

      Which aspects are not considered

      Life cycle of devices, services and applications

      Dealing with faults

      Replacing devices

      Taking devices out of operation

      Related Building Blocks
      Related Non-Functionals
      • Privacy: The user, or another trusted person, e.g. a relative, health care personnel or personal assistant, has to use a web browser to log in to the remote monitoring application and the user has to approve that the application has access to his/her wristband using an existing authorize system, e.g. OAuth.

      Remote Electrocardiogram (ECG)

      Ebele is a nurse in a large medical district covering many villages. Today she is visiting Imani who has been complaining of weakness and chest pains. Ebele uses her mobile phone to consult the doctor who is a clinic in a town eighty miles away. The doctor asks her to perform an ECG on Imani. She attaches the electrodes to Imani's chest and plugs them into the remote ECG monitor. This streams the data in real time over the mobile network to the clinic where the doctor is based. The doctor examines the ECG and spots signs of arrythmia, and directs Ebele to put Imani on a course of Tambocor.

      How does this translate to a technical Description?

      The remote ECG monitor has a multichannel signal processing board that combines the readings from the electrodes to generate a clean analog output. This is fed to the ADC in a microcontroller, which streams the digitised samples over the mobile network to a server in the clinic. The data is then forwarded to the doctor's terminal for analysis.

      What application domains are related (e.g. referring to the taxonomy)

      main: Smart lifecare / Healthcare and medical / Remote patient monitoring and care

      What is technically significant about this use case?

      This use case involves a means to model streams as a complex data type for the description language for "things". In this particular use case, the stream consists of 24 bit values at a sampling rate of 300 per second.

      Building blocks

      Resource Description

      In loosely coupled systems, applications may encounter resources they have no prior knowledge about. Resource Description is a facility that allows resources to be described or describe themselves, so that applications can use those descriptions to learn about certain properties and/or capabilities of a resource. Resource descriptions on the highest abstraction level needs to provide two main facilities: identification of resources through some referencing mechanism, and description of resources through some data model.

      Motivated by 10 Use Cases:
      Covered by 1 Technologies:

      Push Services

      The default interaction in most Web-based scenarios are pull interactions, where applications request information form servers. This pattern supports scalability very well, because servers do not need to keep track of clients. However, in some scenarios it may be advantageous for this interaction pattern to be reversed, with servers (i.e., the managing entities of resources) initiating an interaction for certain resource-based events. These push interactions require servers to keep track of clients (often referred to as "subscribers"), but on the other hand minimizes interactions when resource events are infrequent but should be noticed by clients as soon as possible.

      Motivated by 7 Use Cases:
      Covered by 2 Technologies:

      Content-Negotiation

      For many interactions, it is necessary that peers agree on a shared data exchange format. There are various ways in which such a format can be defined, and in which agreement can be reached, but the general goal for all of these cases is that peers can reach agreement on which data exchange to use, and what it means to use this format. Depending on the type of data to be exchanged, different data exchange formats have different advantages and disadvantages, but generally speaking, the most important factor is that there is agreement on the representation of the data to be exchanged, and how to parse that into a model that is usable and useful for the application's goals.

      Motivated by 8 Use Cases:
      Covered by 2 Technologies:

      Device Lifecycle Management

      For some systems, its of crucial importance to be able to manage a dynamic, amorphous collective (ensemble) of components/devices that dynamically appear and disappear, resp. are on- and offline.

      This implies also a form of adding new components that does not involve high engineering effort.

      Motivated by 5 Use Cases:
      Covered by 0 Technologies:

        Ensemble Discovery

        The ability to discover single devices resp. components with certain capabilities or attributes or an ensemble of these is a pivotal point for applications that target an group that bis dynamically gathered.

        Motivated by 4 Use Cases:
        Covered by 0 Technologies:

          Multi-Stakeholder Operation

          In the WoT, there are cases of operation resp. automation that involve more than one single system owner, but rather are based on a collaboration between different stakeholder that influence or are influenced by the system/application.

          Motivated by 5 Use Cases:
          Covered by 0 Technologies:

            Embedded Runtime

            A sandboxed runtime with a standardized API/service based abstraction layer to enable the execution of applications on things. Architecturally comparable to nowadays browsers, app runtimes and containers like J2EE, but specifically targeted at constrained devices.

            Motivated by 2 Use Cases:
            Covered by 0 Technologies:

              Resource Choreography

              A language that enables resources to be choreographed, parametrized, wired and invoked. The language also features a communication protocol which enables collaboration during these tasks (e.g., checks constraints when resources are combined).

              Motivated by 1 Use Cases:
              Covered by 0 Technologies:

                Object Memory

                keeping a history / digital twin of a physical object that serves as a proxy or avatar

                Motivated by 3 Use Cases:
                Covered by 0 Technologies:

                  Database

                  ...

                  Motivated by 2 Use Cases:
                  Covered by 0 Technologies:

                    Non-Functional Requirements

                    Synchronicity, soft real-time

                    Whenever a user interacts with a WoT system or also in many M2M cases a crucial acceptance factor is the time between the input and the reaction

                    Motivated by 1 Use Cases:
                    Covered by 0 Technologies:

                      Privacy

                      A data surce resp. the owner of this data needs to be able to decide who is allowed to see what data and methods are needed to define and enforce this in a secure yet pragmatic way

                      Motivated by 8 Use Cases:
                      Covered by 0 Technologies:

                        Integrity

                        In some Wot appications, the integrity and dependability of data needs to be provable. Ensuring that the data was not altered and is genuine is a common requirement of all systems operating in public networks

                        Motivated by 2 Use Cases:
                        Covered by 0 Technologies:

                          Trust

                          The mutual trust into the respective peer's identity is of high importance especially in systems and applications interacting with physical entites

                          Motivated by 6 Use Cases:
                          Covered by 0 Technologies:

                            Interaction Mechanism

                            ...

                            Motivated by 2 Use Cases:
                            Covered by 0 Technologies:

                              Layered L7 Communication

                              when services interact with a plethora of clients, a distinction of diffenrent layers of information exchange is a well-known way to ensure interoperability.

                              this means a layering of the OSI application layer 7:

                              a transport (HTTP, CoAP, XMPP, MQTT...) will enable basic exchange and negiotin of formatted data

                              independent of a tranport, several interaction primitives (Request-response,Pub-sub, Message...) are possible

                              the transferred data is to be seperated into the representation (JSON, XML, EXI...) that is used to serialize a data structure (Schema, DTD ...)

                              This enables the communication of a resource to be implementation-independent

                              Motivated by 6 Use Cases:
                              Covered by 1 Technologies:

                              Technologies

                              Resource Description Framework (RDF) (Link)

                              RDF is a standard model for data interchange on the Web. RDF has features that facilitate data merging even if the underlying schemas differ, and it specifically supports the evolution of schemas over time without requiring all the data consumers to be changed. RDF extends the linking structure of the Web to use URIs to name the relationship between things as well as the two ends of the link (this is usually referred to as a “triple”). Using this simple model, it allows structured and semi-structured data to be mixed, exposed, and shared across different applications. This linking structure forms a directed, labeled graph, where the edges represent the named link between two resources, represented by the graph nodes. This graph view is the easiest possible mental model for RDF and is often used in easy-to-understand visual explanations.

                              Related Building Blocks
                              • Resource Description: RDF's origins (as highlighted by its name) are in the field of providing metadata (i.e., descriptions) of Web resources. This is facilitated by using URIs as identifiers, and by using attribute/value pairs that make statements about those URI-identified resources. RDF descriptions can be of arbitrary complexity by joining triples to form a graph, and they can use and combine various vocabularies so that the graph contains information according to the concepts defined in those vocabularies.
                              Related Non-Functionals

                                PubSubHubbub (PuSH) (Link)

                                Related Building Blocks
                                Related Non-Functionals

                                  Extensible Messaging and Presence Protocol (XMPP) (Link)

                                  The Extensible Messaging and Presence Protocol (XMPP) is an application profile of the Extensible Markup Language (XML) that enables the near-real-time exchange of structured yet extensible data between any two or more network entities. This document defines XMPP's core protocol methods: setup and teardown of XML streams, channel encryption, authentication, error handling, and communication primitives for messaging, network availability ("presence"), and request-response interactions.

                                  Related Building Blocks
                                  • Push Services: being based on a bidirectional link, XMPP offers a standardized publish/subscribe scheme
                                  • Content-Negotiation: The protocol and payloads are described as XML Schemas, enabling other serializations (such as xmpp-ftw in JSON)
                                  Related Non-Functionals
                                  • Layered L7 Communication: The protocol consists of a link layer that can be TCP/TLS, BOSH or WebSocket, and an XML-based protocol on top of it

                                  Efficient XML Interchange (EXI) (Link)

                                  EXI is a very compact representation for the Extensible Markup Language (XML) Information Set that is intended to simultaneously optimize performance and the utilization of computational resources. The EXI format uses a hybrid approach drawn from the information and formal language theories, plus practical techniques verified by measurements, for entropy encoding XML information. Using a relatively simple algorithm, which is amenable to fast and compact implementation, and a small set of datatype representations, it reliably produces efficient encodings of XML event streams.

                                  Related Building Blocks
                                  Related Non-Functionals