omf_sfa 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. data/.gitignore +24 -0
  2. data/Gemfile +6 -0
  3. data/README.md +211 -0
  4. data/Rakefile +23 -0
  5. data/bin/parse_rspec.rb +167 -0
  6. data/etc/omf-sfa/omf-sfa-am.yaml +12 -0
  7. data/examples/exogeni5nodemanifest.rspec +105 -0
  8. data/examples/instageni5nodemanifest.rspec +150 -0
  9. data/lib/omf-sfa/am/am-rest/REST_API.md +301 -0
  10. data/lib/omf-sfa/am/am-rest/account_handler.rb +145 -0
  11. data/lib/omf-sfa/am/am-rest/am_rest_server.rb +255 -0
  12. data/lib/omf-sfa/am/am-rest/api_template.html +48 -0
  13. data/lib/omf-sfa/am/am-rest/config.ru +110 -0
  14. data/lib/omf-sfa/am/am-rest/resource_handler.rb +178 -0
  15. data/lib/omf-sfa/am/am-rest/rest_handler.rb +573 -0
  16. data/lib/omf-sfa/am/am-rest/session_authenticator.rb +130 -0
  17. data/lib/omf-sfa/am/am-rpc/abstract_rpc_service.rb +60 -0
  18. data/lib/omf-sfa/am/am-rpc/am_authorizer.rb +161 -0
  19. data/lib/omf-sfa/am/am-rpc/am_rpc_api.rb +450 -0
  20. data/lib/omf-sfa/am/am-rpc/am_rpc_service.rb +402 -0
  21. data/lib/omf-sfa/am/am_liaison.rb +93 -0
  22. data/lib/omf-sfa/am/am_manager.rb +859 -0
  23. data/lib/omf-sfa/am/am_runner.rb +108 -0
  24. data/lib/omf-sfa/am/am_scheduler.rb +146 -0
  25. data/lib/omf-sfa/am/am_server.rb +194 -0
  26. data/lib/omf-sfa/am/config.ru +122 -0
  27. data/lib/omf-sfa/am/credential.rb +145 -0
  28. data/lib/omf-sfa/am/default_authorizer.rb +44 -0
  29. data/lib/omf-sfa/am/privilege_credential.rb +76 -0
  30. data/lib/omf-sfa/am/signature.rb +37 -0
  31. data/lib/omf-sfa/am/user_credential.rb +56 -0
  32. data/lib/omf-sfa/am.rb +7 -0
  33. data/lib/omf-sfa/model/abstract_prop_description.rb +87 -0
  34. data/lib/omf-sfa/model/model_class_description.rb +145 -0
  35. data/lib/omf-sfa/model/model_data_prop_description.rb +28 -0
  36. data/lib/omf-sfa/model/model_obj_prop_description.rb +49 -0
  37. data/lib/omf-sfa/model/ontology.rb +169 -0
  38. data/lib/omf-sfa/resource/README.md +24 -0
  39. data/lib/omf-sfa/resource/channel.rb +49 -0
  40. data/lib/omf-sfa/resource/comp_group.rb +41 -0
  41. data/lib/omf-sfa/resource/component_lease.rb +10 -0
  42. data/lib/omf-sfa/resource/constants.rb +24 -0
  43. data/lib/omf-sfa/resource/group_component.rb +35 -0
  44. data/lib/omf-sfa/resource/group_membership.rb +17 -0
  45. data/lib/omf-sfa/resource/gurn.rb +187 -0
  46. data/lib/omf-sfa/resource/interface.rb +78 -0
  47. data/lib/omf-sfa/resource/ip.rb +48 -0
  48. data/lib/omf-sfa/resource/link.rb +29 -0
  49. data/lib/omf-sfa/resource/node.rb +75 -0
  50. data/lib/omf-sfa/resource/oaccount.rb +94 -0
  51. data/lib/omf-sfa/resource/ocomponent.rb +134 -0
  52. data/lib/omf-sfa/resource/ogroup.rb +106 -0
  53. data/lib/omf-sfa/resource/olease.rb +61 -0
  54. data/lib/omf-sfa/resource/oproperty.rb +178 -0
  55. data/lib/omf-sfa/resource/oreference.rb +15 -0
  56. data/lib/omf-sfa/resource/oresource.rb +491 -0
  57. data/lib/omf-sfa/resource/project.rb +28 -0
  58. data/lib/omf-sfa/resource/project_membership.rb +13 -0
  59. data/lib/omf-sfa/resource/sfa_base.rb +544 -0
  60. data/lib/omf-sfa/resource/user.rb +25 -0
  61. data/lib/omf-sfa/resource.rb +20 -0
  62. data/lib/omf-sfa/util/create_sample_testbed.rb +68 -0
  63. data/lib/omf-sfa/util/load_from_sfa_xml.rb +65 -0
  64. data/lib/omf-sfa/version.rb +4 -0
  65. data/lib/omf_sfa.rb +5 -0
  66. data/omf_sfa.gemspec +46 -0
  67. data/owl/README +3 -0
  68. data/owl/ben-6509.rdf +1377 -0
  69. data/owl/ben-dell.rdf +586 -0
  70. data/owl/ben-dtn.rdf +1698 -0
  71. data/owl/ben.rdf +1335 -0
  72. data/owl/collections.owl +309 -0
  73. data/owl/compute.owl +1486 -0
  74. data/owl/domain.owl +444 -0
  75. data/owl/dtn.owl +1165 -0
  76. data/owl/ec2.owl +385 -0
  77. data/owl/ethernet.owl +466 -0
  78. data/owl/eucalyptus.owl +431 -0
  79. data/owl/id-mp-Request1.rdf +247 -0
  80. data/owl/itu-grid.owl +147 -0
  81. data/owl/kansei.owl +511 -0
  82. data/owl/layer.owl +645 -0
  83. data/owl/location.owl +117 -0
  84. data/owl/mass.rdf +608 -0
  85. data/owl/nlr.rdf +901 -0
  86. data/owl/orca.owl +181 -0
  87. data/owl/planetlab.owl +124 -0
  88. data/owl/protogeni.owl +467 -0
  89. data/owl/request-6509-2.rdf +150 -0
  90. data/owl/request-6509-3.rdf +158 -0
  91. data/owl/request-6509.rdf +199 -0
  92. data/owl/request.owl +222 -0
  93. data/owl/storage.owl +511 -0
  94. data/owl/topology.owl +608 -0
  95. data/schema/rspec-v3/ad-common.xsd +269 -0
  96. data/schema/rspec-v3/ad-reservation.rnc +12 -0
  97. data/schema/rspec-v3/ad-reservation.rng +28 -0
  98. data/schema/rspec-v3/ad-reservation.xsd +13 -0
  99. data/schema/rspec-v3/ad.rnc +151 -0
  100. data/schema/rspec-v3/ad.xsd +77 -0
  101. data/schema/rspec-v3/any-extension-schema.xsd +38 -0
  102. data/schema/rspec-v3/any-extension.rnc +30 -0
  103. data/schema/rspec-v3/common.rnc +185 -0
  104. data/schema/rspec-v3/manifest-common.xsd +244 -0
  105. data/schema/rspec-v3/manifest-request.xsd +95 -0
  106. data/schema/rspec-v3/manifest.rnc +62 -0
  107. data/schema/rspec-v3/manifest.xsd +34 -0
  108. data/schema/rspec-v3/request-common.xsd +219 -0
  109. data/schema/rspec-v3/request-reservation.rnc +12 -0
  110. data/schema/rspec-v3/request-reservation.xsd +13 -0
  111. data/schema/rspec-v3/request.rnc +118 -0
  112. data/schema/rspec-v3/request.xsd +94 -0
  113. data/share/assets/css/default.css +147 -0
  114. data/share/assets/css/rest_api.css +0 -0
  115. data/share/assets/network.html +28 -0
  116. data/share/assets/network.js +82 -0
  117. data/spec/am/am-rest/common.rb +29 -0
  118. data/spec/am/am-rest/resource_group_handler_XspecX.rb +97 -0
  119. data/spec/am/am-rest/resource_handler_spec.rb +204 -0
  120. data/spec/am/am-rpc/sfa_methods_spec.rb +150 -0
  121. data/spec/am/am_manager_spec.rb +307 -0
  122. data/spec/am/am_scheduler_spec.rb +57 -0
  123. data/spec/am/common.rb +24 -0
  124. data/spec/resource/common.rb +31 -0
  125. data/spec/resource/node_spec.rb +171 -0
  126. data/spec/resource/oaccount_spec.rb +92 -0
  127. data/spec/resource/ocomponent_spec.rb +225 -0
  128. data/spec/resource/ogroup_spec.rb +93 -0
  129. data/spec/resource/oresource_spec.rb +208 -0
  130. data/spec/resource_and_leases_spec.rb +377 -0
  131. data/test/OLD_FILES/assertion1.xml +117 -0
  132. data/test/OLD_FILES/greeter_spec.rb +15 -0
  133. data/test/OLD_FILES/mongo_test.rb +45 -0
  134. data/test/OLD_FILES/req-sfa-2.xml +6 -0
  135. data/test/OLD_FILES/req-sfa-g.xml +8 -0
  136. data/test/OLD_FILES/req-sfa-g2.xml +10 -0
  137. data/test/OLD_FILES/req-sfa-g3.xml +14 -0
  138. data/test/OLD_FILES/req-sfa.xml +6 -0
  139. data/test/OLD_FILES/req1.xml +22 -0
  140. data/test/OLD_FILES/req1b.xml +15 -0
  141. data/test/OLD_FILES/rspec-test.xml +1867 -0
  142. data/test/OLD_FILES/test.rb +67 -0
  143. data/test/OLD_FILES/test2.rb +32 -0
  144. data/test/am/am_manager_rspec_tests.rb +378 -0
  145. data/test/am/am_manager_tests.rb +518 -0
  146. data/test/am/am_scheduler_tests.rb +173 -0
  147. data/test/resource/olease_test.rb +74 -0
  148. data/test/sfa_requests/request.xml +5 -0
  149. data/test/sfa_requests/request1.xml +5 -0
  150. data/test/sfa_requests/request2.xml +5 -0
  151. data/test/sfa_requests/request3.xml +5 -0
  152. metadata +601 -0
