Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "IoT/M2MIWG/M2M meta-model"
< IoT
(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 | + | ** It MUST allow the description of the different components an M2M application is made of. |
− | + | ||
− | + | ||
− | + | ||
== 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 == | ||
− | |||
− | |||
* 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. | ||
− | == | + | == 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 | + | * 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
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.