diff --git a/trainbenchmark/models/.gitignore b/trainbenchmark/models/.gitignore index 296d9b6f2d35789f1c96dd845a2cf7e2851f555d..769f779cd54db495a69dbda4d49a8c9ac1c3c9ce 100644 --- a/trainbenchmark/models/.gitignore +++ b/trainbenchmark/models/.gitignore @@ -3,6 +3,7 @@ !railway-*-1-*.* !railway-*-2.* !railway-*-2-*.* +!railway-minimal-*.* *railway-*-raw.txt *railway-*.dot !.gitignore diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..b3156ee2cfe3ea727b444b7badca6a71a163178c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"3","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":4}]},"Id":{"k":"t","t":"int","v":3},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"4","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":5}]},"Id":{"k":"t","t":"int","v":4},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"5","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":6}]},"Id":{"k":"t","t":"int","v":5},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"6","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":7}]},"Id":{"k":"t","t":"int","v":6},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"7","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":8}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"8","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"2","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":2},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":3},{"k":"i","t":"TrackElement","v":4},{"k":"i","t":"TrackElement","v":5},{"k":"i","t":"TrackElement","v":6},{"k":"i","t":"TrackElement","v":7},{"k":"i","t":"TrackElement","v":8}]}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-manual.json b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..cb061458f491398ce3fd7f48dfa9e2f6a6b0106c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":3},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":4},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":6}}}]},"Id":{"k":"t","t":"int","v":5},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}}]},"Id":{"k":"t","t":"int","v":6},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":3}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":4}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":5}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":6}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":2}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-relast.json b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..64f95111695bc2862a1f6def3bd2044ae79478b2 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-jastadd-relast.json @@ -0,0 +1,91 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Region" : [ { + "type" : "Region", + "id" : "1", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "2", + "children" : { + "Id" : 3, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "4" ] + } + }, { + "type" : "Segment", + "id" : "4", + "children" : { + "Id" : 4, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "5" ] + } + }, { + "type" : "Segment", + "id" : "5", + "children" : { + "Id" : 5, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "6" ] + } + }, { + "type" : "Segment", + "id" : "6", + "children" : { + "Id" : 6, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "7" ] + } + }, { + "type" : "Segment", + "id" : "7", + "children" : { + "Id" : 7, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "8" ] + } + }, { + "type" : "Segment", + "id" : "8", + "children" : { + "Id" : 8, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "3", + "children" : { + "Id" : 2 + }, + "relations" : { + "monitors" : [ "2", "4", "5", "6", "7", "8" ], + "requiredBy" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..75bf6c6550968adc695bc14822af84d90b973668 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Sensor</data></node><node id="3"><data key="labelV">Segment</data></node><node id="4"><data key="labelV">Segment</data></node><node id="5"><data key="labelV">Segment</data></node><node id="6"><data key="labelV">Segment</data></node><node id="7"><data key="labelV">Segment</data></node><node id="8"><data key="labelV">Segment</data></node><edge id="2" source="0" target="1"><data key="labelE">sensors</data></edge><edge id="9" source="0" target="3"><data key="labelE">elements</data></edge><edge id="10" source="0" target="4"><data key="labelE">elements</data></edge><edge id="11" source="0" target="5"><data key="labelE">elements</data></edge><edge id="12" source="0" target="6"><data key="labelE">elements</data></edge><edge id="13" source="0" target="7"><data key="labelE">elements</data></edge><edge id="14" source="0" target="8"><data key="labelE">elements</data></edge><edge id="15" source="3" target="4"><data key="labelE">connectsTo</data></edge><edge id="16" source="4" target="5"><data key="labelE">connectsTo</data></edge><edge id="17" source="5" target="6"><data key="labelE">connectsTo</data></edge><edge id="18" source="6" target="7"><data key="labelE">connectsTo</data></edge><edge id="19" source="7" target="8"><data key="labelE">connectsTo</data></edge><edge id="20" source="3" target="1"><data key="labelE">monitoredBy</data></edge><edge id="21" source="4" target="1"><data key="labelE">monitoredBy</data></edge><edge id="22" source="5" target="1"><data key="labelE">monitoredBy</data></edge><edge id="23" source="6" target="1"><data key="labelE">monitoredBy</data></edge><edge id="24" source="7" target="1"><data key="labelE">monitoredBy</data></edge><edge id="25" source="8" target="1"><data key="labelE">monitoredBy</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject.xmi b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject.xmi new file mode 100644 index 0000000000000000000000000000000000000000..4eeb51ac30ce563d7de204b1619bac1c2481e3dc --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsInject.xmi @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <regions id="1"> + <sensors id="2" monitors="//@regions.0/@elements.0 //@regions.0/@elements.1 //@regions.0/@elements.2 //@regions.0/@elements.3 //@regions.0/@elements.4 //@regions.0/@elements.5"/> + <elements xsi:type="railway:Segment" id="3" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.1"/> + <elements xsi:type="railway:Segment" id="4" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.2"/> + <elements xsi:type="railway:Segment" id="5" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.3"/> + <elements xsi:type="railway:Segment" id="6" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.4"/> + <elements xsi:type="railway:Segment" id="7" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.5"/> + <elements xsi:type="railway:Segment" id="8" monitoredBy="//@regions.0/@sensors.0"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..b3156ee2cfe3ea727b444b7badca6a71a163178c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"3","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":4}]},"Id":{"k":"t","t":"int","v":3},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"4","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":5}]},"Id":{"k":"t","t":"int","v":4},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"5","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":6}]},"Id":{"k":"t","t":"int","v":5},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"6","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":7}]},"Id":{"k":"t","t":"int","v":6},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"7","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":8}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"8","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"2","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":2},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":3},{"k":"i","t":"TrackElement","v":4},{"k":"i","t":"TrackElement","v":5},{"k":"i","t":"TrackElement","v":6},{"k":"i","t":"TrackElement","v":7},{"k":"i","t":"TrackElement","v":8}]}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-manual.json b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..cb061458f491398ce3fd7f48dfa9e2f6a6b0106c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":3},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":4},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":6}}}]},"Id":{"k":"t","t":"int","v":5},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}}]},"Id":{"k":"t","t":"int","v":6},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":3}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":4}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":5}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":6}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":2}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-relast.json b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..64f95111695bc2862a1f6def3bd2044ae79478b2 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-jastadd-relast.json @@ -0,0 +1,91 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Region" : [ { + "type" : "Region", + "id" : "1", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "2", + "children" : { + "Id" : 3, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "4" ] + } + }, { + "type" : "Segment", + "id" : "4", + "children" : { + "Id" : 4, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "5" ] + } + }, { + "type" : "Segment", + "id" : "5", + "children" : { + "Id" : 5, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "6" ] + } + }, { + "type" : "Segment", + "id" : "6", + "children" : { + "Id" : 6, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "7" ] + } + }, { + "type" : "Segment", + "id" : "7", + "children" : { + "Id" : 7, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "8" ] + } + }, { + "type" : "Segment", + "id" : "8", + "children" : { + "Id" : 8, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "3", + "children" : { + "Id" : 2 + }, + "relations" : { + "monitors" : [ "2", "4", "5", "6", "7", "8" ], + "requiredBy" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..75bf6c6550968adc695bc14822af84d90b973668 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Sensor</data></node><node id="3"><data key="labelV">Segment</data></node><node id="4"><data key="labelV">Segment</data></node><node id="5"><data key="labelV">Segment</data></node><node id="6"><data key="labelV">Segment</data></node><node id="7"><data key="labelV">Segment</data></node><node id="8"><data key="labelV">Segment</data></node><edge id="2" source="0" target="1"><data key="labelE">sensors</data></edge><edge id="9" source="0" target="3"><data key="labelE">elements</data></edge><edge id="10" source="0" target="4"><data key="labelE">elements</data></edge><edge id="11" source="0" target="5"><data key="labelE">elements</data></edge><edge id="12" source="0" target="6"><data key="labelE">elements</data></edge><edge id="13" source="0" target="7"><data key="labelE">elements</data></edge><edge id="14" source="0" target="8"><data key="labelE">elements</data></edge><edge id="15" source="3" target="4"><data key="labelE">connectsTo</data></edge><edge id="16" source="4" target="5"><data key="labelE">connectsTo</data></edge><edge id="17" source="5" target="6"><data key="labelE">connectsTo</data></edge><edge id="18" source="6" target="7"><data key="labelE">connectsTo</data></edge><edge id="19" source="7" target="8"><data key="labelE">connectsTo</data></edge><edge id="20" source="3" target="1"><data key="labelE">monitoredBy</data></edge><edge id="21" source="4" target="1"><data key="labelE">monitoredBy</data></edge><edge id="22" source="5" target="1"><data key="labelE">monitoredBy</data></edge><edge id="23" source="6" target="1"><data key="labelE">monitoredBy</data></edge><edge id="24" source="7" target="1"><data key="labelE">monitoredBy</data></edge><edge id="25" source="8" target="1"><data key="labelE">monitoredBy</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair.xmi b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair.xmi new file mode 100644 index 0000000000000000000000000000000000000000..4eeb51ac30ce563d7de204b1619bac1c2481e3dc --- /dev/null +++ b/trainbenchmark/models/railway-minimal-ConnectedSegmentsRepair.xmi @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <regions id="1"> + <sensors id="2" monitors="//@regions.0/@elements.0 //@regions.0/@elements.1 //@regions.0/@elements.2 //@regions.0/@elements.3 //@regions.0/@elements.4 //@regions.0/@elements.5"/> + <elements xsi:type="railway:Segment" id="3" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.1"/> + <elements xsi:type="railway:Segment" id="4" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.2"/> + <elements xsi:type="railway:Segment" id="5" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.3"/> + <elements xsi:type="railway:Segment" id="6" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.4"/> + <elements xsi:type="railway:Segment" id="7" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.5"/> + <elements xsi:type="railway:Segment" id="8" monitoredBy="//@regions.0/@sensors.0"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff65e23018237badf77b65ccb25c84d5a00e33c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"2","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[]},"_impl_connectsTo":{"k":"RefList","c":[]},"Length":{"k":"t","t":"int","v":-1},"Id":{"k":"t","t":"int","v":2},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-manual.json b/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..c91317dd24edbd5badda676bd7203c3ed06685a1 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"Length":{"k":"t","t":"int","v":-1},"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":2},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-relast.json b/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..8d172f662d1f4a5c36e54be5f4881e5b38237d47 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthInject-jastadd-relast.json @@ -0,0 +1,25 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Region" : [ { + "type" : "Region", + "id" : "1", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "2", + "children" : { + "Id" : 2, + "Length" : -1 + }, + "relations" : { + "monitoredBy" : [ ], + "connectsTo" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthInject-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-PosLengthInject-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..46f2170cdc9dfc1e48235e10ac1afb551cdf8b02 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthInject-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="length" for="node" attr.name="length" attr.type="int"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Segment</data><data key="length">-1</data></node><edge id="3" source="0" target="1"><data key="labelE">elements</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthInject.xmi b/trainbenchmark/models/railway-minimal-PosLengthInject.xmi new file mode 100644 index 0000000000000000000000000000000000000000..003ceac504700835d870324b4fd9f634684ac01e --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthInject.xmi @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <regions id="1"> + <elements xsi:type="railway:Segment" id="2" length="-1"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..b3156ee2cfe3ea727b444b7badca6a71a163178c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"3","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":4}]},"Id":{"k":"t","t":"int","v":3},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"4","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":5}]},"Id":{"k":"t","t":"int","v":4},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"5","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":6}]},"Id":{"k":"t","t":"int","v":5},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"6","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":7}]},"Id":{"k":"t","t":"int","v":6},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"7","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":8}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","id":"8","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":2}]},"_impl_connectsTo":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"2","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":2},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":3},{"k":"i","t":"TrackElement","v":4},{"k":"i","t":"TrackElement","v":5},{"k":"i","t":"TrackElement","v":6},{"k":"i","t":"TrackElement","v":7},{"k":"i","t":"TrackElement","v":8}]}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-manual.json b/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..cb061458f491398ce3fd7f48dfa9e2f6a6b0106c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":3},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":4},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":6}}}]},"Id":{"k":"t","t":"int","v":5},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}}]},"Id":{"k":"t","t":"int","v":6},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":3}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":4}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":5}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":6}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}},{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":2}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-relast.json b/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..64f95111695bc2862a1f6def3bd2044ae79478b2 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthRepair-jastadd-relast.json @@ -0,0 +1,91 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Region" : [ { + "type" : "Region", + "id" : "1", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "2", + "children" : { + "Id" : 3, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "4" ] + } + }, { + "type" : "Segment", + "id" : "4", + "children" : { + "Id" : 4, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "5" ] + } + }, { + "type" : "Segment", + "id" : "5", + "children" : { + "Id" : 5, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "6" ] + } + }, { + "type" : "Segment", + "id" : "6", + "children" : { + "Id" : 6, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "7" ] + } + }, { + "type" : "Segment", + "id" : "7", + "children" : { + "Id" : 7, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "8" ] + } + }, { + "type" : "Segment", + "id" : "8", + "children" : { + "Id" : 8, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "3", + "children" : { + "Id" : 2 + }, + "relations" : { + "monitors" : [ "2", "4", "5", "6", "7", "8" ], + "requiredBy" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthRepair-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-PosLengthRepair-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..75bf6c6550968adc695bc14822af84d90b973668 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthRepair-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Sensor</data></node><node id="3"><data key="labelV">Segment</data></node><node id="4"><data key="labelV">Segment</data></node><node id="5"><data key="labelV">Segment</data></node><node id="6"><data key="labelV">Segment</data></node><node id="7"><data key="labelV">Segment</data></node><node id="8"><data key="labelV">Segment</data></node><edge id="2" source="0" target="1"><data key="labelE">sensors</data></edge><edge id="9" source="0" target="3"><data key="labelE">elements</data></edge><edge id="10" source="0" target="4"><data key="labelE">elements</data></edge><edge id="11" source="0" target="5"><data key="labelE">elements</data></edge><edge id="12" source="0" target="6"><data key="labelE">elements</data></edge><edge id="13" source="0" target="7"><data key="labelE">elements</data></edge><edge id="14" source="0" target="8"><data key="labelE">elements</data></edge><edge id="15" source="3" target="4"><data key="labelE">connectsTo</data></edge><edge id="16" source="4" target="5"><data key="labelE">connectsTo</data></edge><edge id="17" source="5" target="6"><data key="labelE">connectsTo</data></edge><edge id="18" source="6" target="7"><data key="labelE">connectsTo</data></edge><edge id="19" source="7" target="8"><data key="labelE">connectsTo</data></edge><edge id="20" source="3" target="1"><data key="labelE">monitoredBy</data></edge><edge id="21" source="4" target="1"><data key="labelE">monitoredBy</data></edge><edge id="22" source="5" target="1"><data key="labelE">monitoredBy</data></edge><edge id="23" source="6" target="1"><data key="labelE">monitoredBy</data></edge><edge id="24" source="7" target="1"><data key="labelE">monitoredBy</data></edge><edge id="25" source="8" target="1"><data key="labelE">monitoredBy</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-PosLengthRepair.xmi b/trainbenchmark/models/railway-minimal-PosLengthRepair.xmi new file mode 100644 index 0000000000000000000000000000000000000000..4eeb51ac30ce563d7de204b1619bac1c2481e3dc --- /dev/null +++ b/trainbenchmark/models/railway-minimal-PosLengthRepair.xmi @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <regions id="1"> + <sensors id="2" monitors="//@regions.0/@elements.0 //@regions.0/@elements.1 //@regions.0/@elements.2 //@regions.0/@elements.3 //@regions.0/@elements.4 //@regions.0/@elements.5"/> + <elements xsi:type="railway:Segment" id="3" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.1"/> + <elements xsi:type="railway:Segment" id="4" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.2"/> + <elements xsi:type="railway:Segment" id="5" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.3"/> + <elements xsi:type="railway:Segment" id="6" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.4"/> + <elements xsi:type="railway:Segment" id="7" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.5"/> + <elements xsi:type="railway:Segment" id="8" monitoredBy="//@regions.0/@sensors.0"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..831442f137bcc1ec898c3ef156de5661f4bc47e4 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"4","t":"Switch","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":3}]},"_impl_connectsTo":{"k":"RefList","c":[]},"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"_impl_positions":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"3","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":3},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":4}]}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","id":"2","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[]},"SwitchPosition":{"k":"List","c":[{"k":"NT","id":"5","t":"SwitchPosition","c":{"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":5},"_impl_target":{"k":"i","t":"Switch","v":4}}}]},"_impl_entry":{"k":"i","t":"Semaphore","v":null},"Id":{"k":"t","t":"int","v":2},"_impl_exit":{"k":"i","t":"Semaphore","v":null}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-manual.json b/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..30d6d751265b341a09fffb207ec1afca7ef0a94f --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Switch","c":{"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SwitchRef","c":{"Value":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":3}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[{"k":"NT","t":"SwitchPosition","c":{"Target":{"k":"NT","t":"SwitchRef","c":{"Value":{"k":"t","t":"int","v":4}}},"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":5}}}]},"Entry":{"k":"Opt"},"RequiredSensor":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":2},"Exit":{"k":"Opt"}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-relast.json b/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..83f40c80217018c3cdc0b78233d012387a6acdfe --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorInject-jastadd-relast.json @@ -0,0 +1,59 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Route" : [ { + "type" : "Route", + "id" : "1", + "children" : { + "Id" : 2, + "Active" : false, + "SwitchPosition" : [ { + "type" : "SwitchPosition", + "id" : "2", + "children" : { + "Id" : 5, + "Position" : "STRAIGHT" + }, + "relations" : { + "target" : "3" + } + } ] + }, + "relations" : { + "requires" : [ ] + } + } ], + "Region" : [ { + "type" : "Region", + "id" : "4", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Switch", + "id" : "3", + "children" : { + "Id" : 4, + "CurrentPosition" : "STRAIGHT" + }, + "relations" : { + "monitoredBy" : [ "5" ], + "connectsTo" : [ ], + "positions" : [ "2" ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "5", + "children" : { + "Id" : 3 + }, + "relations" : { + "monitors" : [ "3" ], + "requiredBy" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorInject-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-RouteSensorInject-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..7c363396ae792cd3011ef7006a2cd91ac8675d21 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorInject-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="currentPosition" for="node" attr.name="currentPosition" attr.type="string"></key><key id="position" for="node" attr.name="position" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Route</data></node><node id="2"><data key="labelV">Sensor</data></node><node id="3"><data key="labelV">Switch</data><data key="currentPosition">STRAIGHT</data></node><node id="7"><data key="labelV">SwitchPosition</data><data key="position">STRAIGHT</data></node><edge id="5" source="0" target="2"><data key="labelE">sensors</data></edge><edge id="6" source="0" target="3"><data key="labelE">elements</data></edge><edge id="9" source="7" target="3"><data key="labelE">target</data></edge><edge id="10" source="1" target="7"><data key="labelE">follows</data></edge><edge id="11" source="3" target="2"><data key="labelE">monitoredBy</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorInject.xmi b/trainbenchmark/models/railway-minimal-RouteSensorInject.xmi new file mode 100644 index 0000000000000000000000000000000000000000..299e8676530e2768e8e3ce9f4309207dbcf9546e --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorInject.xmi @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <routes id="2"> + <follows id="5" position="STRAIGHT" target="//@regions.0/@elements.0"/> + </routes> + <regions id="1"> + <sensors id="3" monitors="//@regions.0/@elements.0"/> + <elements xsi:type="railway:Switch" id="4" monitoredBy="//@regions.0/@sensors.0" currentPosition="STRAIGHT" positions="//@routes.0/@follows.0"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..831442f137bcc1ec898c3ef156de5661f4bc47e4 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"4","t":"Switch","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":3}]},"_impl_connectsTo":{"k":"RefList","c":[]},"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"_impl_positions":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"3","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":3},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":4}]}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","id":"2","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[]},"SwitchPosition":{"k":"List","c":[{"k":"NT","id":"5","t":"SwitchPosition","c":{"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":5},"_impl_target":{"k":"i","t":"Switch","v":4}}}]},"_impl_entry":{"k":"i","t":"Semaphore","v":null},"Id":{"k":"t","t":"int","v":2},"_impl_exit":{"k":"i","t":"Semaphore","v":null}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-manual.json b/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..30d6d751265b341a09fffb207ec1afca7ef0a94f --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Switch","c":{"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SwitchRef","c":{"Value":{"k":"t","t":"int","v":4}}}]},"Id":{"k":"t","t":"int","v":3}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[{"k":"NT","t":"SwitchPosition","c":{"Target":{"k":"NT","t":"SwitchRef","c":{"Value":{"k":"t","t":"int","v":4}}},"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":5}}}]},"Entry":{"k":"Opt"},"RequiredSensor":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":2},"Exit":{"k":"Opt"}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-relast.json b/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..83f40c80217018c3cdc0b78233d012387a6acdfe --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorRepair-jastadd-relast.json @@ -0,0 +1,59 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Route" : [ { + "type" : "Route", + "id" : "1", + "children" : { + "Id" : 2, + "Active" : false, + "SwitchPosition" : [ { + "type" : "SwitchPosition", + "id" : "2", + "children" : { + "Id" : 5, + "Position" : "STRAIGHT" + }, + "relations" : { + "target" : "3" + } + } ] + }, + "relations" : { + "requires" : [ ] + } + } ], + "Region" : [ { + "type" : "Region", + "id" : "4", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Switch", + "id" : "3", + "children" : { + "Id" : 4, + "CurrentPosition" : "STRAIGHT" + }, + "relations" : { + "monitoredBy" : [ "5" ], + "connectsTo" : [ ], + "positions" : [ "2" ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "5", + "children" : { + "Id" : 3 + }, + "relations" : { + "monitors" : [ "3" ], + "requiredBy" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorRepair-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-RouteSensorRepair-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..7c363396ae792cd3011ef7006a2cd91ac8675d21 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorRepair-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="currentPosition" for="node" attr.name="currentPosition" attr.type="string"></key><key id="position" for="node" attr.name="position" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Route</data></node><node id="2"><data key="labelV">Sensor</data></node><node id="3"><data key="labelV">Switch</data><data key="currentPosition">STRAIGHT</data></node><node id="7"><data key="labelV">SwitchPosition</data><data key="position">STRAIGHT</data></node><edge id="5" source="0" target="2"><data key="labelE">sensors</data></edge><edge id="6" source="0" target="3"><data key="labelE">elements</data></edge><edge id="9" source="7" target="3"><data key="labelE">target</data></edge><edge id="10" source="1" target="7"><data key="labelE">follows</data></edge><edge id="11" source="3" target="2"><data key="labelE">monitoredBy</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-RouteSensorRepair.xmi b/trainbenchmark/models/railway-minimal-RouteSensorRepair.xmi new file mode 100644 index 0000000000000000000000000000000000000000..299e8676530e2768e8e3ce9f4309207dbcf9546e --- /dev/null +++ b/trainbenchmark/models/railway-minimal-RouteSensorRepair.xmi @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <routes id="2"> + <follows id="5" position="STRAIGHT" target="//@regions.0/@elements.0"/> + </routes> + <regions id="1"> + <sensors id="3" monitors="//@regions.0/@elements.0"/> + <elements xsi:type="railway:Switch" id="4" monitoredBy="//@regions.0/@sensors.0" currentPosition="STRAIGHT" positions="//@routes.0/@follows.0"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..345410d22d9dcba90de76ae6075c353a77d09857 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"7","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":5}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":8}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[{"k":"NT","id":"2","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":2}}}]}}},{"k":"NT","id":"8","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":6}]},"_impl_connectsTo":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"5","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[{"k":"i","t":"Route","v":3}]},"Id":{"k":"t","t":"int","v":5},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":7}]}}},{"k":"NT","id":"6","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[{"k":"i","t":"Route","v":4}]},"Id":{"k":"t","t":"int","v":6},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":8}]}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","id":"3","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":5}]},"SwitchPosition":{"k":"List","c":[]},"_impl_entry":{"k":"i","t":"Semaphore","v":null},"Id":{"k":"t","t":"int","v":3},"_impl_exit":{"k":"i","t":"Semaphore","v":2}}},{"k":"NT","id":"4","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":6}]},"SwitchPosition":{"k":"List","c":[]},"_impl_entry":{"k":"i","t":"Semaphore","v":null},"Id":{"k":"t","t":"int","v":4},"_impl_exit":{"k":"i","t":"Semaphore","v":null}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-manual.json b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..be8f81265eb3c2fad6f6ccd90bdd073aa4ea01e0 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[{"k":"NT","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":2}}}]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}}]},"Id":{"k":"t","t":"int","v":5}}},{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":6}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[]},"Entry":{"k":"Opt"},"RequiredSensor":{"k":"List","c":[{"k":"NT","t":"SensorRef","c":{"Value":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":3},"Exit":{"k":"Opt","c":{"k":"NT","t":"SemaphoreRef","c":{"Value":{"k":"t","t":"int","v":2}}}}}},{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[]},"Entry":{"k":"Opt"},"RequiredSensor":{"k":"List","c":[{"k":"NT","t":"SensorRef","c":{"Value":{"k":"t","t":"int","v":6}}}]},"Id":{"k":"t","t":"int","v":4},"Exit":{"k":"Opt"}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-relast.json b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..e6298b0140256f6e6530ce9a6dcae6e29190bd26 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-jastadd-relast.json @@ -0,0 +1,87 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Route" : [ { + "type" : "Route", + "id" : "1", + "children" : { + "Id" : 3, + "Active" : false + }, + "relations" : { + "exit" : "2", + "requires" : [ "3" ] + } + }, { + "type" : "Route", + "id" : "4", + "children" : { + "Id" : 4, + "Active" : false + }, + "relations" : { + "requires" : [ "5" ] + } + } ], + "Region" : [ { + "type" : "Region", + "id" : "6", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "7", + "children" : { + "Id" : 7, + "Length" : 0, + "Semaphore" : [ { + "type" : "Semaphore", + "id" : "2", + "children" : { + "Id" : 2, + "Signal" : "GO" + } + } ] + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "8" ] + } + }, { + "type" : "Segment", + "id" : "8", + "children" : { + "Id" : 8, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "5" ], + "connectsTo" : [ ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "3", + "children" : { + "Id" : 5 + }, + "relations" : { + "monitors" : [ "7" ], + "requiredBy" : [ "1" ] + } + }, { + "type" : "Sensor", + "id" : "5", + "children" : { + "Id" : 6 + }, + "relations" : { + "monitors" : [ "8" ], + "requiredBy" : [ "4" ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..2a17f66defd1e6d71bcc41abb79b663fca13c858 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="signal" for="node" attr.name="signal" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Semaphore</data><data key="signal">GO</data></node><node id="3"><data key="labelV">Route</data></node><node id="5"><data key="labelV">Route</data></node><node id="6"><data key="labelV">Sensor</data></node><node id="7"><data key="labelV">Sensor</data></node><node id="8"><data key="labelV">Segment</data></node><node id="9"><data key="labelV">Segment</data></node><edge id="16" source="5" target="7"><data key="labelE">requires</data></edge><edge id="17" source="8" target="6"><data key="labelE">monitoredBy</data></edge><edge id="18" source="9" target="7"><data key="labelE">monitoredBy</data></edge><edge id="19" source="8" target="9"><data key="labelE">connectsTo</data></edge><edge id="4" source="3" target="1"><data key="labelE">exit</data></edge><edge id="10" source="0" target="6"><data key="labelE">sensors</data></edge><edge id="11" source="0" target="7"><data key="labelE">sensors</data></edge><edge id="12" source="0" target="8"><data key="labelE">elements</data></edge><edge id="13" source="0" target="9"><data key="labelE">elements</data></edge><edge id="14" source="8" target="1"><data key="labelE">semaphores</data></edge><edge id="15" source="3" target="6"><data key="labelE">requires</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject.xmi b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject.xmi new file mode 100644 index 0000000000000000000000000000000000000000..0670e45a093ea72e9a65da0d13f7f0e955927ae1 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborInject.xmi @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <routes id="3" requires="//@regions.0/@sensors.0" exit="//@regions.0/@elements.0/@semaphores.0"/> + <routes id="4" requires="//@regions.0/@sensors.1"/> + <regions id="1"> + <sensors id="5" monitors="//@regions.0/@elements.0"/> + <sensors id="6" monitors="//@regions.0/@elements.1"/> + <elements xsi:type="railway:Segment" id="7" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.1"> + <semaphores id="2" signal="GO"/> + </elements> + <elements xsi:type="railway:Segment" id="8" monitoredBy="//@regions.0/@sensors.1"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..345410d22d9dcba90de76ae6075c353a77d09857 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"7","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":5}]},"_impl_connectsTo":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":8}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[{"k":"NT","id":"2","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":2}}}]}}},{"k":"NT","id":"8","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":6}]},"_impl_connectsTo":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"5","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[{"k":"i","t":"Route","v":3}]},"Id":{"k":"t","t":"int","v":5},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":7}]}}},{"k":"NT","id":"6","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[{"k":"i","t":"Route","v":4}]},"Id":{"k":"t","t":"int","v":6},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":8}]}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","id":"3","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":5}]},"SwitchPosition":{"k":"List","c":[]},"_impl_entry":{"k":"i","t":"Semaphore","v":null},"Id":{"k":"t","t":"int","v":3},"_impl_exit":{"k":"i","t":"Semaphore","v":2}}},{"k":"NT","id":"4","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":6}]},"SwitchPosition":{"k":"List","c":[]},"_impl_entry":{"k":"i","t":"Semaphore","v":null},"Id":{"k":"t","t":"int","v":4},"_impl_exit":{"k":"i","t":"Semaphore","v":null}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-manual.json b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..be8f81265eb3c2fad6f6ccd90bdd073aa4ea01e0 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":7},"Semaphore":{"k":"List","c":[{"k":"NT","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":2}}}]}}},{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":8},"Semaphore":{"k":"List","c":[]}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":7}}}]},"Id":{"k":"t","t":"int","v":5}}},{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SegmentRef","c":{"Value":{"k":"t","t":"int","v":8}}}]},"Id":{"k":"t","t":"int","v":6}}}]}}}]},"Route":{"k":"List","c":[{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[]},"Entry":{"k":"Opt"},"RequiredSensor":{"k":"List","c":[{"k":"NT","t":"SensorRef","c":{"Value":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":3},"Exit":{"k":"Opt","c":{"k":"NT","t":"SemaphoreRef","c":{"Value":{"k":"t","t":"int","v":2}}}}}},{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[]},"Entry":{"k":"Opt"},"RequiredSensor":{"k":"List","c":[{"k":"NT","t":"SensorRef","c":{"Value":{"k":"t","t":"int","v":6}}}]},"Id":{"k":"t","t":"int","v":4},"Exit":{"k":"Opt"}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-relast.json b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..e6298b0140256f6e6530ce9a6dcae6e29190bd26 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-jastadd-relast.json @@ -0,0 +1,87 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Route" : [ { + "type" : "Route", + "id" : "1", + "children" : { + "Id" : 3, + "Active" : false + }, + "relations" : { + "exit" : "2", + "requires" : [ "3" ] + } + }, { + "type" : "Route", + "id" : "4", + "children" : { + "Id" : 4, + "Active" : false + }, + "relations" : { + "requires" : [ "5" ] + } + } ], + "Region" : [ { + "type" : "Region", + "id" : "6", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "7", + "children" : { + "Id" : 7, + "Length" : 0, + "Semaphore" : [ { + "type" : "Semaphore", + "id" : "2", + "children" : { + "Id" : 2, + "Signal" : "GO" + } + } ] + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ "8" ] + } + }, { + "type" : "Segment", + "id" : "8", + "children" : { + "Id" : 8, + "Length" : 0 + }, + "relations" : { + "monitoredBy" : [ "5" ], + "connectsTo" : [ ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "3", + "children" : { + "Id" : 5 + }, + "relations" : { + "monitors" : [ "7" ], + "requiredBy" : [ "1" ] + } + }, { + "type" : "Sensor", + "id" : "5", + "children" : { + "Id" : 6 + }, + "relations" : { + "monitors" : [ "8" ], + "requiredBy" : [ "4" ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..2a17f66defd1e6d71bcc41abb79b663fca13c858 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="signal" for="node" attr.name="signal" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Semaphore</data><data key="signal">GO</data></node><node id="3"><data key="labelV">Route</data></node><node id="5"><data key="labelV">Route</data></node><node id="6"><data key="labelV">Sensor</data></node><node id="7"><data key="labelV">Sensor</data></node><node id="8"><data key="labelV">Segment</data></node><node id="9"><data key="labelV">Segment</data></node><edge id="16" source="5" target="7"><data key="labelE">requires</data></edge><edge id="17" source="8" target="6"><data key="labelE">monitoredBy</data></edge><edge id="18" source="9" target="7"><data key="labelE">monitoredBy</data></edge><edge id="19" source="8" target="9"><data key="labelE">connectsTo</data></edge><edge id="4" source="3" target="1"><data key="labelE">exit</data></edge><edge id="10" source="0" target="6"><data key="labelE">sensors</data></edge><edge id="11" source="0" target="7"><data key="labelE">sensors</data></edge><edge id="12" source="0" target="8"><data key="labelE">elements</data></edge><edge id="13" source="0" target="9"><data key="labelE">elements</data></edge><edge id="14" source="8" target="1"><data key="labelE">semaphores</data></edge><edge id="15" source="3" target="6"><data key="labelE">requires</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair.xmi b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair.xmi new file mode 100644 index 0000000000000000000000000000000000000000..0670e45a093ea72e9a65da0d13f7f0e955927ae1 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SemaphoreNeighborRepair.xmi @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <routes id="3" requires="//@regions.0/@sensors.0" exit="//@regions.0/@elements.0/@semaphores.0"/> + <routes id="4" requires="//@regions.0/@sensors.1"/> + <regions id="1"> + <sensors id="5" monitors="//@regions.0/@elements.0"/> + <sensors id="6" monitors="//@regions.0/@elements.1"/> + <elements xsi:type="railway:Segment" id="7" monitoredBy="//@regions.0/@sensors.0" connectsTo="//@regions.0/@elements.1"> + <semaphores id="2" signal="GO"/> + </elements> + <elements xsi:type="railway:Segment" id="8" monitoredBy="//@regions.0/@sensors.1"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..6d193fa702eb2b25407d18d95afecf0b96bef139 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"2","t":"Switch","c":{"_impl_monitoredBy":{"k":"RefList","c":[{"k":"i","t":"Sensor","v":3}]},"_impl_connectsTo":{"k":"RefList","c":[]},"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"_impl_positions":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":2}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","id":"3","t":"Sensor","c":{"_impl_requiredBy":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":3},"_impl_monitors":{"k":"RefList","c":[{"k":"i","t":"TrackElement","v":2}]}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-manual.json b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..3263a37927fd9ed3bf9e9babc2634119376165c6 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Switch","c":{"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":2}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[{"k":"NT","t":"Sensor","c":{"MonitoredElement":{"k":"List","c":[{"k":"NT","t":"SwitchRef","c":{"Value":{"k":"t","t":"int","v":2}}}]},"Id":{"k":"t","t":"int","v":3}}}]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-relast.json b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..1375edfbff4d6583197f9d37384e7c0e8ef8a25c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-jastadd-relast.json @@ -0,0 +1,37 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Region" : [ { + "type" : "Region", + "id" : "1", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Switch", + "id" : "2", + "children" : { + "Id" : 2, + "CurrentPosition" : "STRAIGHT" + }, + "relations" : { + "monitoredBy" : [ "3" ], + "connectsTo" : [ ], + "positions" : [ ] + } + } ], + "Sensor" : [ { + "type" : "Sensor", + "id" : "3", + "children" : { + "Id" : 3 + }, + "relations" : { + "monitors" : [ "2" ], + "requiredBy" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..915fe4e0ffc6b2023fa1cd0cc12f44f9f469567c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="currentPosition" for="node" attr.name="currentPosition" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Switch</data><data key="currentPosition">STRAIGHT</data></node><node id="3"><data key="labelV">Sensor</data></node><edge id="4" source="0" target="3"><data key="labelE">sensors</data></edge><edge id="5" source="0" target="1"><data key="labelE">elements</data></edge><edge id="6" source="1" target="3"><data key="labelE">monitoredBy</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredInject.xmi b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject.xmi new file mode 100644 index 0000000000000000000000000000000000000000..758d1a572de0d108d1ef2bddcc270399434b33ef --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredInject.xmi @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <regions id="1"> + <sensors id="3" monitors="//@regions.0/@elements.0"/> + <elements xsi:type="railway:Switch" id="2" monitoredBy="//@regions.0/@sensors.0" currentPosition="STRAIGHT"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..17808e09990a7950021661a7f45757b203a14130 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"2","t":"Switch","c":{"_impl_monitoredBy":{"k":"RefList","c":[]},"_impl_connectsTo":{"k":"RefList","c":[]},"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"_impl_positions":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":2}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-manual.json b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..cb537a160dbcf05c4be7d0f16fa3b310d032a18f --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Switch","c":{"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":2}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-relast.json b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..3d52a824ac559e9905db62986f0c376960c51953 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-jastadd-relast.json @@ -0,0 +1,26 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Region" : [ { + "type" : "Region", + "id" : "1", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Switch", + "id" : "2", + "children" : { + "Id" : 2, + "CurrentPosition" : "STRAIGHT" + }, + "relations" : { + "monitoredBy" : [ ], + "connectsTo" : [ ], + "positions" : [ ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..12a60849e959bf1c56744c15f7cb8649b0adaa6e --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="currentPosition" for="node" attr.name="currentPosition" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Switch</data><data key="currentPosition">STRAIGHT</data></node><edge id="3" source="0" target="1"><data key="labelE">elements</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair.xmi b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair.xmi new file mode 100644 index 0000000000000000000000000000000000000000..bfcd56dfd686d0986eebfa367050309f04e1bef6 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchMonitoredRepair.xmi @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <regions id="1"> + <elements xsi:type="railway:Switch" id="2" currentPosition="STRAIGHT"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..0b5ff9e239a799e030a515c98225b54762458ee7 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"2","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[]},"_impl_connectsTo":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":2},"Semaphore":{"k":"List","c":[{"k":"NT","id":"3","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":3}}}]}}},{"k":"NT","id":"5","t":"Switch","c":{"_impl_monitoredBy":{"k":"RefList","c":[]},"_impl_connectsTo":{"k":"RefList","c":[]},"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"DIVERGING"},"_impl_positions":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[{"k":"NT","id":"4","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[]},"SwitchPosition":{"k":"List","c":[{"k":"NT","id":"6","t":"SwitchPosition","c":{"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":6},"_impl_target":{"k":"i","t":"Switch","v":5}}}]},"_impl_entry":{"k":"i","t":"Semaphore","v":3},"Id":{"k":"t","t":"int","v":4},"_impl_exit":{"k":"i","t":"Semaphore","v":null}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-manual.json b/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..5dae1003b48dc962a44fe87fa4c898874b0148fb --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":2},"Semaphore":{"k":"List","c":[{"k":"NT","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":3}}}]}}},{"k":"NT","t":"Switch","c":{"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"DIVERGING"},"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[{"k":"NT","t":"SwitchPosition","c":{"Target":{"k":"NT","t":"SwitchRef","c":{"Value":{"k":"t","t":"int","v":5}}},"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":6}}}]},"Entry":{"k":"Opt","c":{"k":"NT","t":"SemaphoreRef","c":{"Value":{"k":"t","t":"int","v":3}}}},"RequiredSensor":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":4},"Exit":{"k":"Opt"}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-relast.json b/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..13441b39f0aaf8c6436477f85345ae42623ce872 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetInject-jastadd-relast.json @@ -0,0 +1,68 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Route" : [ { + "type" : "Route", + "id" : "1", + "children" : { + "Id" : 4, + "Active" : false, + "SwitchPosition" : [ { + "type" : "SwitchPosition", + "id" : "2", + "children" : { + "Id" : 6, + "Position" : "STRAIGHT" + }, + "relations" : { + "target" : "3" + } + } ] + }, + "relations" : { + "requires" : [ ], + "entry" : "4" + } + } ], + "Region" : [ { + "type" : "Region", + "id" : "5", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "6", + "children" : { + "Id" : 2, + "Length" : 0, + "Semaphore" : [ { + "type" : "Semaphore", + "id" : "4", + "children" : { + "Id" : 3, + "Signal" : "GO" + } + } ] + }, + "relations" : { + "monitoredBy" : [ ], + "connectsTo" : [ ] + } + }, { + "type" : "Switch", + "id" : "3", + "children" : { + "Id" : 5, + "CurrentPosition" : "DIVERGING" + }, + "relations" : { + "monitoredBy" : [ ], + "connectsTo" : [ ], + "positions" : [ "2" ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetInject-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-SwitchSetInject-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..f66c2314890191a78ed87a5db5e83081df60c582 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetInject-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="currentPosition" for="node" attr.name="currentPosition" attr.type="string"></key><key id="position" for="node" attr.name="position" attr.type="string"></key><key id="signal" for="node" attr.name="signal" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Segment</data></node><node id="3"><data key="labelV">Semaphore</data><data key="signal">GO</data></node><node id="6"><data key="labelV">Route</data></node><node id="8"><data key="labelV">Switch</data><data key="currentPosition">DIVERGING</data></node><node id="11"><data key="labelV">SwitchPosition</data><data key="position">STRAIGHT</data></node><edge id="2" source="0" target="1"><data key="labelE">elements</data></edge><edge id="5" source="1" target="3"><data key="labelE">semaphores</data></edge><edge id="7" source="6" target="3"><data key="labelE">entry</data></edge><edge id="10" source="0" target="8"><data key="labelE">elements</data></edge><edge id="13" source="11" target="8"><data key="labelE">target</data></edge><edge id="14" source="6" target="11"><data key="labelE">follows</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetInject.xmi b/trainbenchmark/models/railway-minimal-SwitchSetInject.xmi new file mode 100644 index 0000000000000000000000000000000000000000..413be5aef019c6d1ad12a23f63b807325d6fb37c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetInject.xmi @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <routes id="4" entry="//@regions.0/@elements.0/@semaphores.0"> + <follows id="6" position="STRAIGHT" target="//@regions.0/@elements.1"/> + </routes> + <regions id="1"> + <elements xsi:type="railway:Segment" id="2"> + <semaphores id="3" signal="GO"/> + </elements> + <elements xsi:type="railway:Switch" id="5" currentPosition="DIVERGING" positions="//@routes.0/@follows.0"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-manual-intrinsic.json b/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-manual-intrinsic.json new file mode 100644 index 0000000000000000000000000000000000000000..0b5ff9e239a799e030a515c98225b54762458ee7 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-manual-intrinsic.json @@ -0,0 +1 @@ +{"k":"NT","id":"0","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","id":"1","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","id":"2","t":"Segment","c":{"_impl_monitoredBy":{"k":"RefList","c":[]},"_impl_connectsTo":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":2},"Semaphore":{"k":"List","c":[{"k":"NT","id":"3","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":3}}}]}}},{"k":"NT","id":"5","t":"Switch","c":{"_impl_monitoredBy":{"k":"RefList","c":[]},"_impl_connectsTo":{"k":"RefList","c":[]},"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"DIVERGING"},"_impl_positions":{"k":"RefList","c":[]},"Id":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[{"k":"NT","id":"4","t":"Route","c":{"_impl_requires":{"k":"RefList","c":[]},"SwitchPosition":{"k":"List","c":[{"k":"NT","id":"6","t":"SwitchPosition","c":{"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":6},"_impl_target":{"k":"i","t":"Switch","v":5}}}]},"_impl_entry":{"k":"i","t":"Semaphore","v":3},"Id":{"k":"t","t":"int","v":4},"_impl_exit":{"k":"i","t":"Semaphore","v":null}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-manual.json b/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-manual.json new file mode 100644 index 0000000000000000000000000000000000000000..5dae1003b48dc962a44fe87fa4c898874b0148fb --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-manual.json @@ -0,0 +1 @@ +{"k":"NT","t":"RailwayContainer","c":{"Region":{"k":"List","c":[{"k":"NT","t":"Region","c":{"TrackElement":{"k":"List","c":[{"k":"NT","t":"Segment","c":{"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":2},"Semaphore":{"k":"List","c":[{"k":"NT","t":"Semaphore","c":{"Signal":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Signal","v":"GO"},"Id":{"k":"t","t":"int","v":3}}}]}}},{"k":"NT","t":"Switch","c":{"CurrentPosition":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"DIVERGING"},"ConnectedElement":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":5}}}]},"Id":{"k":"t","t":"int","v":1},"Sensor":{"k":"List","c":[]}}}]},"Route":{"k":"List","c":[{"k":"NT","t":"Route","c":{"SwitchPosition":{"k":"List","c":[{"k":"NT","t":"SwitchPosition","c":{"Target":{"k":"NT","t":"SwitchRef","c":{"Value":{"k":"t","t":"int","v":5}}},"Position":{"k":"enum","t":"de.tudresden.inf.st.train.jastadd.ast.Position","v":"STRAIGHT"},"Id":{"k":"t","t":"int","v":6}}}]},"Entry":{"k":"Opt","c":{"k":"NT","t":"SemaphoreRef","c":{"Value":{"k":"t","t":"int","v":3}}}},"RequiredSensor":{"k":"List","c":[]},"Id":{"k":"t","t":"int","v":4},"Exit":{"k":"Opt"}}}]}}} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-relast.json b/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-relast.json new file mode 100644 index 0000000000000000000000000000000000000000..13441b39f0aaf8c6436477f85345ae42623ce872 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetRepair-jastadd-relast.json @@ -0,0 +1,68 @@ +{ + "type" : "RailwayContainer", + "id" : "0", + "children" : { + "Route" : [ { + "type" : "Route", + "id" : "1", + "children" : { + "Id" : 4, + "Active" : false, + "SwitchPosition" : [ { + "type" : "SwitchPosition", + "id" : "2", + "children" : { + "Id" : 6, + "Position" : "STRAIGHT" + }, + "relations" : { + "target" : "3" + } + } ] + }, + "relations" : { + "requires" : [ ], + "entry" : "4" + } + } ], + "Region" : [ { + "type" : "Region", + "id" : "5", + "children" : { + "Id" : 1, + "TrackElement" : [ { + "type" : "Segment", + "id" : "6", + "children" : { + "Id" : 2, + "Length" : 0, + "Semaphore" : [ { + "type" : "Semaphore", + "id" : "4", + "children" : { + "Id" : 3, + "Signal" : "GO" + } + } ] + }, + "relations" : { + "monitoredBy" : [ ], + "connectsTo" : [ ] + } + }, { + "type" : "Switch", + "id" : "3", + "children" : { + "Id" : 5, + "CurrentPosition" : "DIVERGING" + }, + "relations" : { + "monitoredBy" : [ ], + "connectsTo" : [ ], + "positions" : [ "2" ] + } + } ] + } + } ] + } +} \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetRepair-tinkerpop.graphml b/trainbenchmark/models/railway-minimal-SwitchSetRepair-tinkerpop.graphml new file mode 100644 index 0000000000000000000000000000000000000000..f66c2314890191a78ed87a5db5e83081df60c582 --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetRepair-tinkerpop.graphml @@ -0,0 +1 @@ +<?xml version="1.0" ?><graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd"><key id="labelV" for="node" attr.name="labelV" attr.type="string"></key><key id="currentPosition" for="node" attr.name="currentPosition" attr.type="string"></key><key id="position" for="node" attr.name="position" attr.type="string"></key><key id="signal" for="node" attr.name="signal" attr.type="string"></key><key id="labelE" for="edge" attr.name="labelE" attr.type="string"></key><graph id="G" edgedefault="directed"><node id="0"><data key="labelV">Region</data></node><node id="1"><data key="labelV">Segment</data></node><node id="3"><data key="labelV">Semaphore</data><data key="signal">GO</data></node><node id="6"><data key="labelV">Route</data></node><node id="8"><data key="labelV">Switch</data><data key="currentPosition">DIVERGING</data></node><node id="11"><data key="labelV">SwitchPosition</data><data key="position">STRAIGHT</data></node><edge id="2" source="0" target="1"><data key="labelE">elements</data></edge><edge id="5" source="1" target="3"><data key="labelE">semaphores</data></edge><edge id="7" source="6" target="3"><data key="labelE">entry</data></edge><edge id="10" source="0" target="8"><data key="labelE">elements</data></edge><edge id="13" source="11" target="8"><data key="labelE">target</data></edge><edge id="14" source="6" target="11"><data key="labelE">follows</data></edge></graph></graphml> \ No newline at end of file diff --git a/trainbenchmark/models/railway-minimal-SwitchSetRepair.xmi b/trainbenchmark/models/railway-minimal-SwitchSetRepair.xmi new file mode 100644 index 0000000000000000000000000000000000000000..413be5aef019c6d1ad12a23f63b807325d6fb37c --- /dev/null +++ b/trainbenchmark/models/railway-minimal-SwitchSetRepair.xmi @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="ASCII"?> +<railway:RailwayContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:railway="http://www.semanticweb.org/ontologies/2015/trainbenchmark"> + <routes id="4" entry="//@regions.0/@elements.0/@semaphores.0"> + <follows id="6" position="STRAIGHT" target="//@regions.0/@elements.1"/> + </routes> + <regions id="1"> + <elements xsi:type="railway:Segment" id="2"> + <semaphores id="3" signal="GO"/> + </elements> + <elements xsi:type="railway:Switch" id="5" currentPosition="DIVERGING" positions="//@routes.0/@follows.0"/> + </regions> +</railway:RailwayContainer> diff --git a/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/minimal/MinimalSwitchMonitoredInjectGenerator.java b/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/minimal/MinimalSwitchMonitoredInjectGenerator.java index 41a0177f22811c688c73e0d07790cc7386fda501..592e56d657565c7dc230f66238a73487436a8a6a 100644 --- a/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/minimal/MinimalSwitchMonitoredInjectGenerator.java +++ b/trainbenchmark/trainbenchmark-generator/src/main/java/hu/bme/mit/trainbenchmark/generator/minimal/MinimalSwitchMonitoredInjectGenerator.java @@ -19,8 +19,10 @@ public class MinimalSwitchMonitoredInjectGenerator extends MinimalModelGenerator final Object region = serializer.createVertex(REGION); final Object sw = serializer.createVertex(SWITCH); serializer.setAttribute(SWITCH, sw, CURRENTPOSITION, Position.STRAIGHT); - + final Object sensor = serializer.createVertex(SENSOR); + serializer.createEdge(SENSORS, region, sensor); serializer.createEdge(ELEMENTS, region, sw); + serializer.createEdge(MONITORED_BY, sw, sensor); } } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/IncrementalSwitchMonitoredInjectTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/IncrementalSwitchMonitoredInjectTest.java new file mode 100644 index 0000000000000000000000000000000000000000..36b16bb58abccd081505fb7cb90a5b12778d7791 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/IncrementalSwitchMonitoredInjectTest.java @@ -0,0 +1,89 @@ +package de.tudresden.inf.st.train.jastadd.test; + +import de.tudresden.inf.st.train.jastadd.ast.Position; +import de.tudresden.inf.st.train.jastadd.ast.RailwayContainer; +import de.tudresden.inf.st.train.jastadd.ast.Sensor; +import de.tudresden.inf.st.train.jastadd.ast.Switch; +import de.tudresden.inf.st.train.jastadd.driver.JastaddDriver; +import org.junit.Assert; +import org.junit.Test; + +import java.io.IOException; +import java.util.Collection; + +public class IncrementalSwitchMonitoredInjectTest { + + @Test + public void testIncrementalCollection() throws IOException { + + JastaddDriver driver = JastaddDriver.create(false, null); + + RailwayContainer model = null; + + driver.read("../models/railway-minimal-SwitchMonitoredInject-jastadd-manual.json"); + model = driver.getModel(); + Switch beforeSwitch = new Switch(); + beforeSwitch.setCurrentPosition(Position.STRAIGHT); + + Switch afterSwitch = new Switch(); + afterSwitch.setCurrentPosition(Position.STRAIGHT); + + org.junit.Assert.assertNotNull(model); + + // first, find switch monitored inject match + Collection<Switch> switches = model.switchMonitoredInjectMatches(); + Assert.assertEquals(1, switches.size()); + + model.getRegion(0).getTrackElementList().insertChild(beforeSwitch, 0); + model.getRegion(0).getTrackElementList().add(afterSwitch); + + // assert that we have three switches and one sensor + Assert.assertEquals(1, model.getNumRegion()); + Assert.assertNotNull(model.getRegion(0)); + Assert.assertEquals(3, model.getRegion(0).getNumTrackElement()); + Assert.assertTrue(model.getRegion(0).getTrackElement(0).isSwitch()); + Assert.assertTrue(model.getRegion(0).getTrackElement(1).isSwitch()); + Assert.assertTrue(model.getRegion(0).getTrackElement(2).isSwitch()); + + Assert.assertEquals(beforeSwitch, model.getRegion(0).getTrackElement(0)); + Assert.assertEquals(afterSwitch, model.getRegion(0).getTrackElement(2)); + + Switch monitoredSwitch = model.getRegion(0).getTrackElement(1).asSwitch(); + Assert.assertNotNull(monitoredSwitch); + + Assert.assertEquals(1, model.getRegion(0).getNumSensor()); + Sensor sensor = model.getRegion(0).getSensor(0); + + // first, assert monitoredBy and monitors relation + Assert.assertEquals(1, sensor.getNumMonitoredElement()); + Assert.assertEquals(1, sensor.monitors().size()); + Assert.assertEquals(monitoredSwitch, sensor.getMonitoredElement(0).getSwitch()); + Assert.assertEquals(1, monitoredSwitch.monitoredBy().size()); + Assert.assertEquals(sensor, monitoredSwitch.monitoredBy().get(0)); + + //next, remove monitored by relation + sensor.getMonitoredElementList().removeChild(0); + + // check if relation is removed + Assert.assertEquals(0, sensor.getNumMonitoredElement()); + Assert.assertEquals(0, sensor.monitors().size()); + Assert.assertEquals(0, monitoredSwitch.monitoredBy().size()); + + // remove the switch + model.getRegion(0).getTrackElementList().removeChild(0); + + // next, assert there are 2 inject matches + switches = model.switchMonitoredInjectMatches(); + Assert.assertEquals(2, switches.size()); + + // remove the sensor + model.getRegion(0).getSensorList().removeChild(0); + Assert.assertEquals(0, model.getRegion(0).getNumSensor()); + + // next, assert there are 2 inject matches + switches = model.switchMonitoredInjectMatches(); + Assert.assertEquals(2, switches.size()); + + } + +}