Leading Project for Biosimulation > Cell/Biodynamics Simulation > simBio
 

Feature Request ID FR-1:1: MS1 on how to release distributed computation packages

Aim

To release packages for distributed computation at SourceForge. The JavaSpace and JavaSpaceClient projects are now located in a private repository.

This aim is divided into 4 milestones. This is Milestone 1 (MS1).

Description

At this moment, there are some duplicates of classes in simBio and JavaSpaceClient, and those classes, which have the same name, should be merged in the simBio project.

There are limitations in that simBio and JavaSpace project should be independent while JavaSpaceClient can depend on simBio and JavaSpace.

System Design

Duplicates

The below file is a duplicate, the two files have both been updated after they split:
/src/main/java/org/simBio/sim/dm/ParameterChanger.java

Action to take

  1. Replace the duplicated file located in simBio project with the file located in the JavaSpaceClient project
  2. Delete not used method ParameterChanger(Document, Document)
  3. Delete not used method getDataXMLAsReader()
  4. Remove comments for the two lines:
    //throw new IOException("No xpath " + embeddedPath + " for tag 'inserter'.");
  5. Add Oka-sans change for log message

The below files are duplicates, the newest file is located in the JavaSpaceClient project:
/src/main/java/org/simBio/sim/dm/exchange/Exchanger.java
/src/main/java/org/simBio/sim/dm/exchange/ExchangerFactory.java
/src/main/java/org/simBio/sim/dm/exchange/NullExchanger.java
/src/main/java/org/simBio/sim/dm/exchange/NumericalExchanger.java
/src/main/java/org/simBio/sim/dm/exchange/UniformRatioExchanger.java
/src/main/java/org/simBio/sim/dm/util/DOMHandler.java
/src/main/java/org/simBio/sim/dm/util/NodeHandler.java

Action to take

  1. Replace the duplicated files located in simBio project with the files located in the JavaSpaceClient project
  2. Add header (if there is none)
  3. Remove comment code (if there is one)

The below files are duplicates, there are no differences between the files located in simBio and the JavaSpaceClient project:
/src/main/java/org/simBio/sim/dm/exchange/FileNameExchanger.java
/src/main/java/org/simBio/sim/dm/exchange/UniformValueExchanger.java

Action to take

  1. Delete from JavaSpaceClient

The below files are used by the updated files that will be moved to the simBio project:
/JavaSpaceClient/src/main/java/org/simBio/sim/dm/exchange/IndexNameExchanger.java
/JavaSpaceClient/src/main/java/org/simBio/sim/dm/exchange/ListExchanger.java
/JavaSpaceClient/src/main/java/org/simBio/sim/dm/exchange/OneTimeListExchanger.java
/JavaSpaceClient/src/main/java/org/simBio/sim/dm/util/StringInputStream.java

Action to take

  1. Move to simBio
  2. Add header

Obsoletes

  1. There are four XML-files that are not used and can be deleted, located in /JavaSpaceClient/src/test/resources/org/simBio/sim/dm
  2. The file /JavaSpace/src/main/java/org/simBio/tools/ant/Config.java is not needed anymore.

Independent of JavaSpace

  1. The below files are independent of JavaSpace and can be moved to the simBio project. (Should be moved to the simBio project so that the optimize project and Kuzumoto-san can use it without need of JavaSpace):
    /JavaSpaceClient/src/main/java/org/simBio/util/CsvHandler.java
    /JavaSpaceClient/src/test/java/org/simBio/util/CsvHandlerTest.java
    /JavaSpaceClient/src/test/resources/org/simBio/util/CsvHandlerTest.csv
    /JavaSpaceClient/src/main/java/org/simBio/sim/dm/exchange/LogRatioExchanger.java
    /JavaSpaceClient/src/main/java/org/simBio/sim/dm/exchange/SelectedValuesExchanger.java

Test

  1. To test that the system design works, run the XML-file 3A_NCXvsCaL.xml in the Window cluster before and after the changes. The XML-file can be found in the NoNCX project at a private repository.
  2. Run the three existing testcases for the JavaSpace project (SpaceLocatorTest, RequestTest and ChannelTest).
  3. As it is now, three testcases exist in the JavaSpaceClient project (JSEntryTest, CsvHandlerTest and PropertyManagerTest). Some changes need to be done before any of these test cases can work. Correct CsvHandlerTest in this milestone, the other testcases will be correct later. Needs to include JCommon and JFreeChart class library in the simBio project. Use same version as in JavaSpaceClient
    1. CsvHandlerTest.cvs needs to move, so it matches the file path used in CsvHandlerTest. This will be done in the simBio project.
  4. Test that all existing testcases in the simBio project still works.

Test Result

All the specified tests have been run with successful result.

Committed Files

The version has been tagged to JavaSpace_MS1 in the simBio_mikael project. After the increment was accepted it was merged to the simBio project.