Commits (15)
......@@ -38,7 +38,7 @@ The following code section shows the fully integrated template. The source code
<DataPoint name="status" readable="true" writable="true">
<Doc>This property indicates the ON/OFF status.</Doc>
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</DataPoint>
</Data>
......@@ -81,7 +81,7 @@ Based on the simplified example above, the two appliances will need the [ModuleC
<DataPoint name="operationStatus" writable="true">
<Doc>This property sets/reads the ON/OFF status.</Doc>
<DataType>
<SimpleType type="boolean"/>
<Simple type="boolean"/>
</DataType>
</DataPoint>
</Data>
......@@ -97,7 +97,7 @@ Based on the simplified example above, the two appliances will need the [ModuleC
<DataPoint name="measuredCumulativePowerConsumption" writable="false">
<Doc>This indicates cumulative power consumption of the device in increments of 0.001kWh.</Doc>
<DataType>
<SimpleType type="integer"/>
<Simple type="integer"/>
</DataType>
</DataPoint>
</Data>
......@@ -108,7 +108,7 @@ Based on the simplified example above, the two appliances will need the [ModuleC
<DataPoint name="installationLocation" writable="true">
<Doc>This property indicates the installation location</Doc>
<DataType>
<SimpleType type="string"/>
<Simple type="string"/>
</DataType>
</DataPoint>
</Data>
......@@ -122,7 +122,7 @@ Based on the simplified example above, the two appliances will need the [ModuleC
<DataPoint name="measuredTemperatureValue" readable="true" writable="false">
<Doc>This property indicates the measured temperature value in units of 0.1C.</Doc>
<DataType unitOfMeasure="celsius">
<SimpleType type="integer" />
<Simple type="integer" />
</DataType>
</DataPoint>
</Data>
......@@ -145,10 +145,10 @@ At the beginning of the definition some device Properties are defined.
<Properties>
<Property name="Name" value="washing machine">
<SimpleType type="string" />
<Simple type="string" />
</Property>
<Property name="Vendor" value="ACME">
<SimpleType type="string" />
<Simple type="string" />
</Property>
</Properties>
......@@ -191,25 +191,25 @@ At the beginning of the definition some device Properties are defined.
<DataPoint name="door_CoverOpen_CloseStatus" readable="true" writable="false">
<Doc>This property indicates whether the door/cover is open or closed.</Doc>
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</DataPoint>
<DataPoint name="washingMachineSetting" readable="true" writable="true">
<Doc>Washing machine setting</Doc>
<DataType>
<SimpleType type="string" />
<Simple type="string" />
</DataType>
</DataPoint>
<DataPoint name="currentStageOfWashingCycle" readable="true" writable="false">
<Doc>This property indicates the current stage of the washing cycle.</Doc>
<DataType>
<SimpleType type="string" />
<Simple type="string" />
</DataType>
</DataPoint>
<DataPoint name="timeRemainingToCompleteWashingCycle" readable="true" writable="false">
<Doc>This property indicates the time remaining to complete the current washing cycle in the HH:MM:SS format.</Doc>
<DataType>
<SimpleType type="time" />
<Simple type="time" />
</DataType>
</DataPoint>
......@@ -221,19 +221,19 @@ At the beginning of the definition some device Properties are defined.
<DataPoint name="onTimerReservationSetting" readable="true" writable="true">
<Doc>Reservation ON/OFF</Doc>
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</DataPoint>
<DataPoint name="onTimerSetting" readable="true" writable="true">
<Doc>Timer value (HH:MM)</Doc>
<DataType>
<SimpleType type="time" />
<Simple type="time" />
</DataType>
</DataPoint>
<DataPoint name="relativeTimeBasedOnTimerSetting" readable="true" writable="true">
<Doc>Timer value (HH:MM)</Doc>
<DataType>
<SimpleType type="time" />
<Simple type="time" />
</DataType>
</DataPoint>
</Data>
......@@ -275,7 +275,7 @@ The following code section shows the fully integrated template.
<DataPoint name="operationStatus" readable="true" writable="true">
<Doc>This property indicates the ON/OFF status.</Doc>
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</DataPoint>
</Data>
......@@ -288,7 +288,7 @@ The following code section shows the fully integrated template.
<DataPoint name="installationLocation" readable="true" writable="true">
<Doc>This property indicates the installation location</Doc>
<DataType>
<SimpleType type="string" />
<Simple type="string" />
</DataType>
</DataPoint>
</Data>
......@@ -306,7 +306,7 @@ The following code section shows the fully integrated template.
<DataPoint name="measuredInstantaneousPowerConsumption" readable="true" writable="false">
<Doc>This property indicates the instantaneous power consumption of the device in watts.</Doc>
<DataType unitOfMeasure="watts">
<SimpleType type="integer" />
<Simple type="integer" />
</DataType>
</DataPoint>
</Data>
......@@ -317,7 +317,7 @@ The following code section shows the fully integrated template.
<DataPoint name="measuredTemperatureValue" readable="true" writable="false">
<Doc>This property indicates the measured temperature value in units of 0.1C.</Doc>
<DataType unitOfMeasure="celsius">
<SimpleType type="integer" />
<Simple type="integer" />
</DataType>
</DataPoint>
</Data>
......@@ -334,10 +334,10 @@ The following code section shows the fully integrated template.
<Properties>
<Property name="Name" value="washing machine">
<SimpleType type="string" />
<Simple type="string" />
</Property>
<Property name="Vendor" value="ACME">
<SimpleType type="string" />
<Simple type="string" />
</Property>
</Properties>
......@@ -382,25 +382,25 @@ The following code section shows the fully integrated template.
<DataPoint name="door_CoverOpen_CloseStatus" readable="true" writable="false">
<Doc>This property indicates whether the door/cover is open or closed.</Doc>
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</DataPoint>
<DataPoint name="washingMachineSetting" readable="true" writable="true">
<Doc>Washing machine setting</Doc>
<DataType>
<SimpleType type="string" />
<Simple type="string" />
</DataType>
</DataPoint>
<DataPoint name="currentStageOfWashingCycle" readable="true" writable="false">
<Doc>This property indicates the current stage of the washing cycle.</Doc>
<DataType>
<SimpleType type="string" />
<Simple type="string" />
</DataType>
</DataPoint>
<DataPoint name="timeRemainingToCompleteWashingCycle" readable="true" writable="false">
<Doc>This property indicates the time remaining to complete the current washing cycle in the HH:MM:SS format.</Doc>
<DataType>
<SimpleType type="time" />
<Simple type="time" />
</DataType>
</DataPoint>
......@@ -412,19 +412,19 @@ The following code section shows the fully integrated template.
<DataPoint name="onTimerReservationSetting" readable="true" writable="true">
<Doc>Reservation ON/OFF</Doc>
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</DataPoint>
<DataPoint name="onTimerSetting" readable="true" writable="true">
<Doc>Timer value (HH:MM)</Doc>
<DataType>
<SimpleType type="time" />
<Simple type="time" />
</DataType>
</DataPoint>
<DataPoint name="relativeTimeBasedOnTimerSetting" readable="true" writable="true">
<Doc>Timer value (HH:MM)</Doc>
<DataType>
<SimpleType type="time" />
<Simple type="time" />
</DataType>
</DataPoint>
</Data>
......
......@@ -17,10 +17,10 @@
1. [DataType](#DataType)
1. [Constraint](#Constraint)
2. [TypeChoice](#TypeChoice)
2. [SimpleType](#SimpleType)
3. [StructType](#StructType)
4. [ArrayType](#ArrayType)
5. [EnumType](#EnumType)
2. [Simple](#Simple)
3. [Struct](#Struct)
4. [Array](#Array)
5. [Enum](#Enum)
1. [ExtendExclude](#ExtendExclude)
3. [Extending (Inheriting)](#Extending)
1. [Extend](#Extend)
......@@ -69,6 +69,7 @@ It can also be used to collect all specified [ModuleClasses](#ModuleClasses), [D
- **Imports** : XML import/include of other XML files / SDT templates. Optional.
Note, that when using **Imports** one must include the following namespace in the Domain-Element definition, as shown in the example below: ```xmlns:xi="http://www.w3.org/2001/XInclude"```
- **[DataTypes](#DataType)** : A list of *DataTypes* that are global to the whole domain. They can be referenced from other definitions by the [Extend](#Extend) element. Optional.
- **[SubDevices](#SubDevice)** : a List of *SubDevice* components. They can be referenced from other SubDevice definitions by the [Extend](#Extend) element. Optional.
- **[ModuleClasses](#ModuleClass)** : A list of those *ModuleClass* components that are global to the whole domain. Optional.
- **[DeviceClasses](#DeviceClass)** : a List of *DeviceClass* components. Optional.
- **[ProductClasses](#ProductClass)** : a List of *ProductClass* components. Optional.
......@@ -116,7 +117,6 @@ Typical *ModuleClasses* might be equivalent to "power ON/OFF", "Open/Close", "Pa
#### Attributes
- **name** : Name of the *ModuleClass*. The name must be unique in the scope of the [Domain](#Domain). Required.
- **optional**: Boolean that indicates whether a *ModuleClass* is optional or mandatory. Optional, the default is *false*.
- **semanticURI** : An attribute that contains a URI to a semantic description of the element. Optional.
- **minOccurs** : An optional string attribute that indicates the minimum cardinality of a *ModuleClass*, for example, in a [DeviceClass](#DeviceClass) definition. Optional. The default is "1".
Note, if only the *minOccurs* attribute is specified, it can't be greater than 1, because the default value for *maxOccurs* is 1.
......@@ -194,7 +194,7 @@ string = (* character string excluding the character "/" *) ;
<DataPoint name="attributeName" writable="false">
<Doc>Some documentation for the DataPoint</Doc>
<DataType>
<SimpleType type="string" />
<Simple type="string" />
</DataType
</DataPoint>
</Data>
......@@ -237,7 +237,7 @@ The following are two examples for actions implementing a getter and a setter fo
<Arg name="value">
<Doc>The desired value of the associated state.</Doc>
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</Arg>
</Args>
......@@ -295,7 +295,7 @@ Element of [ModuleClass](#ModuleClass).
<Data>
<DataPoint name="state">
<DataType>
<SimpleType type="boolean" />
<Simple type="boolean" />
</DataType>
</DataPoint>
</Data>
......@@ -422,13 +422,13 @@ All elements of [DeviceClass](#DeviceClass) can be reused in *ProductClass*, but
<Doc>This is a new product</Doc>
<Properties>
<Property name="name" value="product-abc">
<SimpleType type="string"></SimpleType>
<Simple type="string"></Simple>
</Property>
<Property name="vendor" value="xyz"/>
<SimpleType type="string"></SimpleType>
<Simple type="string"></Simple>
</Property>
<Property name="SerialNumber"/>
<SimpleType type="string"></SimpleType>
<Simple type="string"></Simple>
</Property>
</Properties>
<ModuleClasses>
......@@ -467,12 +467,12 @@ Since the *Properties* are highly varied, depending on industry segment, no atte
#### Elements
- **[Doc](#Documentation)** : Documentation for the *Property*. Optional.
- **DataType** : The data type of the property. This must be a [SimpleType](#SimpleType).
- **DataType** : The data type of the property. This must be a [Simple](#Simple) type.
#### Example
```xml
<Property name="ManufacturedDate" value="2015.10.30 10:06">
<SimpleType type="datetime" />
<Simple type="datetime" />
</Property>
```
......@@ -494,24 +494,24 @@ The various elements of *DataType* are described in the following sections.
<a name="DataType"/></a>
### DataType
Element of a [Domain](#Domain), [Property](#Property), [Action](#Action), [Arg](#Arg), [DataPoint](#DataPoint), [Event](#Event), [StructType](#StructType), and [ArrayType](#ArrayType).
Element of a [Domain](#Domain), [Property](#Property), [Action](#Action), [Arg](#Arg), [DataPoint](#DataPoint), [Event](#Event), [Struct](#Struct), and [Array](#Array).
![](images/DataType.png)
The *DataType* element is a "container" for the various aspects of a type.
#### Attributes
- **name** : The name of the *DataType*. Optional, with the exception that the name must be set for fields in a [Struct](#Struct) to distinguish individual fields in that structure.
- **name** : The name of the *DataType*. Optional, with the exception that the name must be set for fields in a [Struct](#Struct) to distinguish individual fields in that structure.
- **unitOfMeasure** : Before considering the type of data in detail, there is the option to label the data with the units of measurement. A "Temperature" measurement is meaningless until the units Kelvin, Celcius, Fahrenheit etc are known. Because of the extreme variety of units, a string field is the default annotation method, although of course a SDO could decide to reference a standardized list of units. Optional.
- **semanticURI** : An attribute that contains a URI to a semantic description of the element. Optional.
#### Elements
- **[Doc](#Documentation)** : Documentation for the *DataType* Element. Optional.
- **TypeChoice** : This element is actual an element from the following list of data types:
- **[SimpleType](#SimpleType)**
- **[Struct](#StructType)**
- **[Array](#ArrayType)**
- **[EnumType](#EnumType)**
- **[Simple](#Simple)**
- **[Struct](#Struct)**
- **[Array](#Array)**
- **[Enum](#Enum)**
- **[Constraint](#Constraint)** : A list of *Constraint* elements. Optional.
---
......@@ -544,13 +544,13 @@ The *TypeChoice* construct is required for syntactic reasons in the UML diagram
---
<a name="SimpleType"/></a>
### SimpleType
<a name="Simple"/></a>
### Simple
Element of [DataType](#DataType).
![](images/SimpleType.png)
The *SimpleType* element is required in order for software to understand the format of the associated data, e.g. are the bytes an integer or real value? The selection choosen by HGI is based on practical experience to include some specific types which are slightly more complex:
The *Simple* element is required in order for software to understand the format of the associated data, e.g. are the bytes an integer or real value? The selection choosen by HGI is based on practical experience to include some specific types which are slightly more complex:
1. the (technically redundant) options of *date* and *time* - to avoid problems which can arise interpreting a *datetime* value;
2. *url* because it is expected to become extremely common to provide links to other data sources;
......@@ -577,19 +577,19 @@ If not stated otherwise datatypes should comply to the equivalent datatypes defi
```xml
<DataPoint name="simpleDataPoint">
<DataType>
<SimpleType type="string" />
<Simple type="string" />
</DataType>
</DataPoint>
```
---
<a name="StructType"/></a>
### StructType
<a name="Struct"/></a>
### Struct
Element of [DataType](#DataType).
![](images/Struct.png)
The *StructType* element can be used to represent an ordered list of diverse DataTypes, which are represented by the *name* attribute of each [DataType](#DataType), and can be used recursively.
The *Struct* element can be used to represent an ordered list of diverse DataTypes, which are represented by the *name* attribute of each [DataType](#DataType), and can be used recursively.
#### Elements
- **[DataType](#DataType)** : A list of *DataTypes* elements representing the elements of a structure.
......@@ -600,10 +600,10 @@ The *StructType* element can be used to represent an ordered list of diverse Dat
<DataType name="structured">
<Struct>
<DataType name="aString">
<SimpleType type="string" />
<Simple type="string" />
</DataType>
<DataType name="anInteger">
<SimpleType type="integer" />
<Simple type="integer" />
</DataType>
</Struct>
</DataType>
......@@ -612,13 +612,13 @@ The *StructType* element can be used to represent an ordered list of diverse Dat
---
<a name="ArrayType"/></a>
### ArrayType
<a name="Array"/></a>
### Array
Element of [DataType](#DataType).
![](images/Array.png)
The *ArrayType* element is provided for defining lists of data; the definition is recursive so that multi-dimensional arrays can be described. Note that a Constraint can be used to provide limits on Array size.
The *Array* element is provided for defining lists of data; the definition is recursive so that multi-dimensional arrays can be described. Note that a Constraint can be used to provide limits on Array size.
#### Elements
- **[DataType](#DataType)** : A single *DataType* element that specifies the data type for the elements of the array.
......@@ -630,7 +630,7 @@ The *ArrayType* element is provided for defining lists of data; the definition i
<DataType name="arrayOfInteger">
<Array>
<DataType>
<SimpleType type="integer" />
<Simple type="integer" />
</DataType>
</Array>
</DataType>
......@@ -638,18 +638,18 @@ The *ArrayType* element is provided for defining lists of data; the definition i
```
---
<a name="EnumType"/></a>
### EnumType
<a name="Enum"/></a>
### Enum
Element of [DataType](#DataType).
![](images/Enum.png)
The *EnumType* element is provided for defining an enumeration data type; it defines a (possibly mixed) typed set of [EnumValues](#EnumValue).
The *Enum* element is provided for defining an enumeration data type; it defines a (possibly mixed) typed set of [EnumValues](#EnumValue).
#### Elements
- **[EnumValue](#EnumValue)** : A list of *EnumValue" element that specifies the data type for the elements of the array.
<a name="EnumTypeExample"/></a>
<a name="EnumExample"/></a>
#### Example
```xml
<DataPoint name="enumDataPoint">
......@@ -667,23 +667,23 @@ The *EnumType* element is provided for defining an enumeration data type; it def
<a name="EnumValue"/></a>
### EnumValue
Element of [EnumType](#EnumType).
Element of [Enum](#Enum).
![](images/EnumValue.png)
The *EnumType* element is provided for defining an enumeration data type; it defines a (possibly mixed) typed set of [EnumValues](#EnumValue).
The *Enum* element is provided for defining an enumeration data type; it defines a (possibly mixed) typed set of [EnumValues](#EnumValue).
#### Attributes
- **name** : The name that identifies the *EnumValue*. Required.
- **value** : An assigned value for the *EnumValue*. Required.
- **type** : The *BasicType* of the *EnumValue*. An [EnumType](#EnumType) may have *EnumValues* of mixed type. Optional, the default is *integer*.
- **type** : The *BasicType* of the *EnumValue*. An [Enum](#Enum) may have *EnumValues* of mixed type. Optional, the default is *integer*.
- **semanticURI** : An attribute that contains a URI to a semantic description of the element. Optional.
#### Elements
- **[Doc](#Documentation)** : Documentation for the *EnumValue* Element. Optional.
#### Example
See [example in *EnumType*](#EnumTypeExample).
See [example in *Enum*](#EnumExample).
---
......
......@@ -10,9 +10,9 @@
3. [Imports](#imports)
4. [Data Types](#dataTypes)
1. [SimpleType](#SimpleType)
2. [ArrayType](#ArrayType)
3. [StructType](#StructType)
4. [EnumType](#EnumType)
2. [Array](#Array)
3. [Struct](#Struct)
4. [Enum](#Enum)
5. [Extending DataTypes](#extendingDatatypes)
......@@ -263,10 +263,10 @@ A simple data type with additional attributes:
}
```
<a name="ArrayType"/></a>
### ArrayType
<a name="Array"/></a>
### Array
An [ArrayType](SDT_Components.md#ArrayType) definition is mapped to an *Array* JSON structure. The content of the structure is only one element that defines the type of the array. This could be any [SimpleType](#SimpleType), [ArrayType](#ArrayType), [StructType](#StructType), or [EnumType](#EnumType).
An [Array](SDT_Components.md#Array) definition is mapped to an *Array* JSON structure. The content of the structure is only one element that defines the type of the array. This could be any [SimpleType](#SimpleType), [Array](#Array), [Struct](#Struct), or [Enum](#Enum).
#### Example
......@@ -292,12 +292,12 @@ A simple data type with additional attributes:
}
```
<a name="StructType"/></a>
### StructType
<a name="Struct"/></a>
### Struct
A [StructType](SDT_Components.md#StructType) definition is mapped to a *Struct* JSON array. The content of the array are the individual data types for the structure. These could be any [SimpleType](#SimpleType), [ArrayType](#ArrayType), [StructType](#StructType), or [EnumType](#EnumType).
A [Struct](SDT_Components.md#Struct) definition is mapped to a *Struct* JSON array. The content of the array are the individual data types for the structure. These could be any [SimpleType](#SimpleType), [Array](#Array), [Struct](#Struct), or [Enum](#Enum).
A *StructType* definition must contain a *name* attribute.
A *Struct* definition must contain a *name* attribute.
#### Example
......@@ -374,12 +374,12 @@ A more complex structured data type (a structure that contains an indentifier va
]
```
<a name="EnumType"/></a>
### EnumType
<a name="Enum"/></a>
### Enum
A [EnumType](SDT_Components.md#EnumType) definition is mapped to an *Enum* JSON structure. The content of the structure are the individual enum values of the enum.
A [Enum](SDT_Components.md#Enum) definition is mapped to an *Enum* JSON structure. The content of the structure are the individual enum values of the enum.
A *EnumType* definition must contain a *name* attribute.
A *Enum* definition must contain a *name* attribute.
#### Example
......@@ -414,7 +414,7 @@ Extending [DataTypes](SDT_Components.md#DataTypes) are mapped the same way as ex
#### Example
An [Enum](SDT_Components.md#EnumType) that defines three *EnumValues*. The first definition explicitly specifies the type of the *EnumValue*.
An [Enum](SDT_Components.md#Enum) that defines three *EnumValues*. The first definition explicitly specifies the type of the *EnumValue*.
**XML**:
......
......@@ -5,8 +5,8 @@
<element>
<id>UMLNote</id>
<coordinates>
<x>1136</x>
<y>1400</y>
<x>1112</x>
<y>1352</y>
<w>232</w>
<h>208</h>
</coordinates>
......@@ -36,8 +36,8 @@ group=1</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>1240</x>
<y>1480</y>
<x>1216</x>
<y>1432</y>
<w>88</w>
<h>32</h>
</coordinates>
......@@ -51,8 +51,8 @@ group=1</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>1240</x>
<y>1512</y>
<x>1216</x>
<y>1464</y>
<w>88</w>
<h>24</h>
</coordinates>
......@@ -64,8 +64,8 @@ group=1</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>1248</x>
<y>1032</y>
<x>1224</x>
<y>984</y>
<w>120</w>
<h>176</h>
</coordinates>
......@@ -88,8 +88,8 @@ void</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>752</x>
<y>1096</y>
<x>728</x>
<y>1048</y>
<w>112</w>
<h>64</h>
</coordinates>
......@@ -101,8 +101,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>752</x>
<y>1032</y>
<x>728</x>
<y>984</y>
<w>112</w>
<h>64</h>
</coordinates>
......@@ -114,8 +114,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>368</x>
<y>1032</y>
<x>344</x>
<y>984</y>
<w>152</w>
<h>120</h>
</coordinates>
......@@ -134,8 +134,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>512</x>
<y>992</y>
<x>488</x>
<y>944</y>
<w>544</w>
<h>96</h>
</coordinates>
......@@ -147,8 +147,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>512</x>
<y>992</y>
<x>488</x>
<y>944</y>
<w>544</w>
<h>144</h>
</coordinates>
......@@ -160,12 +160,12 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>848</x>
<y>1128</y>
<x>824</x>
<y>1080</y>
<w>152</w>
<h>40</h>
</coordinates>
<panel_attributes>SimpleType
<panel_attributes>Simple
--
*@ type : BasicType*
fg=blue</panel_attributes>
......@@ -174,8 +174,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>992</x>
<y>1152</y>
<x>968</x>
<y>1104</y>
<w>272</w>
<h>32</h>
</coordinates>
......@@ -187,8 +187,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>848</x>
<y>1224</y>
<x>824</x>
<y>1176</y>
<w>152</w>
<h>88</h>
</coordinates>
......@@ -205,8 +205,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>512</x>
<y>1112</y>
<x>488</x>
<y>1064</y>
<w>352</w>
<h>144</h>
</coordinates>
......@@ -218,8 +218,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>992</x>
<y>1200</y>
<x>968</x>
<y>1152</y>
<w>336</w>
<h>112</h>
</coordinates>
......@@ -231,12 +231,12 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>848</x>
<y>1032</y>
<x>824</x>
<y>984</y>
<w>152</w>
<h>40</h>
</coordinates>
<panel_attributes>StructType
<panel_attributes>Struct
--
- DataType : DataType
fg=blue</panel_attributes>
......@@ -245,12 +245,12 @@ fg=blue</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>848</x>
<y>1080</y>
<x>824</x>
<y>1032</y>
<w>152</w>
<h>40</h>
</coordinates>
<panel_attributes>ArrayType
<panel_attributes>Array
--
- DataType : DataType
fg=blue</panel_attributes>
......@@ -259,8 +259,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>752</x>
<y>1072</y>
<x>728</x>
<y>1024</y>
<w>112</w>
<h>40</h>
</coordinates>
......@@ -273,8 +273,8 @@ fontsize=12
<element>
<id>UMLClass</id>
<coordinates>
<x>368</x>
<y>920</y>
<x>344</x>
<y>872</y>
<w>1000</w>
<h>32</h>
</coordinates>
......@@ -288,8 +288,8 @@ lw=0.1</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>80</x>
<y>48</y>
<x>56</x>
<y>0</y>
<w>1288</w>
<h>32</h>
</coordinates>
......@@ -303,15 +303,14 @@ lw=0.1</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>648</x>
<y>152</y>
<x>624</x>
<y>104</y>
<w>192</w>
<h>168</h>
<h>152</h>
</coordinates>
<panel_attributes>ModuleClass
--
*@ name : Name*
/@ optional : boolean = false/
/@ semanticURI : uri/
/@ minOccurs : text = "1"/
/@ maxOccurs : text = "1"/
......@@ -328,8 +327,8 @@ fg=blue
<element>
<id>UMLClass</id>
<coordinates>
<x>928</x>
<y>152</y>
<x>904</x>
<y>104</y>
<w>176</w>
<h>104</h>
</coordinates>
......@@ -347,8 +346,8 @@ fg=blue</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>1200</x>
<y>224</y>
<x>1176</x>
<y>176</y>
<w>168</w>
<h>104</h>
</coordinates>
......@@ -366,8 +365,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>1096</x>
<y>224</y>
<x>1072</x>
<y>176</y>
<w>120</w>
<h>32</h>
</coordinates>
......@@ -379,10 +378,10 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>96</x>
<y>152</y>
<x>72</x>
<y>104</y>
<w>184</w>
<h>128</h>
<h>144</h>
</coordinates>
<panel_attributes>Domain
--
......@@ -391,6 +390,7 @@ fontsize=12</panel_attributes>
/- Doc : Doc/
/* Imports/
/* DataTypes : DataType/
/* SubDevices : SubDevice/
/* ModuleClasses : ModuleClass/
/* DeviceClasses : DeviceClass/
/* ProductClasses : ProductClass/
......@@ -400,8 +400,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>152</y>
<x>504</x>
<y>104</y>
<w>136</w>
<h>64</h>
</coordinates>
......@@ -413,10 +413,10 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>360</x>
<y>400</y>
<x>336</x>
<y>352</y>
<w>176</w>
<h>120</h>
<h>128</h>
</coordinates>
<panel_attributes>SubDevice
--
......@@ -425,6 +425,7 @@ fontsize=12</panel_attributes>
/@ minOccurs : text = "1"/
/@ maxOccurs : text = "1"/
/- Doc : Doc/
/- Extend : Extend/
/* Properties : Property/
/* ModuleClasses : ModuleClass/
fg=blue</panel_attributes>
......@@ -433,8 +434,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>248</y>
<x>504</x>
<y>200</y>
<w>56</w>
<h>72</h>
</coordinates>
......@@ -446,21 +447,21 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>328</y>
<x>504</x>
<y>264</y>
<w>136</w>
<h>128</h>
<h>144</h>
</coordinates>
<panel_attributes>lt=&lt;.
m1= 0..n
fontsize=12</panel_attributes>
<additional_attributes>150.0;10.0;80.0;10.0;80.0;140.0;10.0;140.0</additional_attributes>
<additional_attributes>150.0;10.0;80.0;10.0;80.0;160.0;10.0;160.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>1200</x>
<y>448</y>
<x>1176</x>
<y>400</y>
<w>168</w>
<h>40</h>
</coordinates>
......@@ -472,8 +473,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>832</x>
<y>152</y>
<x>808</x>
<y>104</y>
<w>112</w>
<h>56</h>
</coordinates>
......@@ -485,8 +486,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>1152</x>
<y>448</y>
<x>1128</x>
<y>400</y>
<w>64</w>
<h>32</h>
</coordinates>
......@@ -498,8 +499,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>832</x>
<y>200</y>
<x>808</x>
<y>152</y>
<w>112</w>
<h>96</h>
</coordinates>
......@@ -511,8 +512,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>928</x>
<y>264</y>
<x>904</x>
<y>216</y>
<w>176</w>
<h>144</h>
</coordinates>
......@@ -535,8 +536,8 @@ fg=blue
<element>
<id>UMLClass</id>
<coordinates>
<x>928</x>
<y>416</y>
<x>904</x>
<y>368</y>
<w>176</w>
<h>88</h>
</coordinates>
......@@ -553,8 +554,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>832</x>
<y>280</y>
<x>808</x>
<y>232</y>
<w>112</w>
<h>168</h>
</coordinates>
......@@ -566,8 +567,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>152</y>
<x>504</x>
<y>104</y>
<w>136</w>
<h>336</h>
</coordinates>
......@@ -579,8 +580,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>360</x>
<y>288</y>
<x>336</x>
<y>240</y>
<w>176</w>
<h>104</h>
</coordinates>
......@@ -598,8 +599,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>368</y>
<x>504</x>
<y>320</y>
<w>64</w>
<h>64</h>
</coordinates>
......@@ -611,8 +612,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>152</y>
<x>504</x>
<y>104</y>
<w>136</w>
<h>224</h>
</coordinates>
......@@ -623,19 +624,19 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>328</y>
<x>504</x>
<y>264</y>
<w>136</w>
<h>32</h>
<h>48</h>
</coordinates>
<panel_attributes>lt=&lt;.</panel_attributes>
<additional_attributes>150.0;10.0;80.0;10.0;80.0;20.0;10.0;20.0</additional_attributes>
<additional_attributes>150.0;10.0;80.0;10.0;80.0;40.0;10.0;40.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>648</x>
<y>328</y>
<x>624</x>
<y>264</y>
<w>192</w>
<h>104</h>
</coordinates>
......@@ -646,7 +647,7 @@ fontsize=12</panel_attributes>
/@ value : text/
/@ semanticURI : uri/
/- Doc : Doc/
- DataType : SimpleType
- DataType : Simple
fg=blue
transparency=80</panel_attributes>
<additional_attributes/>
......@@ -654,44 +655,44 @@ transparency=80</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>1096</x>
<y>256</y>
<x>1072</x>
<y>104</y>
<w>56</w>
<h>216</h>
<h>320</h>
</coordinates>
<panel_attributes>lt=&lt;.
r1=0..n
m1=0..n
fontsize=12</panel_attributes>
<additional_attributes>10.0;20.0;40.0;20.0;40.0;250.0;10.0;250.0</additional_attributes>
<additional_attributes>10.0;10.0;40.0;10.0;40.0;380.0;10.0;380.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>832</x>
<y>280</y>
<x>808</x>
<y>232</y>
<w>56</w>
<h>80</h>
<h>64</h>
</coordinates>
<panel_attributes>lt=&lt;.
m1=0..n
fontsize=12</panel_attributes>
<additional_attributes>10.0;70.0;40.0;70.0;40.0;10.0;10.0;10.0</additional_attributes>
<additional_attributes>10.0;50.0;40.0;50.0;40.0;10.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>UMLClass</id>
<coordinates>
<x>608</x>
<y>1040</y>
<x>584</x>
<y>992</y>
<w>152</w>
<h>88</h>
</coordinates>
<panel_attributes>&lt;&lt;enumeration&gt;&gt;
TypeChoice
--
SimpleType : SimpleType
Struct : StructType
Array : ArrayType
Enum : EnumType
Simple : Simple
Struct : Struct
Array : Array
Enum : Enum
</panel_attributes>
<additional_attributes/>
......@@ -699,8 +700,8 @@ Enum : EnumType
<element>
<id>Relation</id>
<coordinates>
<x>512</x>
<y>1048</y>
<x>488</x>
<y>1000</y>
<w>112</w>
<h>64</h>
</coordinates>
......@@ -712,20 +713,20 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>216</y>
<x>504</x>
<y>168</y>
<w>136</w>
<h>136</h>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;.
fontsize=12</panel_attributes>
<additional_attributes>150.0;150.0;80.0;150.0;80.0;10.0;10.0;10.0</additional_attributes>
<additional_attributes>150.0;130.0;80.0;130.0;80.0;10.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>272</x>
<y>120</y>
<x>248</x>
<y>72</y>
<w>392</w>
<h>88</h>
</coordinates>
......@@ -736,8 +737,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>528</x>
<y>232</y>
<x>504</x>
<y>184</y>
<w>64</w>
<h>192</h>
</coordinates>
......@@ -749,12 +750,12 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>848</x>
<y>1176</y>
<x>824</x>
<y>1128</y>
<w>152</w>
<h>40</h>
</coordinates>
<panel_attributes>EnumType
<panel_attributes>Enum
--
*- EnumValue : EnumValue*
fg=blue</panel_attributes>
......@@ -763,8 +764,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>752</x>
<y>1104</y>
<x>728</x>
<y>1056</y>
<w>112</w>
<h>104</h>
</coordinates>
......@@ -776,8 +777,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>1048</x>
<y>1192</y>
<x>1024</x>
<y>1144</y>
<w>168</w>
<h>88</h>
</coordinates>
......@@ -794,8 +795,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>992</x>
<y>1192</y>
<x>968</x>
<y>1144</y>
<w>72</w>
<h>32</h>
</coordinates>
......@@ -807,8 +808,8 @@ fontsize=12</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>1208</x>
<y>1200</y>
<x>1184</x>
<y>1152</y>
<w>88</w>
<h>64</h>
</coordinates>
......@@ -820,8 +821,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>416</x>
<y>672</y>
<x>392</x>
<y>624</y>
<w>176</w>
<h>64</h>
</coordinates>
......@@ -837,8 +838,8 @@ fg=blue
<element>
<id>UMLClass</id>
<coordinates>
<x>912</x>
<y>672</y>
<x>888</x>
<y>624</y>
<w>192</w>
<h>56</h>
</coordinates>
......@@ -852,8 +853,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>840</x>
<y>672</y>
<x>816</x>
<y>624</y>
<w>88</w>
<h>56</h>
</coordinates>
......@@ -866,8 +867,8 @@ fontsize=12
<element>
<id>Relation</id>
<coordinates>
<x>368</x>
<y>672</y>
<x>344</x>
<y>624</y>
<w>64</w>
<h>32</h>
</coordinates>
......@@ -879,8 +880,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>1192</x>
<y>672</y>
<x>1168</x>
<y>624</y>
<w>176</w>
<h>128</h>
</coordinates>
......@@ -900,8 +901,8 @@ subdevice
<element>
<id>Relation</id>
<coordinates>
<x>1096</x>
<y>672</y>
<x>1072</x>
<y>624</y>
<w>112</w>
<h>56</h>
</coordinates>
......@@ -913,8 +914,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>912</x>
<y>736</y>
<x>888</x>
<y>688</y>
<w>192</w>
<h>56</h>
</coordinates>
......@@ -928,8 +929,8 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>840</x>
<y>720</y>
<x>816</x>
<y>672</y>
<w>88</w>
<h>48</h>
</coordinates>
......@@ -942,8 +943,8 @@ fontsize=12
<element>
<id>Relation</id>
<coordinates>
<x>1096</x>
<y>672</y>
<x>1072</x>
<y>624</y>
<w>112</w>
<h>120</h>
</coordinates>
......@@ -955,8 +956,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>672</x>
<y>672</y>
<x>648</x>
<y>624</y>
<w>176</w>
<h>64</h>
</coordinates>
......@@ -973,8 +974,8 @@ Includes : Include
<element>
<id>Relation</id>
<coordinates>
<x>584</x>
<y>680</y>
<x>560</x>
<y>632</y>
<w>104</w>
<h>56</h>
</coordinates>
......@@ -987,8 +988,8 @@ fontsize=12
<element>
<id>UMLClass</id>
<coordinates>
<x>360</x>
<y>152</y>
<x>336</x>
<y>104</y>
<w>176</w>
<h>128</h>
</coordinates>
......@@ -1009,21 +1010,21 @@ fg=blue</panel_attributes>
<element>
<id>Relation</id>
<coordinates>
<x>272</x>
<y>264</y>
<x>248</x>
<y>200</y>
<w>104</w>
<h>56</h>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;.
m1=0..n
fontsize=12</panel_attributes>
<additional_attributes>110.0;40.0;60.0;40.0;60.0;10.0;10.0;10.0</additional_attributes>
<additional_attributes>110.0;60.0;60.0;60.0;60.0;10.0;10.0;10.0</additional_attributes>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>272</x>
<y>152</y>
<x>248</x>
<y>104</y>
<w>104</w>
<h>104</h>
</coordinates>
......@@ -1035,8 +1036,8 @@ fontsize=12</panel_attributes>
<element>
<id>UMLClass</id>
<coordinates>
<x>368</x>
<y>584</y>
<x>344</x>
<y>536</y>
<w>1000</w>
<h>32</h>
</coordinates>
......@@ -1047,4 +1048,17 @@ bg=gray
lw=0.1</panel_attributes>
<additional_attributes/>
</element>
<element>
<id>Relation</id>
<coordinates>
<x>248</x>
<y>216</y>
<w>104</w>
<h>168</h>
</coordinates>
<panel_attributes>lt=&lt;.
m1=0..n
fontsize=12</panel_attributes>
<additional_attributes>110.0;180.0;50.0;180.0;50.0;10.0;10.0;10.0</additional_attributes>
</element>
</diagram>
SDT/schema4.0/docs/images/Array.png

1.6 KB | W: | H:

SDT/schema4.0/docs/images/Array.png

1.56 KB | W: | H:

SDT/schema4.0/docs/images/Array.png
SDT/schema4.0/docs/images/Array.png
SDT/schema4.0/docs/images/Array.png
SDT/schema4.0/docs/images/Array.png
  • 2-up
  • Swipe
  • Onion skin
SDT/schema4.0/docs/images/Domain.png

7.25 KB | W: | H:

SDT/schema4.0/docs/images/Domain.png

7.93 KB | W: | H:

SDT/schema4.0/docs/images/Domain.png
SDT/schema4.0/docs/images/Domain.png
SDT/schema4.0/docs/images/Domain.png
SDT/schema4.0/docs/images/Domain.png
  • 2-up
  • Swipe
  • Onion skin
SDT/schema4.0/docs/images/Enum.png

2.08 KB | W: | H:

SDT/schema4.0/docs/images/Enum.png

1.69 KB | W: | H:

SDT/schema4.0/docs/images/Enum.png
SDT/schema4.0/docs/images/Enum.png
SDT/schema4.0/docs/images/Enum.png
SDT/schema4.0/docs/images/Enum.png
  • 2-up
  • Swipe
  • Onion skin
SDT/schema4.0/docs/images/Property.png

6.78 KB | W: | H:

SDT/schema4.0/docs/images/Property.png

6.73 KB | W: | H:

SDT/schema4.0/docs/images/Property.png
SDT/schema4.0/docs/images/Property.png
SDT/schema4.0/docs/images/Property.png
SDT/schema4.0/docs/images/Property.png
  • 2-up
  • Swipe
  • Onion skin
SDT/schema4.0/docs/images/Struct.png

1.76 KB | W: | H:

SDT/schema4.0/docs/images/Struct.png

1.69 KB | W: | H:

SDT/schema4.0/docs/images/Struct.png
SDT/schema4.0/docs/images/Struct.png
SDT/schema4.0/docs/images/Struct.png
SDT/schema4.0/docs/images/Struct.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -17,6 +17,7 @@ Domain =
element Imports { Domain+ }?,
element DataTypes { DataTypeDef+ }?,
ModuleClassesDef?,
SubDevicesRef?,
DeviceClassesDef?,
ProductClassesDef?
}
......@@ -28,7 +29,7 @@ PropertiesDef =
attribute value { text }?,
attribute semanticURI { xsd:anyURI }?,
DocDef,
SimpleType
Simple
}+
}
DataTypeDef =
......@@ -37,16 +38,16 @@ DataTypeDef =
attribute unitOfMeasure { text }?,
attribute semanticURI { xsd:anyURI }?,
DocDef,
(ExtendDef? | (StructType | ArrayType | SimpleType | EnumType)),
(ExtendDef? | (Struct | Array | Simple | Enum)),
ConstraintsDef?
}
StructType = element Struct { DataTypeDef+ }
ArrayType = element Array { DataTypeDef }
SimpleType =
element SimpleType {
Struct = element Struct { DataTypeDef+ }
Array = element Array { DataTypeDef }
Simple =
element Simple {
attribute type { BasicType }
}
EnumType = element Enum { EnumValueDef+ }
Enum = element Enum { EnumValueDef+ }
BasicType =
"integer"
| "boolean"
......@@ -112,6 +113,7 @@ SubDevicesRef =
attribute minOccurs { text }?,
attribute maxOccurs { text }?,
DocDef,
ExtendDef?,
PropertiesDef?,
ModuleClassesDef?
}+
......@@ -120,7 +122,6 @@ ModuleClassesDef =
element ModuleClasses {
element ModuleClass {
attribute name { xsd:Name },
attribute optional { xsd:boolean }?,
attribute semanticURI { xsd:anyURI }?,
attribute minOccurs { text }?,
attribute maxOccurs { text }?,
......
......@@ -51,6 +51,9 @@
<optional>
<ref name="ModuleClassesDef"/>
</optional>
<optional>
<ref name="SubDevicesRef" />
</optional>
<optional>
<ref name="DeviceClassesDef" />
</optional>
......@@ -84,7 +87,7 @@
</attribute>
</optional>
<ref name="DocDef"/>
<ref name="SimpleType" />