19 #include "properties.h" 20 #include "stringify.h" 57 time_t last_activity_timestamp = 0;
114 static unique_ptr<Universe> create(
const string& path);
117 static unique_ptr<Universe> open(
const string& path);
120 string path()
const {
return path_; }
123 unique_ptr<DbExperiment> newExperiment(
const optional<string>& name,
125 const optional<db::RowId>& base_variation_id);
128 unique_ptr<DbExperiment> loadExperiment(
db::RowId experiment_id)
const;
131 bool findExperiment(
const string& name)
const;
134 vector<DbExperiment> experimentsList()
const;
137 unique_ptr<DbExperimentVariation> newVariation(
db::RowId experiment_id,
138 const string& config);
141 unique_ptr<DbExperimentVariation> loadVariation(
db::RowId variation_id)
const;
144 unique_ptr<DbEvolutionTrace> newTrace(
db::RowId variation_id,
145 const string& evolution_config);
152 string strftime(time_t timestamp,
const string& format)
const;
155 explicit Universe(
const string& path);
157 static void initializeUniverse(
const string& path);
160 const optional<db::RowId> prev_variation_id,
161 const string& config);
171 mutex db_insert_lock_;
optional< string > profile
Runtime profile data (json)
Definition: universe.h:107
A recording of an evolution experiment run.
Definition: universe.h:80
A very simple relational database abstraction on top of Sqlite.
Definition: database.h:178
The persistent storage for all the experiments and variations.
Definition: universe.h:111
optional< db::RowId > last_variation_id
Pointer to the most recent variation.
Definition: universe.h:53
string config
The evolution run configuration (json)
Definition: universe.h:85
int64_t RowId
Represents the ID of a row in the database.
Definition: database.h:44
optional< string > comment
Object comment/annotation.
Definition: universe.h:37
A recording of a particular generation history.
Definition: universe.h:90
optional< string > details
Extra details (json)
Definition: universe.h:101
optional< db::RowId > previous_id
Previous experiment variation.
Definition: universe.h:65
optional< string > name
Experiment name.
Definition: universe.h:47
string setup
Experiment setup values (json)
Definition: universe.h:50
Base class for all the universe database objects.
Definition: universe.h:32
Key Darwin Neuroevolution Framework interfaces.
Classes derived from this are not copyable or movable.
Definition: utils.h:69
A variation of an experiment configuration values.
Definition: universe.h:62
optional< string > name
Variation name.
Definition: universe.h:72
optional< string > genotypes
Notable genotypes (json)
Definition: universe.h:104
string summary
Generation summary (json)
Definition: universe.h:98
Universe representation of an experiment.
Definition: universe.h:44
string config
The experiment configuration values for this variation (json)
Definition: universe.h:75
string path() const
The path of this universe database.
Definition: universe.h:120