Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git://scm.gforge.inria.fr/simgrid/simgrid-java
authoralebre <alebre@noname-2.local>
Tue, 12 Jun 2012 20:44:02 +0000 (22:44 +0200)
committeralebre <alebre@noname-2.local>
Tue, 12 Jun 2012 20:44:02 +0000 (22:44 +0200)
Conflicts:
CMakeLists.txt
ChangeLog

1  2 
CMakeLists.txt
ChangeLog

diff --cc CMakeLists.txt
@@@ -84,19 -88,14 +88,19 @@@ set(JMSG_C_SR
        src/jmsg_host.h
        src/jmsg_process.c
        src/jmsg_process.h
-       src/jmsg_task.c
-       src/jmsg_task.h
-       src/jmsg_synchro.c
-       src/jmsg_synchro.h
        src/jmsg_rngstream.c
        src/jmsg_rngstream.h
+       src/jmsg_synchro.c
+       src/jmsg_synchro.h
+       src/jmsg_task.c
+       src/jmsg_task.h
  )
  
 +set(JTRACE_C_SRC
 +      src/jtrace.c
 +      src/jtrace.h
 +)     
 +
  set(JMSG_JAVA_SRC
        org/simgrid/msg/Host.java
        org/simgrid/msg/HostFailureException.java       
        org/simgrid/msg/Comm.java
        org/simgrid/msg/RngStream.java
  )
 +set(JTRACE_JAVA_SRC
 +      org/simgrid/trace/Trace.java
 +)
  
  set(JAVA_EXAMPLES
+       examples/async/AsyncTest.java
+       examples/async/FinalizeTask.java  
+       examples/async/Forwarder.java
+       examples/async/Master.java  
+       examples/async/Slave.java
    examples/bittorrent/Bittorrent.java
    examples/bittorrent/Common.java
    examples/bittorrent/Connection.java
        examples/master_slave_kill/MsKill.java
        examples/master_slave_kill/Slave.java
        examples/master_slave_kill/FinalizeTask.java
-       examples/async/AsyncTest.java
-       examples/async/FinalizeTask.java  
-       examples/async/Forwarder.java
-       examples/async/Master.java  
-       examples/async/Slave.java
-       examples/startKillTime/Slave.java
+       examples/migration/Emigrant.java
+       examples/migration/Migration.java
+       examples/migration/Policeman.java
+       examples/mutualExclusion/centralized/MutexCentral.java
+       examples/mutualExclusion/centralized/GrantTask.java
+       examples/mutualExclusion/centralized/Coordinator.java
+       examples/mutualExclusion/centralized/ReleaseTask.java
+       examples/mutualExclusion/centralized/Node.java
+       examples/mutualExclusion/centralized/RequestTask.java
+       examples/pingPong/PingPongTask.java
+       examples/pingPong/Sender.java
+       examples/pingPong/Receiver.java
+       examples/pingPong/PingPongTest.java
        examples/startKillTime/Master.java
+       examples/startKillTime/Slave.java
        examples/startKillTime/StartKillTime.java
 +      examples/tracing/PingPongTask.java
+       examples/suspend/DreamMaster.java
+       examples/suspend/LazyGuy.java
+       examples/suspend/Suspend.java
 +      examples/tracing/Sender.java
 +      examples/tracing/Receiver.java
 +      examples/tracing/TracingTest.java
  )
  
  set(CMAKE_SRC
@@@ -185,18 -186,17 +198,18 @@@ ${CMAKE_HOME_DIRECTORY}/FindSimGrid.cma
  )
  
  set(XML_FILES
-     examples/commTime/commTimeDeployment.xml
-     examples/mutualExclusion/ring3.xml
-     examples/mutualExclusion/centralized/mutex_centralized_deployment.xml
      examples/platform.xml
-     examples/pingPong/pingPongDeployment.xml
-     examples/basic/basicDeployment.xml
-     examples/basic/deploy.xml
-     examples/master_slave_bypass/platform.xml
-     examples/master_slave_kill/platform.xml
      examples/async/asyncDeployment.xml
 +    examples/tracing/tracingPingPongDeployment.xml
      examples/bittorrent/bittorrent.xml
+     examples/commTime/commTimeDeployment.xml
+     examples/masterslave/masterslaveDeployment.xml
+     examples/masterslave/deploy.xml
+     examples/master_slave_bypass/platform.xml
+     examples/master_slave_kill/platform.xml
+     examples/mutualExclusion/ring3.xml  
+     examples/mutualExclusion/centralized/mutex_centralized_deployment.xml
+     examples/pingPong/pingPongDeployment.xml
  )
  
  set(source_to_pack
@@@ -299,17 -268,21 +312,23 @@@ add_custom_command
        COMMENT "Build examples for java"
        OUTPUT  ${JAVA_EXAMPLES_CLASS}
        DEPENDS ${JAVA_EXAMPLES}
-       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/basic/*.java  
-       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/async/*.java
-       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/chord/*.java
-       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/commTime/*.java
-         COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/*.java
-         COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/*.java
-       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/*.java                                 
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/async/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/chord/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/commTime/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/io/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/masterslave/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/*.java
+       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/migration/*.java
+   COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/*.java                                     
        COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/pingPong/*.java
+       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/priority/*.java    
        COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/*.java
 +      COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/tracing/*.java
 +      COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/*.java
+       COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/suspend/*.java
  )
  
  add_custom_target(simgrid_java_examples ALL
@@@ -333,18 -306,20 +352,22 @@@ INCLUDE(CTest
  ENABLE_TESTING()
  
  ADD_TEST(async           ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/async/async.tesh)
- ADD_TEST(basic           ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/basic/basic.tesh)
- ADD_TEST(bittorrent           ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/bittorrent.tesh)
- ADD_TEST(chord                 ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/chord/chord.tesh)
- ADD_TEST(pingPong        ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/pingPong/pingpong.tesh)
- ADD_TEST(CommTime        ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/commTime/commtime.tesh)
- ADD_TEST(mutualExclusion ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/mutualexclusion.tesh)
+ ADD_TEST(bittorrent      ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/bittorrent.tesh)
  ADD_TEST(bypass          ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/bypass.tesh)
+ ADD_TEST(commTime        ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/commTime/commtime.tesh)
+ ADD_TEST(chord                 ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/chord/chord.tesh)
  ADD_TEST(kill            ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/kill.tesh)
+ ADD_TEST(masterslave     ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/masterslave/masterslave.tesh)
+ ADD_TEST(migration       ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/migration/migration.tesh)
+ ADD_TEST(mutualExclusion ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/mutualexclusion.tesh)
+ ADD_TEST(pingPong        ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/pingPong/pingpong.tesh)
+ ADD_TEST(priority        ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/priority/priority.tesh)
  ADD_TEST(startKillTime   ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/startKillTime.tesh)
- set(test_list basic bittorrent chord async pingPong CommTime mutualExclusion bypass kill startKillTime tracing)
+ ADD_TEST(suspend         ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/suspend/suspend.tesh)
 +ADD_TEST(tracing         ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/tracing/tracingPingPong.tesh)
 +#Don't forget to put new test in this list!!!
 -set(test_list async bittorrent bypass chord commTime kill masterslave migration mutualExclusion pingPong priority startKillTime)
+ #Don't forget to put new test in this list!!!
++set(test_list async bittorrent bypass chord commTime kill masterslave migration mutualExclusion pingPong priority startKillTime tracing)
  
  ##########################################
  # Set the  DYLD_LIBRARY_PATH for mac     #
diff --cc ChangeLog
+++ b/ChangeLog
@@@ -1,26 -1,35 +1,43 @@@
- SimGrid-java (3.6.1) unstable; urgency=low
-  * Introduce msg.simgrid.Mutex, exporting simgrid mutex to Java.
 +SimGrid-java (3.8) unstable; urgency=low
 +
 + * Introduce org.simgrid.trace.Trace (partial implementation of JAVA bindings
 +   for the TRACE API). 
 +   Although all TRACE methods appear in the Trace class, please not that only
 +   few of thems are really implemented at the JNI level (see ./src/jtrace.c
 +   for further information). 
 +
 -
+ SimGrid-java (3.7.1) stable; urgency=low
+   
+  The "Java aint got to be bloated and slow" release
++ 
+  Major cleanups:
+  * Various internal cleanups and performance improvement
+    Simulations are expected to run up to twice faster or so
+  * Make Process.kill(process) an instance method, not a static one
+  * User processes are not java.lang.Thread subclasses. 
+    This breaks the compatibility (sorry), but previous API was
+    brain-dead, making it impossible to have non-trivial
+    initializations in the process constructor. 
+  * Require a full constructor per Process sub-class.
+    Kinda breaks the compatibility (sorry), but this allows a much more
+    efficient way to launch the processes at simulation startup.
   * Do not embeed our version of semaphores, java 1.5 can be considered
     as sufficiently prevalent for us to not dupplicate its features.
-  * Make Process.kill(process) an instance method, not a static one
-  * Fix a bug around Process.kill()
-  * Add the asynchronous API to the bindings.
-  * Add "sleep" in Process with Thread-like syntax/use.
-  * Change the way the Process are created in ApplicationHandler: a full 
- constructor is now needed for your child classes.
-  * Change the way Process are created: Process are no longer a Thread subclass.
-  -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+  * Lot of bug fixes
+  
+  Extend the API:
+  * Add examples for almost every part of the API
+    We spotted and fixed a lot of bugs in the process
+  
+  * New module: asynchronous communication API
+  * New function: Process.sleep()
+    It takes milliseconds as argument, just as java.lang.Thread.sleep()
+  * New module: org.simgrid.msg.Mutex (SimGrid mutexes)
+  * New module: org.simgrid.msg.RngStream (RngStreams random generators)
  
- SimGrid-java (3.6) unstable; urgency=low
+  -- 2012-06-12 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+  
+ SimGrid-java (1.0 (3.6) unstable; urgency=low
  
   * Initial release.
   * Split of every thing from simgrid v3.5 into a separate package.