[JAMESII-270] {{org.jamesii.core.math.random.generators.plugintype.RandomGeneratorFactory}} does not handle non-existent {{seed}} parameter Created: 22/Oct/12  Updated: 31/Mar/14

Status: In Progress
Project: James II
Component/s: Core
Affects Version/s: James II 0.8.8
Fix Version/s: None
Security Level: public (Visible to EVERYONE.)

Type: Bug Priority: Major
Reporter: Stefan Rybacki Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

When specifying a RandomGeneratorFactory as parameter for a plugin, e.g., a processor a seed parameter can be provided. In case of multiple replications however a fixed seed is not prefereable as the simulation result will most likely be the same for each replication. But in case the seed parameter is ommited the missing seed is not handled by RandomGeneratorFactory.

java.lang.NullPointerException
at org.jamesii.core.math.random.generators.mersennetwister.MersenneTwisterGeneratorFactory.create(MersenneTwisterGeneratorFactory.java:24)
at org.jamesii.core.math.random.generators.plugintype.RandomGeneratorFactory.create(RandomGeneratorFactory.java:47)
at org.jamesii.simulator.mlrules.population.reference.MLRulesPopulationProcessorFactory.create(MLRulesPopulationProcessorFactory.java:48)
at org.jamesii.core.distributed.partition.Partition.createProcessor(Partition.java:155)
at org.jamesii.core.simulationrun.SimulationRun.<init>(SimulationRun.java:252)
at org.jamesii.core.experiments.tasks.setup.internalsimrun.SimulationRunSetup.createSimulation(SimulationRunSetup.java:155)
at org.jamesii.core.experiments.tasks.setup.internalsimrun.SimulationRunSetup.initComputationTask(SimulationRunSetup.java:90)
at org.jamesii.core.experiments.taskrunner.ComputationTaskHandler.initComputationTask(ComputationTaskHandler.java:77)
at org.jamesii.core.experiments.taskrunner.ComputationTaskHandler.initLocally(ComputationTaskHandler.java:236)
at org.jamesii.core.experiments.taskrunner.ComputationTaskHandler.initRunConfig(ComputationTaskHandler.java:211)
at org.jamesii.core.experiments.taskrunner.sequential.SequentialComputationTaskRunner.init(SequentialComputationTaskRunner.java:319)
at org.jamesii.core.experiments.taskrunner.sequential.SequentialComputationTaskRunner.executeConfiguration(SequentialComputationTaskRunner.java:173)
at org.jamesii.core.experiments.taskrunner.AbstractTaskRunner.run(AbstractTaskRunner.java:107)
at java.lang.Thread.run(Thread.java:722)



 Comments   
Comment by jh194 [ 22/Feb/13 ]

Could you describe a use case?

  • Currently the idea is that the parameter of the factory will be set BEFORE the concrete instance of the random generator is generated, thus is there any code in the framework where this factory is called directly (i.e., not in the code of a model / computation algorithm)?
Generated at Fri Aug 14 07:52:33 CEST 2020 using JIRA 5.0.7#734-sha1:8ad78a62c71cf08b03545eb446cc3b9bb5ce37ad.