[2058] | 1 | <?xml version="1.0" encoding="iso-8859-1"?>
|
---|
| 2 | <!-- Changes
|
---|
| 3 | - added the structured post-condition element
|
---|
| 4 | -->
|
---|
| 5 | <xs:schema xmlns="http://giove.isti.cnr.it/ctt"
|
---|
| 6 | elementFormDefault="qualified" targetNamespace="http://giove.isti.cnr.it/ctt"
|
---|
| 7 | xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
---|
| 8 | <xs:element name="TaskModel">
|
---|
| 9 | <xs:complexType>
|
---|
| 10 | <xs:sequence>
|
---|
| 11 | <xs:element name="Task" type="Task" />
|
---|
| 12 | </xs:sequence>
|
---|
| 13 | <xs:attribute name="NameTaskModelID" type="xs:string"
|
---|
| 14 | use="required" />
|
---|
| 15 | </xs:complexType>
|
---|
| 16 | </xs:element>
|
---|
| 17 |
|
---|
| 18 | <xs:complexType name="Task">
|
---|
| 19 | <xs:sequence>
|
---|
| 20 | <xs:element name="Name" type="xs:string" />
|
---|
| 21 | <xs:element name="Type" type="xs:string" />
|
---|
| 22 | <xs:element name="Description" type="xs:string" />
|
---|
| 23 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Platform"
|
---|
| 24 | type="xs:string" />
|
---|
| 25 | <xs:element name="Precondition" type="ConditionGroup" />
|
---|
| 26 | <xs:element name="Postcondition" type="ConditionGroup" />
|
---|
| 27 | <xs:element minOccurs="0" maxOccurs="1" name="TemporalOperator"
|
---|
| 28 | type="TemporalOperator" />
|
---|
| 29 | <xs:element name="TimePerformance" type="TimePerformance" />
|
---|
| 30 | <xs:element minOccurs="0" maxOccurs="1" name="Parent"
|
---|
| 31 | type="Parent" />
|
---|
| 32 | <xs:element minOccurs="0" maxOccurs="1" name="SiblingLeft"
|
---|
| 33 | type="SiblingLeft" />
|
---|
| 34 | <xs:element minOccurs="0" maxOccurs="1" name="SiblingRight"
|
---|
| 35 | type="SiblingRight" />
|
---|
| 36 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Object"
|
---|
| 37 | type="Object" />
|
---|
| 38 | <xs:element minOccurs="0" maxOccurs="1" name="SubTask"
|
---|
| 39 | type="SubTask" />
|
---|
| 40 | </xs:sequence>
|
---|
| 41 | <xs:attribute name="Identifier" type="xs:string" use="required" />
|
---|
| 42 | <xs:attribute name="Category" use="required" type="Category" />
|
---|
| 43 | <xs:attribute name="Iterative" use="required" type="xs:boolean" />
|
---|
| 44 | <xs:attribute name="Optional" use="required" type="xs:boolean" />
|
---|
| 45 | <xs:attribute name="PartOfCooperation" use="required"
|
---|
| 46 | type="xs:boolean" />
|
---|
| 47 | <xs:attribute name="Frequency" type="xs:string" use="required" />
|
---|
| 48 | </xs:complexType>
|
---|
| 49 |
|
---|
| 50 |
|
---|
| 51 |
|
---|
| 52 | <xs:complexType name="TemporalOperator">
|
---|
| 53 | <xs:attribute name="name" type="TemporalOperatorName" />
|
---|
| 54 | </xs:complexType>
|
---|
| 55 |
|
---|
| 56 | <xs:complexType name="TimePerformance">
|
---|
| 57 | <xs:sequence>
|
---|
| 58 | <xs:element name="Max" type="xs:string" />
|
---|
| 59 | <xs:element name="Min" type="xs:string" />
|
---|
| 60 | <xs:element name="Average" type="xs:string" />
|
---|
| 61 | </xs:sequence>
|
---|
| 62 | </xs:complexType>
|
---|
| 63 |
|
---|
| 64 | <xs:complexType name="Parent">
|
---|
| 65 | <xs:attribute name="name" type="xs:string" use="required" />
|
---|
| 66 | </xs:complexType>
|
---|
| 67 |
|
---|
| 68 | <xs:complexType name="SiblingLeft">
|
---|
| 69 | <xs:attribute name="name" type="xs:string" use="required" />
|
---|
| 70 | </xs:complexType>
|
---|
| 71 |
|
---|
| 72 | <xs:complexType name="SiblingRight">
|
---|
| 73 | <xs:attribute name="name" type="xs:string" use="required" />
|
---|
| 74 | </xs:complexType>
|
---|
| 75 |
|
---|
| 76 | <xs:complexType name="Object">
|
---|
| 77 | <xs:sequence>
|
---|
| 78 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Platform"
|
---|
| 79 | type="xs:string" />
|
---|
| 80 | <xs:element name="InputAction" type="InputAction" />
|
---|
| 81 | <xs:element name="OutputAction" type="OutputAction" />
|
---|
| 82 | </xs:sequence>
|
---|
| 83 | <xs:attribute name="name" type="xs:string" use="required" />
|
---|
| 84 | <xs:attribute name="class" use="required" type="ObjectClass" />
|
---|
| 85 | <xs:attribute name="type" use="required" type="ObjectType" />
|
---|
| 86 | <xs:attribute name="access_mode" use="required" type="ObjectAccess" />
|
---|
| 87 | <xs:attribute name="cardinality" use="required" type="ObjectCardinality" />
|
---|
| 88 | </xs:complexType>
|
---|
| 89 |
|
---|
| 90 | <xs:complexType name="InputAction">
|
---|
| 91 | <xs:attribute name="Description" type="xs:string" use="required" />
|
---|
| 92 | <xs:attribute name="From" type="xs:string" use="required" />
|
---|
| 93 | </xs:complexType>
|
---|
| 94 |
|
---|
| 95 | <xs:complexType name="OutputAction">
|
---|
| 96 | <xs:attribute name="Description" type="xs:string" use="required" />
|
---|
| 97 | <xs:attribute name="To" type="xs:string" use="required" />
|
---|
| 98 | </xs:complexType>
|
---|
| 99 |
|
---|
| 100 | <xs:complexType name="SubTask">
|
---|
| 101 | <xs:sequence>
|
---|
| 102 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Task" type="Task" />
|
---|
| 103 | </xs:sequence>
|
---|
| 104 | </xs:complexType>
|
---|
| 105 |
|
---|
| 106 |
|
---|
| 107 | <!-- structured precondition modeling -->
|
---|
| 108 |
|
---|
| 109 | <xs:complexType name="ConditionGroup">
|
---|
| 110 | <xs:choice minOccurs="2" maxOccurs="unbounded">
|
---|
| 111 | <xs:element name="ConditionGroup" type="ConditionGroup" />
|
---|
| 112 | <xs:element name="ConditionLiteral" type="ConditionLiteral" />
|
---|
| 113 | </xs:choice>
|
---|
| 114 | <xs:attribute name="operator" type="BinaryOperator" />
|
---|
| 115 | </xs:complexType>
|
---|
| 116 |
|
---|
| 117 | <xs:complexType name="ConditionLiteral">
|
---|
| 118 | <xs:attribute name="object" type="xs:string" />
|
---|
| 119 | <xs:attribute name="value" type="xs:string" />
|
---|
| 120 | </xs:complexType>
|
---|
| 121 |
|
---|
| 122 | <!-- Simple types -->
|
---|
| 123 | <xs:simpleType name="Category">
|
---|
| 124 | <xs:restriction base="xs:NMTOKEN">
|
---|
| 125 | <xs:enumeration value="abstraction" />
|
---|
| 126 | <xs:enumeration value="user" />
|
---|
| 127 | <xs:enumeration value="interaction" />
|
---|
| 128 | <xs:enumeration value="application" />
|
---|
| 129 | <xs:enumeration value="cooperation" />
|
---|
| 130 | </xs:restriction>
|
---|
| 131 | </xs:simpleType>
|
---|
| 132 |
|
---|
| 133 | <xs:simpleType name="TemporalOperatorName">
|
---|
| 134 | <xs:restriction base="xs:NMTOKEN">
|
---|
| 135 | <xs:enumeration value="SequentialEnabling" />
|
---|
| 136 | <xs:enumeration value="Disabling" />
|
---|
| 137 | <xs:enumeration value="Choice" />
|
---|
| 138 | <xs:enumeration value="Interleaving" />
|
---|
| 139 | <xs:enumeration value="InterleavingInfo" />
|
---|
| 140 | <xs:enumeration value="Synchronization" />
|
---|
| 141 | <xs:enumeration value="SuspendResume" />
|
---|
| 142 | <xs:enumeration value="SequentialEnablingInfo" />
|
---|
| 143 | <xs:enumeration value="OrderIndependence"/>
|
---|
| 144 | </xs:restriction>
|
---|
| 145 | </xs:simpleType>
|
---|
| 146 |
|
---|
| 147 | <xs:simpleType name="ObjectClass">
|
---|
| 148 | <xs:restriction base="xs:NMTOKEN">
|
---|
| 149 | <xs:enumeration value="Text" />
|
---|
| 150 | <xs:enumeration value="Numerical" />
|
---|
| 151 | <xs:enumeration value="Object" />
|
---|
| 152 | <xs:enumeration value="Description" />
|
---|
| 153 | <xs:enumeration value="Position" />
|
---|
| 154 | <xs:enumeration value="String"/>
|
---|
| 155 | <xs:enumeration value="Decimal"/>
|
---|
| 156 | <xs:enumeration value="Integer"/>
|
---|
| 157 | <xs:enumeration value="Boolean"/>
|
---|
| 158 | <xs:enumeration value="Date"/>
|
---|
| 159 | <xs:enumeration value="Time"/>
|
---|
| 160 | <xs:enumeration value="null" />
|
---|
| 161 | </xs:restriction>
|
---|
| 162 | </xs:simpleType>
|
---|
| 163 |
|
---|
| 164 | <xs:simpleType name="ObjectType">
|
---|
| 165 | <xs:restriction base="xs:NMTOKEN">
|
---|
| 166 | <xs:enumeration value="Perceivable" />
|
---|
| 167 | <xs:enumeration value="Application" />
|
---|
| 168 | <xs:enumeration value="null" />
|
---|
| 169 | </xs:restriction>
|
---|
| 170 | </xs:simpleType>
|
---|
| 171 |
|
---|
| 172 | <xs:simpleType name="ObjectAccess">
|
---|
| 173 | <xs:restriction base="xs:NMTOKEN">
|
---|
| 174 | <xs:enumeration value="Access" />
|
---|
| 175 | <xs:enumeration value="Modification" />
|
---|
| 176 | <xs:enumeration value="null" />
|
---|
| 177 | </xs:restriction>
|
---|
| 178 | </xs:simpleType>
|
---|
| 179 |
|
---|
| 180 | <xs:simpleType name="ObjectCardinality">
|
---|
| 181 | <xs:restriction base="xs:NMTOKEN">
|
---|
| 182 | <xs:enumeration value="Low" />
|
---|
| 183 | <xs:enumeration value="Medium" />
|
---|
| 184 | <xs:enumeration value="High" />
|
---|
| 185 | <xs:enumeration value="null" />
|
---|
| 186 | </xs:restriction>
|
---|
| 187 | </xs:simpleType>
|
---|
| 188 |
|
---|
| 189 |
|
---|
| 190 | <xs:simpleType name="BinaryOperator">
|
---|
| 191 | <xs:restriction base="xs:string">
|
---|
| 192 | <xs:enumeration value="and" id="and" />
|
---|
| 193 | <xs:enumeration value="or" id="or" />
|
---|
| 194 | <xs:enumeration value="xor" id="xor" />
|
---|
| 195 | <xs:enumeration value="contains" id="contains" />
|
---|
| 196 | <xs:enumeration value="starts" id="starts" />
|
---|
| 197 | <xs:enumeration value="ends" id="ends" />
|
---|
| 198 | <xs:enumeration value="gt" id="gt" />
|
---|
| 199 | <xs:enumeration value="gteq" id="gteq" />
|
---|
| 200 | <xs:enumeration value="lteq" id="lteq" />
|
---|
| 201 | <xs:enumeration value="lt" id="lt" />
|
---|
| 202 | <xs:enumeration value="eq" id="eq" />
|
---|
| 203 | <xs:enumeration value="neq" id="neq" />
|
---|
| 204 | </xs:restriction>
|
---|
| 205 | </xs:simpleType>
|
---|
| 206 |
|
---|
| 207 | </xs:schema> |
---|