Package org.jamesii.core.experiments

Examples of org.jamesii.core.experiments.IComputationTaskConfiguration


  @SuppressWarnings("unchecked")
  // Serialized parameter maps are required
  protected IProblemInstance registerProblemInstance(
      ComputationTaskRuntimeInformation crti) {

    IComputationTaskConfiguration compTaskConfig =
        crti.getSimulationRunConfiguration();
    URI uri =
        compTaskConfig.getAbsModelReaderFactoryParams().getSubBlockValue(
            IURIHandling.URI);

    IProblemScheme scheme = null;

    try {
      scheme = perfDatabase.getProblemScheme(uri);
    } catch (Exception ex) {
      SimSystem
          .report(Level.SEVERE, CONSTR_ERR_MSG_TITLE + ex.getMessage(), ex);
    }

    if (scheme == null) {
      scheme = setupBenchmarkModelProblemScheme(uri);
    }

    Map<String, Serializable> parameters =
        (Map<String, Serializable>) compTaskConfig.getParameters();
    if (parameters == null) {
      parameters = new HashMap<>();
    }

    IProblemDefinition problemDefinition = null;

    // Create new simulation problem or re-use existing one
    try {
      problemDefinition =
          perfDatabase.newProblemDefinition(scheme, SimulationProblemDefinition
              .getDefinitionParameters(
                  compTaskConfig.getStopPolicyFactoryClass(),
                  compTaskConfig.getStopPolicyParameters()), parameters);
    } catch (Exception ex) {
      SimSystem
          .report(Level.SEVERE, CONSTR_ERR_MSG_TITLE + ex.getMessage(), ex);
      return null;
    }
View Full Code Here


  }

  @Override
  protected SimulationRunConfiguration createRunConfiguration(
      ComputationTaskIDObject computationTaskID) {
    IComputationTaskConfiguration runConfig;
    synchronized (getConfig()) {
      adaptConfiguration(getConfig());
      runConfig = getConfig().newComputationTaskConfiguration(computationTaskID);
    }
    return (SimulationRunConfiguration) runConfig;
View Full Code Here

      }
      IExperimentExecutionController controller =
          getExperimentController(currentTRTI.getComputationTaskConfiguration());
      if (controller != null && controller.equals(expController)) {
        abortCurrentConfig = true;
        IComputationTaskConfiguration config =
            currentTRTI.getSimulationRunConfiguration();
        if (config.useMasterServer()) {
          try {
            config.getMasterServer().stop(currentTRTI.getComputationTaskID());
          } catch (Exception e) {
            SimSystem.report(Level.SEVERE,
                "Couldn't stop the computation task!");
          }
        } else {
View Full Code Here

    int executedReplications = 0;
    while (replications > 0 && executedReplications < replications
        && !abortCurrentConfig) {

      IInitializedComputationTask initComputationTask = null;
      IComputationTaskConfiguration compTaskConfig = null;
      currentTRTI = null;

      // Initialise computation task
      try {
        initComputationTask = init(taskConfig);
        currentResult = initComputationTask.getRunInfo();

        // Check for premature abort
        if (initComputationTask.getComputationTask() != null) {
          compTaskConfig = initComputationTask.getComputationTask().getConfig();
        } else {
          abortCurrentConfig = true;
        }

        // Notify submitting experiment
        IComputationTask run = initComputationTask.getComputationTask();
        currentTRTI =
            new ComputationTaskRuntimeInformation(compTaskConfig, taskConfig,
                run, run != null ? run.getUniqueIdentifier() : null,
                currentResult);
      } catch (Exception t) {
        SimSystem.report(Level.SEVERE,
            "Problem in initializing execution task", t);
        handleAbort(taskConfig, currentResult, compTaskConfig, t);
      } finally {
        getExperimentController(taskConfig).computationTaskInitialized(this,
            currentTRTI);
      }

      waitForNotification();

      if (runComputationTask) {
        executedReplications++;
        try {
          currentResult = run(initComputationTask, compTaskConfig);
          currentResults.add(currentResult);
          // Notify that the execution of a single run is done
          if (executedReplications == replications) {
            replications += taskConfig.allowedReplications(currentResults);
          }
          currentResult.setJobDone(executedReplications == replications);
        } catch (Exception t) {
          SimSystem.report(t);
          abortCurrentConfig = true;
          currentResult = new RunInformation(true);
        } finally {
          getExperimentController(taskConfig).computationTaskExecuted(this,
              currentTRTI, currentResult);

          IDataStorage<?> storage = getDataStorage(taskConfig);
          try {
            if (storage != null) {
              storage
                  .computationTaskDone(compTaskConfig.getComputationTaskID());
            }
          } catch (Exception e) {
            SimSystem.report(e);
          }
View Full Code Here

   * @return the initialised computation task
   */
  private IInitializedComputationTask init(TaskConfiguration taskConfig) {

    ComputationTaskIDObject id = this.getComputationTaskID(taskConfig);
    IComputationTaskConfiguration compTaskConfig =
        taskConfig.newComputationTaskConfiguration(id);

    if (isStopping()) {
      return new InitializedComputationTask(null, new RunInformation(
          compTaskConfig));
View Full Code Here

public class J2SimDataProvSerialTest extends
    SimpleSerializationTest<JamesSimDataProvider<String>> {

  @Override
  public JamesSimDataProvider<String> getTestObject() {
    IComputationTaskConfiguration simRunConfig =
        (new TaskConfiguration())
            .newComputationTaskConfiguration(new ComputationTaskIDObject(2L));
    RunInformation runInfo = new RunInformation(simRunConfig);
    runInfo.setExpID(UniqueIDGenerator.createUniqueID());
    runInfo.setDataStorageFactory(DummyDataStorageFactory.class);
View Full Code Here

TOP

Related Classes of org.jamesii.core.experiments.IComputationTaskConfiguration

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.