Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support the worsening model generation #17

Merged
merged 57 commits into from
Jun 18, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
a7b5b57
Fix some dependencies
danieledipompeo Feb 5, 2020
74c7a8f
fix dependencies
danieledipompeo Apr 30, 2020
cf6acf6
Change hierarchy between RSolution and Solution
danieledipompeo May 1, 2020
e03a5c0
Update threshold in EVL module
danieledipompeo May 26, 2020
40d031f
Add EPSILON support for performance antipatterns detection
danieledipompeo May 28, 2020
1df8856
update .gitignore
danieledipompeo May 28, 2020
4b3a30d
Merge branch 'dev-updateThr-epsilon' into DEV
danieledipompeo May 28, 2020
32a71d6
add `RemoveClonedAEI` action
danieledipompeo May 29, 2020
befc62c
update logicalSpecification metamodel
danieledipompeo May 29, 2020
b55a181
update generated logical specification code
danieledipompeo May 29, 2020
3ab4617
Add remove clones refactoring action
danieledipompeo May 29, 2020
325eba1
Merge branch 'dev-logicalSpecification' into DEV
danieledipompeo May 29, 2020
2f4361b
clean up the code
danieledipompeo May 29, 2020
2d99bc1
Merge branch 'dev-logicalSpecification' into dev-addRemoveCloneAction
danieledipompeo May 29, 2020
4381847
Fix remove asserts (#14)
danieledipompeo May 30, 2020
e713954
Merge branch 'dev-addRemoveCloneAction' of github.com:SEALABQualityGr…
danieledipompeo May 30, 2020
90ea9eb
Merge branch 'dev-addRemoveCloneAction' into DEV
danieledipompeo Jun 5, 2020
09e1e8c
add easier-core project file
danieledipompeo Jun 5, 2020
eb08dbe
add new ValSpec parse
danieledipompeo Jun 6, 2020
c3bca13
remove println from epsilon files
danieledipompeo Jun 10, 2020
46395c5
fix csv header issue
danieledipompeo Jun 10, 2020
6371811
WIP on genereting worse models
danieledipompeo Jun 10, 2020
2f4b24d
add worsen to the config file
danieledipompeo Jun 10, 2020
f46eb46
some fixes on epsilon-helper
danieledipompeo Jun 15, 2020
2775fd8
minor changes on aemilia refactoring actions
danieledipompeo Jun 15, 2020
243809d
clean up duplicated code
danieledipompeo Jun 15, 2020
bc1615b
update exception management
danieledipompeo Jun 15, 2020
9e529e2
update exception management
danieledipompeo Jun 16, 2020
1a974b4
add support to epsilon
danieledipompeo Jun 16, 2020
99d45df
add support to generate worse models
danieledipompeo Jun 16, 2020
217df1f
mnor changes
danieledipompeo Jun 16, 2020
fdaf255
Change on metamodel
danieledipompeo Jun 16, 2020
6425559
Merge branch 'dev-logicalSpecification' into devFOLImpl
danieledipompeo Jun 16, 2020
0446914
update gitignore
danieledipompeo Jun 16, 2020
bf0e3c9
clean maneger code
danieledipompeo Jun 16, 2020
be4b8b5
fix merge with logicalSpecification branch
danieledipompeo Jun 16, 2020
178236a
fix metamodel
danieledipompeo Jun 16, 2020
24854cc
update genmodel
danieledipompeo Jun 16, 2020
6f86fdf
Merge branch 'dev-logicalSpecification' into devFOLImpl
danieledipompeo Jun 16, 2020
9359449
update and fix generated code
danieledipompeo Jun 16, 2020
363fd14
update genmodel file
danieledipompeo Jun 16, 2020
51aeb1e
Remove duplicated code
danieledipompeo Jun 16, 2020
5ca2f2f
optimize imports and fix utils path
danieledipompeo Jun 16, 2020
85aec1e
fix initialization of source folder
danieledipompeo Jun 16, 2020
ef2b950
update maven dependencies
danieledipompeo Jun 17, 2020
73e9a60
add an input aemilia model
danieledipompeo Jun 18, 2020
3ad17e9
update the `worse model`
danieledipompeo Jun 18, 2020
0b8cb1e
add the progress bar
danieledipompeo Jun 18, 2020
cb1f3b0
minor changes to refactoring operator
danieledipompeo Jun 18, 2020
25151b2
some fixes on AemiliaRSolution
danieledipompeo Jun 18, 2020
9fe6028
fix `instance of` if/else branches
danieledipompeo Jun 18, 2020
ec19a51
minor changes
danieledipompeo Jun 18, 2020
656275f
minor changes
danieledipompeo Jun 18, 2020
f6a8db3
update and add `.classpath`
danieledipompeo Jun 18, 2020
6331551
update `confing.ini` and remove no longer used file
danieledipompeo Jun 18, 2020
f424547
update pom dependencies
danieledipompeo Jun 18, 2020
089e277
a minor change to aemilia controller
danieledipompeo Jun 18, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix merge with logicalSpecification branch
  • Loading branch information
danieledipompeo committed Jun 16, 2020
commit be4b8b55abecef2dc80ba62e768a1ebae2c25b09
21 changes: 21 additions & 0 deletions easier-logicalSpecification/LogicalSpecification/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
2 changes: 2 additions & 0 deletions easier-logicalSpecification/LogicalSpecification/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/bin/
/target/
10 changes: 10 additions & 0 deletions easier-logicalSpecification/LogicalSpecification/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#

bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#

pluginName = LogicalSpecification Model
providerName = www.example.org
37 changes: 37 additions & 0 deletions easier-logicalSpecification/LogicalSpecification/plugin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
-->

<plugin>

<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated logicalSpecification -->
<package
uri="http://it.univaq.disim.seagroup/logicalSpecification"
class="logicalSpecification.LogicalSpecificationPackage"/>
</extension>

<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated logicalSpecification -->
<package
uri="http://it.univaq.disim.seagroup/logicalSpecification/actions/uml"
class="logicalSpecification.actions.UML.UMLPackage"/>
</extension>

<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated logicalSpecification -->
<package
uri="http://it.univaq.disim.seagroup/logicalSpecification/actions/aemilia"
class="logicalSpecification.actions.AEmilia.AEmiliaPackage"/>
</extension>

<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated logicalSpecification -->
<package
uri="http://it.univaq.disim.seagroup/logicalSpecification/antipatterns/performance"
class="logicalSpecification.antipatterns.performance.PerformancePackage"/>
</extension>

</plugin>
56 changes: 56 additions & 0 deletions easier-logicalSpecification/LogicalSpecification/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>it.univaq.disim.sealab</groupId>
<artifactId>easier</artifactId>
<version>0.6.3</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>logicalSpecification</artifactId>
<version>0.6</version>

<properties>
<src.dir>src</src.dir>
</properties>

<build>
<sourceDirectory>${src.dir}</sourceDirectory>
</build>
<repositories>
<repository>
<id>Eclipse Repository</id>
<name>eclipse repo</name>
<url>https://repo.eclipse.org/content/groups/releases/</url>
</repository>
</repositories>

<dependencies>
<!-- https://mvnrepository.com/artifact/org.eclipse.uml2/org.eclipse.uml2.uml -->
<dependency>
<groupId>org.eclipse.uml2</groupId>
<artifactId>org.eclipse.uml2.uml</artifactId>
<version>5.0.1.v20140910-1354</version>
</dependency>

<dependency>
<groupId>it.univaq.disim.sealab</groupId>
<artifactId>aemiliaMetamodel</artifactId>
<version>${easier.aemiliaMetamodel.version}</version>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.eclipse.ocl/org.eclipse.ocl -->
<dependency>
<groupId>org.eclipse.ocl</groupId>
<artifactId>org.eclipse.ocl</artifactId>
<version>3.4.2.v20140725-2242</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
/**
*/
package logicalSpecification;

import org.eclipse.emf.common.util.EList;

/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Action</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link logicalSpecification.Action#getNumOfChanges <em>Num Of Changes</em>}</li>
* <li>{@link logicalSpecification.Action#getCost <em>Cost</em>}</li>
* <li>{@link logicalSpecification.Action#getRefactoring <em>Refactoring</em>}</li>
* <li>{@link logicalSpecification.Action#getParameters <em>Parameters</em>}</li>
* <li>{@link logicalSpecification.Action#getPre <em>Pre</em>}</li>
* <li>{@link logicalSpecification.Action#getPost <em>Post</em>}</li>
* <li>{@link logicalSpecification.Action#getModel <em>Model</em>}</li>
* </ul>
*
* @see logicalSpecification.LogicalSpecificationPackage#getAction()
* @model
* @generated
*/
public interface Action extends NamedElement {
/**
* Returns the value of the '<em><b>Num Of Changes</b></em>' attribute.
* The default value is <code>"0.0"</code>.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Num Of Changes</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Num Of Changes</em>' attribute.
* @see #setNumOfChanges(double)
* @see logicalSpecification.LogicalSpecificationPackage#getAction_NumOfChanges()
* @model default="0.0" required="true"
* @generated
*/
double getNumOfChanges();

/**
* Sets the value of the '{@link logicalSpecification.Action#getNumOfChanges <em>Num Of Changes</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Num Of Changes</em>' attribute.
* @see #getNumOfChanges()
* @generated
*/
void setNumOfChanges(double value);

/**
* Returns the value of the '<em><b>Cost</b></em>' attribute.
* The default value is <code>"0.0"</code>.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Cost</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Cost</em>' attribute.
* @see #setCost(double)
* @see logicalSpecification.LogicalSpecificationPackage#getAction_Cost()
* @model default="0.0" required="true"
* @generated
*/
double getCost();

/**
* Sets the value of the '{@link logicalSpecification.Action#getCost <em>Cost</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Cost</em>' attribute.
* @see #getCost()
* @generated
*/
void setCost(double value);

/**
* Returns the value of the '<em><b>Refactoring</b></em>' container reference.
* It is bidirectional and its opposite is '{@link logicalSpecification.Refactoring#getActions <em>Actions</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Refactoring</em>' container reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Refactoring</em>' container reference.
* @see #setRefactoring(Refactoring)
* @see logicalSpecification.LogicalSpecificationPackage#getAction_Refactoring()
* @see logicalSpecification.Refactoring#getActions
* @model opposite="actions" transient="false"
* @generated
*/
Refactoring getRefactoring();

/**
* Sets the value of the '{@link logicalSpecification.Action#getRefactoring <em>Refactoring</em>}' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Refactoring</em>' container reference.
* @see #getRefactoring()
* @generated
*/
void setRefactoring(Refactoring value);

/**
* Returns the value of the '<em><b>Parameters</b></em>' containment reference list.
* The list contents are of type {@link logicalSpecification.Parameter}.
* It is bidirectional and its opposite is '{@link logicalSpecification.Parameter#getAction <em>Action</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Parameters</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Parameters</em>' containment reference list.
* @see logicalSpecification.LogicalSpecificationPackage#getAction_Parameters()
* @see logicalSpecification.Parameter#getAction
* @model opposite="action" containment="true"
* @generated
*/
EList<Parameter> getParameters();

/**
* Returns the value of the '<em><b>Pre</b></em>' containment reference.
* It is bidirectional and its opposite is '{@link logicalSpecification.PreCondition#getAction <em>Action</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Pre</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Pre</em>' containment reference.
* @see #setPre(PreCondition)
* @see logicalSpecification.LogicalSpecificationPackage#getAction_Pre()
* @see logicalSpecification.PreCondition#getAction
* @model opposite="action" containment="true"
* @generated
*/
PreCondition getPre();

/**
* Sets the value of the '{@link logicalSpecification.Action#getPre <em>Pre</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Pre</em>' containment reference.
* @see #getPre()
* @generated
*/
void setPre(PreCondition value);

/**
* Returns the value of the '<em><b>Post</b></em>' containment reference.
* It is bidirectional and its opposite is '{@link logicalSpecification.PostCondition#getAction <em>Action</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Post</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Post</em>' containment reference.
* @see #setPost(PostCondition)
* @see logicalSpecification.LogicalSpecificationPackage#getAction_Post()
* @see logicalSpecification.PostCondition#getAction
* @model opposite="action" containment="true"
* @generated
*/
PostCondition getPost();

/**
* Sets the value of the '{@link logicalSpecification.Action#getPost <em>Post</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Post</em>' containment reference.
* @see #getPost()
* @generated
*/
void setPost(PostCondition value);

/**
* Returns the value of the '<em><b>Model</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Model</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Model</em>' attribute.
* @see #setModel(Object)
* @see logicalSpecification.LogicalSpecificationPackage#getAction_Model()
* @model
* @generated
*/
Object getModel();

/**
* Sets the value of the '{@link logicalSpecification.Action#getModel <em>Model</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Model</em>' attribute.
* @see #getModel()
* @generated
*/
void setModel(Object value);

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model
* @generated
*/
void execute();

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model
* @generated
*/
void log();

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model
* @generated
*/
void setParameters();

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model
* @generated
*/
void createPreCondition();

/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model
* @generated
*/
void createPostCondition();

} // Action
Loading