From 4d27f2788d2f728d4ee2be8861df09da62bf135f Mon Sep 17 00:00:00 2001 From: ArenBabikian Date: Mon, 3 Feb 2020 15:20:02 -0500 Subject: VAMPIRE: last commit --- .../realistic/metrics/calculations/.CalcC.xtendbin | Bin 0 -> 5158 bytes .../metrics/calculations/.CalcEDA.xtendbin | Bin 0 -> 7314 bytes .../metrics/calculations/.CalcMPC.xtendbin | Bin 0 -> 9662 bytes .../metrics/calculations/.CalcMetric.xtendbin | Bin 0 -> 2555 bytes .../metrics/calculations/.CalcMetric2.xtendbin | Bin 0 -> 2774 bytes .../metrics/calculations/.CalcNA.xtendbin | Bin 0 -> 7937 bytes .../metrics/calculations/.CalcNDA.xtendbin | Bin 0 -> 7017 bytes .../metrics/calculations/.CalcNDC.xtendbin | Bin 0 -> 6481 bytes .../metrics/calculations/.CalcSQRCNT.xtendbin | Bin 0 -> 7453 bytes .../metrics/calculations/.CalcSQRNUM.xtendbin | Bin 0 -> 6922 bytes .../metrics/calculations/.CalcSQRTOT.xtendbin | Bin 0 -> 6549 bytes .../realistic/metrics/calculations/.gitignore | 20 +++++ .../metrics/calculations/CalcSQRMAX.xtend_ | 87 +++++++++++++++++++++ .../metrics/calculations/CalcSQROSZ2.xtend_ | 69 ++++++++++++++++ .../metrics/examples/.FixModelURIs.xtendbin | Bin 0 -> 4429 bytes .../.MetricsCalculationUsingShapes.xtendbin | Bin 0 -> 10168 bytes .../realistic/metrics/examples/.Util.xtendbin | Bin 0 -> 12474 bytes 17 files changed, 176 insertions(+) create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcC.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcEDA.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMPC.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric2.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNA.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDA.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDC.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRCNT.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRNUM.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRTOT.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.gitignore create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQRMAX.xtend_ create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQROSZ2.xtend_ create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.FixModelURIs.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.MetricsCalculationUsingShapes.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.Util.xtendbin (limited to 'Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin') diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcC.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcC.xtendbin new file mode 100644 index 00000000..0c2cbb6e Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcC.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcEDA.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcEDA.xtendbin new file mode 100644 index 00000000..056bbf88 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcEDA.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMPC.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMPC.xtendbin new file mode 100644 index 00000000..40092f54 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMPC.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric.xtendbin new file mode 100644 index 00000000..ae757bb6 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric2.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric2.xtendbin new file mode 100644 index 00000000..ed2b817f Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcMetric2.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNA.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNA.xtendbin new file mode 100644 index 00000000..6d0da896 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNA.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDA.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDA.xtendbin new file mode 100644 index 00000000..a50e372c Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDA.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDC.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDC.xtendbin new file mode 100644 index 00000000..8d56931d Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcNDC.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRCNT.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRCNT.xtendbin new file mode 100644 index 00000000..0641ed7b Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRCNT.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRNUM.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRNUM.xtendbin new file mode 100644 index 00000000..99dd130b Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRNUM.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRTOT.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRTOT.xtendbin new file mode 100644 index 00000000..d397ff4c Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.CalcSQRTOT.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.gitignore b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.gitignore new file mode 100644 index 00000000..f2c394d6 --- /dev/null +++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/.gitignore @@ -0,0 +1,20 @@ +/.CalculationsNA.java._trace +/.CalcNA.java._trace +/.CalcMPC.java._trace +/.CalcMetric.java._trace +/.CalcNDA.java._trace +/.CalcNDC.java._trace +/.CalcEDA.java._trace +/.CalcC.java._trace +/.CalcSQR.java._trace +/.CalcSQRtot.java._trace +/.CalcSQRMAX.java._trace +/.CalcSQRTOT.java._trace +/.CalcSQROSZ.java._trace +/.CalcSQROSZ2.java._trace +/.CalcSQROCOOL.java._trace +/.CalcSQRCNT.java._trace +/.CalcSQRNUM.java._trace +/.SQROSZ.java._trace +/.CalcSQRCC.java._trace +/.CalcMetric2.java._trace diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQRMAX.xtend_ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQRMAX.xtend_ new file mode 100644 index 00000000..071abe38 --- /dev/null +++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQRMAX.xtend_ @@ -0,0 +1,87 @@ +package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculations + +import ca.mcgill.ecse.dslreasoner.realistic.metrics.examples.Util +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import java.util.HashMap +import java.util.Map +import java.util.Set +import org.eclipse.emf.ecore.EObject + +import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* + +class CalcSQRMAX extends CalcMetric{ + + // /////////////////// + // SQRMAX(v) = # squares containing v / (# neighbours of v * max # of neeighbours of any neighbour of v) + // /////////////////// + static val neighbourhoodComputer = new PartialInterpretation2ImmutableTypeLattice + + override calcFromModel(EObject model) { + val nodes = model.eResource.allContents.toList + + // fill HashSet + var Map> node2Neighbours = new HashMap + Util.fillWithNodes(nodes, node2Neighbours) + + // iterate over nodes and add connected nodes + Util.getNeighboursList(nodes, node2Neighbours) + + // Measurements + var totalC = 0.0 + var max2ndNeighbours = 0.0 + var num1stNeighbours = 0.0 + for (node : nodes) { + val neighbours = node.lookup(node2Neighbours) + num1stNeighbours = neighbours.size + max2ndNeighbours = 0 + var numSquares = 0.0 + for (neighbour1 : neighbours) { + for (neighbour2 : neighbours) { + if (neighbour1 != neighbour2) { + val neighsOfNeigh = neighbour1.lookup(node2Neighbours) + if (max2ndNeighbours < neighsOfNeigh.size) { + max2ndNeighbours = neighsOfNeigh.size + } + for (neighOfNeigh1 : neighsOfNeigh) { + if (neighOfNeigh1 != node && neighOfNeigh1.lookup(node2Neighbours).contains(neighbour2)) { +// print(neighbour1) +// print(" ") +// print(neighbour2) +// print(" ") +// print(neighOfNeigh1) +// println() + numSquares++ + } + } + + } + } + } +// println(node) + val num2ndNeighbours = num1stNeighbours * max2ndNeighbours + +// print("(" + numSquares + "x" + num2ndNeighbours) + var sqr = 0.0 + if (num2ndNeighbours != 0) { + sqr = numSquares / num2ndNeighbours + } + +// println("=" + sqr + ")") + totalC += sqr + } + val numNodes = nodes.length + val avgC = totalC / numNodes + + return avgC + } + + override calcFromNHLattice(PartialInterpretation pm) { + return 0.0 +// return getCfromNHLattice(pm, 2, v) + } + + override calcFromNHLattice(PartialInterpretation pm, Integer depth) { + return 0.0 + } +} \ No newline at end of file diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQROSZ2.xtend_ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQROSZ2.xtend_ new file mode 100644 index 00000000..e999d62f --- /dev/null +++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculations/CalcSQROSZ2.xtend_ @@ -0,0 +1,69 @@ +package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculations + +import ca.mcgill.ecse.dslreasoner.realistic.metrics.examples.Util +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import java.util.HashMap +import java.util.Map +import java.util.Set +import org.eclipse.emf.ecore.EObject + +import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* + +class CalcSQROSZ2 extends CalcMetric { + + // /////////////////// + // SQROSZ2(v) = # depth-4 paths that lead to v / total # depth-4 paths + // /////////////////// + static val neighbourhoodComputer = new PartialInterpretation2ImmutableTypeLattice + + override calcFromModel(EObject model) { + val nodes = model.eResource.allContents.toList + + // fill HashSet + var Map> node2Neighbours = new HashMap + Util.fillWithNodes(nodes, node2Neighbours) + + // iterate over nodes and add connected nodes + Util.getNeighboursList(nodes, node2Neighbours) + + // Measurements + var totalSQR = 0.0 + var totalDenom = 0.0 + var num4thNeighbours = 0.0 + for (node : nodes) { + val neighbours = node.lookup(node2Neighbours) + + for (neighbour1 : neighbours) { + val neighbours1 = neighbour1.lookup(node2Neighbours) + + for (neighbour2 : neighbours1) { + val neighbours2 = neighbour2.lookup(node2Neighbours) + + for (neighbour3 : neighbours2) { + val neighbours3 = neighbour3.lookup(node2Neighbours) + num4thNeighbours = neighbours3.size + + if (neighbours3.contains(node)) { + totalSQR += 1 + } + totalDenom += num4thNeighbours + } + } + } + + } + val avgSQR = totalSQR / totalDenom + + return avgSQR + } + + override calcFromNHLattice(PartialInterpretation pm) { + return 0.0 +// return getCfromNHLattice(pm, 2, v) + } + + override calcFromNHLattice(PartialInterpretation pm, Integer depth) { + return 0.0 + } +} \ No newline at end of file diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.FixModelURIs.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.FixModelURIs.xtendbin new file mode 100644 index 00000000..ed4f8ad0 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.FixModelURIs.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.MetricsCalculationUsingShapes.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.MetricsCalculationUsingShapes.xtendbin new file mode 100644 index 00000000..c06ce100 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.MetricsCalculationUsingShapes.xtendbin differ diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.Util.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.Util.xtendbin new file mode 100644 index 00000000..992d5b16 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/bin/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.Util.xtendbin differ -- cgit v1.2.3-54-g00ecf