• Aucun résultat trouvé

Defining the model of People, Places, Things and Applications 68

Dans le document User Empowerment in the Internet of Things (Page 69-76)

Chapter 4. Framework for Empowerment in the Internet of Things

4.6 Designing the Framework

4.6.1 Defining the model of People, Places, Things and Applications 68

Applications within our framework, we introduce a minimal set of primitives as

“verbs” for interaction in the framework. We define two categories of verbs:

verbs for communication with virtual instances on IoT service platform (i.e.

proxies) and verbs for interaction between instances of <People, Places, Things, Applications>.This grouping helps define communication rules of physical entities with IoT service platform as well as rules for interactions between virtual instances. We do not take into account network protocols that should allow physical entities to communicate with IoT service platforms. We assume that the IoT infrastructure will allow the hard link connection between real world entities and their virtual counterparts. This means that we assume that the actions of physical Things are forwarded to their virtual counterparts and vice versa. For example, let us consider an Internet enabled device with remote control abilities.

When the state of the device changes, the device sends a notification to its online instance and when its online instance changes its state, it notifies the physical device to change the state. Communication verbs for IoT service platforms have already been suggested by recent research on the Web of Things [41]. However, this proposal is based on HTTP verbs that are limited to network protocols and web architecture as defined by R. Fielding and R. Taylor [37]. We choose to define a higher abstraction of communication verbs that are better adapted to our framework and therefore help capture and express the richness of the IoT empowerment framework. In addition, communication verbs that are independent from underlying network protocols allow more flexibility and independence for further evolution of IoT service platforms.

Verbs for the communication of physical entities with IoT service platforms are defined as follows:

READ (Virtual Things, People, Virtual Places) for retrieving digital information. Any instance of classes People, Things, and Application can use this communication verb.

SEND (Virtual Things, People, Virtual Places)for submitting digital information to IoT service platform. Any instance of classes People, Things, and Application can use this verb in order to send digital information.

REGISTER (Virtual Friends, Things, Virtual Things, Applications, Virtual Places) for registering instances of Virtual Friends, Things, Virtual Things, and Applications in Virtual Places. Only the instances of subclasses of People can use this verb.

UNREGISTER (Virtual Friends, Things, Virtual Things, Applications, Virtual Places)for unregistering instances of Virtual Friends, Things,

Virtual Things, and Applications in Virtual Places. Only the instances of subclasses of People can use this verb.

Verbs for interaction between virtual entities on IoT service platform are defined as follows:

NOTIFY (People, Virtual Things, Applications) for interaction between instances of People, Virtual Thing, and Applications in a collection of Virtual Places. It assumes a hard link between Things and their proxies.

UPDATE (People, Virtual Things) for updating digital information. Any instance of classes People, Things, and Application can use this verb in order to update its own status. In addition, an instance of Application or a Place Master can use it in order to update the state of Virtual Thing.

DELETE (People, Virtual Things, Virtual Places, Applications) for deleting digital information. Only the instances of subclasses of People can use this verb in order to delete digital information within their Virtual Places.

3. Interactions of <People, Things, Applications> within Virtual Places These three categories of use cases match our objective to empower users to create, personalize, and control their IoT ecosystem. Creating Virtual Places is a prerequisite for personalization of virtual contexts and deployment of IoT services. Personalization of Virtual Places consists in registering Things, Applications and online social relationships. Thus, personalized services can be provided by Applications within user-defined virtual contexts. Use cases for interactions in Virtual Places define the extent of user control over <People, Things and Applications> within his or her personalized virtual context.

A general precondition for all use cases is that the actors are registered on IoT service platform.

Creation of Virtual Places

These use cases show how to use general framework in order to empower users to prepare virtual contexts. By defining Virtual Places, users create virtual contexts for further interactions between online social networks and Things.

Use Case ID: [1]

Use Case Name:

Create Virtual Place

Actors: Place Masters

Trigger: Place Master PM creates Virtual Place

Post conditions: Virtual Place VP is registered on IoT service platform Normal Flow: REGISTER (VP, name, description, location)

