+ All Categories
Home > Documents > Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070...

Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070...

Date post: 21-Jan-2016
Category:
Upload: briana-morton
View: 218 times
Download: 0 times
Share this document with a friend
10
Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations
Transcript
Page 1: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

Discussion how to model Operations

Joerg Swetina (NEC)

[NEC Group Internal Use Only]

ARC-2015-2070

ARC-2015-2070-Discussion_on_modelling_operations

Page 2: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

2 © NEC Corporation 2015 NEC Group Internal Use Only

What is an Operation?

▌An application entity (AE) produces / consumes data that are read/written by other entities in the oneM2M systemThe physical device behind the AE may be a (RESTful) oneM2M applicationOrA device – with possibly non-RESTful RPC style communication - from an external

system (e.g. Area Network) that is interworked via an Interworking Proxy Entity (IPE)

▌An AE uses child-containers of its <AE> resource for data exchangeThe Operation and its input/output data need to be such resources

▌An Operation is a set of1.Input data to the AE2.State information from the AE3.Output data from the AE

▌An operation ‘lives’ (a) while preparing input data, (b) while processing the data, (c) while output data are generated▌An operation is ‘finished’ when (d) no more output data are produced

Page 3: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

3 © NEC Corporation 2015 NEC Group Internal Use Only

CSE

oneM2Mentity

Mca(c)<AE>

<container>

attribute

attribute

<container>

<container>

CRUDN

<container>•For data (e.g. state-information)•For commands•For input/output parameters

Communicating with oneM2M Devices

<AE> of device

AE

Device

Hardware

Page 4: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

4 © NEC Corporation 2015 NEC Group Internal Use Only

Some observations on an operation

▌An operation has an operation-type, that distinguishes it from other types of operationsE.g. for a device that provides temperature and pressure the operation type for

reading temperature is different from operation type for reading pressure

▌All input parameter values of an operation need to be provided to the AE as a groupThis implies that an AE can retrieve a all input data values (or references to

them) in a single CRUD operation

▌All output parameters of an operation are provided by the AE as a groupThis implies that a oneM2M entity can retrieve a all output data values (or

references to them) in a single CRUD operation

In both cases data values may be created (by the AE or M2M entity) before the CRUD operation groups them as in/output

Data for in/output may be used in other operations too

▌Input and output may consist of 0, 1 or multiple values

Page 5: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

5 © NEC Corporation 2015 NEC Group Internal Use Only

AreaNetwork

AreaNetwork

nativeDevice

Middle Node

MN-CSE

MN-AE

Mca

IPE

<AE>

<container>

attribute

attribute

<container>

<container>

CRUDN

Operations of a (native) Device in an Area Network:all Message-Exchange Patterns (MEPs) may be possible :•In-Only•[Robust In-Only, In-Optional-Out]•In-Out•Out-Only •[Robust Out-Only Out-Optional-In]•Out-In

<container>•For data (e.g. state-information)•For commands•For input/output parameters

Interworking with non-oneM2M Devices(example for a Middle Node)

<AE> of proxied

device

IPE proxies native Device into proxied

Device

Page 6: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

6 © NEC Corporation 2015 NEC Group Internal Use Only

Why do we need to model an operation?

Disclaimer: In oneM2M in general there is no need to specify how an operation is modelled. This is up to the manufacturer of the device.

▌However, in the case of interworking with external systems, when oneM2M specifies the (oneM2M part of the) IPE, we need also to specify how to model operations.

▌Apart from interworking it is also desirable to provide a blueprint for modelling operations that can be used by developers.

Page 7: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

7 © NEC Corporation 2015 NEC Group Internal Use Only

Proposal for modelling an operation

<AE>

<container>

<container>

<container>

<container>

<container>

<container>

<container>

<co

nte

ntI

nst

ance

>

<co

nte

ntI

nst

ance

>

<co

nte

ntI

nst

ance

>

Input-variable 1

Input-variable n

Output-variable a

Output-variable z

…Operation

<container> Operation-state

<co

nte

ntI

nst

ance

>

<co

nte

ntI

nst

ance

>

<co

nte

ntI

nst

ance

>

<container> Input-variable 1 value pointer<container> Output-variable z value pointer

<co

nte

ntI

nst

ance

>

<co

nte

ntI

nst

ance

><

conte

ntI

nst

ance

>

<co

nte

ntI

nst

ance

>

<co

nte

ntI

nst

ance

>

… values of Input-variable 1

… values of Output-variable z

… values of Operation-state

Page 8: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

8 © NEC Corporation 2015 NEC Group Internal Use Only

Timeline of the operation

“Input” and “Output” variables as well as “Operation” are child resources of the <AE> resource.1.The oneM2M entity creates input-values as new contentInstances of the “Input” variable containers2.The oneM2M entity UPDATEs the “Operation” container by

a. Creating a child-conainer of “Operation”: „Input-variable 1 value pointer“ whose contentInstance is a pointer to the newly created contentInstance for Input-variable 1 ... And similarly for all other input variables

b. Creating a child-conainer of “Operation”: „Output-variable z value pointer“ whose contentInstance is a pointer to Output-variable z [but not yet to a specific contentInstance of Output-variable z] ... And similarly for all other output variables

c. Creating a child-container “Operation-state” of “Operation” whose contentInstance contains a value „Operation_initiated“

3.The AE has subscribed to changes of the “Operation” child-resource and gets notified of the UPDATE4.The AE retrieves the contentInstance of the “Input” variables that are referenced by the „Input-variable 1 value pointer“... And similar for other input variables

5.The AE creates a new contentInstance for “Operation-state” with a value „Operation_Input_received“

Page 9: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

9 © NEC Corporation 2015 NEC Group Internal Use Only

Timeline of the operation (continued)

6. The AE starts executing its service logic and creates a new contentInstance for “Operation-state” with a value „Operation_Executing“

a. After starting execution the AE may provide additional, service logic specific contentInstances for “Operation-state”.=> this might probably be better done in a separate state variable

7. The AE creates output values as new contentinstances of child-conainer of “Operation”: „Output-variable z value pointer“... And similar for other Output variables

8. The AE creates a new contentInstance for “Operation-state” with a value „Operation_Output_created_at_[time]“

Steps 7 and 8 and optionally 6a may be repeated The output values that were created can be correlated to the corresponding

“Operation-state” through their timestamps

9. When the operation is finished and no new sets of output values need to be created the AE creates a new contentInstance for “Operation-state” with a value „Operation_Ended_at_[time]“

Page 10: Discussion how to model Operations Joerg Swetina (NEC) [NEC Group Internal Use Only] ARC-2015-2070 ARC-2015-2070-Discussion_on_modelling_operations.

Recommended