Commit 54f05333 authored by ankraft's avatar ankraft

- In Introduction: added link to SDT components description

- Fixed figure (simplified ModuleClasses)
- Moved section "Events" before "Arg"
- Corrected title for Constraint
- "Arg" to TOC
parent b361678c
......@@ -81,3 +81,9 @@ NOT directly part of this work is a related but separate aspect of every gateway
Programmers developing a "device abstraction layer" for software in a gateway need to create run-time representations of all the recognized devices, their operations and their actual states. This internal "information model" needs to be updated in real time as the devices and the users interact. Programmers may be tempted to use the SDT structure to organize their real-time information model, adding additional information elements for the current state of each device, for some kind of "history" of commands sent/acknowledged, the user etc.
The above is an efficient approach BUT it must be clear that the real-time state information and history of events, etc, can NOT be represented in a pre-defined SDT and in the XML giving specific details for a device.
---
Click [here](SDT_Components.md) for detailed documentation about SDT.
......@@ -5,6 +5,7 @@
[Property](#Property)
[Module and ModuleClass](#ModuleClass)
   [Action](#Action)
      [Arg](#Arg)
   [DataPoint](#DataPoint)
   [Event](#Event)
[Data Types](#Data_Types)
......@@ -304,26 +305,6 @@ The following are two examples for actions implementing a getter and a setter fo
</Args>
</Action>
---
<a name="Arg"/></a>
### Arg : Element of *Action*
![](images/Arg.png)
The *Arg* element represents the parameter information which a device needs to carry out a required *Action*.
The *Arg* has the following attributes and elements:
#### Attributes
- **name** : The name of the *Arg* attribute. Required.
#### Elements
- **[Doc](#Documentation)** : Documentation for the *argument*. Optional.
- **[DataType](#DataType)** : The return type of the *argument*. It must comply to the *DataType* definition. Required.
#### Example
See [example above](#ActionExample).
---
<a name="Event"/></a>
......@@ -356,6 +337,27 @@ See [example above](#ActionExample).
---
<a name="Arg"/></a>
### Arg : Element of *Action*
![](images/Arg.png)
The *Arg* element represents the parameter information which a device needs to carry out a required *Action*.
The *Arg* has the following attributes and elements:
#### Attributes
- **name** : The name of the *Arg* attribute. Required.
#### Elements
- **[Doc](#Documentation)** : Documentation for the *argument*. Optional.
- **[DataType](#DataType)** : The return type of the *argument*. It must comply to the *DataType* definition. Required.
#### Example
See [example above](#ActionExample).
---
<a name="Data_Types"/></a>
### DataType
The data type can be simple integers or string text, or rather complex, as shown below:
......@@ -383,7 +385,7 @@ The *DataType* element is a "container" for the various aspects of a type.
---
<a name="Constraint"/></a>
### Constraint
### Constraint : Element of DataType
![](images/Constraint.png)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment