Version 3 (modified by sunshine, 14 years ago) (diff)

--

We start from a class of experiments that we want to define - e.g., DDoS experiments.

Metadescriptions

The highest level is metadescription of that experiment class. It contains dimensions that are important to be defined for this class of experiments. Metadescriptions are created by experts in the given research area. Users usually don't touch them or if they do they start from an existing one and modify it. If there's no metadescription in a given field there should be a nice user-friendly process that lets experts create it from scratch by defining the required dimensions and then slowly add to it.

Every metadescription has the following dimensions:

  • topology (could or could not be domain-dependent. we move the domain-dependent part into invariants. for example "cong. control experiments need a common core where congestion occurs.)
  • invariants (statements that must be true for this class of experiments to be valid, and conditions for this to happen. domain-specific)
  • workflow (domain-specific)

Some metadescriptions contain more like:

  • traffic (could be domain-specific, depending on type of traffic - mission vs background)
  • visualization (domain-specific)
  • post-processing (domain-specific)
  • routing changes (domain-specific)
  • whatever else makes sense for that class of experiments

Each dimension can be output from multiple model. A model can be as abstract as an equation, or it could be an output of a simulation, or a set of data points, or pretty much anything else. Each model can have constraints pretty much describing its inputs and outputs such as "this equation creates Internet-like topologies only when they contain more than 50 nodes". Each model has an input set of variables and an output one where the output is in some common format (or translatable into it) for that dimension.

Experiment Design

User comes to the testbed with some research hypothesis - "my worm can spread to all vulnerable machines in the network in 10 seconds provided that fan in/out is at least 3".

Starting from metadescription the system should be able to select a set of models for each dimension that satisfy relevant invariants. These models are shown as options to the user to choose from and parametrize. This interaction with the user is called experiment design (used to be template in June'10). During the design phase a user may decide they need another dimension or another model for an existing dimension. These should then be added to the metadescription.

Making a selection for one dimension may reduce choices for other dimensions - this is where the system checks constraints against each other and against invariants and only keeps valid combinations around.