bcds.phison.multfailures
Class SequencerRandom<V,E>

java.lang.Object
  extended by bcds.phison.multfailures.ElemsSequencerBase<V,E>
      extended by bcds.phison.multfailures.SequencerRandom<V,E>
All Implemented Interfaces:
ElemsSequencer<V,E>, WithEnvParams

public class SequencerRandom<V,E>
extends ElemsSequencerBase<V,E>

This class arranges nodes or links in a random manner. The caller must provide a randomness source (a java.util.Random object).

Author:
Juan Segovia S.

Constructor Summary
SequencerRandom()
          Default constructor.
SequencerRandom(TED<V,E> ted, Environ env)
          Creates a new instance and calls setup to complete the initialization.
 
Method Summary
 java.util.List<E> arrangeDirectedLinks(java.util.Random rnd)
          Returns a random arrangement of links.
 java.util.List<V> arrangeNodes(java.util.Random rnd)
          Returns the list of nodes in the topology, arranged randomly.
 java.util.List<E> arrangeUndirectedLinks(java.util.Random rnd)
          Returns a random arrangement of links, as if all links were undirected.
 
Methods inherited from class bcds.phison.multfailures.ElemsSequencerBase
getEnviron, getEnvParams, getName, setup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SequencerRandom

public SequencerRandom()
Default constructor.


SequencerRandom

public SequencerRandom(TED<V,E> ted,
                       Environ env)
Creates a new instance and calls setup to complete the initialization.

Method Detail

arrangeNodes

public java.util.List<V> arrangeNodes(java.util.Random rnd)
Returns the list of nodes in the topology, arranged randomly. The parameter rnd must not be null.

Specified by:
arrangeNodes in interface ElemsSequencer<V,E>
Overrides:
arrangeNodes in class ElemsSequencerBase<V,E>

arrangeUndirectedLinks

public java.util.List<E> arrangeUndirectedLinks(java.util.Random rnd)
Returns a random arrangement of links, as if all links were undirected. All the elements selected are members of the set returned by SimGraph.canonicEdges(). The parameter rnd must not be null.

Specified by:
arrangeUndirectedLinks in interface ElemsSequencer<V,E>
Overrides:
arrangeUndirectedLinks in class ElemsSequencerBase<V,E>

arrangeDirectedLinks

public java.util.List<E> arrangeDirectedLinks(java.util.Random rnd)
Returns a random arrangement of links. Each direction of the links is treated as a separate entity, thus, it is possible that the returned set include both directions of a link, or only one. The parameter rnd must not be null.

Specified by:
arrangeDirectedLinks in interface ElemsSequencer<V,E>
Overrides:
arrangeDirectedLinks in class ElemsSequencerBase<V,E>