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.
- Introduce new nodes to the model.
- Going from top to bottom carry out the following for each layer
- Add new edges for new nodes.
- Calculate new values for the nodes.
- Examine nodes in decreasing value order and remove if needed.
- Stop if we reach a predetermined number of nodes.