source: trunk/autoquest-plugin-exports/src/main/resources/Ctt-v2.1.xsd @ 2218

Last change on this file since 2218 was 2058, checked in by pharms, 9 years ago
  • initial import
  • Property svn:mime-type set to text/plain
File size: 7.2 KB
Line 
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>
Note: See TracBrowser for help on using the repository browser.