Hello World
The hello world topology is a network of two interconnected nodes named hello and world.

This example shows the 3 basic modeling components in the Merge experiment modeling library
- Topology: contains devices interconnected by links.
- Device: a member of a network.
- Link: interconnects devices.
Topologies
A topology object is the structural model of an experiment. It contains the
devices in an experiment and the links that interconnect them. Topology
constructors take a single argument that is the name of the topology.
Devices
Device objects are the nodes in your experiment network. In this case we have
two devices 'hello' and 'world'. This example shows the simplest way to create
a device, which is just to give it a name. Later examples will show how
constraints can be used to specify specific property requirements about devices
such as number of CPU cores and amount of memory.
Links
Link objects interconnect devices. The link constructor takes in a list of
devices as the only required parameter. In this example we only provide two
devices, so what we wind up with is a point to point link. Two is the minimum
number of devices that may be supplied to a link, however there is no upper
limit on the number of devices. Links with more than two devices are called
multipoint links and are explained in a later example.
Like devices links can also take constraint based properties such as delay and capacity limiting. Later examples will demonstrate link modeling in detail.
IP Addressing
One thing to notice about this topology is how IP addresses are assigned to
nodes. IP addresses are assigned to endpoint objects, and the number of
endpoints a given node has depends on how many links are connected to it. In
this example we created a single link between the two nodes, so each node has one
endpoint. We can access the endpoint through the link object by indexing over
the node, this is demonstrated in the example code as
Notice also that IP addresses are assigned to endpoints as lists, so there can
be any number of IP addresses assigned to a given endpoint.
Experiment Entry Point
In order for an experiment script to be used by MergeTB, you must specify the topology object to be used. Because experiment scripts are simply python files, there could be a number of topology objects in the script, so you need to let merge know which one to use. This is the purpose of the final line