Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: ExperimentManager #3

Open
LuckierDodge opened this issue Dec 3, 2024 · 0 comments
Open

Feature: ExperimentManager #3

LuckierDodge opened this issue Dec 3, 2024 · 0 comments
Assignees

Comments

@LuckierDodge
Copy link
Member

Add support for an ExperimentManager to MADSci, intended to handle coordinating and managing experiments run using a MADSci laboratory. This manager will handle all logic related to Experiments and Campaigns for a MADSci lab.

The ExperimentManager will consist of a madsci.experiment_manager package, which will act as the central authority for the experiments, campaigns, and projects run in a MADSci lab.

It will also include a standardized experiment_client in the madsci.clients package, which will allow users and other systems to programmatically interact with experiments and campaigns

Functional Requirements

  • The system shall support creating new Experiments and Campaigns, based on ExperimentDefinition and CampaignDefinition files, respectively. (*.experiment.yaml and *.campaign.yaml)
  • The system shall support tying an Experiment to a specific Campaign
  • The system shall support continuing an existing experiment.
  • The system shall support marking an experiment or campaign as completed
  • The system shall make a best effort attempt to automatically mark an experiment as completed when appropriate
  • The system shall support administrative actions (pause, resume, lock, unlock, cancel, safety stop, etc.), which will be propagated to and respected by related parts of the system (workcells, nodes, applications, etc.).
  • The system shall support querying for all datapoints related to an experiment/campaign.
  • The system shall support querying for all events related to an experiment/campaign.
  • The system shall support querying for all experiments related to a campaign.
  • The system shall support defining resource requirements for an experiment, preventing the experiment from starting until the appropriate resources have been configured.
  • The system shall support defining required nodes/workcells for an experiment, preventing the experiment from starting until the appropriate nodes/workcells are available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants