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

From Eclipsepedia

< IoT
Jump to: navigation, search
(New page: {{:DocumentationGuidelines/DraftHeader}} = Functional requirements = * The M2M application meta-model MUST allow the description of the different parts an M2M application is made of. **...)
 
Line 1: Line 1:
 
{{:DocumentationGuidelines/DraftHeader}}
 
{{:DocumentationGuidelines/DraftHeader}}
  
 +
= 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
  
 
= Functional requirements =
 
= Functional requirements =
  
 
* The M2M application meta-model MUST allow the description of the different parts an M2M application is made of.
 
* 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 device management capabilities provided by an M2M application.
 
** 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 data that can be exchanged between a device and a server.
** It MUST allow to declare the components that an application provides.
+
** It MUST allow the description of the different components an M2M application is made of.
** It MUST allow to declare the components that an application requires.
+
** It SHOULD allow to indicate the binary files the application is made of.
+
* The M2M application meta-model
+
  
 
== Device Management ==
 
== 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 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.
 +
 +
== Data Management ==
  
== Data ==
 
 
 
* The M2M application meta-model SHOULD allow to structure data elements hierarchically.
 
* 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 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 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 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 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.
  
== Binary packages ==
+
== 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 =
 
= Non-functional requirements =
  
* It SHOULD be possible to split an M2M model instance into several pieces to ease maintenance, re-use...
+
* 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.

Revision as of 10:02, 21 February 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.


Contents

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

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 device management capabilities provided by an M2M application.
    • 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 different components an M2M application is made of.

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.

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.

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.