Changes between Version 11 and Version 12 of Deter/NewExDesc
- Timestamp:
- Oct 11, 2010 11:59:20 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Deter/NewExDesc
v11 v12 1 This document sets up the terminology for new experiment design. The language for the design is discussed in [ExDescLang]. 2 1 3 We start from a class of experiments that we want to define - e.g., DDoS experiments. 2 3 [ExDescLang]4 4 5 5 === Metadescriptions === … … 9 9 Every metadescription has the following dimensions: 10 10 11 * 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.) - LANGUAGE: TopDL with understanding that there's a way to translate this into NS 12 * invariants (statements that must be true for this class of experiments to be valid, and conditions for this to happen. domain-specific) - LANGUAGE: Arun's DETERmine grammar ss final output but user may interact with a translation of it in English 13 * actors are defined separately - actors map to topology somehow - there may be additional directives to denote how to do this mapping. For each actor you may choose to use one or many, or you could group them and use one or many actor groups in your experiment (e.g. simultaneous DDoS attacks) - LANGUAGE: TBD but pretty simple 14 * event timeline (JTW calls this '''workflow''', domain-specific) - LANGUAGE: Arun's DETERmine grammar; 11 * objects that either act in the experiment or are acted upon (nodes that send traffic, caches that get changed, ...) 12 * event timeline (JTW calls this '''workflow''') 13 * invariants (statements that must be true for this class of experiments to be valid, and conditions for this to happen) 15 14 16 Some metadescriptions contain more like: 15 Every dimension can have '''constraints''': 16 * e.g., what topologies work for given objects, what kind of traffic generators can be used to generate traffic in the event timeline, etc. 17 17 18 * traffic (could be domain-specific, depending on type of traffic - mission vs background) - it's a little vague what portion of traffic gets defined in event timeline as opposed to here. We should have an option of defining multiple traffic streams at one place (here) if they are similar. Defining traffic means defining request/reply sizes, timing, content, etc. depending on the generator being used for this dimension. If event timeline mentioned specific traffic (e.g., DNS) then here we'd offer generators (JTW sometimes calls this '''models''') that can generate such traffic - for that particular event. In general we should offer here all generators since users may want to generate some background traffic that's noise in the experiment. 19 * visualization (domain-specific) - LANGUAGE: Pointers to tools, their inputs and outputs 20 * post-processing (domain-specific) - LANGUAGE: Pointers to tools, their inputs and outputs 21 * monitors (domain-specific) - LANGUAGE: Pointers to tools, their inputs and outputs 18 Some metadescriptions contain more dimensions, like: 19 20 * background traffic 21 * visualization 22 * post-processing 23 * monitors 22 24 * whatever else makes sense for that class of experiments 23 25 24 Each dimension can be output from multiple '''generators'''. A generator 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 generator 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 generator 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. 26 Each dimension can be output from multiple '''generators'''. A generator 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 generator 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 generator 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. A generator belongs to a '''class''' of generators depending on what it generates. So far we can foresee several classes: 27 * topology 28 * traffic 29 * routes 30 * malware 31 25 32 26 33 === Experiment Design === … … 34 41 === Experiment Start === 35 42 36 Based on user's choices the system generates the topology file and a '''set of scripts''' (SEER or others) that are directly runnable on the testbed (in June'10 we called this a '''recipe''').43 Based on user's choices the system generates the topology file and a '''set of scripts''' (SEER or Eclipse or something else) that are directly runnable on the testbed (in June'10 we called this a '''recipe'''). 37 44 38 45 === Experiment Runtime ===