Skip to content
Snippets Groups Projects
Select Git revision
  • 1b5e4df5aab8058655d7b8f0afdb1ecceef3423a
  • clf default protected
  • kinetic
  • hydro
  • indigo
  • obsolete/master
  • groovy
  • 0.3.2
  • 0.3.1
  • 0.3.0
  • 0.1.35
  • 0.2.4
  • 0.2.3
  • 0.2.2
  • 0.2.1
  • 0.1.34
  • 0.1.33
  • 0.1.32
  • 0.1.31
  • 0.1.30
  • 0.1.29
  • 0.1.28
  • 0.1.27
  • 0.2.0
  • 0.1.26
  • 0.1.25
  • 0.1.24
27 results

.pydevproject

Blame
  • MetricMeasurement.scala 2.06 KiB
    package ttc2019
    
    import org.rosi_project.model_management.core.ModelElementLists
    import ttc2019.benchmark.Metrics
    
    /**
     * Object to create the metric values from the created target models.
     */
    object MetricMeasurement {
    
      var printDirectly = false
    
      def printMetricsBDT(directly: Boolean = false): Metrics = {
        printDirectly = directly
        val bdd = ModelElementLists.getElementsFromType("sync.bdd.BDD").head.asInstanceOf[_root_.sync.bdd.BDD]
        val numberSubtrees = ModelElementLists.getElementsFromType("sync.bdd.Subtree").size
        val numberLeafs = ModelElementLists.getElementsFromType("sync.bdd.Leaf").size
        
        val maxPath = bdd.getTree().getMaxPath()
        val minPath = bdd.getTree().getMinPath()
        val averagePath = bdd.getTree().getAvgPath()
    
        if (directly) {
          println("Number Subtrees: " + numberSubtrees)
          println("Number Leaf: " + numberLeafs)
          println("Max Path Length: " + maxPath)
          println("Min Path Length: " + minPath)
          println("Average Path Length: " + averagePath)
        }
        Metrics(nLeafs =  numberLeafs, nSubTrees = numberSubtrees, maxPathLength = maxPath, minPathLength = minPath, avgPathLength = averagePath)
      }
    
      def printMetricsBDD(directly: Boolean = false): Metrics = {
        printDirectly = directly
        val bdd = ModelElementLists.getElementsFromType("sync.bddg.BDD").head.asInstanceOf[_root_.sync.bddg.BDD]
        val numberSubtrees = ModelElementLists.getElementsFromType("sync.bddg.Subtree").size
        val numberLeafs = ModelElementLists.getElementsFromType("sync.bddg.Leaf").size
        
        val maxPath = bdd.getRoot().getMaxPath()
        val minPath = bdd.getRoot().getMinPath()
        val averagePath = bdd.getRoot().getAvgPath()  
    
        if (directly) {
          println("Number Subtrees: " + numberSubtrees)
          println("Number Leaf: " + numberLeafs)
          println("Max Path Length: " + maxPath)
          println("Min Path Length: " + minPath)
          println("Average Path Length: " + averagePath)
        }
        Metrics(nLeafs =  numberLeafs, nSubTrees = numberSubtrees, maxPathLength = maxPath, minPathLength = minPath, avgPathLength = averagePath)
      }
    }