Notes
-----

* Indexed Segment#length

* Derived Sensor#nMonitoredSegments: return self.monitors.select(s:Segment|true).size();

* Derived Switch#isMonitored: return not self.monitoredBy.isEmpty();


Note: columns below are system, n threads, url, repo, query, milliseconds taken, number of results.

For railway-repair-2048.xmi
---------------------------

CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/PosLength.ocl      30670   260708
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/ConnectedSegments.ocl      104239  25669
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/RouteSensor.ocl    12995   42220
CDO	Too slow for SemaphoreNeighbor

For railway-repair-512.xmi
--------------------------

CDO	2       tcp://192.168.0.1:2036/ repo1   /tmp/PosLength.ocl      3942    64211
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/ConnectedSegments.ocl      20843   6368
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/RouteSensor.ocl    1977    10387
CDO	Too slow for SemaphoreNeighbor
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/SwitchMonitored.ocl        584     618
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/SwitchSet.ocl      311     1990

For railway-repair-128.xmi
--------------------------

CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/PosLength.ocl      851     15871

For railway-repair-32.xmi
-------------------------

CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/ConnectedSegments.ocl      1534    377
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/PosLength.ocl      686     3824
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/RouteSensor.ocl    292     615
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/SemaphoreNeighbor.ocl      101230  91
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/SwitchMonitored.ocl        104     35
CDO	1       tcp://192.168.0.1:2036/ repo1   /tmp/SwitchSet.ocl      125     114

Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/ConnectedSegments.eol      587     377
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/ConnectedSegments.epl      518     377
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/PosLength.eol      151     3824
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/PosLength.epl      1841    3824
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/RouteSensor.eol    283     615
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/RouteSensor.epl    336     615
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/SemaphoreNeighbor.eol      367     91
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/SemaphoreNeighbor.epl      917     91
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/SwitchMonitored.eol        17      35
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/SwitchMonitored.epl        40      35
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/SwitchSet.eol      62      114
Hawk	1	http://192.168.0.1:8080/thrift/hawk/tuple       railway32       /tmp/SwitchSet.epl      47      114
