Evolutionary Architecture model (EvoArch)

This is a model built to explain the Internet protocol stack hourglass shape. It builds a DAG in discrete time steps over time to model the protocols in the OSI model.

  • Define a set of layers ,
  • Each vertex gets mapped to a layer ,
  • Each edge has and describes the relationship protocol can use protocol as its lower level protocol.
  • We define the set of parents of a node to be substrates.
  • The children of node we define to be its Product.
  • Each layer has a generality probability associated to it, . This determine the probability a higher level protocol will depend on a new protocol in this layer in the future. For each where for each where then with probability .
  • Each node has a value at time , , this is defined by the product of that node i.e. .
  • There is a competitor threshold that defines to competitors for nodes
  • Nodes die if their competitors have too much value. This also kills upstream nodes if they only depended on that node for its layer.
  • Nodes also get added randomly to the graph as a percentage of the total size of the current network. Though this can very depending on the implementation

To update this model we do the following steps.

  1. Introduce new nodes to the model.
  2. Going from top to bottom carry out the following for each layer
  3. Add new edges for new nodes.
  4. Calculate new values for the nodes.
  5. Examine nodes in decreasing value order and remove if needed.
  6. Stop if we reach a predetermined number of nodes.