Interface IErlModuleAtomBatches<D extends RuleAtom<?>>

Type Parameters:
D - The type of Rule-element pair.
All Superinterfaces:
IEolModule, IErlModule, IModule, ModuleElement
All Known Implementing Classes:
EgxModuleParallelGenerationRuleAtoms, EvlModuleParallelAtoms, EvlModuleParallelConstraintAtoms, EvlModuleParallelContextAtoms

public interface IErlModuleAtomBatches<D extends RuleAtom<?>> extends IErlModule
Interface for rule-based languages with deterministically ordered jobs which can be split into independent units of execution.
Since:
1.6
Author:
Sina Madani
  • Method Details

    • getAllJobs

      List<? extends D> getAllJobs() throws EolRuntimeException
      The atomic units of work.
      Returns:
      A deterministically ordered List of executable rule-element pairs.
      Throws:
      EolRuntimeException - If any problems are encountered when retrieving the jobs.
    • getBatchJobs

      default List<JobBatch> getBatchJobs(int batchSize) throws EolRuntimeException
      Splits the job list (as returned from getAllJobs() into the specified number of batches.
      Parameters:
      batchSize - This is interpreted as the size of batches, i.e. the distance between start and end indices.
      Returns:
      The list of start and end indices in order.
      Throws:
      EolRuntimeException