Interface Experiment<I,R>

Type Parameters:
I - The input configuration type
R - The result type
All Superinterfaces:
Commented, ComprehensiveIdentification, Identified<Identification>, Named, Serializable
All Known Implementing Classes:
ScientificExperiment, TrialExperiment

public interface Experiment<I,R> extends ComprehensiveIdentification
Represents a scientific experiment that takes an input configuration and produces a result.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • run

      CompletableFuture<R> run(I input)
      Executes the experiment with the given input.
      Parameters:
      input - the experimental parameters
      Returns:
      a future providing the result
    • getHypothesis

      Hypothesis<R> getHypothesis()
      Gets the hypothesis this experiment aims to test.
      Returns:
      the hypothesis, or null if exploratory
    • getName

      default String getName()
      Specified by:
      getName in interface ComprehensiveIdentification
      Specified by:
      getName in interface Named
    • getId

      default Identification getId()
      Description copied from interface: Identified
      Returns the unique identifier of this entity.
      Specified by:
      getId in interface Identified<I>
      Returns:
      the identifier