adaptive-caching-framework

Changes

experiments.sh 69(+40 -29)

framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/StorageException.java 12(+0 -12)

jmeter.log 206(+206 -0)

README.md 89(+89 -0)

Details

diff --git a/evaluation/Applications/AP/spring-petclinic/pom.xml b/evaluation/Applications/AP/spring-petclinic/pom.xml
index fc64e19..e554c95 100644
--- a/evaluation/Applications/AP/spring-petclinic/pom.xml
+++ b/evaluation/Applications/AP/spring-petclinic/pom.xml
@@ -229,7 +229,7 @@
         <dependency>
             <groupId>br.ufrgs.inf.prosoft.adaptivecaching</groupId>
             <artifactId>autonomicmanager</artifactId>
-            <version>0.3.0-SNAPSHOT</version>
+            <version>0.4.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.mongodb</groupId>
@@ -309,7 +309,7 @@
                     </systemProperties>
                 </configuration>
             </plugin>
-            
+
             <!--Specify the encoding for copying resources-->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
@@ -353,7 +353,7 @@
                     <dependency>
                         <groupId>org.aspectj</groupId>
                         <artifactId>aspectjtools</artifactId>
-                        <version>1.8.9</version>
+                        <version>1.8.10</version>
                     </dependency>
                 </dependencies>
             </plugin>
diff --git a/evaluation/Applications/AP/spring-petclinic/spring-petclinic.iml b/evaluation/Applications/AP/spring-petclinic/spring-petclinic.iml
new file mode 100644
index 0000000..1be412a
--- /dev/null
+++ b/evaluation/Applications/AP/spring-petclinic/spring-petclinic.iml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="web" name="Web">
+      <configuration>
+        <descriptors>
+          <deploymentDescriptor name="jetty-web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/jetty-web.xml" />
+        </descriptors>
+        <webroots>
+          <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
+        </webroots>
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+    <facet type="AspectJ" name="AspectJ">
+      <configuration>
+        <option name="aspectPath">
+          <module>
+            <option name="name" value="autonomicmanager" />
+          </module>
+        </option>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-servlet-api:7.0.59" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet.jsp:javax.servlet.jsp-api:2.2.1" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-jasper-el:7.0.59" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-el-api:7.0.59" level="project" />
+    <orderEntry type="library" name="Maven: javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.taglibs:taglibs-standard-jstlel:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.taglibs:taglibs-standard-spec:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.taglibs:taglibs-standard-impl:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.7" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.7" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.7" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.0.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.1.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:asm:1.0.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: asm:asm:3.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:1.9.5.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.11.5.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jdbc-core:1.1.0.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.1.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.8.9" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.tomcat:tomcat-jdbc:8.0.37" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.tomcat:tomcat-juli:8.0.37" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: ch.qos.logback:logback-classic:1.1.7" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.7" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-entitymanager:4.3.11.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging-annotations:1.2.0.Beta1" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:4.3.11.Final" level="project" />
+    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss:jandex:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
+    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:4.0.5.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.0.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.18.1-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-ehcache:4.3.11.Final" level="project" />
+    <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache-core:2.4.3" level="project" />
+    <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache:2.10.2.2.21" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.2.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
+    <orderEntry type="library" name="Maven: org.objenesis:objenesis:2.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-all:1.3" level="project" />
+    <orderEntry type="library" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
+    <orderEntry type="module" module-name="autonomicmanager" />
+    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.10" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.findbugs:annotations:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.ehcache:sizeof:0.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.3.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-hibernate4:2.6.7" level="project" />
+    <orderEntry type="library" name="Maven: org.redisson:redisson:3.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.cache:cache-api:1.0.0" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-common:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.projectreactor:reactor-stream:2.0.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:2.0.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.6.7" level="project" />
+    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.16" level="project" />
+    <orderEntry type="library" name="Maven: net.openhft:zero-allocation-hashing:0.5" level="project" />
+    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.4.26" level="project" />
+    <orderEntry type="library" name="Maven: org.jodd:jodd-bean:3.7.1" level="project" />
+    <orderEntry type="library" name="Maven: org.jodd:jodd-core:3.7.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:17.0" level="project" />
+    <orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.3.0" level="project" />
+    <orderEntry type="library" name="Maven: redis.clients:jedis:2.7.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.4.2" level="project" />
+    <orderEntry type="library" name="Maven: net.spy:spymemcached:2.12.1" level="project" />
+    <orderEntry type="library" name="Maven: com.esotericsoftware:kryo:3.0.3" level="project" />
+    <orderEntry type="library" name="Maven: com.esotericsoftware:reflectasm:1.10.1" level="project" />
+    <orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.3" level="project" />
+    <orderEntry type="library" name="Maven: com.esotericsoftware:minlog:1.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.2.2" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:5.1.36" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/evaluation/Applications/AP/spring-petclinic/src/main/java/org/springframework/samples/petclinic/Configuration.java b/evaluation/Applications/AP/spring-petclinic/src/main/java/org/springframework/samples/petclinic/Configuration.java
index 5c95e0f..c41b705 100644
--- a/evaluation/Applications/AP/spring-petclinic/src/main/java/org/springframework/samples/petclinic/Configuration.java
+++ b/evaluation/Applications/AP/spring-petclinic/src/main/java/org/springframework/samples/petclinic/Configuration.java
@@ -8,7 +8,7 @@ import br.ufrgs.inf.prosoft.adaptivecaching.configuration.annotation.types.Repos
 
 //working config: mongodb, accumulation
 @AdaptiveCaching(cacheProvider = CacheProviderType.EHCACHE, logRepository = RepositoryType.MONGODB,
-    modelling = Modelling.ACCUMULATION, analyzerEnabled = true, enabled = true, disableMonitoringAfterAnalysis = true,
+    modelling = Modelling.ACCUMULATION, analyzerEnabled = false, enabled = true, disableMonitoringAfterAnalysis = true,
     clearMonitoringDataOnStart = true, traceAsync = false, tracerEnabled = true)
 
 //Jhonny: workaround below. a better solution involve filter by serialization methods in aspect to avoid it
