Evaluation tool suite
To measure the obtained memory gains when using Moclodash for cloning models, we made a complete evaluation tool suite.
Downloading the tool
Download links have been removed, now the evaluation tool must be compiled manually.
Java 1.7 required.
Using the tool
This CLI tool has three modes: mmgen
, matgen
and run
.
Metamodel generation mode
The mode mmgen
is used to randomly generate metamodels (ie ecore models).
$ ./cloning-benchmark mmgen
Listening for transport dt_socket at address: 35337
Invalid options: Missing required option(s) ['nbMetamodels', 'maxMutProp', 'outputFolder', 'maxProp', 'maxClasses']
Option (* = required) Description
--------------------- -----------
* --maxClasses <Integer: natural> The maximum number of classes of a
metamodel.
* --maxMutProp <Integer: natural> The maximum number of mutable
properties of a metamodel.
* --maxProp <Integer: natural> The maximum number of properties of a
* --nbMetamodels <Integer: natural> The number of metamodels to generate.
* --outputFolder <File: path> The folder in which metamodels are
generated.
Cloning material generation mode
The mode matgen
is used to call Moclodash cloning material generator on a set of metamodels in order to generate an OSGi bundle ready for evaluation.
$ ./cloning-benchmark matgen
Listening for transport dt_socket at address: 60140
[INFO.] Starting cloning benchmark material generator.
[ERROR] Invalid options: Missing required option(s) ['metamodelsFolder', 'outputFile']
Option (* = required) Description
--------------------- -----------
* --metamodelsFolder <File: path> A folder containing ecore files to
process.
* --outputFile <File: path> The OSGI jar bundle to create.
--outputProjectFolder <File: path> The folder in which all the code is
generated, as a complete eclipse
project. NO SPACE CHARACTERS /!\.
Run mode
The mode run
is used to run the actual evaluation process on an OSGi bundle previously generated (ie a set of metamodels).
$ ./cloning-benchmark run
Listening for transport dt_socket at address: 37191
[ERROR] Invalid options: Missing required option(s) ['nbtries', 'outputFile', 'benchmarkMetamodels', 'nbClones']
Option (* = required) Description
--------------------- -----------
* --benchmarkMetamodels <File: path1, OSGI bundles with all metamodels,
path2,...> created with the generator.
--cloningOperators Cloning operators to use.
--dumpsFolder <File: path> A folder in which memory dumps will be
written.
--keepDumps To keep memory dumps.
--metamodels Specific metamodels to use.
* --nbClones <Integer: 1,10,100...> Series of numbers of clones to create.
* --nbtries <Integer> The number of tries, for better
time/performance results
* --outputFile <File: path> The CSV file to write.