Class ScientificExperiment<I,R>
java.lang.Object
org.episteme.core.methodology.ScientificExperiment<I,R>
- Type Parameters:
I- The input configuration typeR- The result type
- All Implemented Interfaces:
Serializable, Experiment<I,R>, Commented, ComprehensiveIdentification, Identified<Identification>, Named, UniversalDataModel
- Direct Known Subclasses:
TrialExperiment
public class ScientificExperiment<I,R>
extends Object
implements Experiment<I,R>, UniversalDataModel
A robust, persistent implementation of the
Experiment interface.
This class serves as a base for specific scientific experiments (e.g., in Psychology, Physics). It includes support for authorship, bibliographic references, and observation tracking.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidaddReference(Citation citation) Gets the hypothesis this experiment aims to test.getId()Returns the unique identifier of this entity.Returns a map of metadata for this model (e.g., creation date, source).Returns a unique identifier for the type of data model.getName()List<Observation<R>> Returns the primary physical values associated with this model.Returns the traits map for this entity.voidrecord(Observation<R> observation) Records an observation derived from the experiment execution.Executes the experiment with the given input.voidsetDescription(String description) voidsetEndDate(Instant endDate) voidSets the name of this entity.voidsetStartDate(Instant startDate) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Commented
getComments, getTrait, setCommentsMethods inherited from interface ComprehensiveIdentification
getTrait, setTraitMethods inherited from interface UniversalDataModel
validate
-
Constructor Details
-
ScientificExperiment
Creates a new Scientific Experiment.- Parameters:
name- The name of the experiment.
-
-
Method Details
-
run
Description copied from interface:ExperimentExecutes the experiment with the given input.- Specified by:
runin interfaceExperiment<I,R> - Parameters:
input- the experimental parameters- Returns:
- a future providing the result
-
getHypothesis
Description copied from interface:ExperimentGets the hypothesis this experiment aims to test.- Specified by:
getHypothesisin interfaceExperiment<I,R> - Returns:
- the hypothesis, or null if exploratory
-
getTraits
Description copied from interface:ComprehensiveIdentificationReturns the traits map for this entity.- Specified by:
getTraitsin interfaceCommented- Specified by:
getTraitsin interfaceComprehensiveIdentification- Returns:
- the traits map
-
getId
Description copied from interface:IdentifiedReturns the unique identifier of this entity.- Specified by:
getIdin interfaceExperiment<I,R> - Specified by:
getIdin interfaceIdentified<I>- Returns:
- the identifier
-
getName
- Specified by:
getNamein interfaceComprehensiveIdentification- Specified by:
getNamein interfaceExperiment<I,R> - Specified by:
getNamein interfaceNamed
-
setName
Description copied from interface:ComprehensiveIdentificationSets the name of this entity.- Specified by:
setNamein interfaceComprehensiveIdentification- Parameters:
name- the name to set
-
getDescription
-
setDescription
-
getAuthors
-
addAuthor
-
getReferences
-
addReference
-
getObservations
-
record
Records an observation derived from the experiment execution. -
getStartDate
-
setStartDate
-
getEndDate
-
setEndDate
-
getModelType
Description copied from interface:UniversalDataModelReturns a unique identifier for the type of data model. Examples: "SPATIAL_GEOMETRY", "ECONOMIC_PORTFOLIO", "ARCHITECTURAL_PLAN".- Specified by:
getModelTypein interfaceUniversalDataModel
-
getMetadata
Description copied from interface:UniversalDataModelReturns a map of metadata for this model (e.g., creation date, source).- Specified by:
getMetadatain interfaceUniversalDataModel
-
getQuantities
Description copied from interface:UniversalDataModelReturns the primary physical values associated with this model. This allows generic tools to extract and convert measurements.- Specified by:
getQuantitiesin interfaceUniversalDataModel
-