diff --git a/evaluation/Applications/DEV/spring-petclinic/spring-petclinic (1).iml b/evaluation/Applications/DEV/spring-petclinic/spring-petclinic (1).iml
new file mode 100644
index 0000000..b90d932
--- /dev/null
+++ b/evaluation/Applications/DEV/spring-petclinic/spring-petclinic (1).iml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="web" name="Web">
+      <configuration>
+        <descriptors>
+          <deploymentDescriptor name="jetty-web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/jetty-web.xml" />
+        </descriptors>
+        <webroots>
+          <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
+        </webroots>
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-servlet-api:7.0.59" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet.jsp:javax.servlet.jsp-api:2.2.1" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-jasper-el:7.0.59" level="project" />
+    <orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat:tomcat-el-api:7.0.59" level="project" />
+    <orderEntry type="library" name="Maven: javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.taglibs:taglibs-standard-jstlel:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.taglibs:taglibs-standard-spec:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.taglibs:taglibs-standard-impl:1.2.5" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.6.7" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.6.7" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.6.7" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.0.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.1.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:asm:1.0.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: asm:asm:3.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:1.9.5.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.11.5.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-orm:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.slf4j:jcl-over-slf4j:1.7.21" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jdbc-core:1.1.0.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.retry:spring-retry:1.1.3.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-oxm:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.8.9" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.tomcat:tomcat-jdbc:8.0.37" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.tomcat:tomcat-juli:8.0.37" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: ch.qos.logback:logback-classic:1.1.7" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: ch.qos.logback:logback-core:1.1.7" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-entitymanager:4.3.11.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging-annotations:1.2.0.Beta1" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:4.3.11.Final" level="project" />
+    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss:jandex:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
+    <orderEntry type="library" name="Maven: xml-apis:xml-apis:1.0.b2" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:4.0.5.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.0.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.18.1-GA" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:5.2.4.Final" level="project" />
+    <orderEntry type="library" name="Maven: javax.validation:validation-api:1.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-ehcache:4.3.11.Final" level="project" />
+    <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache-core:2.4.3" level="project" />
+    <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache:2.10.2.2.21" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:4.2.8.RELEASE" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:2.2.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:1.10.19" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-all:1.3" level="project" />
+    <orderEntry type="library" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:5.1.36" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/evaluation/Applications/NO/spring-petclinic/jmeter.log b/evaluation/Applications/NO/spring-petclinic/jmeter.log
new file mode 100644
index 0000000..8a3ff67
--- /dev/null
+++ b/evaluation/Applications/NO/spring-petclinic/jmeter.log
@@ -0,0 +1,224 @@
+2017/06/04 20:30:56 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Loading user properties from: /home/jhonnymertz/dev/apache-jmeter-3.0/bin/user.properties 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Loading system properties from: /home/jhonnymertz/dev/apache-jmeter-3.0/bin/system.properties 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Copyright (c) 1998-2016 The Apache Software Foundation 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Version 3.0 r1743807 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: java.version=1.8.0_45 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: os.name=Linux 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: os.arch=amd64 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: os.version=4.4.0-78-generic 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: file.encoding=UTF-8 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Max memory     =1840250880 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Available Processors =4 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Default Locale=English (United States) 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: JMeter  Locale=English (United States) 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: JMeterHome=/home/jhonnymertz/dev/apache-jmeter-3.0 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: user.dir  =/home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/Applications/NO/spring-petclinic 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: PWD       =/home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/Applications/NO/spring-petclinic 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: IP: 127.0.1.1 Name: jhonnymertz-Vostro-5470 FullName: jhonnymertz-Vostro-5470 
+2017/06/04 20:30:56 INFO  - jmeter.services.FileServer: Default base='/home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/Applications/NO/spring-petclinic' 
+2017/06/04 20:30:56 INFO  - jmeter.services.FileServer: Set new base='/home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/JMeter' 
+2017/06/04 20:30:56 INFO  - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 
+2017/06/04 20:30:56 INFO  - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 
+2017/06/04 20:30:56 INFO  - jmeter.save.SaveService: Using SaveService properties version 2.9 
+2017/06/04 20:30:56 INFO  - jmeter.save.SaveService: All converter versions present and correct 
+2017/06/04 20:30:56 INFO  - jmeter.save.SaveService: Loading file: /home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/JMeter/petclinic_test_plan.jmx 
+2017/06/04 20:30:56 INFO  - jmeter.protocol.http.control.CookieManager: Settings: Delete null: true Check: true Allow variable: true Save: false Prefix: COOKIE_ 
+2017/06/04 20:30:56 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:30:56 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:30:56 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:30:56 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:30:56 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 
+2017/06/04 20:30:56 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser 
+2017/06/04 20:30:56 INFO  - jmeter.JMeter: Creating summariser <summary> 
+2017/06/04 20:30:57 INFO  - jmeter.engine.StandardJMeterEngine: Running the test! 
+2017/06/04 20:30:57 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
+2017/06/04 20:30:57 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
+2017/06/04 20:30:57 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' 
+2017/06/04 20:30:57 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' 
+2017/06/04 20:30:57 INFO  - jmeter.JMeter: Running test (1496601057280) 
+2017/06/04 20:30:57 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : User threads full random transitions 
+2017/06/04 20:30:57 INFO  - jmeter.engine.StandardJMeterEngine: Starting 50 threads for group User threads full random transitions. 
+2017/06/04 20:30:57 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
+2017/06/04 20:30:57 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 50 ramp-up 1 perThread 20.0 delayedStart=false 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-1 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-2 
+2017/06/04 20:30:57 INFO  - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times 
+2017/06/04 20:30:57 INFO  - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 
+2017/06/04 20:30:57 INFO  - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true 
+2017/06/04 20:30:57 INFO  - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-3 
+2017/06/04 20:30:57 INFO  - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = jhonnymertz-Vostro-5470 
+2017/06/04 20:30:57 INFO  - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-4 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-5 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-6 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-7 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-8 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-9 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-10 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-11 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-12 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-13 
+2017/06/04 20:30:57 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-14 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-15 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-16 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-17 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-18 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-19 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-20 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-21 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-22 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-23 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-24 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-25 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-26 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-27 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-28 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-29 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-30 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-31 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-32 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-33 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-34 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-35 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-36 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-37 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-38 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-39 
+2017/06/04 20:30:58 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-40 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-41 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-42 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-43 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-44 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-45 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-46 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-47 
+2017/06/04 20:30:59 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-48 
+2017/06/04 20:30:59 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
+2017/06/04 20:30:59 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
+2017/06/04 20:31:00 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-49 
+2017/06/04 20:31:00 INFO  - jmeter.reporters.Summariser: summary +     49 in 00:00:03 =   15,7/s Avg:     0 Min:     0 Max:     3 Err:     0 (0,00%) Active: 49 Started: 49 Finished: 0 
+2017/06/04 20:31:00 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-50 
+2017/06/04 20:31:30 INFO  - jmeter.reporters.Summariser: summary +   4775 in 00:00:30 =  161,3/s Avg:   321 Min:     0 Max:  7748 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:31:30 INFO  - jmeter.reporters.Summariser: summary =   4824 in 00:00:33 =  147,4/s Avg:   317 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:32:00 INFO  - jmeter.reporters.Summariser: summary +   7371 in 00:00:30 =  245,7/s Avg:   193 Min:     1 Max:  3641 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:32:00 INFO  - jmeter.reporters.Summariser: summary =  12195 in 00:01:03 =  194,4/s Avg:   242 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:32:30 INFO  - jmeter.reporters.Summariser: summary +   6685 in 00:00:30 =  222,8/s Avg:   222 Min:     1 Max:  2109 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:32:30 INFO  - jmeter.reporters.Summariser: summary =  18880 in 00:01:33 =  203,6/s Avg:   235 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:33:00 INFO  - jmeter.reporters.Summariser: summary +   5687 in 00:00:30 =  189,6/s Avg:   263 Min:     0 Max:  1809 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:33:00 INFO  - jmeter.reporters.Summariser: summary =  24567 in 00:02:03 =  200,2/s Avg:   242 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:33:30 INFO  - jmeter.reporters.Summariser: summary +   5606 in 00:00:30 =  186,9/s Avg:   266 Min:     0 Max:  1520 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:33:30 INFO  - jmeter.reporters.Summariser: summary =  30173 in 00:02:33 =  197,6/s Avg:   246 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:34:00 INFO  - jmeter.reporters.Summariser: summary +   4484 in 00:00:30 =  149,5/s Avg:   333 Min:     0 Max:  5705 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:34:00 INFO  - jmeter.reporters.Summariser: summary =  34657 in 00:03:03 =  189,7/s Avg:   257 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:34:30 INFO  - jmeter.reporters.Summariser: summary +   5593 in 00:00:30 =  186,4/s Avg:   268 Min:     0 Max:  1474 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:34:30 INFO  - jmeter.reporters.Summariser: summary =  40250 in 00:03:33 =  189,2/s Avg:   259 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:35:00 INFO  - jmeter.reporters.Summariser: summary +   4956 in 00:00:30 =  165,1/s Avg:   300 Min:     0 Max:  1917 Err:     0 (0,00%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:35:00 INFO  - jmeter.reporters.Summariser: summary =  45206 in 00:04:03 =  186,2/s Avg:   263 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:35:12 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-9 
+2017/06/04 20:35:12 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-9 
+2017/06/04 20:35:13 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-17 
+2017/06/04 20:35:13 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-17 
+2017/06/04 20:35:16 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-25 
+2017/06/04 20:35:16 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-25 
+2017/06/04 20:35:18 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-36 
+2017/06/04 20:35:18 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-36 
+2017/06/04 20:35:19 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-35 
+2017/06/04 20:35:19 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-35 
+2017/06/04 20:35:19 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-18 
+2017/06/04 20:35:19 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-18 
+2017/06/04 20:35:20 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-30 
+2017/06/04 20:35:20 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-30 
+2017/06/04 20:35:20 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-37 
+2017/06/04 20:35:20 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-37 
+2017/06/04 20:35:22 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-45 
+2017/06/04 20:35:22 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-45 
+2017/06/04 20:35:24 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-42 
+2017/06/04 20:35:24 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-42 
+2017/06/04 20:35:24 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-14 
+2017/06/04 20:35:24 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-14 
+2017/06/04 20:35:24 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-24 
+2017/06/04 20:35:24 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-24 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-6 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-6 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-2 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-2 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-19 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-19 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-13 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-13 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-21 
+2017/06/04 20:35:25 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-21 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-23 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-23 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-15 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-15 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-48 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-48 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-26 
+2017/06/04 20:35:26 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-26 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-33 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-33 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-1 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-1 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-47 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-47 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-5 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-5 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-31 
+2017/06/04 20:35:27 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-31 
+2017/06/04 20:35:28 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-7 
+2017/06/04 20:35:28 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-7 
+2017/06/04 20:35:28 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-49 
+2017/06/04 20:35:28 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-49 
+2017/06/04 20:35:28 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-12 
+2017/06/04 20:35:28 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-12 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-28 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-28 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-10 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-10 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-16 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-16 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-4 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-4 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-20 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-20 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-44 
+2017/06/04 20:35:29 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-44 
+2017/06/04 20:35:30 INFO  - jmeter.reporters.Summariser: summary +   4555 in 00:00:30 =  151,9/s Avg:   294 Min:     0 Max:  3766 Err:     0 (0,00%) Active: 15 Started: 50 Finished: 35 
+2017/06/04 20:35:30 INFO  - jmeter.reporters.Summariser: summary =  49761 in 00:04:33 =  182,5/s Avg:   266 Min:     0 Max:  7748 Err:     0 (0,00%) 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-29 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-29 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-22 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-22 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-34 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-34 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-38 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-38 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-46 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-46 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-39 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-39 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-40 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-40 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-8 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-8 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-27 
+2017/06/04 20:35:30 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-27 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-32 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-32 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-3 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-3 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-43 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-43 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-50 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-50 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-11 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-11 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-41 
+2017/06/04 20:35:31 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-41 
+2017/06/04 20:35:31 INFO  - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
+2017/06/04 20:35:31 INFO  - jmeter.reporters.Summariser: summary +    289 in 00:00:02 =  147,8/s Avg:    52 Min:     0 Max:   373 Err:     0 (0,00%) Active: 0 Started: 50 Finished: 50 
+2017/06/04 20:35:31 INFO  - jmeter.reporters.Summariser: summary =  50050 in 00:04:35 =  182,2/s Avg:   265 Min:     0 Max:  7748 Err:     0 (0,00%) 

experiments.sh 69(+40 -29)

diff --git a/experiments.sh b/experiments.sh
index fe4f861..6b88bf0 100755
--- a/experiments.sh
+++ b/experiments.sh
@@ -1,47 +1,58 @@
 #!/bin/bash
 
+#start services manually in advance
+#mongod &
+#sudo service mysql start
 
-sourcefolder="adaptive-caching-framework/evaluation/Applications/"
-workloadfolder="adaptive-caching-framework/evaluation/JMeter/"
-
-configs=("NO/" "DEV/" "AP/")
+applicationfolder="/home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/Applications/"
+#configs=("NO" "DEV" "AP")
+configs=("NO")
+workloadfolder="/home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/JMeter/"
+jmeter="/home/jhonnymertz/dev/apache-jmeter-3.0/bin/jmeter.sh"
 
 ## take care of the order
-applications=("CloudStore" "shopizer/sm-shop" "spring-petclinic")
-databases=("CloudStore" "shopizer/sm-shop" "spring-petclinic")
-workloads=("cloudscale-sustain.jmx" "Shopizer.jmx" "petclinic_test_plan.jmx")
+#applications=("CloudStore" "shopizer/sm-shop" "spring-petclinic")
+#databases=("CloudStore" "shopizer/sm-shop" "spring-petclinic")
+#workloads=("cloudscale-sustain.jmx" "Shopizer.jmx" "petclinic_test_plan.jmx")
+applications=("spring-petclinic")
+databases=("petclinic")
+workloads=("petclinic_test_plan.jmx")
+
 
-## now loop through the above array
-for config in "${configs[@]}"
+numberOfExecutions=10
+for (( i=1; i <= $numberOfExecutions; ++i ))
 do
-	for application in "${applications[@]}"
+	## now loop through the above array
+	for config in "${configs[@]}"
 	do
-		echo "$sourcefolder$config$application"
-
-		## enter the folder
-		cd "$sourcefolder$config$application"
-
+		for iapp in "${!applications[@]}"
+		do
+			echo "Processing ${applications[$iapp]}-$config..."
 
-		## clean database
-		## run database script
+			## setup database (clean, create, populate)
+			##todo run database config as a script
+			echo "drop database ${databases[$iapp]}" | mysql -u "root" "-proot"
+			echo "create database ${databases[$iapp]}" | mysql -u "root" "-proot"
 
-		## compile and run web server
-		nohup mvn clean install tomcat7:run-war -DskipTests &>/dev/null &
+			## enter the folder
+			echo "Entering into $applicationfolder$config/${applications[$iapp]}..."
+			cd "$applicationfolder$config/${applications[$iapp]}"
 
-		sleep 4m
+			## compile and run web server
+			mvn clean install tomcat7:run-war -DskipTests & mvnpid=$!
 
-		## clean jmeter results
-		rm ~/Desktop/report.csv
+			## wait for maven to compile and tomcat to run
+			sleep 1m
 
-		## run jmeter
-		cd ~/dev/apache-jmeter-3.0/bin/
+			## run jmeter
+			sh $jmeter -n -t $workloadfolder${workloads[$iapp]}
 
-		./jmeter -n -t ~/Dropbox/Mestrado/Pesquisa/adaptivecaching/evaluation/JMeter/petclinic_test_plan.jmx 
+			## copy jmeter results
+			mv /home/jhonnymertz/Desktop/report.csv /home/jhonnymertz/Desktop/${applications[$iapp]}-$config-$i.csv
 
-		## collect results to a shared folder
-		nohup mvn clean install tomcat7:run-war -DskipTests &>/dev/null &
+			## kill maven after all
+			kill -9 $mvnpid
 
-		mv ~/Desktop/report.csv ~/Dropbox/Mestrado/Pesquisa/adaptivecaching/results/Experiments/CloudStore/ACOC-50U-OA.csv
-		
+		done
 	done
 done
\ No newline at end of file
diff --git a/framework/autonomicmanager/.idea/workspace.xml b/framework/autonomicmanager/.idea/workspace.xml
index 702bb43..dde4625 100644
--- a/framework/autonomicmanager/.idea/workspace.xml
+++ b/framework/autonomicmanager/.idea/workspace.xml
@@ -29,12 +29,9 @@
       <file leaf-file-name="TracerAspect.java" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/aspects/TracerAspect.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="-0.2638191" vertical-offset="2550" max-vertical-offset="7200">
-              <caret line="216" column="26" selection-start-line="216" selection-start-column="26" selection-end-line="216" selection-end-column="26" />
-              <folding>
-                <element signature="e#6350#6351#0" expanded="true" />
-                <element signature="e#6380#6381#0" expanded="true" />
-              </folding>
+            <state vertical-scroll-proportion="0.30150753" vertical-offset="3465" max-vertical-offset="7170">
+              <caret line="294" column="32" selection-start-line="294" selection-start-column="32" selection-end-line="294" selection-end-column="32" />
+              <folding />
             </state>
           </provider>
         </entry>
@@ -42,8 +39,18 @@
       <file leaf-file-name="pom.xml" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/pom.xml">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.0" vertical-offset="2745" max-vertical-offset="4350">
-              <caret line="198" column="21" selection-start-line="198" selection-start-column="21" selection-end-line="198" selection-end-column="21" />
+            <state vertical-scroll-proportion="0.0" vertical-offset="3952" max-vertical-offset="4350">
+              <caret line="215" column="0" selection-start-line="215" selection-start-column="0" selection-end-line="215" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Analyzer.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/Analyzer.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state vertical-scroll-proportion="0.0" vertical-offset="1470" max-vertical-offset="2505">
+              <caret line="169" column="42" selection-start-line="169" selection-start-column="42" selection-end-line="169" selection-end-column="42" />
               <folding />
             </state>
           </provider>
@@ -52,7 +59,7 @@
       <file leaf-file-name="Repository.java" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/Repository.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="300">
+            <state vertical-scroll-proportion="0.0" vertical-offset="120" max-vertical-offset="300">
               <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" />
               <folding />
             </state>
@@ -62,7 +69,7 @@
       <file leaf-file-name="MongoRepository.java" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MongoRepository.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="1425">
+            <state vertical-scroll-proportion="0.0" vertical-offset="150" max-vertical-offset="1425">
               <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
               <folding />
             </state>
@@ -72,12 +79,9 @@
       <file leaf-file-name="ConsoleRepository.java" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/ConsoleRepository.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="525">
+            <state vertical-scroll-proportion="0.0" vertical-offset="90" max-vertical-offset="495">
               <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
-              <folding>
-                <element signature="e#335#336#0" expanded="true" />
-                <element signature="e#362#363#0" expanded="true" />
-              </folding>
+              <folding />
             </state>
           </provider>
         </entry>
@@ -183,42 +187,6 @@
           <option name="myItemId" value="" />
           <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$RootNode" />
         </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="autonomicmanager" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$ProjectNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$RootNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="autonomicmanager" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$ProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="Plugins" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$PluginsNode" />
-        </PATH_ELEMENT>
-      </PATH>
-      <PATH>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$RootNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="autonomicmanager" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$ProjectNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="Plugins" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$PluginsNode" />
-        </PATH_ELEMENT>
-        <PATH_ELEMENT>
-          <option name="myItemId" value="install" />
-          <option name="myItemType" value="org.jetbrains.idea.maven.navigator.MavenProjectsStructure$PluginNode" />
-        </PATH_ELEMENT>
       </PATH>
     </treeState>
   </component>
@@ -616,6 +584,210 @@
               <option name="myItemId" value="adaptivecaching" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="configuration" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="interfaces" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="adaptivecaching" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="configuration" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="annotation" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="adaptivecaching" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="cachemanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="adaptivecaching" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="cachemanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="cacher" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="adaptivecaching" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="analysis" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="adaptivecaching" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="analysis" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="trigger" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="autonomicmanager" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="adaptivecaching" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="analysis" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="decision" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
           </PATH>
         </subPane>
       </pane>
@@ -624,7 +796,7 @@
     </panes>
   </component>
   <component name="PropertiesComponent">
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../../adele/iCasa" />
     <property name="aspect.path.notification.shown" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="options.lastSelected" value="MavenSettings" />
@@ -1375,6 +1547,8 @@
       <workItem from="1493106326395" duration="2898000" />
       <workItem from="1494317842588" duration="683000" />
       <workItem from="1494576216533" duration="835000" />
+      <workItem from="1496071633656" duration="1823000" />
+      <workItem from="1496215811624" duration="81000" />
     </task>
     <servers />
   </component>
@@ -1411,11 +1585,11 @@
     </history-entry>
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="203137000" />
+    <option name="totallyTimeSpent" value="205041000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="24" width="1366" height="744" extended-state="6" />
-    <editor active="false" />
+    <editor active="true" />
     <layout>
       <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -1425,10 +1599,9 @@
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.34762633" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
       <window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
-      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.13595167" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.1389728" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.30015314" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32924962" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32924962" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
       <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24697885" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="IDEtalk Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
@@ -1437,12 +1610,13 @@
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39969373" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39969373" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32451677" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.30015314" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32465544" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
     </layout>
   </component>
@@ -1473,13 +1647,6 @@
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/cacher/UpdateMethodCacher.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
-          <caret line="54" column="24" selection-start-line="54" selection-start-column="24" selection-end-line="54" selection-end-column="24" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/cacher/extensions/provided/Tunnel.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="0">
@@ -1657,13 +1824,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/Analyzer.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="719" max-vertical-offset="1740">
-          <caret line="158" column="0" selection-start-line="158" selection-start-column="0" selection-end-line="158" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/decision/flowchart/model/MethodEntry.java">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="960">
@@ -1696,7 +1856,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="180">
           <caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -1704,7 +1863,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="1524" max-vertical-offset="2160">
           <caret line="158" column="21" selection-start-line="158" selection-start-column="21" selection-end-line="158" selection-end-column="21" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -1712,7 +1870,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3540">
           <caret line="17" column="36" selection-start-line="17" selection-start-column="36" selection-end-line="17" selection-end-column="36" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -1720,7 +1877,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="66" max-vertical-offset="2430">
           <caret line="34" column="17" selection-start-line="34" selection-start-column="17" selection-end-line="34" selection-end-column="17" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -1759,15 +1915,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="212" max-vertical-offset="825">
           <caret line="41" column="8" selection-start-line="41" selection-start-column="8" selection-end-line="41" selection-end-column="8" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/pom.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0" vertical-offset="2745" max-vertical-offset="4350">
-          <caret line="198" column="21" selection-start-line="198" selection-start-column="21" selection-end-line="198" selection-end-column="21" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -1784,7 +1931,7 @@
         <state vertical-scroll-proportion="-0.32360098" vertical-offset="343" max-vertical-offset="1920">
           <caret line="14" column="51" selection-start-line="14" selection-start-column="51" selection-end-line="14" selection-end-column="51" />
           <folding>
-            <element signature="imports" expanded="true" />
+            <element signature="imports" expanded="false" />
           </folding>
         </state>
       </provider>
@@ -1817,10 +1964,7 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="525">
           <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
-          <folding>
-            <element signature="e#335#336#0" expanded="true" />
-            <element signature="e#362#363#0" expanded="true" />
-          </folding>
+          <folding />
         </state>
       </provider>
     </entry>
@@ -1828,7 +1972,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.1459854" vertical-offset="0" max-vertical-offset="411">
           <caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -1840,14 +1983,34 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/trigger/MyJedisMonitor.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.54744524" vertical-offset="0" max-vertical-offset="480">
+          <caret line="16" column="47" selection-start-line="16" selection-start-column="47" selection-end-line="16" selection-end-column="47" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/pom.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="3952" max-vertical-offset="4350">
+          <caret line="215" column="0" selection-start-line="215" selection-start-column="0" selection-end-line="215" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/Analyzer.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.0" vertical-offset="1470" max-vertical-offset="2505">
+          <caret line="169" column="42" selection-start-line="169" selection-start-column="42" selection-end-line="169" selection-end-column="42" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/aspects/TracerAspect.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-0.2638191" vertical-offset="2550" max-vertical-offset="7200">
-          <caret line="216" column="26" selection-start-line="216" selection-start-column="26" selection-end-line="216" selection-end-column="26" />
-          <folding>
-            <element signature="e#6350#6351#0" expanded="true" />
-            <element signature="e#6380#6381#0" expanded="true" />
-          </folding>
+        <state vertical-scroll-proportion="0.30150753" vertical-offset="3465" max-vertical-offset="7170">
+          <caret line="294" column="32" selection-start-line="294" selection-start-column="32" selection-end-line="294" selection-end-column="32" />
+          <folding />
         </state>
       </provider>
     </entry>
diff --git a/framework/autonomicmanager/autonomicmanager.iml b/framework/autonomicmanager/autonomicmanager.iml
new file mode 100644
index 0000000..f5b0219
--- /dev/null
+++ b/framework/autonomicmanager/autonomicmanager.iml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="AspectJ" name="AspectJ">
+      <configuration />
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.10" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.19.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.findbugs:annotations:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjrt:1.8.9" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.9" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.1.7" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.1.7" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.21" level="project" />
+    <orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
+    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
+    <orderEntry type="library" name="Maven: org.ehcache:sizeof:0.3.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.5" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.7.4" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.7.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.7.4" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-hibernate4:2.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.redisson:redisson:3.1.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.cache:cache-api:1.0.0" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-common:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-codec:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-buffer:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-transport:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-handler:4.0.42.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.projectreactor:reactor-stream:2.0.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: io.projectreactor:reactor-core:2.0.8.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.7.6" level="project" />
+    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.15" level="project" />
+    <orderEntry type="library" name="Maven: net.openhft:zero-allocation-hashing:0.5" level="project" />
+    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.4.26" level="project" />
+    <orderEntry type="library" name="Maven: org.jodd:jodd-bean:3.7.1" level="project" />
+    <orderEntry type="library" name="Maven: org.jodd:jodd-core:3.7.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
+    <orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.3.0" level="project" />
+    <orderEntry type="library" name="Maven: net.sf.ehcache:ehcache:2.10.3" level="project" />
+    <orderEntry type="library" name="Maven: redis.clients:jedis:2.7.2" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.3" level="project" />
+    <orderEntry type="library" name="Maven: net.spy:spymemcached:2.12.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:4.2.6.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.mockito:mockito-core:2.2.11" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: net.bytebuddy:byte-buddy-agent:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.objenesis:objenesis:2.4" level="project" />
+    <orderEntry type="library" name="Maven: com.esotericsoftware:kryo:4.0.0" level="project" />
+    <orderEntry type="library" name="Maven: com.esotericsoftware:reflectasm:1.11.3" level="project" />
+    <orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
+    <orderEntry type="library" name="Maven: com.esotericsoftware:minlog:1.3.0" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/framework/autonomicmanager/pom.xml b/framework/autonomicmanager/pom.xml
index 715a9cf..a9913fa 100644
--- a/framework/autonomicmanager/pom.xml
+++ b/framework/autonomicmanager/pom.xml
@@ -6,29 +6,15 @@
 
     <groupId>br.ufrgs.inf.prosoft.adaptivecaching</groupId>
     <artifactId>autonomicmanager</artifactId>
-    <version>0.3.0-SNAPSHOT</version>
+    <version>0.4.0-SNAPSHOT</version>
 
     <properties>
-        <aspectj.version>1.8.9</aspectj.version>
+        <aspectj.version>1.8.10</aspectj.version>
         <java.version>1.8</java.version>
     </properties>
 
     <dependencies>
 
-        <!--<dependency>-->
-        <!--<groupId>br.ufrgs.inf.prosoft.adaptivecaching</groupId>-->
-        <!--<artifactId>cachemanager</artifactId>-->
-        <!--<version>0.1.0</version>-->
-        <!--</dependency>-->
-
-        <!--<dependency>-->
-        <!--<groupId>redis.clients</groupId>-->
-        <!--<artifactId>jedis</artifactId>-->
-        <!--<version>2.7.2</version>-->
-        <!--<type>jar</type>-->
-        <!--<scope>compile</scope>-->
-        <!--</dependency>-->
-
         <dependency>
             <groupId>org.reflections</groupId>
             <artifactId>reflections</artifactId>
@@ -47,12 +33,6 @@
             <version>${aspectj.version}</version>
         </dependency>
 
-        <!--<dependency>-->
-        <!--<groupId>org.springframework</groupId>-->
-        <!--<artifactId>spring-aop</artifactId>-->
-        <!--<version>4.3.0.RELEASE</version>-->
-        <!--</dependency>-->
-
         <dependency>
             <groupId>ch.qos.logback</groupId>
             <artifactId>logback-core</artifactId>
@@ -83,18 +63,6 @@
             <version>0.3.0</version>
         </dependency>
 
-        <!--<dependency>-->
-        <!--<groupId>org.springframework.boot</groupId>-->
-        <!--<artifactId>spring-boot-starter</artifactId>-->
-        <!--<version>1.3.5.RELEASE</version>-->
-        <!--</dependency>-->
-
-        <!--<dependency>-->
-        <!--<groupId>org.springframework.data</groupId>-->
-        <!--<artifactId>spring-data-mongodb</artifactId>-->
-        <!--<version>1.9.2.RELEASE</version>-->
-        <!--</dependency>-->
-
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
@@ -119,13 +87,6 @@
             <!--<version>0.34</version>-->
         <!--</dependency>-->
 
-
-        <!--<dependency>-->
-        <!--<groupId>com.jcabi</groupId>-->
-        <!--<artifactId>jcabi-aspects</artifactId>-->
-        <!--<version>0.22.5</version>-->
-        <!--</dependency>-->
-
         <dependency>
             <groupId>org.mongodb</groupId>
             <artifactId>mongo-java-driver</artifactId>
@@ -196,12 +157,6 @@
             <version>4.2.6.RELEASE</version>
         </dependency>
 
-        <!--<dependency>-->
-        <!--<groupId>org.springframework.data</groupId>-->
-        <!--<artifactId>spring-data-redis</artifactId>-->
-        <!--<version>1.7.2.RELEASE</version>-->
-        <!--</dependency>-->
-
         <dependency>
             <groupId>org.mockito</groupId>
             <artifactId>mockito-core</artifactId>
@@ -228,18 +183,6 @@
                     <useIncrementalCompilation>false</useIncrementalCompilation>
                 </configuration>
             </plugin>
-            <!--<plugin>-->
-            <!--<artifactId>maven-dependency-plugin</artifactId>-->
-            <!--<version>2.5.1</version>-->
-            <!--<executions>-->
-            <!--<execution>-->
-            <!--<id>getClasspathFilenames</id>-->
-            <!--<goals>-->
-            <!--<goal>properties</goal>-->
-            <!--</goals>-->
-            <!--</execution>-->
-            <!--</executions>-->
-            <!--</plugin>-->
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>aspectj-maven-plugin</artifactId>
diff --git a/framework/autonomicmanager/README.md b/framework/autonomicmanager/README.md
index e69de29..6592296 100644
--- a/framework/autonomicmanager/README.md
+++ b/framework/autonomicmanager/README.md
@@ -0,0 +1,111 @@
+APL Cache
+=========
+#todo presentation
+
+#todo describe the features
+
+#todo put the image of the architecture
+
+Requirements
+------------
+If you are using Gradle/Maven, see example below:
+
+##### Gradle
+In your `build.gradle`:
+```groovy
+	allprojects {
+		repositories {
+			maven { url "https://jitpack.io" }
+		}
+	}
+	
+	dependencies {
+		compile 'com.github.jhonnymertz:java-wkhtmltopdf-wrapper:1.0.2-RELEASE'
+	}
+```
+
+##### Maven
+In your `pom.xml`:
+```xml
+	<dependencies>
+		<dependency>
+				<groupId>com.github.jhonnymertz</groupId>
+				<artifactId>java-wkhtmltopdf-wrapper</artifactId>
+				<version>1.0.2-RELEASE</version>
+		</dependency>
+	</dependencies>
+
+	<repositories>
+		<repository>
+				<id>jitpack.io</id>
+				<url>https://jitpack.io</url>
+		</repository>
+	</repositories>
+```
+
+Usage
+------------
+
+Create a file adaptivecaching.properties under resources folder
+```
+#Cache config
+#Redis:
+#adaptivecaching.cache.url=localhost
+#adaptivecaching.cache.port=6379
+
+#Logging
+adaptivecaching.cache.logging=DEBUG
+adaptivecaching.monitoring.logging=DEBUG
+
+#Repository config:
+##MongoDB:
+adaptivecaching.monitoring.db.scheme=cachemonitoring
+adaptivecaching.monitoring.db.name=petclinic
+adaptivecaching.monitoring.db.port=27017
+adaptivecaching.monitoring.db.address=localhost
+
+##Redis:
+#adaptivecaching.monitoring.db.scheme=yourdb
+
+#adaptivecaching.monitoring.db.port=27017
+#adaptivecaching.monitoring.db.address=localhost
+```
+
+Then, create a configuration class, on the root package of the system:
+```
+//working config: mongodb, accumulation
+@AdaptiveCaching(cacheProvider = CacheProviderType.EHCACHE, logRepository = RepositoryType.MONGODB,
+    modelling = Modelling.ACCUMULATION, analyzerEnabled = false, enabled = true, disableMonitoringAfterAnalysis = true,
+    clearMonitoringDataOnStart = true, traceAsync = false, tracerEnabled = true)
+
+//Jhonny: workaround below. a better solution involve filter by serialization methods in aspect to avoid it
+@ComponentScan(allowed = "org.springframework.samples.petclinic", denied = "org.springframework.samples.petclinic.model")
+public class Configuration {
+}
+```
+
+Available annotations
+---------
+@AdaptiveCaching
+		cacheProvider = CacheProviderType.EHCACHE, logRepository = RepositoryType.MONGODB,
+    modelling = Modelling.ACCUMULATION, analyzerEnabled = false, enabled = true, disableMonitoringAfterAnalysis = true,
+    clearMonitoringDataOnStart = true, traceAsync = false, tracerEnabled = true
+
+@ComponentScan
+		allowed = "org.springframework.samples.petclinic", denied = "org.springframework.samples.petclinic.model"
+
+		
+Customizations
+---------
+
+Repository - Repository
+Caching - CacheManager interface
+		
+Snapshots
+---------
+
+Snapshots built from the `master` branch are available through jitpack using version `1.1.0-SNAPSHOT`
+
+License
+------------
+This project is available under MIT Licence.
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/Analyzer.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/Analyzer.java
index abaa003..bc05fe2 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/Analyzer.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/Analyzer.java
@@ -104,8 +104,23 @@ public class Analyzer implements Runnable {
             }
 
             @Override
-            public long expiry() {
-                return 0;
+            public long expiryInterval() {
+                return 5;
+            }
+
+            @Override
+            public long firstExpiry() {
+                return 5;
+            }
+
+            @Override
+            public long analysisInterval() {
+                return 5;
+            }
+
+            @Override
+            public long firstAnalysis() {
+                return 2;
             }
 
             @Override
@@ -139,6 +154,11 @@ public class Analyzer implements Runnable {
             }
 
             @Override
+            public boolean enableBlacklist() {
+                return false;
+            }
+
+            @Override
             public boolean tracerEnabled() {
                 return true;
             }
@@ -157,7 +177,7 @@ public class Analyzer implements Runnable {
     @Override
     public void run() {
 
-        if(!TracerAspect.analyzerEnabled) {
+        if (!TracerAspect.analyzerEnabled) {
             logger.info("Analyzer disabled, not running...");
             return;
         }
@@ -186,7 +206,7 @@ public class Analyzer implements Runnable {
             logger.info("Old monitoring data deleted.");
         }
 
-        if(adaptiveConfig.analyzeOnce())
+        if (adaptiveConfig.analyzeOnce())
             TracerAspect.analyzerEnabled = false;
     }
 
@@ -199,7 +219,7 @@ public class Analyzer implements Runnable {
 
         CacheabilityPatternDecider decider = new CacheabilityPatternDecider(logList.size());
         FlowchartWorkFlow workflow = new FlowchartWorkFlow(decider, cacheInfo, logList);
-        Set<MethodEntry> process = workflow.filterCacheableMethods(adaptiveConfig.expiry());
+        Set<MethodEntry> process = workflow.filterCacheableMethods(adaptiveConfig.expiryInterval());
         logger.info(process.size() + " cacheable methods identified.");
 
 //        //TODO find by annotations @Ignore and remove the methods marked
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/cacher/key/Key.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/cacher/key/Key.java
index f7c6032..c73bafd 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/cacher/key/Key.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/cacher/key/Key.java
@@ -1,6 +1,5 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.cacher.key;
 
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.cacher.UpdateMethodCacher;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.Mnemos;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.reflect.MethodSignature;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/caffeine/CaffeineCache.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/caffeine/CaffeineCache.java
index 364da3a..ebd0332 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/caffeine/CaffeineCache.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/caffeine/CaffeineCache.java
@@ -16,8 +16,8 @@
 
 package br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.caffeine;
 
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.AbstractValueAdaptingCache;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.ValueWrapper;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.support.AbstractValueAdaptingCache;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.ValueWrapper;
 import com.github.benmanes.caffeine.cache.LoadingCache;
 import org.springframework.lang.UsesJava8;
 import org.springframework.util.Assert;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/ehcache/EhCacheCache.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/ehcache/EhCacheCache.java
index 1809067..c247f62 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/ehcache/EhCacheCache.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/ehcache/EhCacheCache.java
@@ -17,8 +17,8 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.ehcache;
 
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.Cache;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.SimpleValueWrapper;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.ValueWrapper;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.support.SimpleValueWrapper;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.ValueWrapper;
 import net.sf.ehcache.Ehcache;
 import net.sf.ehcache.Element;
 import net.sf.ehcache.Status;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/guava/GuavaCache.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/guava/GuavaCache.java
index 9bf32ae..3283b9a 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/guava/GuavaCache.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/extensions/guava/GuavaCache.java
@@ -16,8 +16,8 @@
 
 package br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.guava;
 
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.AbstractValueAdaptingCache;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.ValueWrapper;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.support.AbstractValueAdaptingCache;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.ValueWrapper;
 import com.google.common.cache.CacheStats;
 import com.google.common.cache.LoadingCache;
 import com.google.common.util.concurrent.UncheckedExecutionException;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/AdaptiveCacheManager.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/AdaptiveCacheManager.java
index 0e553db..3e2b2ee 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/AdaptiveCacheManager.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/AdaptiveCacheManager.java
@@ -10,6 +10,7 @@ import java.util.Collection;
 //        NoOpCacheManager, SimpleCacheManager, TransactionAwareCacheManagerProxy
 
 //For future use, do not use it yet
+@Deprecated
 public class AdaptiveCacheManager implements CacheManager {
 
     private CacheManager cacheManager;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/Cache.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/Cache.java
index a96e3e7..29932e3 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/Cache.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/Cache.java
@@ -16,8 +16,6 @@
 
 package br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model;
 
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.ValueWrapper;
-
 import java.util.concurrent.Callable;
 
 /**
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/AbstractValueAdaptingCache.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/AbstractValueAdaptingCache.java
index 233a73c..40454fc 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/AbstractValueAdaptingCache.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/AbstractValueAdaptingCache.java
@@ -17,7 +17,6 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.support;
 
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.Cache;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.NullValue;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.ValueWrapper;
 
 /**
@@ -26,7 +25,7 @@ import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.ValueWrapper;
  * passing them on to the underlying store.
  * <p>
  * <p>Transparently replaces given {@code null} user values with an internal
- * {@link br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.NullValue#INSTANCE}, if configured to support {@code null} values
+ * {@link NullValue#INSTANCE}, if configured to support {@code null} values
  * (as indicated by {@link #isAllowNullValues()}.
  *
  * @author Juergen Hoeller
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/AdaptiveCaching.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/AdaptiveCaching.java
index e56df39..d76b790 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/AdaptiveCaching.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/AdaptiveCaching.java
@@ -12,7 +12,10 @@ import java.lang.annotation.*;
 @Documented
 public @interface AdaptiveCaching {
 
+    //enabling configurations
     boolean enabled() default true;
+    boolean tracerEnabled() default true;
+    boolean analyzerEnabled() default true;
 
     RepositoryType logRepository() default RepositoryType.MONGODB;
 
@@ -20,21 +23,26 @@ public @interface AdaptiveCaching {
 
     Modelling modelling() default Modelling.ACCUMULATION;
 
-    long expiry() default 5; //in minutes
+    long expiryInterval() default 5; //in minutes
+    long firstExpiry() default 6; //in minutes
+
+    //todo when analysis based on trigger do not make sense to have this, its similar to trigger by time
+    @Deprecated long analysisInterval() default 5; //in minutes
+    @Deprecated long firstAnalysis() default 2; //in minutes
 
     TriggerType triggerType() default TriggerType.TIME; //if were not by time, load the class that implements the interface @Trigger
 
     long triggerTime() default 5; //in minutes
 
-    boolean analyzerEnabled() default true;
+    //enables the analyzer to be executed just once
+    boolean analyzeOnce() default false;
 
+    //disable the monitoring after the first analyses
     boolean disableMonitoringAfterAnalysis() default false;
 
-    boolean traceAsync() default true;
-
+    @Deprecated boolean traceAsync() default true;
     boolean clearMonitoringDataOnStart() default false;
 
-    boolean tracerEnabled() default true;
-
-    boolean analyzeOnce() default false;
+    //when a method cannot be traced, any future calls can be blacklisted
+    boolean enableBlacklist() default false;
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Cacheable.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Cacheable.java
index 62aead3..449a131 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Cacheable.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Cacheable.java
@@ -8,6 +8,10 @@ import java.lang.annotation.*;
 //TODO parser such annotation on flowchart caching decision
 public @interface Cacheable {
     boolean value();
-    boolean expensive();
-    boolean frequent();
+    boolean statical() default false;
+    boolean lessChanging() default false;
+    boolean frequent() default false;
+    boolean shareable() default false;
+    boolean expensive() default false;
+    boolean large() default false;
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/types/RepositoryType.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/types/RepositoryType.java
index 5b379d5..f2f4033 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/types/RepositoryType.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/types/RepositoryType.java
@@ -3,7 +3,7 @@ package br.ufrgs.inf.prosoft.adaptivecaching.configuration.annotation.types;
 public enum RepositoryType {
     MONGODB,
     TEXTFILE,
-    MEMORY,
-    CONSOLE,
+    @Deprecated MEMORY,
+    @Deprecated CONSOLE,
     REDIS;
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Uncacheable.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Uncacheable.java
index 70014a2..f0d901d 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Uncacheable.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Uncacheable.java
@@ -5,5 +5,8 @@ import java.lang.annotation.*;
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
 @Documented
+/**
+ * When placed in the method, it invalidates any call of such method to be considered as cacheable
+ */
 public @interface Uncacheable {
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java
index b54f147..b71b48a 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java
@@ -1,7 +1,16 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.exceptions;
 
-/**
- * Created by jhonnymertz on 04/06/17.
- */
-public class CacheProviderException {
+public class CacheProviderException extends RuntimeException {
+
+    public CacheProviderException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public CacheProviderException(Throwable cause) {
+        super(cause);
+    }
+
+    public CacheProviderException(String message) {
+        super(message);
+    }
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java
index 9fef947..3efdec5 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java
@@ -9,4 +9,8 @@ public class StorageException extends RuntimeException {
     public StorageException(Throwable cause) {
         super(cause);
     }
+
+    public StorageException(String message) {
+        super(message);
+    }
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/aspects/TracerAspect.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/aspects/TracerAspect.java
index 9ce36a6..3023e29 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/aspects/TracerAspect.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/aspects/TracerAspect.java
@@ -2,34 +2,30 @@ package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.aspects;
 
 import br.ufrgs.inf.prosoft.adaptivecaching.analysis.Analyzer;
 import br.ufrgs.inf.prosoft.adaptivecaching.analysis.decision.flowchart.model.MethodEntry;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.CacheManagerFactory;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.cacher.key.Key;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.ehcache.EhCacheCache;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.ehcache.EhCacheCacheManager;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.guava.GuavaCache;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.guava.GuavaCacheManager;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.Cache;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.CacheManager;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.ValueWrapper;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.ValueWrapper;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.threads.NamedThreads;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.threads.VerboseRunnable;
 import br.ufrgs.inf.prosoft.adaptivecaching.configuration.annotation.AdaptiveCaching;
 import br.ufrgs.inf.prosoft.adaptivecaching.configuration.annotation.ComponentScan;
-import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.customization.AnonymousUserGetter;
-import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.customization.SpringUserGetter;
-import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.customization.UserGetter;
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.CacheProviderException;
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.ConfigurationException;
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.StorageException;
 import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.metadata.LogTrace;
 import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.metadata.MethodInfo;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.usersession.UserGetter;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.usersession.UserGetterFactory;
 import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache.CacheMonitor;
-import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache.vendors.ehcache.EhCacheMonitor;
-import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache.vendors.guava.GuavaMonitor;
-import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage.*;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache.CacheMonitorFactory;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage.MongoRepository;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage.Repository;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage.RepositoryFactory;
 import com.mongodb.MongoClient;
 import com.mongodb.MongoTimeoutException;
 import com.mongodb.client.MongoDatabase;
-import net.sf.ehcache.config.CacheConfiguration;
-import net.sf.ehcache.config.PersistenceConfiguration;
-import net.sf.ehcache.management.ManagementService;
-import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
@@ -43,10 +39,7 @@ import org.reflections.util.ConfigurationBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.management.MBeanServer;
-import java.io.File;
 import java.io.IOException;
-import java.lang.management.ManagementFactory;
 import java.util.*;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -94,26 +87,28 @@ public class TracerAspect {
                     "tracing methods"
             ));
     Logger logger = LoggerFactory.getLogger(TracerAspect.class);
-    private Repository repository;
-    private List<String> allowedPackages;
-    private List<String> notAllowedPackages;
+
+    //traceable configuration
+    private String[] allowed;
+    private String[] notAllowed;
+
+    //caching components
     private CacheManager cacheManager;
     private Cache cache;
     private CacheMonitor cacheMonitor;
-    private Analyzer analyzer;
+
+    //adaptive caching configurations
     private AdaptiveCaching cachingConfig;
     private Properties properties;
     private UserGetter userGetter;
+    private Repository repository;
     private List<LogTrace> tempTraces;
+
+    //stats
     private int count;
     private long hashAndStructureTime;
     private long traceTime;
 
-    //TODO Decouple repository from this
-    public TracerAspect() throws IOException {
-        initialize();
-    }
-
     @Pointcut(
             //any execution except the own framework
             "(execution(!void *(..)) && !within(br.ufrgs.inf.prosoft.adaptivecaching..*) " +
@@ -130,178 +125,83 @@ public class TracerAspect {
         return enabled;
     }
 
+    //TODO Decouple repository from this
+    public TracerAspect() throws IOException {
+        initialize();
+    }
+
     private void initialize() throws IOException {
+        try {
+            Class<?> configClass = getAvailableConfigurationClass();
+            cachingConfig = configClass.getAnnotation(AdaptiveCaching.class);
+            logger.info("AdaptiveCaching found, loading options...");
+
+            if (!cachingConfig.enabled()) {
+                turnoff();
+                logger.info("Adaptive caching disabled manually on @AdaptiveCaching.");
+                return;
+            }
 
-        //TODO Decouple
-        Reflections reflections = new Reflections(
-                new ConfigurationBuilder()
-                        .setUrls(ClasspathHelper.forClassLoader())
-                        .setScanners(new SubTypesScanner(false), new ResourcesScanner(), new TypeAnnotationsScanner()));
+            //getting allowed packages from @ComponentScan
+            ComponentScan componentScanConfig = configClass.getAnnotation(ComponentScan.class);
+            if (componentScanConfig == null) {
+                //if not specified, it assumes the same package where @AdaptiveCaching were declared
+                allowed = new String[]{configClass.getPackage().getName()};
+                //logger.error("ComponenScan for AdaptiveCaching not found, adaptive caching disabled.");
+                //enabled = false;
+                //return;
+            }
+            allowed = componentScanConfig.allowed();
+            notAllowed = componentScanConfig.denied();
+            logger.info("@AdaptiveCaching will trace and cache methods into {} packages...", allowed);
 
-        //loading @AdaptiveCaching
-        Set<Class<?>> configurations =
-                reflections.getTypesAnnotatedWith(AdaptiveCaching.class);
-        if (configurations.isEmpty()) {
-            logger.error("@AdaptiveCaching not found, adaptive caching disabled.");
-            enabled = false;
-            return;
-        }
-        if (configurations.size() > 1) {
-            logger.error("@AdaptiveCaching has too many definitions, adaptive caching disabled.");
-            enabled = false;
-            return;
-        }
-        Class<?> configClass = configurations.iterator().next();
-        AdaptiveCaching adaptiveConfig = configClass.getAnnotation(AdaptiveCaching.class);
-        cachingConfig = adaptiveConfig;
-        logger.info("AdaptiveCaching found, loading options...");
-
-        if (!cachingConfig.enabled()) {
-            logger.error("Adaptive caching disabled manually on @AdaptiveCaching.");
-            return;
-        }
+            //todo load uncacheable annotation and methods and add to the blacklist
+            //todo load cacheable annotation and methods and add to the must-cache list
 
-        //getting allowed packages from @ComponentScan
-        ComponentScan componentScanConfig = configClass.getAnnotation(ComponentScan.class);
-        if (componentScanConfig == null) {
-            //TODO if not specified, it assumes the same package where @AdaptiveCaching were declared
-            logger.error("ComponenScan for AdaptiveCaching not found, adaptive caching disabled.");
-            enabled = false;
-            return;
-        }
+            if (cachingConfig.tracerEnabled()) {
 
-        allowedPackages = Arrays.asList(componentScanConfig.allowed());
-        notAllowedPackages = Arrays.asList(componentScanConfig.denied());
-        logger.info("@AdaptiveCaching will trace and cache methods into {} packages...", allowedPackages);
-
-        if (adaptiveConfig.tracerEnabled()) {
-            //setting up the repository
-            properties = new Properties();
-            //file location:
-            //System.out.println(getClass().getClassLoader().getResource("adaptivecaching.properties").getPath());
-            properties.load(getClass().getClassLoader().getResourceAsStream("adaptivecaching.properties"));
-            if (properties == null || properties.isEmpty()) {
-                logger.error("adaptivecaching.properties is not defined, adaptive caching disabled.");
-                enabled = false;
-            } else
-                logger.info("adaptivecaching.properties found, loading properties...");
-
-            switch (cachingConfig.logRepository()) {
-                case MONGODB:
-                    //TODO decoupĺe this with a factory
-                    try {
-                        MongoClient mongo = new MongoClient(properties.getProperty("adaptivecaching.monitoring.db.address"), Integer.parseInt(properties.getProperty("adaptivecaching.monitoring.db.port")));
-                        MongoDatabase database = mongo.getDatabase(properties.getProperty("adaptivecaching.monitoring.db.scheme"));
-                        repository = new MongoRepository<LogTrace>(database.getCollection(properties.getProperty("adaptivecaching.monitoring.db.name")), LogTrace.class);
-                        logger.info("Repository is configured to MongoDB: " + repository.toString());
-                    } catch (MongoTimeoutException e) {
-                        logger.error("Cannot connect with MongoDB with the defined properties, adaptive caching disabled.", e);
-                        tracerEnabled = false;
-                    }
+                //setting up the repository
+                properties = getPropertiesFile();
+                if (properties == null || properties.isEmpty()) {
+                    logger.error("adaptivecaching.properties is not defined, adaptive caching disabled.");
+                    enabled = false;
+                } else
+                    logger.info("adaptivecaching.properties found, loading properties...");
 
-                    break;
-                case REDIS:
-                    //TODO decouple it from redis and get of properties
-                    repository = new RedisRepository<LogTrace>();
-                    logger.debug("Repository is configured to Redis.");
-                    break;
-                case TEXTFILE:
-                    AsyncFileWriter as = new AsyncFileWriter(new File("traces.txt"));
-                    as.open();
-                    repository = as;
-                    break;
-                case MEMORY:
-                    //TODO log a warning because memory can take too much from the application...
-                    repository = new MemoryRepository<LogTrace>();
-                    logger.debug("Repository is configured to save logs in Memory.");
-                    break;
-                case CONSOLE:
-                    repository = new ConsoleRepository<LogTrace>();
-                    logger.debug("Repository is configured to just show logs in console.");
-                    break;
-            }
 
-            if (cachingConfig.clearMonitoringDataOnStart()) {
-                repository.removeAll();
-                logger.debug("Repository starting cleaned.");
-            }
+                repository = RepositoryFactory.getRepository(properties, cachingConfig.logRepository());
 
-            //TODO switch and build
-            try {
-                userGetter = new SpringUserGetter();
-            } catch (Exception e) {
-                userGetter = new AnonymousUserGetter();
-            }
+                if (cachingConfig.clearMonitoringDataOnStart()) {
+                    repository.removeAll();
+                    logger.debug("Repository starting cleaned.");
+                }
 
-        } else tracerEnabled = false;
-
-        switch (cachingConfig.cacheProvider()) {
-            case GUAVA:
-                this.cacheManager = new GuavaCacheManager();
-                this.cache = cacheManager.getCache("test");
-                this.cacheMonitor = new GuavaMonitor((GuavaCache) this.cache);
-                logger.debug("Cache provider is configured to Guava.");
-                break;
-            case MEMCACHED:
-                break;
-            case REDIS:
-                //redis cache manager
-//        JedisConnectionFactory cf = new JedisConnectionFactory();
-//        cf.setHostName("127.0.0.1");
-//        cf.setPort(6379);
-//        RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();
-//        redisTemplate.setConnectionFactory(cf);
-//        RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate);
-//        redisCacheManager.setDefaultExpiration(300);
-//        this.cacheManager = redisCacheManager;
-//        this.cache = redisCacheManager.getCache("test");
-                break;
-            case CAFFEINE:
-                break;
-            case EHCACHE:
-                net.sf.ehcache.CacheManager cm = net.sf.ehcache.CacheManager.newInstance();
-
-                //monitoring hit and miss ratio:
-                MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
-                ManagementService.registerMBeans(cm, mBeanServer, false, false, false, true);
-
-                //Create a Cache specifying its configuration.
-                net.sf.ehcache.Cache adaptiveCache = new net.sf.ehcache.Cache(
-                        new CacheConfiguration("adaptivecaching", 10000)
-                                .memoryStoreEvictionPolicy(MemoryStoreEvictionPolicy.LRU)
-                                .eternal(true)
-                                .overflowToOffHeap(false)
-                                .persistence(new PersistenceConfiguration().strategy(PersistenceConfiguration.Strategy.NONE)));
-                cm.addCache(adaptiveCache);
-                this.cacheManager = new EhCacheCacheManager(cm);
-                this.cache = cacheManager.getCache("adaptivecaching");
-                this.cacheMonitor = new EhCacheMonitor((EhCacheCache) this.cache);
-                logger.debug("Cache provider is configured to EhCache.");
-                break;
-        }
+                //TODO switch and build: pass a parameter and build
+                userGetter = UserGetterFactory.getInstance();
 
-        //TODO load another options from @AdaptiveCaching
+            } else tracerEnabled = false;
 
-        //TODO get time from properties or see the external process
-        if (adaptiveConfig.analyzerEnabled()) {
-            TracerAspect.analyzerEnabled = true;
-            //TODO trigger by time
-            //maybe we should kill it or delete the object?
-            analyzerExecutor.scheduleWithFixedDelay(new Analyzer(repository, cacheMonitor.getCacheInfo(), adaptiveConfig), 2, 5, TimeUnit.MINUTES);
-        }
+            this.cacheManager = CacheManagerFactory.getCacheManager(cachingConfig.cacheProvider());
+            this.cache = cacheManager.getCache("adaptivecaching");
+            this.cacheMonitor = CacheMonitorFactory.getCacheMonitor(this.cache, cachingConfig.cacheProvider());
 
-        //TODO trigger by time
-        this.expirationExecutor.scheduleWithFixedDelay(
-                new VerboseRunnable(
-                        new Runnable() {
-                            @Override
-                            public void run() {
-                                TracerAspect.this.clean();
-                            }
-                        }
-                ),
-                6, adaptiveConfig.expiry(), TimeUnit.MINUTES
-        );
+            //TODO load another options from @AdaptiveCaching
+
+            //TODO get time from properties or see the external process
+            if (cachingConfig.analyzerEnabled()) {
+                TracerAspect.analyzerEnabled = true;
+                //TODO trigger by time
+                //maybe we should kill it or delete the object?
+                analyzerExecutor.scheduleWithFixedDelay(
+                        new Analyzer(repository, cacheMonitor.getCacheInfo(), cachingConfig),
+                        cachingConfig.firstAnalysis(), cachingConfig.analysisInterval(), TimeUnit.MINUTES);
+            }
+
+            //TODO trigger by time
+            this.expirationExecutor.scheduleWithFixedDelay(
+                    new VerboseRunnable(() -> TracerAspect.this.clean()),
+                    cachingConfig.firstExpiry(), cachingConfig.expiryInterval(), TimeUnit.MINUTES
+            );
 
 //        if (adaptiveConfig.analyzerEnabled()) {
 //            this.loaderExecutor.scheduleWithFixedDelay(
@@ -315,25 +215,36 @@ public class TracerAspect {
 //                10, 5, TimeUnit.SECONDS
 //        );
 
-        methodBlackList = new ArrayList<>();
-        tempTraces = Collections.synchronizedList(new ArrayList<>());
+            methodBlackList = new ArrayList<>();
+            tempTraces = Collections.synchronizedList(new ArrayList<>());
+
+
+        } catch (ConfigurationException e) {
+            turnoff();
+            logger.error("An error was found while trying to get the AdaptiveCaching annotation.", e);
+        } catch (StorageException e) {
+            turnoff();
+            logger.error("Cannot connect with the specified repository, adaptive caching disabled.", e);
+        } catch (CacheProviderException e) {
+            turnoff();
+            logger.error("Cannot connect with the specified cache, adaptive caching disabled.", e);
+        }
     }
 
+
     @Around("anyCall()")
     public Object aroundMethods(ProceedingJoinPoint joinPoint) throws Throwable {
 
         //see if a method is being caught
-//        if (joinPoint.getSignature().toLongString().contains("findOwnerById")) {
-//            System.out.println("pointcut: " + joinPoint);
-//            for (StackTraceElement st : new Throwable().getStackTrace()){
-//                System.out.println(st.getClassName() + ":" + st.getMethodName());
-//            }
-//        }
+        //traceSpecificMethod(joinPoint);
+
+        if (tracerEnabled) {
+
+            //generate a hash of the method that will be used as: key to cache and compare if the method is allowed or not
 
-        //when method cached, no trace will be generated
-        //caching methods
-        //todo optimize this logic to build and compare methods
-        if (cacheableMethods != null) {
+            //when method cached, no trace will be generated
+            //caching methods
+            //todo optimize this logic to build and compare methods
             for (MethodEntry methodAnalysis : cacheableMethods) {
                 if (joinPoint.getSignature().toLongString().equals(methodAnalysis.getMethodInfo().getSignature())) {
 
@@ -350,30 +261,28 @@ public class TracerAspect {
                     }
                 }
             }
+
+            if (isAllowed(joinPoint)) trace(joinPoint);
         }
+        return joinPoint.proceed();
+    }
 
-        for (String p : notAllowedPackages) {
+    private boolean isAllowed(ProceedingJoinPoint joinPoint) throws Throwable {
+        for (String p : notAllowed) {
             //toString to avoid get the return class as a false positive
             if (joinPoint.getSignature().toString().contains(p)) {
-                return joinPoint.proceed();
+                return false;
             }
         }
 
         //trace only allowed packages
-        boolean shouldTrace = false;
-        for (String p : allowedPackages) {
+        for (String p : allowed) {
             if (joinPoint.getSignature().toLongString().contains(p)
                     && !methodBlackList.contains(joinPoint.getSignature().toLongString()))
-                shouldTrace = true;
-            break;
+                return true;
         }
-        if (!shouldTrace)
-            return joinPoint.proceed();
 
-        if (tracerEnabled)
-            return trace(joinPoint);
-        else
-            return joinPoint.proceed();
+        return false;
     }
 
     private Object trace(ProceedingJoinPoint joinPoint) throws Throwable {
@@ -519,11 +428,43 @@ public class TracerAspect {
         TracerAspect.tracerEnabled = true;
     }
 
-    //see if a method is being caught
-//        if (joinPoint.getSignature().toLongString().contains("showVetList")) {
-//            System.out.println("pointcut: " + joinPoint);
-//            for (StackTraceElement st : new Throwable().getStackTrace()){
-//                System.out.println(st.getClassName());
-//            }
-//        }
-}
+    private Class<?> getAvailableConfigurationClass() {
+        //TODO Decouple??
+        Reflections reflections = new Reflections(
+                new ConfigurationBuilder()
+                        .setUrls(ClasspathHelper.forClassLoader())
+                        .setScanners(new SubTypesScanner(false), new ResourcesScanner(), new TypeAnnotationsScanner()));
+
+        //loading @AdaptiveCaching
+        Set<Class<?>> configurations =
+                reflections.getTypesAnnotatedWith(AdaptiveCaching.class);
+        if (configurations.isEmpty())
+            throw new ConfigurationException("@AdaptiveCaching not found, adaptive caching disabled.");
+        if (configurations.size() > 1)
+            throw new ConfigurationException("@AdaptiveCaching has too many definitions, adaptive caching disabled.");
+        return configurations.iterator().next();
+    }
+
+    private void turnoff() {
+        enabled = false;
+        tracerEnabled = false;
+        analyzerEnabled = false;
+    }
+
+    private Properties getPropertiesFile() throws IOException {
+        Properties properties = new Properties();
+        //file location:
+        //System.out.println(getClass().getClassLoader().getResource("adaptivecaching.properties").getPath());
+        properties.load(getClass().getClassLoader().getResourceAsStream("adaptivecaching.properties"));
+        return properties;
+    }
+
+    private void traceSpecificMethod(ProceedingJoinPoint joinPoint) {
+        if (joinPoint.getSignature().toLongString().contains("findOwnerById")) {
+            System.out.println("pointcut: " + joinPoint);
+            for (StackTraceElement st : new Throwable().getStackTrace()) {
+                System.out.println(st.getClassName() + ":" + st.getMethodName());
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java
index 4f398f3..a5b553f 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java
@@ -1,7 +1,17 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.usersession;
 
-/**
- * Created by jhonnymertz on 05/06/17.
- */
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 public class UserGetterFactory {
+
+    static Logger logger = LoggerFactory.getLogger(UserGetterFactory.class);
+
+    public static UserGetter getInstance() {
+        try {
+            return new SpringUserGetter();
+        } catch (Exception e) {
+            return new AnonymousUserGetter();
+        }
+    }
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheInfo.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheInfo.java
index 423a636..df6b2d4 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheInfo.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheInfo.java
@@ -12,7 +12,7 @@ public class CacheInfo {
 
     private long currentTime;
 
-    //TODO maybe it would be necessary a var to expired keys, which is different from evicted (redis has, memcached not)
+    //TODO maybe it would be necessary a var to expired keys, which are different from evicted keys (redis has, memcached not)
     private Long evictedKeys;
     private Long keyspaceHits;
     private Long keyspaceMisses;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheMonitorFactory.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheMonitorFactory.java
index 33cead8..c697d21 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheMonitorFactory.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheMonitorFactory.java
@@ -1,7 +1,43 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache;
 
-/**
- * Created by jhonnymertz on 04/06/17.
- */
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.ehcache.EhCacheCache;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.guava.GuavaCache;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.Cache;
+import br.ufrgs.inf.prosoft.adaptivecaching.configuration.annotation.types.CacheProviderType;
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.CacheProviderException;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache.vendors.ehcache.EhCacheMonitor;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache.vendors.guava.GuavaMonitor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 public class CacheMonitorFactory {
+
+    static Logger logger = LoggerFactory.getLogger(CacheMonitorFactory.class);
+
+    public static CacheMonitor getCacheMonitor(Cache cache, CacheProviderType cacheProviderType) {
+        switch (cacheProviderType) {
+            case GUAVA:
+                return new GuavaMonitor((GuavaCache) cache);
+//            case MEMCACHED:
+//                break;
+//            case REDIS:
+            //redis cache manager
+//        JedisConnectionFactory cf = new JedisConnectionFactory();
+//        cf.setHostName("127.0.0.1");
+//        cf.setPort(6379);
+//        RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();
+//        redisTemplate.setConnectionFactory(cf);
+//        RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate);
+//        redisCacheManager.setDefaultExpiration(300);
+//        this.cacheManager = redisCacheManager;
+//        this.cache = redisCacheManager.getCache("test");
+//                break;
+//            case CAFFEINE:
+//                break;
+            case EHCACHE:
+                return new EhCacheMonitor((EhCacheCache) cache);
+            default:
+                throw new CacheProviderException("The specified cache monitor [" + cacheProviderType + "] does not have an available implementation.");
+        }
+    }
 }
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/AsyncFileWriter.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/AsyncFileWriter.java
index 4820bac..89ac0ba 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/AsyncFileWriter.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/AsyncFileWriter.java
@@ -1,5 +1,6 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage;
 
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.StorageException;
 import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.metadata.LogTrace;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/ConsoleRepository.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/ConsoleRepository.java
index d894de6..e3da8cf 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/ConsoleRepository.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/ConsoleRepository.java
@@ -1,5 +1,7 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage;
 
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.StorageException;
+
 import java.util.List;
 
 public class ConsoleRepository<T> implements Repository<T> {
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MemoryRepository.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MemoryRepository.java
index d906bd7..7e0b1d2 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MemoryRepository.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MemoryRepository.java
@@ -1,5 +1,7 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage;
 
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.StorageException;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MongoRepository.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MongoRepository.java
index 9fb97ad..5183e60 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MongoRepository.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/MongoRepository.java
@@ -1,9 +1,9 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage;
 
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.StorageException;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module;
 import com.mongodb.client.MongoCollection;
 import com.mongodb.client.MongoCursor;
 import org.bson.Document;
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/Repository.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/Repository.java
index cc14b03..f500aaf 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/Repository.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/Repository.java
@@ -1,6 +1,6 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage;
 
-import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.metadata.LogTrace;
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.StorageException;
 
 import java.util.List;
 
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/RepositoryFactory.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/RepositoryFactory.java
index 240cdf1..78a227f 100644
--- a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/RepositoryFactory.java
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/RepositoryFactory.java
@@ -1,7 +1,56 @@
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage;
 
-/**
- * Created by jhonnymertz on 04/06/17.
- */
+import br.ufrgs.inf.prosoft.adaptivecaching.configuration.annotation.types.RepositoryType;
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.StorageException;
+import br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.metadata.LogTrace;
+import com.mongodb.MongoClient;
+import com.mongodb.MongoTimeoutException;
+import com.mongodb.client.MongoDatabase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Properties;
+
 public class RepositoryFactory {
+
+    static Logger logger = LoggerFactory.getLogger(RepositoryFactory.class);
+
+    public static Repository getRepository(Properties properties, RepositoryType repositoryType) throws IOException {
+
+        switch (repositoryType) {
+            case MONGODB:
+                try {
+                    MongoClient mongo = new MongoClient(properties.getProperty("adaptivecaching.monitoring.db.address"), Integer.parseInt(properties.getProperty("adaptivecaching.monitoring.db.port")));
+                    MongoDatabase database = mongo.getDatabase(properties.getProperty("adaptivecaching.monitoring.db.scheme"));
+                    Repository repository = new MongoRepository<>(database.getCollection(properties.getProperty("adaptivecaching.monitoring.db.name")), LogTrace.class);
+                    logger.debug("Repository created to MongoDB: " + repository.toString());
+                    return repository;
+                } catch (MongoTimeoutException e) {
+                    throw new StorageException("Cannot connect with MongoDB with the defined properties.", e);
+                }
+            case REDIS:
+                //TODO decouple it from redis and get of properties
+                logger.debug("Repository is configured to Redis.");
+                return new RedisRepository<LogTrace>();
+            case TEXTFILE:
+                //TODO decouple it from redis and get of properties
+                AsyncFileWriter as = new AsyncFileWriter(new File("traces.txt"));
+                as.open();
+                logger.debug("Repository is configured to save logs in textfile.");
+                return as;
+            case MEMORY:
+                //TODO decouple it from redis and get of properties
+                //TODO log a warning because memory can take too much from the application...
+                logger.warn("Repository is configured to save logs in Memory, which is not recommended because it can take too much from the application.");
+                return new MemoryRepository<LogTrace>();
+            case CONSOLE:
+                //TODO decouple it from redis and get of properties
+                logger.warn("Repository is configured to just show logs in console. Nothing will be recorded");
+                return new ConsoleRepository<LogTrace>();
+            default:
+                throw new StorageException("The specified repository type [" + repositoryType +"] does not have an available implementation.");
+        }
+    }
 }
diff --git a/framework/autonomicmanager/src/test/java/br/ufrgs/inf/prosoft/tests/adaptivecaching/MethodCacherTest.java b/framework/autonomicmanager/src/test/java/br/ufrgs/inf/prosoft/tests/adaptivecaching/MethodCacherTest.java
index 1412db1..afe1e9f 100644
--- a/framework/autonomicmanager/src/test/java/br/ufrgs/inf/prosoft/tests/adaptivecaching/MethodCacherTest.java
+++ b/framework/autonomicmanager/src/test/java/br/ufrgs/inf/prosoft/tests/adaptivecaching/MethodCacherTest.java
@@ -4,17 +4,15 @@ import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.cacher.extensions.provi
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.cacher.key.Key;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.ehcache.EhCacheCacheManager;
 import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.Cache;
-import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util.support.SimpleValueWrapper;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.support.SimpleValueWrapper;
 import net.sf.ehcache.CacheManager;
 import net.sf.ehcache.config.CacheConfiguration;
 import net.sf.ehcache.config.PersistenceConfiguration;
 import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
-import org.aspectj.asm.IProgramElement;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.hamcrest.CoreMatchers;
 import org.hamcrest.MatcherAssert;
-import org.junit.Test;
 import org.mockito.Mockito;
 
 import java.lang.reflect.Method;

jmeter.log 206(+206 -0)

diff --git a/jmeter.log b/jmeter.log
new file mode 100644
index 0000000..119324b
--- /dev/null
+++ b/jmeter.log
@@ -0,0 +1,206 @@
+2017/06/04 20:28:16 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: Loading user properties from: /home/jhonnymertz/dev/apache-jmeter-3.0/bin/user.properties 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: Loading system properties from: /home/jhonnymertz/dev/apache-jmeter-3.0/bin/system.properties 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: Copyright (c) 1998-2016 The Apache Software Foundation 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: Version 3.0 r1743807 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: java.version=1.8.0_45 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: os.name=Linux 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: os.arch=amd64 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: os.version=4.4.0-78-generic 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: file.encoding=UTF-8 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: Max memory     =1840250880 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: Available Processors =4 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: Default Locale=English (United States) 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: JMeter  Locale=English (United States) 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: JMeterHome=/home/jhonnymertz/dev/apache-jmeter-3.0 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: user.dir  =/home/jhonnymertz/workspace/adaptive-caching-framework 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: PWD       =/home/jhonnymertz/workspace/adaptive-caching-framework 
+2017/06/04 20:28:16 INFO  - jmeter.JMeter: IP: 127.0.1.1 Name: jhonnymertz-Vostro-5470 FullName: jhonnymertz-Vostro-5470 
+2017/06/04 20:28:16 INFO  - jmeter.services.FileServer: Default base='/home/jhonnymertz/workspace/adaptive-caching-framework' 
+2017/06/04 20:28:16 INFO  - jmeter.services.FileServer: Set new base='/home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/JMeter' 
+2017/06/04 20:28:16 INFO  - jmeter.save.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2 
+2017/06/04 20:28:16 INFO  - jmeter.save.SaveService: Using SaveService properties file encoding UTF-8 
+2017/06/04 20:28:16 INFO  - jmeter.save.SaveService: Using SaveService properties version 2.9 
+2017/06/04 20:28:16 INFO  - jmeter.save.SaveService: All converter versions present and correct 
+2017/06/04 20:28:16 INFO  - jmeter.save.SaveService: Loading file: /home/jhonnymertz/workspace/adaptive-caching-framework/evaluation/JMeter/petclinic_test_plan.jmx 
+2017/06/04 20:28:17 INFO  - jmeter.protocol.http.control.CookieManager: Settings: Delete null: true Check: true Allow variable: true Save: false Prefix: COOKIE_ 
+2017/06/04 20:28:17 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:28:17 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:28:17 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:28:17 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser 
+2017/06/04 20:28:17 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 
+2017/06/04 20:28:17 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser 
+2017/06/04 20:28:17 INFO  - jmeter.JMeter: Creating summariser <summary> 
+2017/06/04 20:28:17 INFO  - jmeter.engine.StandardJMeterEngine: Running the test! 
+2017/06/04 20:28:17 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
+2017/06/04 20:28:17 INFO  - jmeter.samplers.SampleEvent: List of sample_variables: [] 
+2017/06/04 20:28:17 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.' 
+2017/06/04 20:28:17 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.' 
+2017/06/04 20:28:17 INFO  - jmeter.JMeter: Running test (1496600897872) 
+2017/06/04 20:28:17 INFO  - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : User threads full random transitions 
+2017/06/04 20:28:17 INFO  - jmeter.engine.StandardJMeterEngine: Starting 50 threads for group User threads full random transitions. 
+2017/06/04 20:28:17 INFO  - jmeter.engine.StandardJMeterEngine: Thread will continue on error 
+2017/06/04 20:28:17 INFO  - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 50 ramp-up 1 perThread 20.0 delayedStart=false 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-1 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-2 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-3 
+2017/06/04 20:28:18 INFO  - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times 
+2017/06/04 20:28:18 INFO  - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1 
+2017/06/04 20:28:18 INFO  - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true 
+2017/06/04 20:28:18 INFO  - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-4 
+2017/06/04 20:28:18 INFO  - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = jhonnymertz-Vostro-5470 
+2017/06/04 20:28:18 INFO  - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 0 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-5 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-6 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-7 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-8 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-9 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-10 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-11 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-12 
+2017/06/04 20:28:18 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-13 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-14 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-15 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-16 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-17 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-18 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-19 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-20 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-21 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-22 
+2017/06/04 20:28:19 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-23 
+2017/06/04 20:28:20 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-24 
+2017/06/04 20:28:20 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-25 
+2017/06/04 20:28:20 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-26 
+2017/06/04 20:28:20 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-27 
+2017/06/04 20:28:20 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-28 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-33 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-32 
+2017/06/04 20:28:21 INFO  - jmeter.threads.ThreadGroup: Started thread group number 1 
+2017/06/04 20:28:21 INFO  - jmeter.engine.StandardJMeterEngine: All thread groups have been started 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-31 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-30 
+2017/06/04 20:28:20 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-29 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-34 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-35 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-36 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-37 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-38 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-39 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-40 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-41 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-42 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-43 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-44 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-45 
+2017/06/04 20:28:21 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-46 
+2017/06/04 20:28:22 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-47 
+2017/06/04 20:28:22 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-48 
+2017/06/04 20:28:22 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-49 
+2017/06/04 20:28:22 INFO  - jmeter.threads.JMeterThread: Thread started: User threads full random transitions 1-50 
+2017/06/04 20:28:30 INFO  - jmeter.reporters.Summariser: summary +  18591 in 00:00:12 = 1532,9/s Avg:    13 Min:     0 Max:   832 Err: 18541 (99,73%) Active: 50 Started: 50 Finished: 0 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-2 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-2 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-1 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-1 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-10 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-10 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-11 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-11 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-3 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-3 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-7 
+2017/06/04 20:28:36 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-7 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-18 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-18 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-4 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-4 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-14 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-14 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-6 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-6 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-15 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-15 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-35 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-35 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-5 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-5 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-8 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-8 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-9 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-9 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-30 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-30 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-25 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-25 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-22 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-22 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-13 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-13 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-29 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-29 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-37 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-37 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-23 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-23 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-24 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-24 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-49 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-49 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-21 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-21 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-12 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-12 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-40 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-40 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-16 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-16 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-19 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-19 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-27 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-27 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-28 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-28 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-39 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-39 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-32 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-32 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-26 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-26 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-38 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-38 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-44 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-44 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-41 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-41 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-48 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-48 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-43 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-43 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-17 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-17 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-34 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-34 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-42 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-42 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-50 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-50 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-31 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-31 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-33 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-33 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-20 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-20 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-45 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-45 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-46 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-46 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-47 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-47 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread is done: User threads full random transitions 1-36 
+2017/06/04 20:28:37 INFO  - jmeter.threads.JMeterThread: Thread finished: User threads full random transitions 1-36 
+2017/06/04 20:28:37 INFO  - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test 
+2017/06/04 20:28:37 INFO  - jmeter.reporters.Summariser: summary +  31459 in 00:00:08 = 4050,3/s Avg:     7 Min:     0 Max:   164 Err: 31459 (100,00%) Active: 0 Started: 50 Finished: 50 
+2017/06/04 20:28:37 INFO  - jmeter.reporters.Summariser: summary =  50050 in 00:00:20 = 2515,6/s Avg:     9 Min:     0 Max:   832 Err: 50000 (99,90%) 

README.md 89(+89 -0)

diff --git a/README.md b/README.md
index e69de29..a7a9e3c 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,89 @@
+Seamless and adaptive application-level caching
+=========
+
+#todo describe application-level caching
+
+Identifying cacheable methods automatically
+---------
+
+Evaluation...
+
+- Three application setups NO, DEV, AP
+- Three randomized simulation of execution for each application
+
+#TODO describe simulations
+
+Required Tools
+---------
+- Jmeter (http://jmeter.apache.org/)
+- Mysql (https://www.mysql.com/)
+- Java 8
+- Maven 3
+
+Applications
+---------
+#todo describe available apps
+
+Application setup
+---------
+[Shopizer] (https://github.com/shopizer-ecommerce/shopizer):
+-- Instalar Elasticsearch (https://www.elastic.co/);
+-- Base de dados
+
+- Criar schema SALESMANAGER
+- Configurar arquivo database.properties
+- Popular base de dados
+-- No arquivo shopizer-properties.xml
+--- <prop key="POPULATE_TEST_DATA">true</prop>
+--- 7 categories, 6 products, addresses USA, one customer, one admin, shipping info
+
+
+
+◦ Acesso via web
+
+▪ /shop → Páginas da loja
+
+▪ /admin → Administração com login: admin:password
+
+
+
+
+
+Petclinic - https://github.com/spring-projects/spring-petclinic
+
+Criar schema petclinic na base de dados - na primeira inicialização, a base será populada com dados básicos para o funcionamento automaticamente
+Configurar base de dados no arquivo pom.xml
+
+Access
+http://localhost:9966/petclinic/
+
+
+
+• CloudStore (https://github.com/CloudScale-Project/CloudStore
+
+◦ Restaurar base de dados do arquivo DEV/database/rds-tpcw-dump-latest.sql
+
+▪ O dump contém 10000 books e está disponível no link: download
+
+◦ Configurar base de dados no arquivo
+
+src/main/resources/database/database.hibernate.properties
+
+
+Execução
+---------
+mvn clean install tomcat7:run-war -DskipTests
+
+Simulations
+-----------
+
+Com a aplicação em execução, o Jmeter deve ser aberto e carregado com o sumation setup desejado.
+
+Metrics
+-----------
+
+- [throughput] A execução é simples e após o termino da simulação a ferramenta irá informar o throughput.
+
+- [hit ratio] Após a execução da simulação, rodar o jconsole e acessar o atributo referente ao
+
+EhCache → Estatistics → Hits.
\ No newline at end of file