Model
Class ASBarabasiAlbert

java.lang.Object
  |
  +--Model.Model
        |
        +--Model.ASModel
              |
              +--Model.ASBarabasiAlbert

public final class ASBarabasiAlbert
extends ASModel

This Model implements a model proposed by Barabasi and Albert(1) for Autonomous Systems. Their model attempts to capture the emergence of power law in the frequency of outdegrees (2) in topologies by building a graph with Incremental Growth and Preferential Connectivity as driving principles. Incremental Growth refers to growing networks that are formed by the continual addition of new nodes. Preferential Connectivity refers to the tendency of a new node to connect to existing nodes that are highly connected. The probabiliy that a source node, s, is connected to a destination node, d, is
: p = (outdegree of d) / (sum of all nodes' outdegrees)
References to the Papers:
(1) Albert-Laszlo Barabasi and Rega Albert. Emergence of Scaling in Random Networks. Science, pages 509-512, October 1999.
(2) Michalis Faloutsos, Pedro Faloutsos, and Christos Faloutsos. On Power-Law Relationships of the Internet Topology. In ACM Computer Communication Review, Cambridge, MA, September 1999.


Fields inherited from class Model.Model
connLocality, growthType, HS, LS, m, N, nodePlacement, nodePositions, prefConn, rm
 
Constructor Summary
ASBarabasiAlbert(int N, int HS, int LS, int nodePlacement, int m, int bwDist, float bwMin, float bwMax)
           
 
Method Summary
 void ConnectNodes(Graph g)
          Connects Nodes of a disconnected graph.
 Graph Generate()
          Generating a graph according to the Barabasi-Albert model is a three step process that involves:
1) placing the nodes on the plane (parent class, ASModel handles this entirely) 2) interconnecting the nodes according to their outdegrees.
 java.lang.String toString()
          Constructs a string representation of this model and the parameters used.
 
Methods inherited from class Model.ASModel
AssignBW, PlaceNodes
 
Methods inherited from class Model.Model
getConnLocal, getGrowthType, getM, getN, getNodePlacement, getPrefModel, setRandomGenManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ASBarabasiAlbert

public ASBarabasiAlbert(int N,
                        int HS,
                        int LS,
                        int nodePlacement,
                        int m,
                        int bwDist,
                        float bwMin,
                        float bwMax)
Parameters:
N - The Number of Nodes that the topology will have
HS - Length of outer plane
LS - Length of inner square
nodePlacement - The type of node placement use as defined in ModelConstants
m - The number of new nodes that a new node must connect with
bwDist - the bandwidth distribution on the edge used
bwMin - the minimum bw
bwMax - the max bw an edge can have
Method Detail

toString

public java.lang.String toString()
Constructs a string representation of this model and the parameters used. Useful when exporting the generated topology to a file.
Overrides:
toString in class Model
Returns:
A string representation of this model

ConnectNodes

public void ConnectNodes(Graph g)
Connects Nodes of a disconnected graph. The probabiliy that a source node, s, is connected to a destination node, d, is
: p = (outdegree of d) / (sum of all nodes' outdegrees)
Parameters:
g - a disconnected graph

Generate

public Graph Generate()
Generating a graph according to the Barabasi-Albert model is a three step process that involves:
1) placing the nodes on the plane (parent class, ASModel handles this entirely) 2) interconnecting the nodes according to their outdegrees. 3) assigning a bandwidth (but the Barabasi-Albert model doesn't say anything about this.)
Overrides:
Generate in class Model
Returns:
The graph generated by this model