<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="../plugin.xsl" type="text/xsl"?>
<plugin name="Random">
  <object class="org.ow2.isac.plugin.random.SessionObject">
    <help>Provides random timers, data and dummy samples whose duration follows
a given probability distribution.
Five distribution laws are available:
- Dirac distribution (not actually random: constant value),
- uniform distribution,
- Poisson distribution,
- gaussian distribution,
- negative exponential distribution.
Use control primitives to set the distribution law and parameters to be used.
Then, random sleeps (think times) and dummy actions with random response time can be invoked.
Moreover, random integer values are available by getting the 'int' variable
(through expression ${...:int}), and random strings of random size (according to the
distribution law settings) are available through the 'string' variable
(through expression ${...:string}).&#xD;
Finally, you can also retrieve a random v4 UUID String through the 'uuid' variable (this UUID is independent from the distribution law).</help>
  </object>
  <control name="setDirac" number="0">
    <params>
      <param name="value" type="String" />
    </params>
    <help>Sets the Dirac random distribution law (actually not really random)
Parameters:
- value (required): the constant value the generator will always give.</help>
  </control>
  <control name="setUniform" number="1">
    <params>
      <param name="min" type="String" />
      <param name="max" type="String" />
    </params>
    <help>Sets the uniform random distribution law.
Parameters:
- min (required): the minimal integer value.
- max (required): the maximal integer value.</help>
  </control>
  <control name="setPoisson" number="2">
    <params>
      <param name="unit" type="String" />
      <param name="parameter" type="String" />
    </params>
    <help>Sets the Poisson random distribution law.
Parameters :
- unit (optional): the generated values are multipied by this factor. The default value is 1.
- parameter (required): the parameter (mean and variance) of the Poisson distribution in the specified unit.</help>
  </control>
  <control name="setGaussian" number="3">
    <params>
      <param name="min" type="String" />
      <param name="max" type="String" />
      <param name="mean" type="String" />
      <param name="deviation" type="String" />
    </params>
    <help>Sets the Gaussian random distribution law.
Parameters:
- min: minimum value
- max: maximum value
- mean: mean value
- deviation: values deviation</help>
  </control>
  <control name="setNegativeExpo" number="4">
    <params>
      <param name="min" type="String" />
      <param name="mean" type="String" />
    </params>
    <help>Sets the negative exponential random distribution law.
Parameters:
- min: minimum value
- mean: mean value</help>
  </control>
  <timer name="sleep" number="0">
    <help>Timer whose duration is given by a random value in ms, according to current distribution law settings.</help>
  </timer>
  <sample name="action" number="0">
    <params>
      <param name="successful" type="String" />
      <param name="comment" type="String" />
      <param name="type" type="String" />
    </params>
    <help>Dummy action whose response time is given by a random value in ms, according to current distribution law settings.
Parameters:
- successful: set whether this action must be considered as successfully completed or not
- comment: give an arbitray comment String to this dummy action
- type (optional): custom action type. The default value is "dummy action"</help>
  </sample>
</plugin>

