Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Erwan BOUSSE
moclodash
Commits
178b9440
Commit
178b9440
authored
Apr 01, 2014
by
Erwan Bousse
Browse files
Beggining maveninsation
parent
5ab9e438
Changes
117
Hide whitespace changes
Inline
Side-by-side
External Plug-in Libraries/.classpath
deleted
100644 → 0
View file @
5ab9e438
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry
kind=
"con"
path=
"org.eclipse.jdt.launching.JRE_CONTAINER"
/>
<classpathentry
kind=
"con"
path=
"org.eclipse.pde.core.externalJavaSearch"
/>
<classpathentry
kind=
"output"
path=
""
/>
</classpath>
External Plug-in Libraries/.gitignore
0 → 100644
View file @
178b9440
/bin
External Plug-in Libraries/.searchable
View file @
178b9440
#
#
Mon Mar 10 00:11:51
CET 2014
#
Tue Apr 01 09:40:23
CE
S
T 2014
searchablePlugins=org.eclipse.emf.importer,org.eclipse.emf.importer.ecore,org.eclipse.pde.ui
fr.inria.diverse.cloning.benchmark.common/META-INF/MANIFEST.MF
View file @
178b9440
...
...
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: BenchmarkBase2
Bundle-SymbolicName: fr.inria.diverse.cloning.benchmark.common
Bundle-Version:
1.0
.0.qualifier
Bundle-Version:
0.1
.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: fr.inria.diverse.cloning.benchmark.common
Require-Bundle: org.eclipse.emf.ecore,
...
...
fr.inria.diverse.cloning.benchmark.common/pom.xml
0 → 100644
View file @
178b9440
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning.benchmark
</groupId>
<artifactId>
fr.inria.diverse.cloning.benchmark.common
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
eclipse-plugin
</packaging>
<properties>
<tycho.version>
0.20.0
</tycho.version>
<!--<tycho-extras.version>[0.19.0,)</tycho-extras.version>-->
<kepler-repo.url>
http://download.eclipse.org/releases/kepler
</kepler-repo.url>
</properties>
<repositories>
<repository>
<id>
kepler
</id>
<url>
${kepler-repo.url}
</url>
<layout>
p2
</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>
org.eclipse.tycho
</groupId>
<artifactId>
tycho-maven-plugin
</artifactId>
<version>
${tycho.version}
</version>
<extensions>
true
</extensions>
</plugin>
</plugins>
</build>
</project>
fr.inria.diverse.cloning.benchmark.common/pom.xml~
0 → 100644
View file @
178b9440
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
fr.inria.diverse.cloning.runtime
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
eclipse-plugin
</packaging>
<properties>
<tycho.version>
0.20.0
</tycho.version>
<!--<tycho-extras.version>[0.19.0,)</tycho-extras.version>-->
<kepler-repo.url>
http://download.eclipse.org/releases/kepler
</kepler-repo.url>
</properties>
<repositories>
<repository>
<id>
kepler
</id>
<url>
${kepler-repo.url}
</url>
<layout>
p2
</layout>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>
org.eclipse.tycho
</groupId>
<artifactId>
tycho-maven-plugin
</artifactId>
<version>
${tycho.version}
</version>
<extensions>
true
</extensions>
</plugin>
</plugins>
</build>
</project>
fr.inria.diverse.cloning.benchmark.materialgenerator/META-INF/MANIFEST.MF
View file @
178b9440
...
...
@@ -3,14 +3,14 @@ Bundle-ManifestVersion: 2
Bundle-Name: BenchmarkGenerator
Bundle-SymbolicName: fr.inria.diverse.cloning.benchmark.materialgenerator;singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
Require-Bundle: org.eclipse.core.runtime
;bundle-version="3.9.0"
,
org.eclipse.core.resources;bundle-version="3.8.101",
org.eclipse.emf.codegen.ecore;bundle-version="2.9.1",
org.eclipse.emf.ecore.xmi;bundle-version="2.9.1",
org.eclipse.jdt.core;bundle-version="3.9.1",
fr.inria.diverse.cloning.runtime;bundle-version="0.1.0",
fr.inria.diverse.cloning.materialgenerator;bundle-version="
1.0
.0",
fr.inria.diverse.cloning.benchmark.common;bundle-version="
1.0
.0"
fr.inria.diverse.cloning.materialgenerator;bundle-version="
0.1
.0",
fr.inria.diverse.cloning.benchmark.common;bundle-version="
0.1
.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: fr.inria.diverse.cloning.benchmark.materialgenerator.generator
Bundle-ClassPath: .,
...
...
fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/generator/BenchmarkMaterialGenerator.java
View file @
178b9440
...
...
@@ -22,7 +22,7 @@ import fr.inria.diverse.cloning.runtime.util.EcoreHelper;
public
class
BenchmarkMaterialGenerator
{
private
static
final
String
[]
cloningNames
=
{
"Deep
"
,
"MutClass
Only"
};
private
static
final
String
[]
cloningNames
=
{
"Deep
Cloning"
,
"ShareAll"
,
"ShareFieldsOnly"
,
"ShareObj
Only"
};
public
static
MetamodelMetrics
computeMetrics
(
ResourceSet
metamodel
)
{
int
mutableProperties
=
0
;
...
...
fr.inria.diverse.cloning.benchmark.materialgenerator/src/fr/inria/diverse/cloning/benchmark/materialgenerator/main/Application.java
View file @
178b9440
...
...
@@ -34,8 +34,10 @@ import fr.inria.diverse.cloning.benchmark.materialgenerator.generator.OsgiBundle
import
fr.inria.diverse.cloning.materialgenerator.generators.EMFCodeGenerator
;
import
fr.inria.diverse.cloning.materialgenerator.generators.PImplGenerator
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.Tagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.DeepTagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.MutClassesOnlyTagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.DeepCloningTagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareFieldsOnlyTagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareAllTagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.ShareObjOnlyTagger
;
import
fr.inria.diverse.cloning.runtime.util.Log
;
/**
...
...
@@ -101,10 +103,9 @@ public class Application implements IApplication {
tmpDir
.
delete
();
tmpDir
.
mkdir
();
IProjectDescription
description
=
ResourcesPlugin
.
getWorkspace
().
newProjectDescription
(
"yayProject"
);
// Problem with spaces?
description
.
setLocationURI
(
java
.
net
.
URI
.
create
(
tmpDir
.
getAbsolutePath
()));
IProject
project
=
ResourcesPlugin
.
getWorkspace
().
getRoot
().
getProject
(
description
.
getName
());
project
.
delete
(
true
,
true
,
null
);
// to make sure that there is nothing there already
...
...
@@ -133,10 +134,10 @@ public class Application implements IApplication {
// Tagging
Set
<
Tagger
>
taggers
=
new
HashSet
<
Tagger
>();
Tagger
tagger
=
new
MutClassesOnly
Tagger
(
rs
,
name
);
Tagger
tagger2
=
new
Deep
Tagger
(
rs
,
name
);
taggers
.
add
(
tagger
);
taggers
.
add
(
tagger2
);
taggers
.
add
(
new
DeepCloning
Tagger
(
rs
,
name
)
)
;
taggers
.
add
(
new
ShareAll
Tagger
(
rs
,
name
)
)
;
taggers
.
add
(
new
ShareFieldsOnlyTagger
(
rs
,
name
)
);
taggers
.
add
(
new
ShareObjOnlyTagger
(
rs
,
name
)
);
metamodels
.
add
(
rs
);
...
...
fr.inria.diverse.cloning.benchmark.metamodelsgenerator/META-INF/MANIFEST.MF
View file @
178b9440
...
...
@@ -9,7 +9,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="1.7.0",
org.eclipse.gmf.runtime.notation;bundle-version="1.7.0",
org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.7.0",
fr.inria.diverse.cloning.materialgenerator;bundle-version="
1.0
.0"
fr.inria.diverse.cloning.materialgenerator;bundle-version="
0.1
.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Import-Package: fr.inria.diverse.cloning.runtime.util
Bundle-ClassPath: lib/jopt-simple-4.6.jar,
...
...
fr.inria.diverse.cloning.benchmark.metamodelsgenerator/bin/benchmarkmetamodelsgenerator/main/Application.class
View file @
178b9440
No preview for this file type
fr.inria.diverse.cloning.benchmark.metamodelsgenerator/src/benchmarkmetamodelsgenerator/main/Application.java
View file @
178b9440
...
...
@@ -17,8 +17,8 @@ import org.eclipse.equinox.app.IApplicationContext;
import
fr.inria.diverse.cloning.materialgenerator.metrics.CloningMetrics
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.Tagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.
Deep
Tagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.
MutClassesOnly
Tagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.
ShareFieldsOnly
Tagger
;
import
fr.inria.diverse.cloning.materialgenerator.tagger.impl.
ShareAll
Tagger
;
import
benchmarkmetamodelsgenerator.diagramgenerator.DiagramGenerator
;
import
benchmarkmetamodelsgenerator.generator.MetamodelGenerator
;
...
...
@@ -100,8 +100,8 @@ public class Application implements IApplication {
resource
.
save
(
null
);
Tagger
t
=
new
MutClassesOnly
Tagger
(
rs
,
name
);
Tagger
t2
=
new
Deep
Tagger
(
rs
,
name
);
Tagger
t
=
new
ShareAll
Tagger
(
rs
,
name
);
Tagger
t2
=
new
ShareFieldsOnly
Tagger
(
rs
,
name
);
double
m1
=
CloningMetrics
.
computeShareableClassesRatio
(
rs
,
t
);
printer1
.
println
(
name
+
"\t"
+
m1
);
...
...
fr.inria.diverse.cloning.benchmark.tool/META-INF/MANIFEST.MF
View file @
178b9440
...
...
@@ -4,7 +4,7 @@ Bundle-Name: BenchmarkTool
Bundle-SymbolicName: fr.inria.diverse.cloning.benchmark.tool;singleton:=true
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
fr.inria.diverse.cloning.benchmark.common;bundle-version="
1.0
.0",
fr.inria.diverse.cloning.benchmark.common;bundle-version="
0.1
.0",
fr.inria.diverse.cloning.runtime,
org.eclipse.emf.ecore;bundle-version="2.9.1",
org.eclipse.mat.api;bundle-version="1.3.0",
...
...
fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool/.metadata/.log
View file @
178b9440
!SESSION 2014-03-
10 21:15:31.638
-----------------------------------------------
!SESSION 2014-03-
31 15:17:24.725
-----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_51
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
Framework arguments: -application fr.inria.diverse.cloning.benchmark.tool.application --benchmarkMetamodels=/
home/ebousse/Documents/Thèse/2014-02 Models paper/benchmarks/big1
/bundle
9
.jar --metamodels=mm8 --nbClones 100
0
--nbtries
50
--outputFile=/tmp/results.csv
Command-line arguments: -application fr.inria.diverse.cloning.benchmark.tool.application -data /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool -dev file:/home/ebousse/Dev/modelCloning/emf/.metadata/.plugins/org.eclipse.pde.core/BenchmarkTool/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog --benchmarkMetamodels=/
home/ebousse/Documents/Thèse/2014-02 Models paper/benchmarks/big1
/bundle
9
.jar --metamodels=mm8 --nbClones 100
0
--nbtries
50
--outputFile=/tmp/results.csv
Framework arguments: -application fr.inria.diverse.cloning.benchmark.tool.application --benchmarkMetamodels=/
tmp
/bundle.jar --metamodels=mm8 --nbClones 100 --nbtries
1
--outputFile=/tmp/results.csv
Command-line arguments: -application fr.inria.diverse.cloning.benchmark.tool.application -data /home/ebousse/Dev/modelCloning/emf/fr.inria.diverse.cloning.benchmark.tool/runtime-BenchmarkTool -dev file:/home/ebousse/Dev/modelCloning/emf/.metadata/.plugins/org.eclipse.pde.core/BenchmarkTool
dummy
/dev.properties -os linux -ws gtk -arch x86_64 -consoleLog --benchmarkMetamodels=/
tmp
/bundle.jar --metamodels=mm8 --nbClones 100 --nbtries
1
--outputFile=/tmp/results.csv
!ENTRY org.eclipse.osgi 2 1 2014-03-
10 21:15:32.803
!ENTRY org.eclipse.osgi 2 1 2014-03-
31 15:17:27.240
!MESSAGE NLS unused message: line_separator_platform_mac_os_9 in: org.eclipse.core.internal.runtime.messages
fr.inria.diverse.cloning.benchmark.tool/src/benchmark/Benchmark.java
View file @
178b9440
...
...
@@ -15,8 +15,8 @@ import org.eclipse.emf.ecore.resource.ResourceSet;
import
fr.inria.diverse.cloning.benchmark.common.ModelCreator
;
import
fr.inria.diverse.cloning.runtime.cloner.Cloner
;
import
fr.inria.diverse.cloning.runtime.cloner.impl.ClonerImpl
;
import
fr.inria.diverse.cloning.runtime.common.CloningMaterial
;
import
fr.inria.diverse.cloning.runtime.impl.ClonerImpl
;
import
fr.inria.diverse.cloning.runtime.util.Log
;
public
class
Benchmark
{
...
...
@@ -61,7 +61,7 @@ public class Benchmark {
}
// TODO option to not keep dumps
public
BenchmarkResults
run
(
CloningMaterial
cloningMaterial
,
boolean
light
,
int
numberOfClones
,
public
BenchmarkResults
run
(
CloningMaterial
cloningMaterial
,
int
numberOfClones
,
boolean
computeMemory
,
boolean
computePerformance
)
{
// Creating the cloner
...
...
@@ -74,10 +74,10 @@ public class Benchmark {
tmpFolder
.
mkdirs
();
// Printing the current run
String
lightString
=
""
;
if
(
light
)
lightString
=
"Light"
;
Log
.
info
(
"Metamodel / Cloning technique: "
+
cloningMaterial
.
getClass
().
getPackage
().
getName
()
+
lightString
);
//
String lightString = "";
//
if (light)
//
lightString = "Light";
Log
.
info
(
"Metamodel / Cloning technique: "
+
cloningMaterial
.
getClass
().
getPackage
().
getName
());
// Creating the model to clone
ResourceSet
model
=
modelCreator
.
createTreeModel
();
...
...
@@ -91,7 +91,7 @@ public class Benchmark {
// Echauffement
for
(
int
i
=
0
;
i
<
1000
;
i
++)
cloner
.
clone
(
model
,
tmpFolder
,
light
);
cloner
.
clone
(
model
,
tmpFolder
);
//
, light);
// Cloning "numberOfClones" times and computing time
Log
.
info
(
"Cloning ("
+
numberOfClones
+
" clones)..."
);
...
...
@@ -99,7 +99,7 @@ public class Benchmark {
long
timeBegin
=
System
.
nanoTime
();
for
(
int
i
=
0
;
i
<
numberOfClones
;
i
++)
clones
.
add
(
cloner
.
clone
(
model
,
tmpFolder
,
light
));
clones
.
add
(
cloner
.
clone
(
model
,
tmpFolder
));
//
, light));
long
timeEnd
=
System
.
nanoTime
();
long
timeSpent
=
(
timeEnd
-
timeBegin
)/
1000000
;
...
...
fr.inria.diverse.cloning.benchmark.tool/src/data/CSVFile.java
View file @
178b9440
...
...
@@ -9,7 +9,7 @@ import fr.inria.diverse.cloning.runtime.util.Log;
public
class
CSVFile
{
private
static
final
String
[]
columns
=
{
"NumberOfClones"
,
"MetamodelName"
,
"MemoryUsed"
,
"TimeSpent"
,
"CloningTechnique"
,
"ModelName"
,
"Light"
,
"OriginalModelPerformance"
,
"CloneModelPerformance"
,
"CloningTechnique"
,
"ModelName"
,
"OriginalModelPerformance"
,
"CloneModelPerformance"
,
"ObjShareShareableClassesRatio"
,
"ObjSharePartShareableClassesRatio"
,
"ObjShareIsolatedShareablePropertiesRatio"
,
...
...
fr.inria.diverse.cloning.benchmark.tool/src/main/Application.java
View file @
178b9440
...
...
@@ -159,14 +159,14 @@ public class Application implements IApplication {
for
(
String
cloning
:
clonings
)
{
for
(
boolean
light
:
lightNot
)
{
//
for (boolean light : lightNot) {
boolean
computePerformance
=
true
;
for
(
int
number
:
nbClones
)
{
String
lightString
=
""
;
if
(
light
)
lightString
=
"Light"
;
//
String lightString = "";
//
if (light)
//
lightString = "Light";
Log
.
info
(
"CSV line "
+
(
counter
++));
...
...
@@ -175,14 +175,14 @@ public class Application implements IApplication {
CloningMaterial
cloningMaterial
=
material
.
getCloningMaterial
(
name
,
cloning
);
// First attempt, to get memory measure at least
BenchmarkResults
result
=
benchmark
.
run
(
cloningMaterial
,
light
,
number
,
true
,
BenchmarkResults
result
=
benchmark
.
run
(
cloningMaterial
,
number
,
true
,
computePerformance
);
multipleResults
.
add
(
result
);
// Remaining attempts, without memory computing
for
(
int
i
=
0
;
i
<
nbtries
-
1
;
i
++)
{
BenchmarkResults
result2
=
benchmark
.
run
(
material
.
getCloningMaterial
(
name
,
cloning
),
light
,
number
,
false
,
material
.
getCloningMaterial
(
name
,
cloning
),
number
,
false
,
computePerformance
);
multipleResults
.
add
(
result2
);
}
...
...
@@ -194,14 +194,14 @@ public class Application implements IApplication {
Log
.
info
(
results
.
toString
());
cloningMaterial
=
material
.
getCloningMaterial
(
name
,
"
MutClassOnly
"
);
CloningMaterial
cloningMaterial2
=
material
.
getCloningMaterial
(
name
,
"
Deep
"
);
cloningMaterial
=
material
.
getCloningMaterial
(
name
,
"
ShareAll
"
);
CloningMaterial
cloningMaterial2
=
material
.
getCloningMaterial
(
name
,
"
ShareFieldsOnly
"
);
MetamodelTags
tags
=
cloningMaterial
.
getTags
();
MetamodelTags
tags2
=
cloningMaterial2
.
getTags
();
csv
.
addLine
(
number
,
"bundle"
+
bundleCounter
+
"-"
+
name
,
results
.
getUsedMemory
(),
results
.
getTimeSpent
(),
cloning
,
"default"
,
lightString
,
results
.
getTimeSpent
(),
cloning
,
"default"
,
results
.
getOriginalModelPerformance
(),
results
.
getCloneModelPerformance
(),
tags
.
getShareableClassesRatio
(),
tags
.
getPartShareableClassesRatio
(),
tags
.
getIsolatedShareablePropertiesRatio
(),
...
...
@@ -221,7 +221,7 @@ public class Application implements IApplication {
}
bundleCounter
++;
BundleLoader
.
uninstallBundle
();
}
//
}
// csv.writeToFile(outputFile);
Log
.
info
(
"Exiting benchmark tool"
);
...
...
fr.inria.diverse.cloning.benchmark.tool/target/classes/benchmark/Benchmark.class
View file @
178b9440
No preview for this file type
fr.inria.diverse.cloning.benchmark.tool/target/classes/data/CSVFile.class
View file @
178b9440
No preview for this file type
fr.inria.diverse.cloning.benchmark.tool/target/classes/main/Application.class
View file @
178b9440
No preview for this file type
Prev
1
2
3
4
5
6
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment