diff --git a/.gitignore b/.gitignore
index b1d3e9df45a1ee5cd73527d7e7d1c21b7393b48d..ef7b45a407d5ae80417ed57615ef152184a2f1c4 100755
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,4 @@ n2s3.iml
.cache-main
.cache-tests
.classpath
-20NCropped \[1\] 15-04-2020 16:15:33/
-40N \[1\] 06-04-2020 21:24:40/
diff --git a/build.sbt b/build.sbt
index 428ef36b76577fbd0ebafcc1c3e47dca722b20d2..98e887d7f5eb2eaaf17f5b3a2604817fa88151b5 100755
--- a/build.sbt
+++ b/build.sbt
@@ -1,11 +1,11 @@
import com.typesafe.sbt.SbtMultiJvm
-import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.{MultiJvm, scalatestOptions}
+import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
lazy val commonSettings = Seq(
- version := "1.1",
+ version := "1.1.1",
organization := "fr.univ-lille.cristal",
scalaVersion := "2.11.6",
- scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8", "-language:postfixOps", "-Xmax-classfile-name","78"),
+ scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8", "-language:postfixOps"),
/********************************************************************************************************************
* Dependecy information
@@ -50,19 +50,19 @@ lazy val commonSettings = Seq(
)
lazy val root = (project in file(".")).
- aggregate(n2s3, n2s3_cluster, examples, daemon)
+ aggregate(n2s3, examples, daemon) //n2s3_cluster
lazy val n2s3 = (project in file("n2s3")).
settings(commonSettings: _*)
-lazy val n2s3_cluster = (project in file("n2s3_cluster")).
- settings(commonSettings: _*).
- dependsOn(n2s3)
+//lazy val n2s3_cluster = (project in file("n2s3_cluster")).
+// settings(commonSettings: _*).
+// dependsOn(n2s3)
lazy val examples = (project in file("n2s3_examples")).
settings(commonSettings: _*).
- dependsOn(n2s3, n2s3_cluster)
-
+ dependsOn(n2s3)
+//dependsOn(n2s3, n2s3_cluster)
lazy val daemon = (project in file("n2s3_daemon")).
settings(commonSettings: _*).
dependsOn(n2s3)
@@ -70,5 +70,9 @@ lazy val daemon = (project in file("n2s3_daemon")).
lazy val integration_tests = (project in file("n2s3_integration_tests")).
settings(SbtMultiJvm.multiJvmSettings: _*).
settings(commonSettings: _*).
- configs(MultiJvm).
- dependsOn(n2s3, n2s3_cluster)
+ settings(
+ parallelExecution in Test := false
+ )
+ .configs(MultiJvm).
+ dependsOn(n2s3)
+
diff --git a/jfreechart-1.5.0.jar b/jfreechart-1.5.0.jar
new file mode 100644
index 0000000000000000000000000000000000000000..a6bebed73c95d6548dd0848ed059996885feabf4
Binary files /dev/null and b/jfreechart-1.5.0.jar differ
diff --git a/n2s3/build.sbt b/n2s3/build.sbt
old mode 100755
new mode 100644
index fe60ec7e01941c89c06bf9166754928309e83ea4..68cb04eab437621b11eb188604dddef4483c6ad8
--- a/n2s3/build.sbt
+++ b/n2s3/build.sbt
@@ -17,7 +17,7 @@ test in assembly := {}
libraryDependencies += "org.mongodb.scala" %% "mongo-scala-driver" % "2.6.0"
libraryDependencies ++= {
- val scalaXmlV = "1.0.2"
+ val scalaXmlV = "1.0.1"
val akkaV = "2.3.7"
val scalatestV = "2.2.1"
Seq(
@@ -28,8 +28,15 @@ libraryDependencies ++= {
"com.typesafe.akka" %% "akka-cluster" % akkaV,
"org.scalatest" %% "scalatest" % scalatestV % "test",
"com.squants" %% "squants" % "0.5.3",
- "com.storm-enroute" %% "scalameter" % "0.7",
- "org.knowm.xchart" % "xchart" % "3.3.1" exclude("de.erichseifert.vectorgraphics2d", "VectorGraphics2D"),
+ "com.storm-enroute" %% "scalameter" % "0.19" % Test,
+ "com.fasterxml.jackson.core" % "jackson-databind" % "2.11.0",
+ "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.11.0",
+ "org.knowm.xchart" % "xchart" % "3.6.3" exclude("de.erichseifert.vectorgraphics2d", "VectorGraphics2D"),
"net.sf" %% "jaer" % "1.0" from "https://sourcesup.renater.fr/frs/download.php/file/5047/jaer.jar"
)
-}
\ No newline at end of file
+}
+
+assemblyMergeStrategy in assembly := {
+case PathList("META-INF", xs @ _*) => MergeStrategy.discard
+case PathList("module-info.class") => MergeStrategy.discard
+case x => val oldStrategy = (assemblyMergeStrategy in assembly).value; oldStrategy(x) }
diff --git a/n2s3/documentation/Modification/nessy modofication.pdf b/n2s3/documentation/Modification/nessy modofication.pdf
old mode 100755
new mode 100644
diff --git a/n2s3/documentation/different_presentations/SoutenancePJI.pdf b/n2s3/documentation/different_presentations/SoutenancePJI.pdf
old mode 100755
new mode 100644
diff --git a/n2s3/documentation/different_presentations/report_pji.tar.gz b/n2s3/documentation/different_presentations/report_pji.tar.gz
old mode 100755
new mode 100644
diff --git a/n2s3/documentation/different_presentations/slides_n2s3.tar.gz b/n2s3/documentation/different_presentations/slides_n2s3.tar.gz
old mode 100755
new mode 100644
diff --git a/n2s3/documentation/different_presentations/slides_pji.tar.gz b/n2s3/documentation/different_presentations/slides_pji.tar.gz
old mode 100755
new mode 100644
diff --git a/n2s3/documentation/different_presentations/userGuide/main.tex b/n2s3/documentation/different_presentations/userGuide/main.tex
old mode 100755
new mode 100644
diff --git a/n2s3/documentation/different_presentations/userGuide/n2s3-user-guide.pdf b/n2s3/documentation/different_presentations/userGuide/n2s3-user-guide.pdf
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/Graph.java b/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/Graph.java
deleted file mode 100755
index 687fcfee411193b307c5da155fb5b21ca13835c6..0000000000000000000000000000000000000000
--- a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/Graph.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package fr.univ_lille.cristal.emeraude.n2s3;
-
-import org.jfree.chart.ChartFactory;
-import org.jfree.chart.ChartPanel;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.NumberAxis;
-import org.jfree.chart.plot.PlotOrientation;
-import org.jfree.chart.plot.XYPlot;
-import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
-import org.jfree.data.xy.XYDataset;
-import org.jfree.data.xy.XYSeries;
-import org.jfree.data.xy.XYSeriesCollection;
-import org.jfree.ui.ApplicationFrame;
-
-import java.awt.*;
-
-public class Graph extends ApplicationFrame {
-
- /**
- *
- */
- private static final long serialVersionUID = 1352234752863184258L;
-
- // chart data
- private XYSeriesCollection _dataset;
- private XYSeries firstSerie, secondSerie;
-
- // abscissa of the next point
- private int time;
- private final String time_name = "time";
-
- /**
- * Main constructor
- *
- * @param title
- * title of the frame
- */
- public Graph(String title, String first_title, String second_title) {
- super(title);
- this.time = 1;
- this.firstSerie = new XYSeries(first_title);
- this.secondSerie = new XYSeries(second_title);
- this._dataset = new XYSeriesCollection();
- this._dataset.addSeries(firstSerie);
- this._dataset.addSeries(secondSerie);
- final JFreeChart chart = createChart(_dataset);
- final ChartPanel chartPanel = new ChartPanel(chart);
- chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
- setContentPane(chartPanel);
- this.setVisible(true);
- }
-
- /**
- * Creation of the chart
- *
- * @param dataset
- * data to display on the graph
- * @return the chart initialized
- */
- private JFreeChart createChart(final XYDataset dataset) {
-
- // create the chart...
- final JFreeChart chart = ChartFactory.createXYLineChart(
- this.getTitle(), // chart title
- this.time_name, // x axis label
- "Entity number", // y axis label
- dataset, // data
- PlotOrientation.VERTICAL, true, // include legend
- true, // tooltips
- false // urls
- );
-
- // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
- chart.setBackgroundPaint(Color.white);
-
- // get a reference to the plot for further customisation...
- final XYPlot plot = chart.getXYPlot();
- plot.setBackgroundPaint(Color.lightGray);
- plot.setDomainGridlinePaint(Color.white);
- plot.setRangeGridlinePaint(Color.white);
-
- final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
- renderer.setSeriesShapesVisible(0, false);
- renderer.setSeriesShapesVisible(1, false);
- plot.setRenderer(renderer);
-
- // change the auto tick unit selection to integer units only...
- final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
- rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
- // OPTIONAL CUSTOMISATION COMPLETED.
-
- return chart;
-
- }
-
- @Override
- public void paint(Graphics grphcs) {
- super.paint(grphcs);
- }
-
- public void addall(double x, double y) {
- this.secondSerie.add(this.time, y);
- this.firstSerie.add(this.time, x);
- XYSeriesCollection xs = new XYSeriesCollection();
- xs.addSeries(firstSerie);
- xs.addSeries(secondSerie);
- this.time++;
- this._dataset = xs;
- }
-
-}
diff --git a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/InputOutputGraphNetworkObserver.scala b/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/InputOutputGraphNetworkObserver.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/AbstractGraph.java b/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/AbstractGraph.java
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronsActivitiesGraph.java b/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronsActivitiesGraph.java
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticsConductancesGraph.java b/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticsConductancesGraph.java
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticsWeightsBarGraph.java b/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticsWeightsBarGraph.java
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ValuesOfNetworkGraph.java b/n2s3/src/main/java/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ValuesOfNetworkGraph.java
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/resources/META-INF/MANIFEST.MF b/n2s3/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index af66193358ac5ab8f8567c86745be53fb1ec45c8..0000000000000000000000000000000000000000
--- a/n2s3/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,61 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: squants_2.11-0.5.3.jar akka-testkit_2.11-2.3.7.jar xchart-
- 3.3.1.jar jfreechart-1.0.17.jar nd4j-common-0.7.2.jar nd4j-native-0.7
- .2-android-x86.jar asm-5.0.4.jar protobuf-java-2.5.0.jar nd4j-native-
- platform-0.7.2.jar akka-cluster_2.11-2.3.7.jar commons-io-2.4.jar nd4
- j-native-0.7.2-android-arm.jar openblas-0.2.19-1.3-android-arm.jar ne
- tty-3.8.0.Final.jar commons-math3-3.2.jar scalameter-core_2.11-0.7.ja
- r scalameter_2.11-0.7.jar lombok-1.16.10.jar jackson-core-2.5.2.jar s
- tax2-api-3.1.4.jar openblas-0.2.19-1.3-linux-x86_64.jar scala-parser-
- combinators_2.11-1.0.1.jar scala-parser-combinators_2.11-1.0.3.jar ja
- ckson-module-scala_2.11-2.5.2.jar scala-swing_2.11-1.0.1.jar uncommon
- s-maths-1.2.2a.jar openblas-0.2.19-1.3-windows-x86_64.jar nd4j-contex
- t-0.7.2.jar nd4j-native-0.7.2-windows-x86_64.jar annotations-2.0.1.ja
- r nd4j-native-0.7.2-linux-ppc64le.jar nd4j-native-0.7.2.jar scala-xml
- _2.11-1.0.2.jar commons-math3-3.4.1.jar nd4s_2.11-0.7.2.jar openblas-
- 0.2.19-1.3-linux-ppc64le.jar openblas-0.2.19-1.3-macosx-x86_64.jar sl
- f4j-api-1.7.10.jar scalaxy-loops_2.11-0.3.4.jar openblas-0.2.19-1.3-a
- ndroid-x86.jar ascii-graphs_2.10-0.0.3.jar gpg-library_2.10-0.8.3.jar
- commons-codec-1.4.jar commons-logging-1.1.1.jar jsr250-api-1.0.jar c
- di-api-1.0.jar javax.inject-1.jar dispatch-core_2.10-0.8.10.jar dispa
- tch-futures_2.10-0.8.10.jar dispatch-http_2.10-0.8.10.jar ant-launche
- r-1.9.6.jar ant-1.9.6.jar httpclient-4.1.3.jar httpcore-4.1.4.jar mav
- en-artifact-3.3.3.jar maven-model-3.3.3.jar maven-plugin-api-3.3.3.ja
- r bcpg-jdk15on-1.49.jar bcprov-jdk15on-1.49.jar plexus-classworlds-2.
- 5.2.jar plexus-component-annotations-1.5.5.jar plexus-utils-3.0.20.ja
- r org.eclipse.sisu.inject-0.3.0.jar org.eclipse.sisu.plexus-0.3.0.jar
- asm-commons-5.0.4.jar asm-tree-5.0.4.jar asm-5.0.4.jar jarjar-1.6.0.
- jar scala-actors-2.10.6.jar scalactic_2.10-2.2.1.jar scalaz-core_2.10
- -7.0.2.jar scalaz-effect_2.10-7.0.2.jar sbt-assembly-0.14.3.jar sbt-m
- ulti-jvm-0.3.11.jar sbt-pgp-0.8.3.jar sbteclipse-core-2.5.0.jar sbtec
- lipse-plugin-2.5.0.jar sbt-dependency-graph-0.8.2.jar jansi.jar jline
- .jar scala-compiler.jar scala-library.jar scala-reflect.jar actions-0
- .13.13.jar api-0.13.13.jar apply-macro-0.13.13.jar cache-0.13.13.jar
- classfile-0.13.13.jar classpath-0.13.13.jar collections-0.13.13.jar c
- ommand-0.13.13.jar compile-0.13.13.jar compiler-integration-0.13.13.j
- ar compiler-interface-0.13.13.jar compiler-ivy-integration-0.13.13.ja
- r completion-0.13.13.jar control-0.13.13.jar cross-0.13.13.jar increm
- ental-compiler-0.13.13.jar io-0.13.13.jar ivy-0.13.13.jar ivy-2.3.0-s
- bt-2cf13e211b2cb31f0d3b317289dca70eca3362f6.jar jansi-1.11.jar jawn-p
- arser_2.10-0.6.0.jar jline-2.13.jar jsch-0.1.50.jar json4s-ast_2.10-3
- .2.10.jar json4s-core_2.10-3.2.10.jar json4s-support_2.10-0.6.0.jar l
- auncher-interface-1.0.0-M1.jar logging-0.13.13.jar logic-0.13.13.jar
- main-0.13.13.jar main-settings-0.13.13.jar paranamer-2.6.jar persist-
- 0.13.13.jar process-0.13.13.jar quasiquotes_2.10-2.0.1.jar relation-0
- .13.13.jar run-0.13.13.jar sbinary_2.10-0.4.2.jar sbt-0.13.13.jar sca
- la-pickling_2.10-0.10.1.jar scala-reflect-2.10.6.jar serialization_2.
- 10-0.1.2.jar task-system-0.13.13.jar tasks-0.13.13.jar template-resol
- ver-0.1.jar test-agent-0.13.13.jar test-interface-1.0.jar testing-0.1
- 3.13.jar tracking-0.13.13.jar interface-0.13.13.jar nd4j-native-0.7.2
- -linux-x86_64.jar guava-18.0.jar config-1.2.1.jar openblas-0.2.19-1.3
- .jar nd4j-api-0.7.2.jar nd4j-buffer-0.7.2.jar nd4j-native-0.7.2-macos
- x-x86_64.jar commons-lang3-3.4.jar reflections-0.9.10.jar test-interf
- ace-0.5.jar jcommon-1.0.21.jar scala-compiler-2.11.6.jar joda-time-2.
- 2.jar nd4j-native-api-0.7.2.jar akka-remote_2.11-2.3.7.jar paranamer-
- 2.6.jar snakeyaml-1.12.jar javacpp-1.3.1.jar javassist-3.18.2-GA.jar
- jackson-databind-2.5.2.jar scala-reflect-2.11.6.jar scala-library-2.1
- 1.6.jar scala-chart_2.11-0.4.2.jar jackson-0.7.2.jar akka-actor_2.11-
- 2.3.7.jar scala-xml_2.11-1.0.3.jar jackson-annotations-2.5.2.jar xml-
- apis-1.3.04.jar jaer_2.11-1.0.jar scalaxy-streams_2.11-0.3.4.jar
-Main-Class: apps.xperium.Mnist1
-
diff --git a/n2s3/src/main/resources/application.conf.default b/n2s3/src/main/resources/application.conf.default
deleted file mode 100755
index de674f31ae2a4ef28adf8a1189a402d8c98d5fe2..0000000000000000000000000000000000000000
--- a/n2s3/src/main/resources/application.conf.default
+++ /dev/null
@@ -1,707 +0,0 @@
- ####################################
- # Akka Actor Reference Config File #
- ####################################
-
- # This is the reference config file that contains all the default settings.
- # Make your edits/overrides in your application.conf.
-
- akka {
- # Akka version, checked against the runtime version of Akka.
- version = "2.2.3"
-
- # Home directory of Akka, modules in the deploy directory will be loaded
- home = ""
-
- # Loggers to register at boot time (akka.event.Logging$DefaultLogger logs
- # to STDOUT)
- loggers = ["akka.event.Logging$DefaultLogger"]
-
- # Deprecated, use akka.loggers.
- event-handlers = []
-
- # Loggers are created and registered synchronously during ActorSystem
- # start-up, and since they are actors, this timeout is used to bound the
- # waiting time
- logger-startup-timeout = 5s
-
- # Deprecated, use akka.logger-startup-timeout
- event-handler-startup-timeout = -1s
-
- # Log level used by the configured loggers (see "loggers") as soon
- # as they have been started; before that, see "stdout-loglevel"
- # Options: OFF, ERROR, WARNING, INFO, DEBUG
- loglevel = "DEBUG"
-
- # Log level for the very basic logger activated during AkkaApplication startup
- # Options: OFF, ERROR, WARNING, INFO, DEBUG
- stdout-loglevel = "WARNING"
-
- # Log the complete configuration at INFO level when the actor system is started.
- # This is useful when you are uncertain of what configuration is used.
- log-config-on-start = off
-
- # Log at info level when messages are sent to dead letters.
- # Possible values:
- # on: all dead letters are logged
- # off: no logging of dead letters
- # n: positive integer, number of dead letters that will be logged
- log-dead-letters = 10
-
- # Possibility to turn off logging of dead letters while the actor system
- # is shutting down. Logging is only done when enabled by 'log-dead-letters'
- # setting.
- log-dead-letters-during-shutdown = on
-
- # List FQCN of extensions which shall be loaded at actor system startup.
- # Should be on the format: 'extensions = ["foo", "bar"]' etc.
- # See the Akka Documentation for more info about Extensions
- extensions = []
-
- # Toggles whether threads created by this ActorSystem should be daemons or not
- daemonic = off
-
- # JVM shutdown, System.exit(-1), in case of a fatal error,
- # such as OutOfMemoryError
- jvm-exit-on-fatal-error = on
-
- actor {
-
- # FQCN of the ActorRefProvider to be used; the below is the built-in default,
- # another one is akka.remote.RemoteActorRefProvider in the akka-remote bundle.
- provider = "akka.actor.LocalActorRefProvider"
-
- # The guardian "/user" will use this class to obtain its supervisorStrategy.
- # It needs to be a subclass of akka.actor.SupervisorStrategyConfigurator.
- # In addition to the default there is akka.actor.StoppingSupervisorStrategy.
- guardian-supervisor-strategy = "akka.actor.DefaultSupervisorStrategy"
-
- # Timeout for ActorSystem.actorOf
- creation-timeout = 20s
-
- # Frequency with which stopping actors are prodded in case they had to be
- # removed from their parents
- reaper-interval = 5s
-
- # Serializes and deserializes (non-primitive) messages to ensure immutability,
- # this is only intended for testing.
- serialize-messages = off
-
- # Serializes and deserializes creators (in Props) to ensure that they can be
- # sent over the network, this is only intended for testing. Purely local deployments
- # as marked with deploy.scope == LocalScope are exempt from verification.
- serialize-creators = off
-
- # Timeout for send operations to top-level actors which are in the process
- # of being started. This is only relevant if using a bounded mailbox or the
- # CallingThreadDispatcher for a top-level actor.
- unstarted-push-timeout = 10s
-
- typed {
- # Default timeout for typed actor methods with non-void return type
- timeout = 5s
- }
-
- deployment {
-
- # deployment id pattern - on the format: /parent/child etc.
- default {
-
- # The id of the dispatcher to use for this actor.
- # If undefined or empty the dispatcher specified in code
- # (Props.withDispatcher) is used, or default-dispatcher if not
- # specified at all.
- dispatcher = ""
-
- # The id of the mailbox to use for this actor.
- # If undefined or empty the default mailbox of the configured dispatcher
- # is used or if there is no mailbox configuration the mailbox specified
- # in code (Props.withMailbox) is used.
- # If there is a mailbox defined in the configured dispatcher then that
- # overrides this setting.
- mailbox = ""
-
- # routing (load-balance) scheme to use
- # - available: "from-code", "round-robin", "random", "smallest-mailbox",
- # "scatter-gather", "broadcast"
- # - or: Fully qualified class name of the router class.
- # The class must extend akka.routing.CustomRouterConfig and
- # have a public constructor with com.typesafe.config.Config
- # parameter.
- # - default is "from-code";
- # Whether or not an actor is transformed to a Router is decided in code
- # only (Props.withRouter). The type of router can be overridden in the
- # configuration; specifying "from-code" means that the values specified
- # in the code shall be used.
- # In case of routing, the actors to be routed to can be specified
- # in several ways:
- # - nr-of-instances: will create that many children
- # - routees.paths: will look the paths up using actorFor and route to
- # them, i.e. will not create children
- # - resizer: dynamically resizable number of routees as specified in
- # resizer below
- router = "round-robin"
-
- # number of children to create in case of a router;
- # this setting is ignored if routees.paths is given
- nr-of-instances = 10
-
- # within is the timeout used for routers containing future calls
- within = 5 seconds
-
- # number of virtual nodes per node for consistent-hashing router
- virtual-nodes-factor = 10
-
- routees {
- # Alternatively to giving nr-of-instances you can specify the full
- # paths of those actors which should be routed to. This setting takes
- # precedence over nr-of-instances
- paths = []
- }
-
- # Routers with dynamically resizable number of routees; this feature is
- # enabled by including (parts of) this section in the deployment
- resizer {
-
- # The fewest number of routees the router should ever have.
- lower-bound = 1
-
- # The most number of routees the router should ever have.
- # Must be greater than or equal to lower-bound.
- upper-bound = 10
-
- # Threshold used to evaluate if a routee is considered to be busy
- # (under pressure). Implementation depends on this value (default is 1).
- # 0: number of routees currently processing a message.
- # 1: number of routees currently processing a message has
- # some messages in mailbox.
- # > 1: number of routees with at least the configured pressure-threshold
- # messages in their mailbox. Note that estimating mailbox size of
- # default UnboundedMailbox is O(N) operation.
- pressure-threshold = 1
-
- # Percentage to increase capacity whenever all routees are busy.
- # For example, 0.2 would increase 20% (rounded up), i.e. if current
- # capacity is 6 it will request an increase of 2 more routees.
- rampup-rate = 0.2
-
- # Minimum fraction of busy routees before backing off.
- # For example, if this is 0.3, then we'll remove some routees only when
- # less than 30% of routees are busy, i.e. if current capacity is 10 and
- # 3 are busy then the capacity is unchanged, but if 2 or less are busy
- # the capacity is decreased.
- # Use 0.0 or negative to avoid removal of routees.
- backoff-threshold = 0.3
-
- # Fraction of routees to be removed when the resizer reaches the
- # backoffThreshold.
- # For example, 0.1 would decrease 10% (rounded up), i.e. if current
- # capacity is 9 it will request an decrease of 1 routee.
- backoff-rate = 0.1
-
- # When the resizer reduce the capacity the abandoned routee actors are
- # stopped with PoisonPill after this delay. The reason for the delay is
- # to give concurrent messages a chance to be placed in mailbox before
- # sending PoisonPill.
- # Use 0s to skip delay.
- stop-delay = 1s
-
- # Number of messages between resize operation.
- # Use 1 to resize before each message.
- messages-per-resize = 10
- }
- }
- }
-
- default-dispatcher {
- # Must be one of the following
- # Dispatcher, (BalancingDispatcher, only valid when all actors using it are
- # of the same type), PinnedDispatcher, or a FQCN to a class inheriting
- # MessageDispatcherConfigurator with a public constructor with
- # both com.typesafe.config.Config parameter and
- # akka.dispatch.DispatcherPrerequisites parameters.
- # PinnedDispatcher must be used toghether with executor=thread-pool-executor.
- type = "Dispatcher"
-
- # Which kind of ExecutorService to use for this dispatcher
- # Valid options:
- # - "fork-join-executor" requires a "fork-join-executor" section
- # - "thread-pool-executor" requires a "thread-pool-executor" section
- # - A FQCN of a class extending ExecutorServiceConfigurator
- executor = "fork-join-executor"
-
- # This will be used if you have set "executor = "fork-join-executor""
- fork-join-executor {
- # Min number of threads to cap factor-based parallelism number to
- parallelism-min = 8
-
- # The parallelism factor is used to determine thread pool size using the
- # following formula: ceil(available processors * factor). Resulting size
- # is then bounded by the parallelism-min and parallelism-max values.
- parallelism-factor = 3.0
-
- # Max number of threads to cap factor-based parallelism number to
- parallelism-max = 64
- }
-
- # This will be used if you have set "executor = "thread-pool-executor""
- thread-pool-executor {
- # Keep alive time for threads
- keep-alive-time = 60s
-
- # Min number of threads to cap factor-based core number to
- core-pool-size-min = 8
-
- # The core pool size factor is used to determine thread pool core size
- # using the following formula: ceil(available processors * factor).
- # Resulting size is then bounded by the core-pool-size-min and
- # core-pool-size-max values.
- core-pool-size-factor = 3.0
-
- # Max number of threads to cap factor-based number to
- core-pool-size-max = 64
-
- # Minimum number of threads to cap factor-based max number to
- # (if using a bounded task queue)
- max-pool-size-min = 8
-
- # Max no of threads (if using a bounded task queue) is determined by
- # calculating: ceil(available processors * factor)
- max-pool-size-factor = 3.0
-
- # Max number of threads to cap factor-based max number to
- # (if using a bounded task queue)
- max-pool-size-max = 64
-
- # Specifies the bounded capacity of the task queue (< 1 == unbounded)
- task-queue-size = -1
-
- # Specifies which type of task queue will be used, can be "array" or
- # "linked" (default)
- task-queue-type = "linked"
-
- # Allow core threads to time out
- allow.core.Timeout = on
- }
-
- # How long time the dispatcher will wait for new actors until it shuts down
- shutdown-timeout = 1s
-
- # Throughput defines the number of messages that are processed in a batch
- # before the thread is returned to the pool. Set to 1 for as fair as possible.
- throughput = 5
-
- # Throughput deadline for Dispatcher, set to 0 or negative for no deadline
- throughput-deadline-time = 0ms
-
- # For BalancingDispatcher: If the balancing dispatcher should attempt to
- # schedule idle actors using the same dispatcher when a message comes in,
- # and the dispatchers ExecutorService is not fully busy already.
- attempt-teamwork = on
-
- # If this dispatcher requires a specific type of mailbox, specify the
- # fully-qualified class name here; the actually created mailbox will
- # be a subtype of this type. The empty string signifies no requirement.
- mailbox-requirement = ""
- }
-
- default-mailbox {
- # FQCN of the MailboxType. The Class of the FQCN must have a public
- # constructor with
- # (akka.actor.ActorSystem.Settings, com.typesafe.config.Config) parameters.
- mailbox-type = "akka.dispatch.UnboundedMailbox"
-
- # If the mailbox is bounded then it uses this setting to determine its
- # capacity. The provided value must be positive.
- # NOTICE:
- # Up to version 2.1 the mailbox type was determined based on this setting;
- # this is no longer the case, the type must explicitly be a bounded mailbox.
- mailbox-capacity = 1000
-
- # If the mailbox is bounded then this is the timeout for enqueueing
- # in case the mailbox is full. Negative values signify infinite
- # timeout, which should be avoided as it bears the risk of dead-lock.
- mailbox-push-timeout-time = 10s
-
- # For Actor with Stash: The default capacity of the stash.
- # If negative (or zero) then an unbounded stash is used (default)
- # If positive then a bounded stash is used and the capacity is set using
- # the property
- stash-capacity = -1
- }
-
- mailbox {
- # Mapping between message queue semantics and mailbox configurations.
- # Used by akka.dispatch.RequiresMessageQueue[T] to enforce different
- # mailbox types on actors.
- # If your Actor implements RequiresMessageQueue[T], then when you create
- # an instance of that actor its mailbox type will be decided by looking
- # up a mailbox configuration via T in this mapping
- requirements {
- "akka.dispatch.UnboundedMessageQueueSemantics" =
- akka.actor.mailbox.unbounded-queue-based
- "akka.dispatch.BoundedMessageQueueSemantics" =
- akka.actor.mailbox.bounded-queue-based
- "akka.dispatch.DequeBasedMessageQueueSemantics" =
- akka.actor.mailbox.unbounded-deque-based
- "akka.dispatch.UnboundedDequeBasedMessageQueueSemantics" =
- akka.actor.mailbox.unbounded-deque-based
- "akka.dispatch.BoundedDequeBasedMessageQueueSemantics" =
- akka.actor.mailbox.bounded-deque-based
- "akka.dispatch.MultipleConsumerSemantics" =
- akka.actor.mailbox.unbounded-queue-based
- }
-
- unbounded-queue-based {
- # FQCN of the MailboxType, The Class of the FQCN must have a public
- # constructor with (akka.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
- mailbox-type = "akka.dispatch.UnboundedMailbox"
- }
-
- bounded-queue-based {
- # FQCN of the MailboxType, The Class of the FQCN must have a public
- # constructor with (akka.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
- mailbox-type = "akka.dispatch.BoundedMailbox"
- }
-
- unbounded-deque-based {
- # FQCN of the MailboxType, The Class of the FQCN must have a public
- # constructor with (akka.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
- mailbox-type = "akka.dispatch.UnboundedDequeBasedMailbox"
- }
-
- bounded-deque-based {
- # FQCN of the MailboxType, The Class of the FQCN must have a public
- # constructor with (akka.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
- mailbox-type = "akka.dispatch.BoundedDequeBasedMailbox"
- }
- }
-
- debug {
- # enable function of Actor.loggable(), which is to log any received message
- # at DEBUG level, see the “Testing Actor Systems” section of the Akka
- # Documentation at http://akka.io/docs
- receive = off
-
- # enable DEBUG logging of all AutoReceiveMessages (Kill, PoisonPill et.c.)
- autoreceive = off
-
- # enable DEBUG logging of actor lifecycle changes
- lifecycle = on
-
- # enable DEBUG logging of all LoggingFSMs for events, transitions and timers
- fsm = off
-
- # enable DEBUG logging of subscription changes on the eventStream
- event-stream = off
-
- # enable DEBUG logging of unhandled messages
- unhandled = off
-
- # enable WARN logging of misconfigured routers
- router-misconfiguration = off
- }
-
- # Entries for pluggable serializers and their bindings.
- serializers {
- java = "akka.serialization.JavaSerializer"
- bytes = "akka.serialization.ByteArraySerializer"
- }
-
- # Class to Serializer binding. You only need to specify the name of an
- # interface or abstract base class of the messages. In case of ambiguity it
- # is using the most specific configured class, or giving a warning and
- # choosing the “first” one.
- #
- # To disable one of the default serializers, assign its class to "none", like
- # "java.io.Serializable" = none
- serialization-bindings {
- "[B" = bytes
- "java.io.Serializable" = java
- }
-
- # Configuration items which are used by the akka.actor.ActorDSL._ methods
- dsl {
- # Maximum queue size of the actor created by newInbox(); this protects
- # against faulty programs which use select() and consistently miss messages
- inbox-size = 1000
-
- # Default timeout to assume for operations like Inbox.receive et al
- default-timeout = 5s
- }
- }
-
- # Used to set the behavior of the scheduler.
- # Changing the default values may change the system behavior drastically so make
- # sure you know what you're doing! See the Scheduler section of the Akka
- # Documentation for more details.
- scheduler {
- # The LightArrayRevolverScheduler is used as the default scheduler in the
- # system. It does not execute the scheduled tasks on exact time, but on every
- # tick, it will run everything that is (over)due. You can increase or decrease
- # the accuracy of the execution timing by specifying smaller or larger tick
- # duration. If you are scheduling a lot of tasks you should consider increasing
- # the ticks per wheel.
- # Note that it might take up to 1 tick to stop the Timer, so setting the
- # tick-duration to a high value will make shutting down the actor system
- # take longer.
- tick-duration = 10ms
-
- # The timer uses a circular wheel of buckets to store the timer tasks.
- # This should be set such that the majority of scheduled timeouts (for high
- # scheduling frequency) will be shorter than one rotation of the wheel
- # (ticks-per-wheel * ticks-duration)
- # THIS MUST BE A POWER OF TWO!
- ticks-per-wheel = 512
-
- # This setting selects the timer implementation which shall be loaded at
- # system start-up. Built-in choices are:
- # - akka.actor.LightArrayRevolverScheduler
- # - akka.actor.DefaultScheduler (HWT) DEPRECATED
- # The class given here must implement the akka.actor.Scheduler interface
- # and offer a public constructor which takes three arguments:
- # 1) com.typesafe.config.Config
- # 2) akka.event.LoggingAdapter
- # 3) java.util.concurrent.ThreadFactory
- implementation = akka.actor.LightArrayRevolverScheduler
-
- # When shutting down the scheduler, there will typically be a thread which
- # needs to be stopped, and this timeout determines how long to wait for
- # that to happen. In case of timeout the shutdown of the actor system will
- # proceed without running possibly still enqueued tasks.
- shutdown-timeout = 5s
- }
-
- io {
-
- # By default the select loops run on dedicated threads, hence using a
- # PinnedDispatcher
- pinned-dispatcher {
- type = "PinnedDispatcher"
- executor = "thread-pool-executor"
- thread-pool-executor.allow-core-pool-timeout = off
- }
-
- tcp {
-
- # The number of selectors to stripe the served channels over; each of
- # these will use one select loop on the deploymentStrategy-dispatcher.
- nr-of-selectors = 1
-
- # Maximum number of open channels supported by this TCP module; there is
- # no intrinsic general limit, this setting is meant to enable DoS
- # protection by limiting the number of concurrently connected clients.
- # Also note that this is a "soft" limit; in certain cases the implementation
- # will accept a few connections more or a few less than the number configured
- # here. Must be an integer > 0 or "unlimited".
- max-channels = 256000
-
- # When trying to assign a new connection to a deploymentStrategy and the chosen
- # deploymentStrategy is at full capacity, retry deploymentStrategy choosing and assignment
- # this many times before giving up
- deploymentStrategy-association-retries = 10
-
- # The maximum number of connection that are accepted in one go,
- # higher numbers decrease latency, lower numbers increase fairness on
- # the worker-dispatcher
- batch-accept-limit = 10
-
- # The number of bytes per direct buffer in the pool used to read or write
- # network data from the kernel.
- direct-buffer-size = 128 KiB
-
- # The maximal number of direct buffers kept in the direct buffer pool for
- # reuse.
- direct-buffer-pool-limit = 1000
-
- # The duration a connection actor waits for a `Register` message from
- # its commander before aborting the connection.
- register-timeout = 5s
-
- # The maximum number of bytes delivered by a `Received` message. Before
- # more data is read from the network the connection actor will try to
- # do other work.
- max-received-message-size = unlimited
-
- # Enable fine grained logging of what goes on inside the implementation.
- # Be aware that this may log more than once per message sent to the actors
- # of the tcp implementation.
- trace-logging = off
-
- # Fully qualified config path which holds the dispatcher configuration
- # to be used for running the select() calls in the selectors
- deploymentStrategy-dispatcher = "akka.io.pinned-dispatcher"
-
- # Fully qualified config path which holds the dispatcher configuration
- # for the read/write worker actors
- worker-dispatcher = "akka.actor.default-dispatcher"
-
- # Fully qualified config path which holds the dispatcher configuration
- # for the deploymentStrategy management actors
- management-dispatcher = "akka.actor.default-dispatcher"
-
- # Fully qualified config path which holds the dispatcher configuration
- # on which file IO tasks are scheduled
- file-io-dispatcher = "akka.actor.default-dispatcher"
-
- # The maximum number of bytes (or "unlimited") to transfer in one batch
- # when using `WriteFile` command which uses `FileChannel.transferTo` to
- # pipe files to a TCP socket. On some OS like Linux `FileChannel.transferTo`
- # may block for a long time when network IO is faster than file IO.
- # Decreasing the value may improve fairness while increasing may improve
- # throughput.
- file-io-transferTo-limit = 512 KiB
-
- # The number of times to retry the `finishConnect` call after being notified about
- # OP_CONNECT. Retries are needed if the OP_CONNECT notification doesn't imply that
- # `finishConnect` will succeed, which is the case on Android.
- finish-connect-retries = 5
- }
-
- udp {
-
- # The number of selectors to stripe the served channels over; each of
- # these will use one select loop on the deploymentStrategy-dispatcher.
- nr-of-selectors = 1
-
- # Maximum number of open channels supported by this UDP module Generally
- # UDP does not require a large number of channels, therefore it is
- # recommended to keep this setting low.
- max-channels = 4096
-
- # The select loop can be used in two modes:
- # - setting "infinite" will select without a timeout, hogging a thread
- # - setting a positive timeout will do a bounded select call,
- # enabling sharing of a single thread between multiple selectors
- # (in this case you will have to use a different configuration for the
- # deploymentStrategy-dispatcher, e.g. using "type=Dispatcher" with size 1)
- # - setting it to zero means polling, i.e. calling selectNow()
- select-timeout = infinite
-
- # When trying to assign a new connection to a deploymentStrategy and the chosen
- # deploymentStrategy is at full capacity, retry deploymentStrategy choosing and assignment
- # this many times before giving up
- deploymentStrategy-association-retries = 10
-
- # The maximum number of datagrams that are read in one go,
- # higher numbers decrease latency, lower numbers increase fairness on
- # the worker-dispatcher
- receive-throughput = 3
-
- # The number of bytes per direct buffer in the pool used to read or write
- # network data from the kernel.
- direct-buffer-size = 128 KiB
-
- # The maximal number of direct buffers kept in the direct buffer pool for
- # reuse.
- direct-buffer-pool-limit = 1000
-
- # The maximum number of bytes delivered by a `Received` message. Before
- # more data is read from the network the connection actor will try to
- # do other work.
- received-message-size-limit = unlimited
-
- # Enable fine grained logging of what goes on inside the implementation.
- # Be aware that this may log more than once per message sent to the actors
- # of the tcp implementation.
- trace-logging = off
-
- # Fully qualified config path which holds the dispatcher configuration
- # to be used for running the select() calls in the selectors
- deploymentStrategy-dispatcher = "akka.io.pinned-dispatcher"
-
- # Fully qualified config path which holds the dispatcher configuration
- # for the read/write worker actors
- worker-dispatcher = "akka.actor.default-dispatcher"
-
- # Fully qualified config path which holds the dispatcher configuration
- # for the deploymentStrategy management actors
- management-dispatcher = "akka.actor.default-dispatcher"
- }
-
- udp-connected {
-
- # The number of selectors to stripe the served channels over; each of
- # these will use one select loop on the deploymentStrategy-dispatcher.
- nr-of-selectors = 1
-
- # Maximum number of open channels supported by this UDP module Generally
- # UDP does not require a large number of channels, therefore it is
- # recommended to keep this setting low.
- max-channels = 4096
-
- # The select loop can be used in two modes:
- # - setting "infinite" will select without a timeout, hogging a thread
- # - setting a positive timeout will do a bounded select call,
- # enabling sharing of a single thread between multiple selectors
- # (in this case you will have to use a different configuration for the
- # deploymentStrategy-dispatcher, e.g. using "type=Dispatcher" with size 1)
- # - setting it to zero means polling, i.e. calling selectNow()
- select-timeout = infinite
-
- # When trying to assign a new connection to a deploymentStrategy and the chosen
- # deploymentStrategy is at full capacity, retry deploymentStrategy choosing and assignment
- # this many times before giving up
- deploymentStrategy-association-retries = 10
-
- # The maximum number of datagrams that are read in one go,
- # higher numbers decrease latency, lower numbers increase fairness on
- # the worker-dispatcher
- receive-throughput = 3
-
- # The number of bytes per direct buffer in the pool used to read or write
- # network data from the kernel.
- direct-buffer-size = 128 KiB
-
- # The maximal number of direct buffers kept in the direct buffer pool for
- # reuse.
- direct-buffer-pool-limit = 1000
-
- # The maximum number of bytes delivered by a `Received` message. Before
- # more data is read from the network the connection actor will try to
- # do other work.
- received-message-size-limit = unlimited
-
- # Enable fine grained logging of what goes on inside the implementation.
- # Be aware that this may log more than once per message sent to the actors
- # of the tcp implementation.
- trace-logging = off
-
- # Fully qualified config path which holds the dispatcher configuration
- # to be used for running the select() calls in the selectors
- deploymentStrategy-dispatcher = "akka.io.pinned-dispatcher"
-
- # Fully qualified config path which holds the dispatcher configuration
- # for the read/write worker actors
- worker-dispatcher = "akka.actor.default-dispatcher"
-
- # Fully qualified config path which holds the dispatcher configuration
- # for the deploymentStrategy management actors
- management-dispatcher = "akka.actor.default-dispatcher"
- }
-
-
- # IMPORTANT NOTICE:
- #
- # The following settings belong to the deprecated akka.actor.IO
- # implementation and will be removed once that is removed. They are not
- # taken into account by the akka.io.* implementation, which is configured
- # above!
-
- # In bytes, the size of the shared read buffer. In the span 0b..2GiB.
- #
- read-buffer-size = 8KiB
-
- # Specifies how many ops are done between every descriptor selection
- select-interval = 100
-
- # Number of connections that are allowed in the backlog.
- # 0 or negative means that the platform default will be used.
- default-backlog = 1000
- }
-
-
- }
diff --git a/n2s3/src/main/resources/application.conf.minimal b/n2s3/src/main/resources/application.conf.minimal
deleted file mode 100755
index 0152707ed379def00a7bd3561535c0a1336e0644..0000000000000000000000000000000000000000
--- a/n2s3/src/main/resources/application.conf.minimal
+++ /dev/null
@@ -1,8 +0,0 @@
-akka.log-config-on-start=on
-akka.actor.deployment {
- /NeuronialRouter {
- /Download
- router = round-robin
- nr-of-instances = 10
- }
-}
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/ConnectionIndex.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/ConnectionIndex.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/ConnectionPath.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/ConnectionPath.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/GlobalTimestamp.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/GlobalTimestamp.scala
old mode 100755
new mode 100644
index 5a4c577d0462395b65266b1aa64aff11205e6d59..10712a1fae4a6960b6ebcd2711f493ee121914a5
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/GlobalTimestamp.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/GlobalTimestamp.scala
@@ -10,12 +10,10 @@ import fr.univ_lille.cristal.emeraude.n2s3.support.actors.Message
object GetGlobalTimestamp extends Message
class GlobalTimestamp {
-
var timestamp : Timestamp = 0
}
trait TimestampGenerator {
-
var currentMaxTimestamp : Timestamp = 0
def getGlobalTimestamp : GlobalTimestamp
@@ -29,4 +27,4 @@ def endOfStage() : Unit = {
getGlobalTimestamp.timestamp += currentMaxTimestamp
currentMaxTimestamp = 0
}
-}
+}
\ No newline at end of file
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/InputLayer.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/InputLayer.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkActor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkActor.scala
old mode 100755
new mode 100644
index a69e6fd35610e9eb9beb4447f3928fc9516a7b31..50b82ca5c4edf1cf7d3f6a582e8bb326570f73ae
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkActor.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkActor.scala
@@ -52,6 +52,7 @@ abstract class NetworkActor extends Actor {
}
/**
+ *
* @param refreshRate : refresh delay in milliseconds
* @param n : number of element to update
*/
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkContainer.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkContainer.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkEntity.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NetworkEntity.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Neuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Neuron.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NeuronConnection.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/NeuronConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Path.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Path.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Property.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Property.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Synchronizer.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/Synchronizer.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/SynchronizerEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/SynchronizerEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/AddLoggerTo.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/AddLoggerTo.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/AskRemainInput.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/AskRemainInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Config.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Config.scala
old mode 100755
new mode 100644
index 477483ca85510cedb05d8866b90ac36f232a19ec..b464caabb0f9306f81db7b5a77eae405d7635f89
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Config.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Config.scala
@@ -23,5 +23,4 @@ object Config {
* Default timeout to use in wait patterns when a long process is in progress
*/
val longTimeout = Timeout(21474835 seconds)
-
}
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/CurrentLabel.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/CurrentLabel.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Done.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Done.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ElectricSpike.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ElectricSpike.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ForecastFire.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ForecastFire.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/GetCurrentTime.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/GetCurrentTime.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Initialize.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Initialize.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputLayerActor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputLayerActor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputNeuron.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/InputNeuron.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkContainerActor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkContainerActor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkEntityActor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NetworkEntityActor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NoMoreInput.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/NoMoreInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ResetInput.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ResetInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ResetState.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ResetState.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ReturnCurrentTime.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/ReturnCurrentTime.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SaveInFile.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SaveInFile.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SetInput.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SetInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SetInputStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SetInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Spike.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/Spike.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SyncMessage.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/SyncMessage.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/WiringMessage.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/WiringMessage.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/WrapMessage.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/actors/WrapMessage.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/Event.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/Event.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventHolder.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventHolder.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventHolderMessage.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventHolderMessage.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventResponse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventResponse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventTriggered.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/EventTriggered.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/InputRestartEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/InputRestartEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/InputRestartResponse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/InputRestartResponse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeResponse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/LabelChangeResponse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireResponse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronFireResponse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronPotentialUpdateEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronPotentialUpdateEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronUpdateEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/NeuronUpdateEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/Subscribe.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/Subscribe.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SubscribeSynchronized.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SubscribeSynchronized.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynapseUpdateEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynapseUpdateEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynapseWeightChange.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynapseWeightChange.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynchronizedEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/SynchronizedEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/TimedEvent.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/TimedEvent.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/TimedEventResponse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/TimedEventResponse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/Unsubscribe.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/event/Unsubscribe.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/DuplicatedChildException.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/DuplicatedChildException.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/EventNotFoundException.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/EventNotFoundException.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/InputException.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/InputException.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/LoggingExceptions.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/LoggingExceptions.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/N2S3Exception.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/N2S3Exception.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/NetworkExceptions.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/NetworkExceptions.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/NeuronExceptions.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/NeuronExceptions.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/SynchronizerException.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/SynchronizerException.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/UnknownDestinationException.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/UnknownDestinationException.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/UnknownPathException.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/UnknownPathException.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/package.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/exceptions/package.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/convolutional/SharedNeuronConnection.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/convolutional/SharedNeuronConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/AdaptiveThreshold.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/AdaptiveThreshold.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/ConnectionInputPath.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/ConnectionInputPath.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/FixedParameter.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/FixedParameter.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneInhibitionDuration.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneInhibitionDuration.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneInhibitoryDuration.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneInhibitoryDuration.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneLeak.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneLeak.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneRefractoryDuration.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneRefractoryDuration.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneRestingPotential.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneRestingPotential.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneThreshold.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneThreshold.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneThresholdType.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneThresholdType.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneTimeConstant.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneTimeConstant.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneVoltage.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/MembraneVoltage.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/RemoteWeightChange.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/RemoteWeightChange.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapseLTP.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapseLTP.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapseTimeConstant.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapseTimeConstant.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapseWeightAndDelay.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapseWeightAndDelay.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapticDelay.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapticDelay.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapticWeight.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/properties/SynapticWeight.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/synapse/WeightedSynapse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/models/synapse/WeightedSynapse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/package.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/core/package.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/dsl/N2S3DSLImplicits.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/dsl/N2S3DSLImplicits.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/dsl/N2S3SimulationDSL.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/dsl/N2S3SimulationDSL.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/dsl/NeuronGroupDSL.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/dsl/NeuronGroupDSL.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/BuildProperties.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/BuildProperties.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/ConnectionRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/ConnectionRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/InputNeuronGroupRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/InputNeuronGroupRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3.scala
old mode 100755
new mode 100644
index 252a173b8066d35d85c1f5eb8d6ad42387f701a2..f91c1fdeac44cf3ad5388a2b4b324228c15abbc6
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3.scala
@@ -31,14 +31,11 @@ import fr.univ_lille.cristal.emeraude.n2s3.support.actors._
class N2S3(val system: AbstractActorSystem[ActorRef]) {
def this(actorSystemName: String = "N2S3ActorSystem", config: Option[com.typesafe.config.Config] = None) {
-
this(new N2S3ActorSystem(ActorSystem(actorSystemName, if(config.isDefined) {
-
println("Use provided Akka configuration")
config.get
}
else if(Files.exists(Paths.get("akka.conf"))) {
-
println("Use Akka configuration in file \"akka.conf\"")
ConfigFactory.parseFile(new File("akka.conf"))
}
@@ -151,10 +148,11 @@ class N2S3(val system: AbstractActorSystem[ActorRef]) {
this.assertSimulatorIsReady()
+ if(first){
layers.foreach(layer => layer.ensureActorDeployed(this))
buildProperties.getSynchronizerPolicy.ensureActorDeployed(this)
layers.foreach(layer => layer.ensureConnectionsDeployed(this))
-
+ }
layerObservers = layerObservers.filter(!_.isDestroyed)
layerObservers.foreach( observer => observer.ensureActorDeployed(this))
@@ -280,7 +278,7 @@ class N2S3(val system: AbstractActorSystem[ActorRef]) {
******************************************************************************************************************/
def getNetworkEntitiesPolicy = buildProperties.getNetworkEntitiesPolicy
- def setSynchronizerPolicy(policy: SynchronizerPolicy): Unit = {buildProperties.setSynchronizerPolicy(policy)}
+ def setSynchronizerPolicy(policy: SynchronizerPolicy): Unit = buildProperties.setSynchronizerPolicy(policy)
def createSynchronizerActor(actorCompanion: ActorCompanion = SynchronizerActor) = system.actorOf(actorCompanion, LocalActorDeploymentStrategy)
}
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3ActorRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3ActorRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3Simulation.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/N2S3Simulation.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NetworkEntityRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NetworkEntityRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NeuronGroupObserverRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NeuronGroupObserverRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NeuronGroupRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NeuronGroupRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NeuronRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/NeuronRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/SynchronizedNeuronRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/SynchronizedNeuronRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/AbstractConnectionPolicy.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/AbstractConnectionPolicy.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/FullConnection.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/FullConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/ManualConnection.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/ManualConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/OneToOneConnection.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/OneToOneConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/RandomConnection.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/RandomConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/ReservoirConnection.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/connection/types/ReservoirConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/combinatorial/GeneticAlgorithm.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/combinatorial/GeneticAlgorithm.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/Experiment.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/Experiment.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/ParametersBenchmark.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/ParametersBenchmark.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/TrainingEvolution.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/TrainingEvolution.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/TrainingTesting.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/experiments/TrainingTesting.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/AERFileReader.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/AERFileReader.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/AERFileWriter.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/AERFileWriter.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/AERInputStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/AERInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/DigitalHexInputStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/DigitalHexInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/EndStageOnStreamEnd.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/EndStageOnStreamEnd.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/FontInputStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/FontInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/ImageAdapter.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/ImageAdapter.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/ImagePartInput.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/ImagePartInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/InputData.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/InputData.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/InputSampleData.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/InputSampleData.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/InputTemporalData.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/InputTemporalData.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/JitterNoise.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/JitterNoise.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/LFWReader.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/LFWReader.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/MnistFileInputStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/MnistFileInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/N2S3InputStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/N2S3InputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/OnOffCell.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/OnOffCell.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/ReshapeSample.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/ReshapeSample.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/SampledStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/SampledStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/SeventSegment.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/SeventSegment.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/Shape.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/Shape.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/StreamModifier.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/StreamModifier.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/StreamOperation.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/StreamOperation.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/StreamSupport.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/input/StreamSupport.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/ActivityLoad.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/ActivityLoad.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/ActivityPersistenceModel.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/ActivityPersistenceModel.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/ActivityStore.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/ActivityStore.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/NetworkLoad.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/NetworkLoad.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/NetworkPersistenceModel.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/NetworkPersistenceModel.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/NetworkSave.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/NetworkSave.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/WeightLoad.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/WeightLoad.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/WeightStore.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/persistence/WeightStore.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/Benchmark.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/Benchmark.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkHTMLView.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkHTMLView.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkListView.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkListView.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitorRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkMonitorRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkResult.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkResult.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkSetHTMLView.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkSetHTMLView.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkSetResult.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/BenchmarkSetResult.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/EnergyMeasurement.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/EnergyMeasurement.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/ImageSynapsesWeight.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/ImageSynapsesWeight.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/ReconstructSynapsesWeight.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/ReconstructSynapsesWeight.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/Report.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/Report.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/ReportHTML.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/report/ReportHTML.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/CoincidenceDetector.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/CoincidenceDetector.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/DelayAdaptation.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/DelayAdaptation.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/DelayAdaptationExtended.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/DelayAdaptationExtended.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/DelayBackProp.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/DelayBackProp.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/ReservoirCoincidenceDetector.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/ReservoirCoincidenceDetector.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/ResetNeuronBetweenInput.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/ResetNeuronBetweenInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeCounter.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeCounter.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeProp.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikeProp.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikePropExtended.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SpikePropExtended.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedLinearClassifier.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedLinearClassifier.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedSTDPLearning.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/SupervisedSTDPLearning.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/TwoStepDelayBackProp.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/learning/TwoStepDelayBackProp.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/ExportNetworkTopology.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/ExportNetworkTopology.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/ExportNetworkTopologyChange.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/ExportNetworkTopologyChange.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LabelMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LabelMonitor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LogReader.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/LogReader.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NetworkLoading.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NetworkLoading.scala
index 4174557ed5b4dd84f1177563bd59f3c8b3d66066..2f5be1be83e1b6256d6558ffd43b454c948218a1 100644
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NetworkLoading.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NetworkLoading.scala
@@ -7,7 +7,6 @@ import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties.{MembranePoten
import fr.univ_lille.cristal.emeraude.n2s3.core.{ConnectionPath, ConnectionProperty, ExternalConnectionSender, ExternalSender, NetworkEntityPath, SetConnectionProperty}
import fr.univ_lille.cristal.emeraude.n2s3.features.builder.N2S3
import squants.electro.ElectricPotentialConversions.ElectricPotentialConversions
-import scala.util.control.Breaks._
/**
* Load Network information
@@ -31,17 +30,15 @@ object NetworkLoading {
/**
* Loading indexes
**/
- println("load indexes "+System.currentTimeMillis())
+
for (i <- 0 until br.readLine().toInt){
buffer = br.readLine()
indexes = indexes.::(buffer.split(" ")(0).toInt,buffer.split(" ")(1).toInt)
}
- println(" done load indexes "+System.currentTimeMillis())
/**
* Loading synapses
**/
- println("load synapses "+System.currentTimeMillis())
var x = br.readLine().toInt
@@ -51,60 +48,27 @@ object NetworkLoading {
buffer = br.readLine()
loadedSyn = loadedSyn.::(buffer.split(" ")(0).toInt,buffer.split(" ")(1),buffer.split(" ")(2).toFloat)
}
- var y = 0
-
- var ii : (Int,String,Float) = (0,"",0F)
-
- var l = List[(ConnectionPath,_,_)]()
+ x = 0
n2s3.layers.foreach(nGroup => {
if(nGroup.identifier.equals("Input")){
-
- l = nGroup.neurons.head.group.connections.head.connections.list.map(item => (item,item.connectionID,item.outputNeuron.actor.path.name))(collection.breakOut)
-
- for(i <- l) {
- try{
- ii = loadedSyn.find(elt => i._2 == elt._1 && i._3 == elt._2).get
- ExternalConnectionSender.askTo(i._1,SetConnectionProperty(SynapticWeightFloat.asInstanceOf[ConnectionProperty[Any]] ,ii._3))
- }catch {
- case e @ (_ : Exception ) =>
- nGroup.neurons.head.group.connections.head.disconnectByPath(i._1)
- }
- y+=1
-
- if((y % 1000) == 0) {
- println("[ " + y + " / " + l.length + " ]")
- }
- }
- // loadedSyn = loadedSyn.drop(item)
-
-
- // nGroup.neurons.head.group.connections.head.connections.list.foreach(cnxPath =>{
- // try{
- // if(y <= x){
- //loadedSynFiltered(cnxPath.connectionID).find(elt => elt._1 == cnxPath.outputNeuron.actor.path.name).get
- //loadedSynFiltered(cnxPath.connectionID).find(elt => elt._1 == cnxPath.outputNeuron.actor.path.name)
- // y +=1
- // }else{
- // println("Done")
- // break
- // }
- //targetSyn = loadedSyn.find(elt => elt._1 == cnxPath.connectionID && elt._2 == cnxPath.outputNeuron.actor.path.name).get
+ nGroup.neurons.head.group.connections.head.connections.list.foreach(cnxPath =>{
+ var i = 0
+ stop = false
+ try{
+ targetSyn = loadedSyn.find(elt => elt._1 == cnxPath.connectionID && elt._2 == cnxPath.outputNeuron.actor.path.name).get
// ExternalConnectionSender.askTo(cnxPath,SetConnectionProperty(SynapticWeightFloat.asInstanceOf[ConnectionProperty[Any]] ,targetSyn._3))
- // }catch{
- // Applying prune
- // case x : NoSuchElementException =>
- // nGroup.neurons.head.group.connections.head.disconnectByPath(cnxPath)
- // }
+ }catch{
+ case x : NoSuchElementException => nGroup.neurons.head.group.connections.head.disconnectByPath(cnxPath)
+ }
+ })
+
}
})
- println("done load synapses "+System.currentTimeMillis())
-
+ println("Not updated : "+nu)
/**
* Loading neurones threshold
**/
- println("load neurones threshold "+System.currentTimeMillis())
-
x = br.readLine().toInt
for (i <- 0 until x){
@@ -122,14 +86,33 @@ object NetworkLoading {
})
- println("done load neurones threshold "+System.currentTimeMillis())
+ /**
+ * Applying prune if exists
+ *
+ bw.write(cnx.outputNeuron.actor.path.name+" "+cnx.connectionID.toString+"\n")
+ **/
+/*
+ x = br.readLine().toInt
+ nu = 0
+ for ( i <- 0 to x) {
+ try {
+ toBeCropped = n2s3.inputLayerRef.get.connections.head.connections.list.find(cnx => {
+ cnx.outputNeuron.actor.path.name == buffer.split(" ")(0) && cnx.connectionID.toString == buffer.split(" ")(1)}).get
+ n2s3.inputLayerRef.get.connections.head.disconnectByPath(toBeCropped)
+ } catch {
+ case e : NoSuchElementException => nu+=1
+ }
+ if((((i * 100).toFloat / x) % 10) == 0){
+ println(((i * 100).toFloat / x).toInt+"% ("+i+"/"+x+")")
+ }
+ }*/
println("Done loading")
br.close()
}
- def fromWithDefaultWeights(n2s3 : N2S3,filename : String,weights: String,loadRandomWeights:Boolean,binary:Boolean){
+ def fromWithDefaultWeights(n2s3 : N2S3,filename : String,weights: String,loadRandomWeights:Boolean){
val file = new File(filename)
val weightsFile = new File(weights)
var loadRandom = loadRandomWeights
@@ -195,17 +178,8 @@ object NetworkLoading {
try{
loadedSyn.find(elt => elt._1 == cnxPath.connectionID && elt._2 == cnxPath.outputNeuron.actor.path.name).get
targetSyn = loadedInitialSyn.find(elt => elt._1 == cnxPath.connectionID && elt._2 == cnxPath.outputNeuron.actor.path.name).get
- if(!loadRandom) {
- if(!binary){
- ExternalConnectionSender.askTo(cnxPath, SetConnectionProperty(SynapticWeightFloat.asInstanceOf[ConnectionProperty[Any]], targetSyn._3))
- }else{
- if(targetSyn._3 > 0.4){
- ExternalConnectionSender.askTo(cnxPath, SetConnectionProperty(SynapticWeightFloat.asInstanceOf[ConnectionProperty[Any]], 1F))
- }else{
- nGroup.neurons.head.group.connections.head.disconnectByPath(cnxPath)
- //ExternalConnectionSender.askTo(cnxPath, SetConnectionProperty(SynapticWeightFloat.asInstanceOf[ConnectionProperty[Any]], 0F))
- }
- }
+ if(loadRandom) {
+ ExternalConnectionSender.askTo(cnxPath, SetConnectionProperty(SynapticWeightFloat.asInstanceOf[ConnectionProperty[Any]], targetSyn._3))
} }catch{
case x : NoSuchElementException => nGroup.neurons.head.group.connections.head.disconnectByPath(cnxPath)
}
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NeuronLog.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/NeuronLog.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/PrintNetworkTopology.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/PrintNetworkTopology.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/PropertyLogging.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/PropertyLogging.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/STDPImageGenerator.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/STDPImageGenerator.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SimMongoLog.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SimMongoLog.scala
old mode 100755
new mode 100644
index 4d3d1dad8748e1d0b59a3664dad9b0000170bd28..b935313bef6d2412d6cc6be5498b1d350e914970
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SimMongoLog.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SimMongoLog.scala
@@ -25,7 +25,7 @@ import scala.collection.immutable
*/
- class SimMongoLog(n2s3 : N2S3,list : IndexedSeq[IndexedSeq[IndexedSeq[ConnectionPath]]],name : String, Spikes : Boolean, Potential : Boolean, Label : Boolean,SynapticWeight : Boolean,Data:String,time: String) {
+class SimMongoLog(n2s3 : N2S3,list : IndexedSeq[IndexedSeq[IndexedSeq[ConnectionPath]]],name : String, Spikes : Boolean, Potential : Boolean, Label : Boolean,SynapticWeight : Boolean,Data:String,time: String) {
/** ******************************************************************************************************************
* Setup DB connection & Collection
@@ -103,17 +103,17 @@ import scala.collection.immutable
})
InfoCollection.insertOne(Document(
- "MaxS" -> (benchmark.getResult.evaluationByMaxSpiking.score * 100.00D) / benchmark.getResult.inputNumber,
- "FirstS" -> (benchmark.getResult.evaluationByFirstSpiking.score * 100.00D) / benchmark.getResult.inputNumber,
- "OneS" -> (benchmark.getResult.evaluationByOneSpiking.score * 100.00D) / benchmark.getResult.inputNumber,
- "QtInput" -> benchmark.getResult.quietInputCount,
- "NLabel" -> NeuronLabel)).subscribe(observer)
+ "MaxS" -> (benchmark.getResult.evaluationByMaxSpiking.score * 100.00D) / benchmark.getResult.inputNumber,
+ "FirstS" -> (benchmark.getResult.evaluationByFirstSpiking.score * 100.00D) / benchmark.getResult.inputNumber,
+ "OneS" -> (benchmark.getResult.evaluationByOneSpiking.score * 100.00D) / benchmark.getResult.inputNumber,
+ "QtInput" -> benchmark.getResult.quietInputCount,
+ "NLabel" -> NeuronLabel)).subscribe(observer)
// adding Timestamps index to collections
-// PotentialCollection.createIndex(Indexes.ascending("T"))
-// SpikesCollection.createIndex(Indexes.ascending("T"))
-// SynapseWeightCollection.createIndex(Indexes.ascending("T"))
+ // PotentialCollection.createIndex(Indexes.ascending("T"))
+ // SpikesCollection.createIndex(Indexes.ascending("T"))
+ // SynapseWeightCollection.createIndex(Indexes.ascending("T"))
mongoClient.close()
val restartMongo = "service mongod restart" !
@@ -153,7 +153,7 @@ import scala.collection.immutable
* Architecture Save
* *****************************************************************************************************************/
- // var Neuron_id: List[Int] = List[Int]()
+ // var Neuron_id: List[Int] = List[Int]()
//ArchiCollection.insertOne(Document("n" -> name,"i" -> n2s3.layers(0).neurons.size)).subscribe(observer)
@@ -164,8 +164,8 @@ import scala.collection.immutable
InfoCollection.insertOne(Document("n" -> name,"L:N"->Document(layerNeron),"T"->time,"D"->Data)).subscribe(observer)
n2s3.layers.foreach(elt => {
- Layers = Layers + (elt.getIdentifier -> Lid)
- Lid = Lid + 1})
+ Layers = Layers + (elt.getIdentifier -> Lid)
+ Lid = Lid + 1})
/**
* **************************************************
@@ -174,70 +174,70 @@ import scala.collection.immutable
n2s3.layers.foreach(elt => {
if(elt.getIdentifier != "Input") {
val con = new ConnectionIndex(elt, elt).index
- println("size: " + con.size)
-
- con.foreach(U => {
- U._2.foreach(connection => {
- if (connection._1.local.head.toString.contains(":")) {
- layerS = connection._1.actor.path.name.toString.split(":")(0)
- neuroneS = Integer.valueOf(connection._1.local.head.toString.split(":")(1))
- } else {
- layerS = connection._1.actor.path.name
- neuroneS = Integer.valueOf(connection._1.local.head.toString)
- }
- if (connection._2.head.outputNeuron.local.head.toString.contains(":")) {
- layerE = connection._2.head.outputNeuron.local.head.toString.split(":")(0)
- neuroneE = Integer.valueOf(connection._2.head.outputNeuron.local.head.toString.split(":")(1))
- } else {
- layerE = connection._2.head.outputNeuron.local.head.toString
- neuroneE = Integer.valueOf(connection._2.head.outputNeuron.local.head.toString)
- }
- if(!layerS.equals("Input")){
- documentArchi = documentArchi.::(Document("_id" -> id, "LS" -> Layers.get(layerS), "NS" -> neuroneS, "LE" -> Layers.get(layerE), "NE" -> neuroneE))
- id = id + 1}
+ println("size: " + con.size)
+
+ con.foreach(U => {
+ U._2.foreach(connection => {
+ if (connection._1.local.head.toString.contains(":")) {
+ layerS = connection._1.actor.path.name.toString.split(":")(0)
+ neuroneS = Integer.valueOf(connection._1.local.head.toString.split(":")(1))
+ } else {
+ layerS = connection._1.actor.path.name
+ neuroneS = Integer.valueOf(connection._1.local.head.toString)
+ }
+ if (connection._2.head.outputNeuron.local.head.toString.contains(":")) {
+ layerE = connection._2.head.outputNeuron.local.head.toString.split(":")(0)
+ neuroneE = Integer.valueOf(connection._2.head.outputNeuron.local.head.toString.split(":")(1))
+ } else {
+ layerE = connection._2.head.outputNeuron.local.head.toString
+ neuroneE = Integer.valueOf(connection._2.head.outputNeuron.local.head.toString)
+ }
+ if(!layerS.equals("Input")){
+ documentArchi = documentArchi.::(Document("_id" -> id, "LS" -> Layers.get(layerS), "NS" -> neuroneS, "LE" -> Layers.get(layerE), "NE" -> neuroneE))
+ id = id + 1}
+ })
})
- })
- if (documentArchi.nonEmpty) {
- ArchiCollection.insertMany(documentArchi).subscribe(observer)
- documentArchi = List.empty
- }
- } })
+ if (documentArchi.nonEmpty) {
+ ArchiCollection.insertMany(documentArchi).subscribe(observer)
+ documentArchi = List.empty
+ }
+ } })
/** ******************************************************************************************************************
* Starting Spiking & Potential monitoring
* *****************************************************************************************************************/
- if(Spikes){
- println("Setting Spikes monitor")
- loggerSpike = n2s3.system.actorOf(Props(new NeuronsFireLog(name,SpikesCollection,observer,Layers,step, globalTimestamps)), LocalActorDeploymentStrategy)
- n2s3.layers.foreach(Layer =>
- if(Layer.identifier != "Input") {
- Layer.neuronPaths.foreach { n => {
- ExternalSender.askTo(n, Subscribe(NeuronFireEvent, ExternalSender.getReference(loggerSpike)))
- }}}
- )}
-
- if(Potential){
- println("Setting Potential monitor")
- loggerPotential = n2s3.system.actorOf(Props(new NeuronsPotentialLog(name,PotentialCollection,observer,Layers, globalTimestamps)), LocalActorDeploymentStrategy)
- n2s3.layers.foreach(Layer =>
- if(Layer.identifier != "Input"){
- Layer.neuronPaths.foreach{ n =>{
- ExternalSender.askTo(n, Subscribe(NeuronPotentialUpdateEvent, ExternalSender.getReference(loggerPotential)))}
- }})}
-
- if(Label) {
+ if(Spikes){
+ println("Setting Spikes monitor")
+ loggerSpike = n2s3.system.actorOf(Props(new NeuronsFireLog(name,SpikesCollection,observer,Layers,step, globalTimestamps)), LocalActorDeploymentStrategy)
+ n2s3.layers.foreach(Layer =>
+ if(Layer.identifier != "Input") {
+ Layer.neuronPaths.foreach { n => {
+ ExternalSender.askTo(n, Subscribe(NeuronFireEvent, ExternalSender.getReference(loggerSpike)))
+ }}}
+ )}
+
+ if(Potential){
+ println("Setting Potential monitor")
+ loggerPotential = n2s3.system.actorOf(Props(new NeuronsPotentialLog(name,PotentialCollection,observer,Layers, globalTimestamps)), LocalActorDeploymentStrategy)
+ n2s3.layers.foreach(Layer =>
+ if(Layer.identifier != "Input"){
+ Layer.neuronPaths.foreach{ n =>{
+ ExternalSender.askTo(n, Subscribe(NeuronPotentialUpdateEvent, ExternalSender.getReference(loggerPotential)))}
+ }})}
+
+ if(Label) {
println("Setting Label monitor")
loggerLabel = n2s3.system.actorOf(Props(new LabelMonitoring(n2s3, n2s3.layers, LabelCollection, observer, globalTimestamps)), LocalActorDeploymentStrategy)
ExternalSender.askTo(n2s3.inputLayerRef.get.getContainer, Subscribe(LabelChangeEvent, ExternalSender.getReference(loggerLabel)))
}
- if(SynapticWeight){
- println("Setting SynapseWeight monitor")
+ if(SynapticWeight){
+ println("Setting SynapseWeight monitor")
synapticWeightMonitoring = new SynapticWeightMonitoring(list,500,SynapseWeightCollection,observer,"",step,globalTimestamps)
n2s3.addNetworkObserver(synapticWeightMonitoring)}
- // ExternalSender.askTo(n2s3.inputLayerRef.get.getContainer, Subscribe(SynapseUpdateEvent, ExternalSender.getReference(loggerSynapseWeight)))
+ // ExternalSender.askTo(n2s3.inputLayerRef.get.getContainer, Subscribe(SynapseUpdateEvent, ExternalSender.getReference(loggerSynapseWeight)))
}
@@ -245,64 +245,64 @@ import scala.collection.immutable
* Spikes logger
* *****************************************************************************************************************/
- class NeuronsFireLog(name : String,mongoCollection: MongoCollection[Document], observer: Observer[Completed],Layers: Map[String,Int],step:Int,globalTimestamps:Timestamp) extends NetworkActor {
+class NeuronsFireLog(name : String,mongoCollection: MongoCollection[Document], observer: Observer[Completed],Layers: Map[String,Int],step:Int,globalTimestamps:Timestamp) extends NetworkActor {
var i = 1
var id = 0
var time: Long = 0
var documents : List[Document] = List.empty
override def initialize(): Unit = {}
- override def process(message: Message, sender : ActorRef): Unit = message match {
-
- case NeuronFireResponse(timestamp, path) =>
- if (((System.currentTimeMillis() - globalTimestamps) * 1000) - time > 250){
- time = (System.currentTimeMillis() - globalTimestamps) * 1000
- if(i < step){
- documents = documents.::(Document("i" -> Document("L" -> path.actor.path.name.split(":")(0),
- "N" -> BsonInt32.apply(Integer.valueOf(path.actor.path.name.split(":")(1)))),"T" -> time,"Input" -> GlobalLogVars.ActualInput))
- // ,"tt" -> BsonDouble(step*i)
- id = id + 1
- i = i + 1
+ override def process(message: Message, sender : ActorRef): Unit = message match {
+
+ case NeuronFireResponse(timestamp, path) =>
+ if (((System.currentTimeMillis() - globalTimestamps) * 1000) - time > 250){
+ time = (System.currentTimeMillis() - globalTimestamps) * 1000
+ if(i < step){
+ documents = documents.::(Document("i" -> Document("L" -> path.actor.path.name.split(":")(0),
+ "N" -> BsonInt32.apply(Integer.valueOf(path.actor.path.name.split(":")(1)))),"T" -> time,"Input" -> GlobalLogVars.ActualInput))
+ // ,"tt" -> BsonDouble(step*i)
+ id = id + 1
+ i = i + 1
}else{
if(documents.nonEmpty){
mongoCollection.insertMany(documents).subscribe(observer)
documents = List.empty
i = 1
}
- }}
-
- case InputRestartResponse(source) =>
- case m => if(m.toString == "Done"){println(m); destroy()} else println("[NeuronsFireLogText] another msg : "+m)
- }
+ }}
- override def destroy(): Unit = {
- println("Destroyed")
- }
+ case InputRestartResponse(source) =>
+ case m => if(m.toString == "Done"){println(m); destroy()} else println("[NeuronsFireLogText] another msg : "+m)
+ }
+ override def destroy(): Unit = {
+ println("Destroyed")
}
+}
+
/** ******************************************************************************************************************
* Neuron potential Logger
* *****************************************************************************************************************/
- class NeuronsPotentialLog(name : String,mongoCollection: MongoCollection[Document], observer: Observer[Completed],Layers: Map[String,Int],globalTimestamps:Timestamp) extends NetworkActor {
- var i = 0
- var id = 0
+class NeuronsPotentialLog(name : String,mongoCollection: MongoCollection[Document], observer: Observer[Completed],Layers: Map[String,Int],globalTimestamps:Timestamp) extends NetworkActor {
+ var i = 0
+ var id = 0
var time: Long = 0
var documents : List[Document] = List.empty
- override def initialize(): Unit = {}
-
- override def process(message: Message, sender: ActorRef): Unit = message match {
- case NeuronPotentialResponse(timestamp, source, value) =>
- if (((System.currentTimeMillis() - globalTimestamps) * 1000) - time > 250){
- time = (System.currentTimeMillis() - globalTimestamps) * 1000
- documents = documents.::(Document("T" -> time,"L" -> Layers.get(source.actor.path.name.split(":")(0)),
- "N" -> BsonInt32(Integer.valueOf(source.actor.path.name.split(":")(1))), "V" ->
+ override def initialize(): Unit = {}
+
+ override def process(message: Message, sender: ActorRef): Unit = message match {
+ case NeuronPotentialResponse(timestamp, source, value) =>
+ if (((System.currentTimeMillis() - globalTimestamps) * 1000) - time > 250){
+ time = (System.currentTimeMillis() - globalTimestamps) * 1000
+ documents = documents.::(Document("T" -> time,"L" -> Layers.get(source.actor.path.name.split(":")(0)),
+ "N" -> BsonInt32(Integer.valueOf(source.actor.path.name.split(":")(1))), "V" ->
BsonDouble.apply(BigDecimal(value).setScale(6, BigDecimal.RoundingMode.HALF_UP).toDouble)))
// "_id" -> id,
- id = id + 1
- i = i + 1
+ id = id + 1
+ i = i + 1
if(i > 10000){
mongoCollection.insertMany(documents).subscribe(observer)
@@ -310,16 +310,16 @@ import scala.collection.immutable
documents = List.empty
}}
- case m => println("[NeuronsPotentialLogText] Unknown message " + m)
- case _ => println("Err")
- }
+ case m => println("[NeuronsPotentialLogText] Unknown message " + m)
+ case _ => println("Err")
+ }
- override def destroy(): Unit = {
+ override def destroy(): Unit = {
println("Destroyed")
- }
-
}
+}
+
/** ******************************************************************************************************************
* Label changement Logger for supervised learning
* *****************************************************************************************************************/
@@ -333,29 +333,29 @@ class LabelMonitoring(n2s3 : N2S3, outputNeuron : Seq[NeuronGroupRef],mongoColle
outputNeuron.foreach{Layer =>
- Layer.neuronPaths.foreach { n => {
- ExternalSender.askTo(n, Unsubscribe(NeuronFireEvent, ExternalSender.getReference(self)))
+ Layer.neuronPaths.foreach { n => {
+ ExternalSender.askTo(n, Unsubscribe(NeuronFireEvent, ExternalSender.getReference(self)))
- }}}
+ }}}
ExternalSender.askTo(n2s3.inputLayerRef.get.getContainer, Unsubscribe(LabelChangeEvent, ExternalSender.getReference(self)))
}
def receive = {
- case LabelChangeResponse(start, end, label) =>
- time = (System.currentTimeMillis() - globalTimestamps) * 1000
- GlobalLogVars.ActualInput = label
- GlobalLogVars.globalInput = GlobalLogVars.globalInput + 1
- documents = documents.::(Document("L" -> BsonInt32(Integer.valueOf(label)),"T" ->time,"G" -> GlobalLogVars.globalInput))
-
- id = id + 1
- i = i + 1
-
- if(i > 10){
- mongoCollection.insertMany(documents).subscribe(observer)
- i = 0
- documents = List.empty
- }
+ case LabelChangeResponse(start, end, label) =>
+ time = (System.currentTimeMillis() - globalTimestamps) * 1000
+ GlobalLogVars.ActualInput = label
+ GlobalLogVars.globalInput = GlobalLogVars.globalInput + 1
+ documents = documents.::(Document("L" -> BsonInt32(Integer.valueOf(label)),"T" ->time,"G" -> GlobalLogVars.globalInput))
+
+ id = id + 1
+ i = i + 1
+
+ if(i > 10){
+ mongoCollection.insertMany(documents).subscribe(observer)
+ i = 0
+ documents = List.empty
+ }
}}
/** ******************************************************************************************************************
@@ -370,7 +370,7 @@ class SynapticWeightMonitoring(list : IndexedSeq[IndexedSeq[IndexedSeq[Connectio
override def deploy(n2s3: N2S3): Unit = {
this.actor = Some(n2s3.system.actorOf(Props(new SynapticWeight(list, refreshRate, name,mongoCollection,observer,step,globalTimestamps)), LocalActorDeploymentStrategy))
- // this.actor = Some(n2s3.system.actorOf(Props(new ActivityStoreActor(n2s3)), LocalActorDeploymentStrategy))
+ // this.actor = Some(n2s3.system.actorOf(Props(new ActivityStoreActor(n2s3)), LocalActorDeploymentStrategy))
}
}
@@ -412,7 +412,7 @@ class SynapticWeight(list : Seq[Seq[Seq[ConnectionPath]]], refreshRate : Int = 1
)
filteredconnectionList.map{ case (x, y, p) =>
(p.connectionID, p.outputNeuron.actor.path.name.split(":")(1).toInt, values(p.connectionID).head._3)
- }
+ }
}
}
}
@@ -432,16 +432,16 @@ class SynapticWeight(list : Seq[Seq[Seq[ConnectionPath]]], refreshRate : Int = 1
})
valuesTmp = values
values = List.empty
- // tempdocs = List.empty
+ // tempdocs = List.empty
i = i + 1
} else {
- // println("L : "+documents.length)
+ // println("L : "+documents.length)
if(documents.nonEmpty){
- mongoCollection.insertMany(documents).subscribe(observer)
- i = 0
- documents = List.empty}
+ mongoCollection.insertMany(documents).subscribe(observer)
+ i = 0
+ documents = List.empty}
}
- }
+ }
}
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SpikeMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SpikeMonitor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SynapseLog.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/SynapseLog.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/WaitUserBetweenInput.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/WaitUserBetweenInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ActivityGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ActivityGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/EntryDependenceMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/EntryDependenceMonitor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/FireGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/FireGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/Graph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/Graph.scala
old mode 100755
new mode 100644
index 0032a02c3f0eb64b1c97b412c8afa5b231607d10..2a6bfdd99fa53938cc8d7521fdbf5c66a8f92773
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/Graph.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/Graph.scala
@@ -8,11 +8,6 @@ package fr.univ_lille.cristal.emeraude.n2s3.features.logging.graph
import javax.swing.JFrame
-import org.knowm.xchart.XChartPanel
-import org.knowm.xchart.style.Styler.LegendPosition
-
-import scalax.chart.Chart
-
/***************************************************************************************************
* trait which all Graph will extends
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/InputOutputGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/InputOutputGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronDependenceMonitor.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronDependenceMonitor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronDependenceTikz.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronDependenceTikz.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronsGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/NeuronsGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/Plot.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/Plot.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ReconstructOfflineReceptiveField.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ReconstructOfflineReceptiveField.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ReconstructReceptiveField.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ReconstructReceptiveField.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SampleViewer.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SampleViewer.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapseWeightLayerView.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapseWeightLayerView.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapsesConductancesGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapsesConductancesGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapsesWeightGraphBuilderRef.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapsesWeightGraphBuilderRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapsesWeightsBarGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapsesWeightsBarGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticWeightDiffSelectGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticWeightDiffSelectGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticWeightSelectAndMergeGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticWeightSelectAndMergeGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticWeightSelectGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/SynapticWeightSelectGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/TemporalInfluenceGraphic.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/TemporalInfluenceGraphic.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/TimingNeuronState.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/TimingNeuronState.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ValuesGraph.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/graph/ValuesGraph.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/package.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/logging/package.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/package.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/package.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/util/SpikeHistory.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/features/util/SpikeHistory.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/Izhikevich.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/Izhikevich.scala
old mode 100755
new mode 100644
index 39d73a4f399bfa72537d2ce71a054c83c4eb1fe8..137f3c53d961bc0687c520f954c0cd4e702c43da
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/Izhikevich.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/Izhikevich.scala
@@ -1,7 +1,7 @@
/************************************************************************************************************
- * Contributors:
- * - created by falezp on 07/06/16
- ***********************************************************************************************************/
+ * Contributors:
+ * - created by falezp on 07/06/16
+ ***********************************************************************************************************/
package fr.univ_lille.cristal.emeraude.n2s3.models.neurons
import fr.univ_lille.cristal.emeraude.n2s3.core
@@ -18,9 +18,9 @@ import squants.electro.CapacitanceConversions.CapacitanceConversions
import squants.electro.ElectricPotentialConversions.ElectricPotentialConversions
import squants.electro.{ElectricPotential, Millivolts}
-/**
+ /**
* Implementation of the Izhikevich neuron model
- *
+ *
* More informations can be found at the following address:
* - http://www.izhikevich.org/publications/spikes.htm
* - http://www.izhikevich.org/publications/spikes.pdf
@@ -43,9 +43,9 @@ class Izhikevich extends core.Neuron {
var v = c
var u = v*b
- var capacitance = 1 farads
+ var capacitance = 1 farads
- var th = 30 millivolts
+ var th = 30 millivolts
var lastTimestamps : Timestamp = 0
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/LIF.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/LIF.scala
old mode 100755
new mode 100644
index 00df0287ed37eccbecdb7f83afcb71e0c6b727ea..19d265cc369baa5b7f85f7137f649a133dc1297b
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/LIF.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/LIF.scala
@@ -6,7 +6,6 @@ import fr.univ_lille.cristal.emeraude.n2s3.core._
import fr.univ_lille.cristal.emeraude.n2s3.core.actors.{BackwardSpike, ElectricSpike, ResetState}
import fr.univ_lille.cristal.emeraude.n2s3.core.event.{NeuronFireEvent, NeuronFireResponse, NeuronPotentialResponse, NeuronPotentialUpdateEvent}
import fr.univ_lille.cristal.emeraude.n2s3.core.models.properties._
-import fr.univ_lille.cristal.emeraude.n2s3.core.models.synapse.FloatSynapse
import fr.univ_lille.cristal.emeraude.n2s3.support.GlobalTypesAlias._
import fr.univ_lille.cristal.emeraude.n2s3.support.Time
import fr.univ_lille.cristal.emeraude.n2s3.support.UnitCast._
@@ -38,18 +37,15 @@ class LIF extends core.Neuron {
private var membraneThresholdType = MembraneThresholdTypeEnum.Dynamic
private var membranePotential = 0 millivolts
- private var restingPotential = 0 millivolts
private var membranePotentialThreshold = 1 millivolts
private var membraneCapacitance = 1 farads
private var tRefract = 1 MilliSecond
private var tInhibit = 10 MilliSecond
private var tLeak = 100 MilliSecond
-
private var theta = 0 millivolts
private var thetaLeak = 1e7 MilliSecond
private var theta_step = 0.05 millivolts
- private var inhibitionRatio = 0f
/********************************************************************************************************************
@@ -63,7 +59,6 @@ class LIF extends core.Neuron {
* Properties and Events
******************************************************************************************************************/
addProperty[ElectricPotential](MembranePotentialThreshold, () => membranePotentialThreshold, membranePotentialThreshold = _)
- addProperty[ElectricPotential](MembraneRestingPotential, () => restingPotential, restingPotential = _)
addProperty[Time](MembraneLeakTime, () => tLeak, tLeak = _)
addProperty[Time](MembraneRefractoryDuration, () => tRefract, tRefract = _)
addProperty[Time](MembraneInhibitionDuration, () => tInhibit, tInhibit = _)
@@ -71,8 +66,7 @@ class LIF extends core.Neuron {
addProperty[ElectricPotential](AdaptiveThreshold, () => theta, theta = _)
addProperty[ElectricPotential](AdaptiveThresholdAdd, () => theta_step, theta_step = _)
addProperty[Time](AdaptiveThresholdLeak, () => thetaLeak, thetaLeak = _)
- InhibitionRatio
-
+ addProperty[ElectricPotential](MembranePotentialVoltage, () => membranePotential, membranePotential = _)
addEvent(NeuronPotentialUpdateEvent)
@@ -86,27 +80,21 @@ class LIF extends core.Neuron {
//println(membranePotentialThreshold+" + "+theta)
-
- if (timestamp - tLastFire < tRefract.timestamp || timestamp - tLastInhib < tInhibit.timestamp)
+ if(timestamp-tLastFire < tRefract.timestamp || timestamp-tLastInhib < tInhibit.timestamp)
return
- //println((spikeCharge/membraneCapacitance).toMillivolts)
- membranePotential = membranePotential * exp(-(timestamp - tLastSpike).toDouble / tLeak.timestamp.toDouble) + spikeCharge / membraneCapacitance
-
+ membranePotential = membranePotential*exp(-(timestamp - tLastSpike).toDouble / tLeak.timestamp.toDouble)+spikeCharge/membraneCapacitance
- val v = membranePotential + restingPotential
- // println(getNetworkAddress+" "+restingPotential+"+"+membranePotential+" <> "+membranePotentialThreshold+"+"+theta)
-
- if (membraneThresholdType == MembraneThresholdTypeEnum.Dynamic && !hasFixedParameter) {
+ if(membraneThresholdType == MembraneThresholdTypeEnum.Dynamic && !hasFixedParameter) {
this.theta = this.theta * exp(-(timestamp - this.tLastSpike).toDouble / thetaLeak.timestamp.toDouble).toFloat
this.tLastTheta = timestamp
}
- if (v >= membranePotentialThreshold + theta) {
+ if(membranePotential >= membranePotentialThreshold+theta) {
membranePotential = 0 millivolts
- if (membraneThresholdType == MembraneThresholdTypeEnum.Dynamic && !hasFixedParameter) {
+ if(membraneThresholdType == MembraneThresholdTypeEnum.Dynamic && !hasFixedParameter) {
theta += theta_step
}
@@ -121,10 +109,9 @@ class LIF extends core.Neuron {
}
tLastSpike = timestamp
-
- case Inhibition(ratio) =>
+ case Inhibition(_) =>
tLastInhib = timestamp
- membranePotential *= ratio
+ membranePotential = 0 millivolts
triggerEventWith(NeuronPotentialUpdateEvent, NeuronPotentialResponse(timestamp, getNetworkAddress, membranePotential.toMillivolts.toFloat))
case ResetState =>
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/SRM.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/SRM.scala
old mode 100755
new mode 100644
index 8723a37a861cd63c85acee745bf473e43f59f542..b3ea37958810f9735bff524ebced33e40558fe13
--- a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/SRM.scala
+++ b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/neurons/SRM.scala
@@ -89,16 +89,16 @@ class SRM extends core.Neuron {
})
addProperty[MembraneThresholdTypeEnum.Value](MembraneThresholdType, () => membraneThresholdType, membraneThresholdType = _)
- /*
- addConnectionProperty[Float](SynapticWeightFloat, {
- case s : FloatSynapse => Some(s.getWeight)
- case _ => None
- },
- (connection, value) => connection match {
- case s : FloatSynapse => s.setWeight(value)
- case _ =>
- })
- */
+/*
+ addConnectionProperty[Float](SynapticWeightFloat, {
+ case s : FloatSynapse => Some(s.getWeight)
+ case _ => None
+ },
+ (connection, value) => connection match {
+ case s : FloatSynapse => s.setWeight(value)
+ case _ =>
+ })
+*/
addEvent(NeuronPotentialUpdateEvent)
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/package.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/package.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/InhibitorySynapse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/InhibitorySynapse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/SimplifiedSTDP.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/SimplifiedSTDP.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/StandardSTDP.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/StandardSTDP.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/StaticSynapse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/StaticSynapse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/TernarySynapse.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/models/synapses/TernarySynapse.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/package.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/package.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/GlobalTypesAlias.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/GlobalTypesAlias.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/InputDistribution.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/InputDistribution.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/N2S3ResourceManager.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/N2S3ResourceManager.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/Units.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/Units.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/ActorCompanion.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/ActorCompanion.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/ActorDeploymentStrategy.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/ActorDeploymentStrategy.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/Message.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/Message.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/MessageSynchronizer.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/MessageSynchronizer.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/N2S3ActorSystem.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/N2S3ActorSystem.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/NetworkEntityDeploymentPolicy.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/NetworkEntityDeploymentPolicy.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/PropsBuilder.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/PropsBuilder.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/SinglePropsBuilder.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/SinglePropsBuilder.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/UnhandledMessageException.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/actors/UnhandledMessageException.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/InputStream.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/InputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/InputStreamCombinators.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/InputStreamCombinators.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/ui/ExampleDefaultWindow.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/ui/ExampleDefaultWindow.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/ui/SynapseWeightsView.scala b/n2s3/src/main/scala/fr/univ_lille/cristal/emeraude/n2s3/support/ui/SynapseWeightsView.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/resources/application.clustered.conf b/n2s3/src/test/resources/application.clustered.conf
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/resources/font.png b/n2s3/src/test/resources/font.png
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/resources/freeway-save.xml b/n2s3/src/test/resources/freeway-save.xml
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/resources/mnistTrained.xml b/n2s3/src/test/resources/mnistTrained.xml
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/resources/test_xml b/n2s3/src/test/resources/test_xml
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/resources/xml b/n2s3/src/test/resources/xml
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/UnitActorSpec.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/UnitActorSpec.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/UnitSpec.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/UnitSpec.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/MockNeuron.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/MockNeuron.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestInput.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestInput.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNetworkContainer.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNetworkContainer.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronActor.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronActor.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronConnection.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronLayerActorConnection.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronLayerActorConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronLayerActorConstruction.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronLayerActorConstruction.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronLayerActorSpiking.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestNeuronLayerActorSpiking.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestSynchronizer.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/TestSynchronizer.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/simulationRefs/TestNeuronGroupRef.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/simulationRefs/TestNeuronGroupRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/simulationRefs/TestNeuronGroupRefFullConnection.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/simulationRefs/TestNeuronGroupRefFullConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/simulationRefs/TestNeuronGroupRefOneToOneConnection.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/simulationRefs/TestNeuronGroupRefOneToOneConnection.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/synchronization/TestSynchronizedNeuronRef.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/core/synchronization/TestSynchronizedNeuronRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/TestActorSystem.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/builder/TestActorSystem.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestAERInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestAERInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestDigitalHexInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestDigitalHexInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestInputDistribution.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestInputDistribution.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestMnistInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/features/io/TestMnistInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/integration/TestNeuronGroupRef.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/integration/TestNeuronGroupRef.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/models/qbg/TestNeuron.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/models/qbg/TestNeuron.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestPositionInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestPositionInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestRepeatInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestRepeatInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestTakeInputStream.scala b/n2s3/src/test/scala/fr/univ_lille/cristal/emeraude/n2s3/support/io/TestTakeInputStream.scala
old mode 100755
new mode 100644
diff --git a/n2s3_daemon/build.sbt b/n2s3_daemon/build.sbt
index 945a328e6c602fe43b7728c0e4f95f12b0f9ed68..bde605f680f6885cf8a793db680283ff6eda05ed 100755
--- a/n2s3_daemon/build.sbt
+++ b/n2s3_daemon/build.sbt
@@ -10,7 +10,7 @@ name := "N2S3-daemon"
libraryDependencies ++= {
val akkaV = "2.3.7"
Seq(
- "fr.univ-lille.cristal" %% "n2s3" % "0.3-SNAPSHOT",
+ "fr.univ-lille.cristal" %% "n2s3" % "1.1.1",
"com.typesafe.akka" %% "akka-cluster" % akkaV
)
-}
\ No newline at end of file
+}