Assumptions: Physical Place that corresponds to the location of VP exists

Use Case ID: [2]

Use Case Name:

Create Hybrid Virtual Place

Actors: Place Masters

Trigger: Place Master PM creates Virtual Place

Post conditions: Hybrid Virtual Place HVP is registered on IoT service platform Normal Flow: REGISTER (HVP, name, description)

Personalization of Virtual Places, Shared Virtual Places, and Hybrid Virtual Places

These use cases show how to use general framework in order to empower users to personalize virtual contexts. By registering People, Virtual Things and Applications, users personalize context for interactions between these entities.

In particular, they personalize the stream of data generated by online social networks and Things used by Applications in order to provide services.

Consequently, it empowers users to personalize input for socially aware IoT services.

Use Case ID: [3]

Use Case Name:

Registering <People, Things, Applications>

Actors: Place Masters, Virtual Friends, Virtual Things, Applications, and Virtual Places

Trigger: Place Master PM registers Virtual Friend VF, Virtual Thing VT, and Application A in Virtual Place VP

Preconditions: VP is registered by PM

Post conditions: VF, VT, and A are registered in VP Normal Flow: REGISTER (VP, VF, VT, A)

Trigger: Place Master PM unregisters Virtual Friend VF, Virtual Thing VT, and Application A from Virtual Place VP

Preconditions: VP is registered by PM

Post conditions: VF, VT, and A are unregistered from VP Normal Flow: UNREGISTER (VP, VF, VT, A)

Use Case ID: [5]

Use Case Name:

Read or update or delete digital information in a Virtual Place

Actors: Place Master PM, Virtual Friends VF1-n, Virtual Things VT1-n, Applications A1-n, and Virtual Place VP

Trigger: Place Master PM reads, updates or deletes the digital information associated to virtual identities of Virtual Friend VF, Virtual Thing VT or Application A from Virtual Place VP Preconditions: VP is registered by PM

Post conditions: Content is presented to PM or updated or deleted on IoT

Can be used without content parameter by PM in order to get description of virtual identities

Use Case ID: [6]

Use Case Name:

Virtual Friend Registering <Things, Applications>

Actors: Place Masters, Virtual Friends, Virtual Things, Applications, and Virtual Places

Trigger: Virtual Friend VF registers Virtual Thing VT and Application A in Virtual Place VP

Preconditions: VF is registered in VP by PM Post conditions: VT and A are registered in VP

Normal Flow: REGISTER (VP, VT, A)

Virtual Friend reads digital information from Virtual Place

Actors: Virtual Friend VF, Place Master PM, Virtual Friends VF1-n, Virtual Things VT1-n, Applications A1-n, and Virtual Place VP Trigger: Virtual Friend VF reads Virtual Place VP

Preconditions: VF is registered in VP by PM

VF1-n, VT1-n and A1-n are registered in VP

Post conditions: Digital identities (description) and associated digital information are presented to VF

Normal Flow: READ (VP, PM, VF1-n, T1-n, A1-n)

Notes and Issues: Any Virtual Friend VF registered by a Place Master PM in Virtual Place VP can read all instances in that Virtual Place

Use Case ID: [8]

Use Case Name:

Virtual Friend updates or deletes digital information from Virtual Place

Actors: Virtual Friend VF, Virtual Things VT1-n, Applications A1-n, and Virtual Place VP

Trigger: Virtual Friend VF updates or deletes digital information from Virtual Place VP

Preconditions: VF is registered in VP by PM

VT1-n and A1-n are registered in VP by VF

Post conditions: Digital identities (description) or associated digital information are updated or deleted

Normal Flow: UPDATE (VP, VT1-n, A1-n) DELETE (VP, VT1-n, A1-n)

Interactions in Virtual Places, and Hybrid Virtual Places

These use cases show how to use general framework in order to empower users to control interactions within virtual contexts. We focus on interactions that allow People to communicate and on interactions that allow Things and Applications to provide IoT services. As a result, users are empowered to control these interactions, benefit from socially aware and context aware services provided by Applications.

Use Case ID: [9]

Use Case Name:

