Skip to main content
Jump to: navigation, search

Difference between revisions of "IoT/M2MIWG/M2M meta-model"

< IoT
m
Line 5: Line 5:
 
* ACL: Access Control List. List of permissions attached to an object, specifying which entity of a system is granted access to it.
 
* ACL: Access Control List. List of permissions attached to an object, specifying which entity of a system is granted access to it.
 
* Software package: A binary file containing software and metadata that can be sent to an M2M device to update one of its software components
 
* Software package: A binary file containing software and metadata that can be sent to an M2M device to update one of its software components
 +
 +
= General purpose of an M2M application meta-model =
 +
  
 
= Functional requirements =
 
= Functional requirements =
Line 43: Line 46:
 
* It SHOULD be possible to provide graphical visualization of an M2M model instance.
 
* It SHOULD be possible to provide graphical visualization of an M2M model instance.
 
* It SHOULD be possible to split an M2M model instance into several pieces to ease maintenance and reuse.
 
* It SHOULD be possible to split an M2M model instance into several pieces to ease maintenance and reuse.
 +
 +
 +
= Work in Progress =
 +
 +
== 'Things' model ==
 +
 +
The model of what Things a system is made of, what are the data hold/manipulated by these Things, and what kind of actions can be performed on these things is currently being defined.
 +
 +
=== Main model ===
 +
 +
[[Image:Things_diagram.png]]
 +
 +
=== Type system ===
 +
 +
[[Image:Things_types_diagram.png]]

Revision as of 08:24, 6 March 2012

Warning2.png
Draft Content
This page is currently under construction. Community members are encouraged to maintain the page, and make sure the information is accurate.


Terminology

  • ACL: Access Control List. List of permissions attached to an object, specifying which entity of a system is granted access to it.
  • Software package: A binary file containing software and metadata that can be sent to an M2M device to update one of its software components

General purpose of an M2M application meta-model

Functional requirements

  • The M2M application meta-model MUST allow the description of the different parts an M2M application is made of.
    • It MUST allow the description of the data that can be exchanged between a device and a server.
    • It MUST allow the description of the device management capabilities provided by an M2M application.
    • It MUST allow the description of the different components an M2M application is made of.

Data Management

  • The M2M application meta-model SHOULD allow to structure data elements hierarchically.
  • The M2M application meta-model MUST allow to associate a type to data elements.
  • The M2M application meta-model MUST support the following primitive types: string, integer, double, date, boolean, byte array.
  • The M2M application meta-model SHOULD allow to define constraints for the data, such as: range, max length, ...
  • The M2M application meta-model SHOULD allow to indicate the protocol to use when exchanging a given data element.
  • The M2M application meta-model SHOULD allow to associate configuration parameters to protocols
  • The M2M application meta-model SHOULD allow to associate an history policy (keep all, keep last, keep on change...) to a data element.
  • The M2M application meta-model SHOULD allow to associate ACLs to data elements.
  • The M2M application meta-model SHOULD allow to specify commands that can be sent by a server to a device.
  • The M2M application meta-model SHOULD allow to specify events that can be sent by a device to a server.

Device Management

  • The M2M application meta-model MUST allow the description of the Device Management operations supported by a given system.
  • The M2M application meta-model SHOULD allow to indicate the binary files the application is made of.

Application Lifecyle Management

  • The M2M application meta-model SHOULD allow to specify which application container is managing an application
  • The M2M application meta-model SHOULD allow to specify dependencies towards capabilities of the underlying device the application is to be deployed on.
  • The M2M application meta-model SHOULD allow to validate a software package


Non-functional requirements

  • It MUST be possible to edit an M2M model instance using a standard text editor.
  • It SHOULD be possible to provide graphical visualization of an M2M model instance.
  • It SHOULD be possible to split an M2M model instance into several pieces to ease maintenance and reuse.


Work in Progress

'Things' model

The model of what Things a system is made of, what are the data hold/manipulated by these Things, and what kind of actions can be performed on these things is currently being defined.

Main model

Things diagram.png

Type system

Things types diagram.png

Back to the top