data/owl/layer.owl ADDED
@@ -0,0 +1,645 @@
1
+ <?xml version="1.0"?>
2
+
3
+
4
+ <!DOCTYPE rdf:RDF [
5
+ <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
6
+ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
7
+ <!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-xml#" >
8
+ <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
9
+ <!ENTITY layer5 "http://geni-orca.renci.org/owl/layer.owl#1" >
10
+ <!ENTITY layer6 "http://geni-orca.renci.org/owl/layer.owl#2" >
11
+ <!ENTITY layer2 "http://geni-orca.renci.org/owl/layer.owl#10" >
12
+ <!ENTITY layer3 "http://geni-orca.renci.org/owl/layer.owl#40" >
13
+ <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
14
+ <!ENTITY request "http://geni-orca.renci.org/owl/request.owl#" >
15
+ <!ENTITY layer4 "http://geni-orca.renci.org/owl/layer.owl#100" >
16
+ <!ENTITY ndl "http://geni-orca.renci.org/owl/topology.owl#" >
17
+ <!ENTITY collections "http://geni-orca.renci.org/owl/collections.owl#" >
18
+ ]>
19
+
20
+
21
+ <rdf:RDF xmlns="http://geni-orca.renci.org/owl/layer.owl#"
22
+ xml:base="http://geni-orca.renci.org/owl/layer.owl"
23
+ xmlns:layer2="&layer5;0"
24
+ xmlns:layer4="&layer5;00"
25
+ xmlns:layer3="http://geni-orca.renci.org/owl/layer.owl#40"
26
+ xmlns:layer6="http://geni-orca.renci.org/owl/layer.owl#2"
27
+ xmlns:layer5="http://geni-orca.renci.org/owl/layer.owl#1"
28
+ xmlns:ndl="http://geni-orca.renci.org/owl/topology.owl#"
29
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
30
+ xmlns:owl2xml="http://www.w3.org/2006/12/owl2-xml#"
31
+ xmlns:request="http://geni-orca.renci.org/owl/request.owl#"
32
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
33
+ xmlns:owl="http://www.w3.org/2002/07/owl#"
34
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
35
+ xmlns:collections="http://geni-orca.renci.org/owl/collections.owl#">
36
+ <owl:Ontology rdf:about="http://geni-orca.renci.org/owl/layer.owl"/>
37
+
38
+
39
+
40
+ <!--
41
+ ///////////////////////////////////////////////////////////////////////////////////////
42
+ //
43
+ // Datatypes
44
+ //
45
+ ///////////////////////////////////////////////////////////////////////////////////////
46
+ -->
47
+
48
+
49
+
50
+
51
+ <!--
52
+ ///////////////////////////////////////////////////////////////////////////////////////
53
+ //
54
+ // Object Properties
55
+ //
56
+ ///////////////////////////////////////////////////////////////////////////////////////
57
+ -->
58
+
59
+
60
+
61
+
62
+ <!-- http://geni-orca.renci.org/owl/layer.owl#AdaptationProperty -->
63
+
64
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#AdaptationProperty"/>
65
+
66
+
67
+
68
+ <!-- http://geni-orca.renci.org/owl/layer.owl#AdaptationPropertyOf -->
69
+
70
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#AdaptationPropertyOf">
71
+ <owl:inverseOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#AdaptationProperty"/>
72
+ </owl:ObjectProperty>
73
+
74
+
75
+
76
+ <!-- http://geni-orca.renci.org/owl/layer.owl#atLayer -->
77
+
78
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#atLayer">
79
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
80
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Layer"/>
81
+ <rdfs:domain>
82
+ <owl:Class>
83
+ <owl:unionOf rdf:parseType="Collection">
84
+ <rdf:Description rdf:about="&request;Reservation"/>
85
+ <rdf:Description rdf:about="&ndl;NetworkElement"/>
86
+ </owl:unionOf>
87
+ </owl:Class>
88
+ </rdfs:domain>
89
+ </owl:ObjectProperty>
90
+
91
+
92
+
93
+ <!-- http://geni-orca.renci.org/owl/layer.owl#availableLabelSet -->
94
+
95
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#availableLabelSet">
96
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#labelSet"/>
97
+ </owl:ObjectProperty>
98
+
99
+
100
+
101
+ <!-- http://geni-orca.renci.org/owl/layer.owl#engressLabel -->
102
+
103
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#engressLabel">
104
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#label"/>
105
+ </owl:ObjectProperty>
106
+
107
+
108
+
109
+ <!-- http://geni-orca.renci.org/owl/layer.owl#feature -->
110
+
111
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#feature">
112
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
113
+ </owl:ObjectProperty>
114
+
115
+
116
+
117
+ <!-- http://geni-orca.renci.org/owl/layer.owl#hasBitRate -->
118
+
119
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#hasBitRate">
120
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
121
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#feature"/>
122
+ </owl:ObjectProperty>
123
+
124
+
125
+
126
+ <!-- http://geni-orca.renci.org/owl/layer.owl#hasCastType -->
127
+
128
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#hasCastType">
129
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
130
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#CastType"/>
131
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#feature"/>
132
+ <rdfs:domain>
133
+ <owl:Class>
134
+ <owl:unionOf rdf:parseType="Collection">
135
+ <rdf:Description rdf:about="&request;Reservation"/>
136
+ <rdf:Description rdf:about="&ndl;SwitchMatrix"/>
137
+ </owl:unionOf>
138
+ </owl:Class>
139
+ </rdfs:domain>
140
+ </owl:ObjectProperty>
141
+
142
+
143
+
144
+ <!-- http://geni-orca.renci.org/owl/layer.owl#ingressLabel -->
145
+
146
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#ingressLabel">
147
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#label"/>
148
+ </owl:ObjectProperty>
149
+
150
+
151
+
152
+ <!-- http://geni-orca.renci.org/owl/layer.owl#label -->
153
+
154
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#label">
155
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
156
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Label"/>
157
+ <rdfs:domain>
158
+ <owl:Class>
159
+ <owl:unionOf rdf:parseType="Collection">
160
+ <rdf:Description rdf:about="&request;Reservation"/>
161
+ <rdf:Description rdf:about="&ndl;Interface"/>
162
+ </owl:unionOf>
163
+ </owl:Class>
164
+ </rdfs:domain>
165
+ </owl:ObjectProperty>
166
+
167
+
168
+
169
+ <!-- http://geni-orca.renci.org/owl/layer.owl#labelSet -->
170
+
171
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#labelSet">
172
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
173
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#LabelSet"/>
174
+ <rdfs:domain rdf:resource="&ndl;Interface"/>
175
+ </owl:ObjectProperty>
176
+
177
+
178
+
179
+ <!-- http://geni-orca.renci.org/owl/layer.owl#lowerBound -->
180
+
181
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#lowerBound"/>
182
+
183
+
184
+
185
+ <!-- http://geni-orca.renci.org/owl/layer.owl#swappingCapability -->
186
+
187
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#swappingCapability">
188
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
189
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Layer"/>
190
+ <rdfs:domain rdf:resource="&ndl;SwitchMatrix"/>
191
+ </owl:ObjectProperty>
192
+
193
+
194
+
195
+ <!-- http://geni-orca.renci.org/owl/layer.owl#switchingCapability -->
196
+
197
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#switchingCapability">
198
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
199
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Layer"/>
200
+ <rdfs:domain rdf:resource="&ndl;SwitchMatrix"/>
201
+ </owl:ObjectProperty>
202
+
203
+
204
+
205
+ <!-- http://geni-orca.renci.org/owl/layer.owl#tunnelingCapability -->
206
+
207
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#tunnelingCapability">
208
+ <rdfs:range rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Layer"/>
209
+ <rdfs:domain rdf:resource="&ndl;SwitchMatrix"/>
210
+ </owl:ObjectProperty>
211
+
212
+
213
+
214
+ <!-- http://geni-orca.renci.org/owl/layer.owl#upperBound -->
215
+
216
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#upperBound"/>
217
+
218
+
219
+
220
+ <!-- http://geni-orca.renci.org/owl/layer.owl#usedLabelSet -->
221
+
222
+ <owl:ObjectProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#usedLabelSet">
223
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#labelSet"/>
224
+ </owl:ObjectProperty>
225
+
226
+
227
+
228
+ <!--
229
+ ///////////////////////////////////////////////////////////////////////////////////////
230
+ //
231
+ // Data properties
232
+ //
233
+ ///////////////////////////////////////////////////////////////////////////////////////
234
+ -->
235
+
236
+
237
+
238
+
239
+ <!-- http://geni-orca.renci.org/owl/layer.owl#bandwidth -->
240
+
241
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#bandwidth">
242
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
243
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#metric"/>
244
+ <rdfs:range rdf:resource="&xsd;long"/>
245
+ </owl:DatatypeProperty>
246
+
247
+
248
+
249
+ <!-- http://geni-orca.renci.org/owl/layer.owl#clientCount -->
250
+
251
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#clientCount">
252
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
253
+ <rdfs:domain rdf:resource="http://geni-orca.renci.org/owl/layer.owl#AdaptationProperty"/>
254
+ <rdfs:range rdf:resource="&xsd;integer"/>
255
+ </owl:DatatypeProperty>
256
+
257
+
258
+
259
+ <!-- http://geni-orca.renci.org/owl/layer.owl#delay -->
260
+
261
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#delay">
262
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
263
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#metric"/>
264
+ <rdfs:domain rdf:resource="&ndl;NetworkElement"/>
265
+ <rdfs:range rdf:resource="&xsd;float"/>
266
+ </owl:DatatypeProperty>
267
+
268
+
269
+
270
+ <!-- http://geni-orca.renci.org/owl/layer.owl#isLabelProducer -->
271
+
272
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#isLabelProducer">
273
+ <rdfs:range rdf:resource="&xsd;boolean"/>
274
+ </owl:DatatypeProperty>
275
+
276
+
277
+
278
+ <!-- http://geni-orca.renci.org/owl/layer.owl#label_ID -->
279
+
280
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#label_ID">
281
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
282
+ <rdfs:domain rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Label"/>
283
+ <rdfs:range rdf:resource="&rdfs;Literal"/>
284
+ </owl:DatatypeProperty>
285
+
286
+
287
+
288
+ <!-- http://geni-orca.renci.org/owl/layer.owl#maxLabelSet -->
289
+
290
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#maxLabelSet"/>
291
+
292
+
293
+
294
+ <!-- http://geni-orca.renci.org/owl/layer.owl#maxNumPort -->
295
+
296
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#maxNumPort">
297
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#maxLabelSet"/>
298
+ </owl:DatatypeProperty>
299
+
300
+
301
+
302
+ <!-- http://geni-orca.renci.org/owl/layer.owl#metric -->
303
+
304
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#metric"/>
305
+
306
+
307
+
308
+ <!-- http://geni-orca.renci.org/owl/layer.owl#numCE -->
309
+
310
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#numCE">
311
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#numResource"/>
312
+ </owl:DatatypeProperty>
313
+
314
+
315
+
316
+ <!-- http://geni-orca.renci.org/owl/layer.owl#numPort -->
317
+
318
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#numPort">
319
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#numResource"/>
320
+ </owl:DatatypeProperty>
321
+
322
+
323
+
324
+ <!-- http://geni-orca.renci.org/owl/layer.owl#numResource -->
325
+
326
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#numResource"/>
327
+
328
+
329
+
330
+ <!-- http://geni-orca.renci.org/owl/layer.owl#numVLAN -->
331
+
332
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#numVLAN">
333
+ <rdfs:subPropertyOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#numResource"/>
334
+ </owl:DatatypeProperty>
335
+
336
+
337
+
338
+ <!-- http://geni-orca.renci.org/owl/layer.owl#serverCount -->
339
+
340
+ <owl:DatatypeProperty rdf:about="http://geni-orca.renci.org/owl/layer.owl#serverCount">
341
+ <rdf:type rdf:resource="&owl;FunctionalProperty"/>
342
+ <rdfs:domain rdf:resource="http://geni-orca.renci.org/owl/layer.owl#AdaptationProperty"/>
343
+ <rdfs:range rdf:resource="&xsd;integer"/>
344
+ </owl:DatatypeProperty>
345
+
346
+
347
+
348
+ <!--
349
+ ///////////////////////////////////////////////////////////////////////////////////////
350
+ //
351
+ // Classes
352
+ //
353
+ ///////////////////////////////////////////////////////////////////////////////////////
354
+ -->
355
+
356
+
357
+
358
+
359
+ <!-- http://geni-orca.renci.org/owl/collections.owl#Item -->
360
+
361
+ <owl:Class rdf:about="&collections;Item"/>
362
+
363
+
364
+
365
+ <!-- http://geni-orca.renci.org/owl/collections.owl#Set -->
366
+
367
+ <owl:Class rdf:about="&collections;Set"/>
368
+
369
+
370
+
371
+ <!-- http://geni-orca.renci.org/owl/layer.owl#AdaptationProperty -->
372
+
373
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#AdaptationProperty">
374
+ <rdfs:subClassOf rdf:resource="&rdf;Property"/>
375
+ <rdfs:subClassOf>
376
+ <owl:Restriction>
377
+ <owl:onProperty rdf:resource="http://geni-orca.renci.org/owl/layer.owl#serverCount"/>
378
+ <owl:someValuesFrom rdf:resource="&xsd;integer"/>
379
+ </owl:Restriction>
380
+ </rdfs:subClassOf>
381
+ <rdfs:subClassOf>
382
+ <owl:Restriction>
383
+ <owl:onProperty rdf:resource="http://geni-orca.renci.org/owl/layer.owl#clientCount"/>
384
+ <owl:someValuesFrom rdf:resource="&xsd;integer"/>
385
+ </owl:Restriction>
386
+ </rdfs:subClassOf>
387
+ </owl:Class>
388
+
389
+
390
+
391
+ <!-- http://geni-orca.renci.org/owl/layer.owl#BitRate -->
392
+
393
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#BitRate">
394
+ <rdfs:subClassOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Feature"/>
395
+ </owl:Class>
396
+
397
+
398
+
399
+ <!-- http://geni-orca.renci.org/owl/layer.owl#CastType -->
400
+
401
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#CastType">
402
+ <rdfs:subClassOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Feature"/>
403
+ </owl:Class>
404
+
405
+
406
+
407
+ <!-- http://geni-orca.renci.org/owl/layer.owl#ConnectionDirection -->
408
+
409
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#ConnectionDirection">
410
+ <rdfs:subClassOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Feature"/>
411
+ </owl:Class>
412
+
413
+
414
+
415
+ <!-- http://geni-orca.renci.org/owl/layer.owl#DataRange -->
416
+
417
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#DataRange">
418
+ <rdfs:subClassOf rdf:resource="&collections;Item"/>
419
+ <rdfs:subClassOf>
420
+ <owl:Restriction>
421
+ <owl:onProperty rdf:resource="http://geni-orca.renci.org/owl/layer.owl#lowerBound"/>
422
+ <owl:onClass rdf:resource="&collections;Item"/>
423
+ <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
424
+ </owl:Restriction>
425
+ </rdfs:subClassOf>
426
+ <rdfs:subClassOf>
427
+ <owl:Restriction>
428
+ <owl:onProperty rdf:resource="http://geni-orca.renci.org/owl/layer.owl#upperBound"/>
429
+ <owl:onClass rdf:resource="&collections;Item"/>
430
+ <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
431
+ </owl:Restriction>
432
+ </rdfs:subClassOf>
433
+ </owl:Class>
434
+
435
+
436
+
437
+ <!-- http://geni-orca.renci.org/owl/layer.owl#Feature -->
438
+
439
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#Feature">
440
+ <rdfs:subClassOf rdf:resource="&owl;Thing"/>
441
+ </owl:Class>
442
+
443
+
444
+
445
+ <!-- http://geni-orca.renci.org/owl/layer.owl#Label -->
446
+
447
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#Label">
448
+ <rdfs:subClassOf rdf:resource="&collections;Item"/>
449
+ </owl:Class>
450
+
451
+
452
+
453
+ <!-- http://geni-orca.renci.org/owl/layer.owl#LabelRange -->
454
+
455
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#LabelRange">
456
+ <rdfs:subClassOf rdf:resource="http://geni-orca.renci.org/owl/layer.owl#DataRange"/>
457
+ <rdfs:subClassOf>
458
+ <owl:Restriction>
459
+ <owl:onProperty rdf:resource="http://geni-orca.renci.org/owl/layer.owl#upperBound"/>
460
+ <owl:onClass rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Label"/>
461
+ <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
462
+ </owl:Restriction>
463
+ </rdfs:subClassOf>
464
+ <rdfs:subClassOf>
465
+ <owl:Restriction>
466
+ <owl:onProperty rdf:resource="http://geni-orca.renci.org/owl/layer.owl#lowerBound"/>
467
+ <owl:onClass rdf:resource="http://geni-orca.renci.org/owl/layer.owl#Label"/>
468
+ <owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
469
+ </owl:Restriction>
470
+ </rdfs:subClassOf>
471
+ </owl:Class>
472
+
473
+
474
+
475
+ <!-- http://geni-orca.renci.org/owl/layer.owl#LabelSet -->
476
+
477
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#LabelSet">
478
+ <rdfs:subClassOf rdf:resource="&collections;Set"/>
479
+ </owl:Class>
480
+
481
+
482
+
483
+ <!-- http://geni-orca.renci.org/owl/layer.owl#Layer -->
484
+
485
+ <owl:Class rdf:about="http://geni-orca.renci.org/owl/layer.owl#Layer">
486
+ <rdfs:subClassOf rdf:resource="&owl;Thing"/>
487
+ </owl:Class>
488
+
489
+
490
+
491
+ <!-- http://geni-orca.renci.org/owl/request.owl#Reservation -->
492
+
493
+ <owl:Class rdf:about="&request;Reservation"/>
494
+
495
+
496
+
497
+ <!-- http://geni-orca.renci.org/owl/topology.owl#Interface -->
498
+
499
+ <owl:Class rdf:about="&ndl;Interface"/>
500
+
501
+
502
+
503
+ <!-- http://geni-orca.renci.org/owl/topology.owl#NetworkElement -->
504
+
505
+ <owl:Class rdf:about="&ndl;NetworkElement"/>
506
+
507
+
508
+
509
+ <!-- http://geni-orca.renci.org/owl/topology.owl#SwitchMatrix -->
510
+
511
+ <owl:Class rdf:about="&ndl;SwitchMatrix"/>
512
+
513
+
514
+
515
+ <!-- http://www.w3.org/1999/02/22-rdf-syntax-ns#Property -->
516
+
517
+ <owl:Class rdf:about="&rdf;Property"/>
518
+
519
+
520
+
521
+ <!-- http://www.w3.org/2002/07/owl#Thing -->
522
+
523
+ <owl:Class rdf:about="&owl;Thing"/>
524
+
525
+
526
+
527
+ <!--
528
+ ///////////////////////////////////////////////////////////////////////////////////////
529
+ //
530
+ // Individuals
531
+ //
532
+ ///////////////////////////////////////////////////////////////////////////////////////
533
+ -->
534
+
535
+
536
+
537
+
538
+ <!-- http://geni-orca.renci.org/owl/layer.owl#100G -->
539
+
540
+ <owl:NamedIndividual rdf:about="&layer5;00G">
541
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
542
+ </owl:NamedIndividual>
543
+
544
+
545
+
546
+ <!-- http://geni-orca.renci.org/owl/layer.owl#100M -->
547
+
548
+ <owl:NamedIndividual rdf:about="&layer5;00M">
549
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
550
+ </owl:NamedIndividual>
551
+
552
+
553
+
554
+ <!-- http://geni-orca.renci.org/owl/layer.owl#10G -->
555
+
556
+ <owl:NamedIndividual rdf:about="&layer5;0G">
557
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
558
+ </owl:NamedIndividual>
559
+
560
+
561
+
562
+ <!-- http://geni-orca.renci.org/owl/layer.owl#10M -->
563
+
564
+ <owl:NamedIndividual rdf:about="&layer5;0M">
565
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
566
+ </owl:NamedIndividual>
567
+
568
+
569
+
570
+ <!-- http://geni-orca.renci.org/owl/layer.owl#1G -->
571
+
572
+ <owl:NamedIndividual rdf:about="&layer5;G">
573
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
574
+ </owl:NamedIndividual>
575
+
576
+
577
+
578
+ <!-- http://geni-orca.renci.org/owl/layer.owl#1G25 -->
579
+
580
+ <owl:NamedIndividual rdf:about="&layer5;G25">
581
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
582
+ <bandwidth rdf:datatype="&xsd;integer">1250000000</bandwidth>
583
+ </owl:NamedIndividual>
584
+
585
+
586
+
587
+ <!-- http://geni-orca.renci.org/owl/layer.owl#2G5 -->
588
+
589
+ <owl:NamedIndividual rdf:about="&layer6;G5">
590
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
591
+ </owl:NamedIndividual>
592
+
593
+
594
+
595
+ <!-- http://geni-orca.renci.org/owl/layer.owl#40G -->
596
+
597
+ <owl:NamedIndividual rdf:about="&layer3;G">
598
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#BitRate"/>
599
+ </owl:NamedIndividual>
600
+
601
+
602
+
603
+ <!-- http://geni-orca.renci.org/owl/layer.owl#BIDirectional -->
604
+
605
+ <owl:NamedIndividual rdf:about="http://geni-orca.renci.org/owl/layer.owl#BIDirectional">
606
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#ConnectionDirection"/>
607
+ </owl:NamedIndividual>
608
+
609
+
610
+
611
+ <!-- http://geni-orca.renci.org/owl/layer.owl#Broadcast -->
612
+
613
+ <owl:NamedIndividual rdf:about="http://geni-orca.renci.org/owl/layer.owl#Broadcast">
614
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#CastType"/>
615
+ </owl:NamedIndividual>
616
+
617
+
618
+
619
+ <!-- http://geni-orca.renci.org/owl/layer.owl#Multicast -->
620
+
621
+ <owl:NamedIndividual rdf:about="http://geni-orca.renci.org/owl/layer.owl#Multicast">
622
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#CastType"/>
623
+ </owl:NamedIndividual>
624
+
625
+
626
+
627
+ <!-- http://geni-orca.renci.org/owl/layer.owl#UNIDirectional -->
628
+
629
+ <owl:NamedIndividual rdf:about="http://geni-orca.renci.org/owl/layer.owl#UNIDirectional">
630
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#ConnectionDirection"/>
631
+ </owl:NamedIndividual>
632
+
633
+
634
+
635
+ <!-- http://geni-orca.renci.org/owl/layer.owl#Unicast -->
636
+
637
+ <owl:NamedIndividual rdf:about="http://geni-orca.renci.org/owl/layer.owl#Unicast">
638
+ <rdf:type rdf:resource="http://geni-orca.renci.org/owl/layer.owl#CastType"/>
639
+ </owl:NamedIndividual>
640
+ </rdf:RDF>
641
+
642
+
643
+
644
+ <!-- Generated by the OWL API (version 3.2.3.22702) http://owlapi.sourceforge.net -->
645
+