Place Master sends digital information to instances in Virtual Place

Actors: Place Master PM, Virtual Friends VF1-n, Virtual Things VT1-n, Applications A1-n, and Virtual Place VP

Trigger: Place Master PM sends digital information to instances in Virtual Place VP (e.g. sends a message)

Preconditions: VP is registered by PM

VF1-n, VT1-n and A1-n are registered in VP by PM Post conditions: Digital information log is recorded on IoT service platform

Normal Flow: SEND (VP, VF1-n, VT1-n, A1-n)

Includes: If an Application receives digital information, the use case

“Application provides service [13]” is included

Assumptions: Sending digital information to VF1-n or VT1-n assumes that these proxies will transmit it to their physical counterparts (e.g. verb SEND can be used by proxies)

Use Case ID: [10]

Use Case Name:

Virtual Friend sends digital information to instances in Virtual Place

Actors: Place Master PM, Virtual Friends VF1-n, Virtual Things VT1-n, Applications A1-n, and Virtual Place VP

Trigger: Virtual Friend VF sends digital information to instances in Virtual Place VP (e.g. sends a message)

Preconditions: VP is registered by PM VF is registered in VP by PM

VF1-n, VT1-n and A1-n are registered in VP by PM Post conditions: Digital information log is recorded on IoT service platform

Normal Flow: SEND (VP, VF1-n, VT1-n, A1-n)

Includes: If an Application receives digital information, the use case

“Application provides service [13]” is included

Assumptions: Sending digital information to VF1-n or VT1-n assumes that these proxies will transmit it to their physical counterparts (e.g. verb SEND is used by proxies)

Use Case ID: [11]

Use Case Name:

Thing sends digital information to Virtual Place

Actors: Thing T, Virtual Thing VT, Virtual Place VP, Applications A1-n

Trigger: Thing T sends digital information to Virtual Place VP Preconditions: VT is registered in VP

Applications A1-n are registered in VP

Post conditions: Digital information log is recorded on IoT service platform Normal Flow: Thing T: SEND (VP, VT)

Virtual Thing VT: NOTIFY (VP, A1-n)

Includes: If an Application receives digital information, the use case

“Application provides service [13]” is included

The use case 11 shows an example of communication between Things and IoT service platform. First, Thing T sends digital information to Virtual Thing VT (i.e.

its proxy). Second, its proxy notifies Applications registered in the same Virtual Place. Finally, Applications can provide a service by communicating with People and Things through their proxies.

Use Case ID: [12]

Use Case Name:

Application reads Virtual Place

Actors: Place Master PM, Application A, and Virtual Place VP Trigger: Application A requests contextual information from VP Preconditions: VP is registered by PM

Application A is registered in VP by PM VF1-n, VT1-n and A1-n are registered in VP by PM

Post conditions: Virtual identities and associated digital information are presented to Application A

Normal Flow: READ (VP, PM, VF1-n, VT1-n, A1-n)

Use Case ID: [13]

Use Case Name:

Application provides service

Actors: Place Master PM, Application A, and Virtual Place VP, Virtual Friends VF1-n, Virtual Things VT1-n

Trigger: Application A sends digital information to instances in Virtual Place VP

Preconditions: VP is registered by PM

Application A is registered in VP by PM VF1-n and VT1-n are registered in VP by PM Post conditions: Notification log is recorded on IoT service platform

Normal Flow: READ (VP, PM, VF1-n, VT1-n)

Application provides IoT services, for example use information about ambient temperature and take corresponding actions for energy saving. A Thing (e.g.

sensor) with the measure of ambient temperature would notify this Application. It could “read” the Virtual Place and determine the context (e.g. if a person is at home) and take corresponding action (i.e. provide service). This action could be sending instructions to other Things (e.g. actuators) to adjust home appliances.

The framework that defines behavior of <People, Places, Things and Applications> is independent from underlying technologies. It is intended to be used as a reference framework when implementing user centered IoT service platforms. The next section aims at presenting this framework through an illustration.

Dans le document User Empowerment in the Internet of Things (Page 69-76)