Skip to content
The SIGMA solutions to the TTC'16 Class Responsibility Assignment case study
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
additional-models Added additional models May 24, 2016
allmodels Added the other models and presentation Jul 10, 2016
doc Applied reviewers comments Oct 22, 2016
models
project
src-gen/main Initial solution May 16, 2016
src/main Minor improvements May 24, 2016
.gitignore Added post-proceedings Aug 16, 2016
CRAIndexCalculator.jar
README.md
build.sbt Updated the way parameters are handled May 22, 2016
build.sh Initial solution May 16, 2016
generate-sigma-support.scala-console Initial import May 15, 2016
run.sh Minor improvements May 24, 2016

README.md

TTC'16 The Class Responsibility Assignment Case - SIGMA solution

Prerequisites

Running the solution

$ ./build.sh
$ java [<optional parameters>] -jar target/scala-2.11/ttc16-cra-sigma_2.11-1.0-one-jar.jar <input> <output>
or
$ ./run.sh <model directory> [<optional parameters>] # to run multiple models capturing some statistics
eg.
$ ./run.sh models # runs CRA on all models in models directory and

where optional parameters are:

  • -Dalgorithm=<value> (default = NSGAIII)
  • -DnumRuns=<value> (default = 10)
  • -DpopulationSize=<value> (default = 64)
  • -DmaxEvaluations=<value> (default = 10000)

The result of the run.sh is generated in outputs directory. Next to the models, it contains a CSV file (result.csv) which for each input model outputs:

  • model name
  • cohesion ration
  • coupling ration
  • CRA index
  • execution time

There is also an .out file per model which records the standard output of the transformation process.

Re-generating SIGMA support for the EMF model

Shall the EMF model change, these are the steps to regenerate the EMF support for SIGMA:

$ sbt
...
> consoleQuick
> :load generate-sigma-support.scala-console

Sample Results

The experiment was executed on 3,1 GHz Intel Core i7, 16GB RAM macBook Pro:

$ ./run.sh models
Model Cohesion Coupling CRA Time [s] Runs
TTC_InputRDG_A 4 1 3 10 10
TTC_InputRDG_B 6.67 2.58 4.08 13 10
TTC_InputRDG_C 4.99 2.57 2.41 39 10
TTC_InputRDG_D 9.36 8.50 0.87 91 10
TTC_InputRDG_E 7.14 16.25 -9.11 1416 10

Note: that the time is the total time of all the 10 runs.

$ ./run.sh additional-models -DnumRuns=1
Model Cohesion Coupling CRA Time [s] Runs
TTC_InputRDG_F 9.87 39.37 -29.50 234 1
TTC_InputRDG_G 9.76 369.44 -359.68 1213 1
You can’t perform that action at this time.