Existing work on network protocols generally focus on general cases where nodes can dynamically join or leave the network, topology can change, link characteristics may vary and so on. While such protocols beneļ¬t from generality, they cannot exploit the characteristic of the network to improve the important objectives such as throughput or energy efficiency. ProSyn is a tool written in C++ to synthesis individualized network protocols using Genetic Programming.

You can find the theory behind ProSyn via following papers:

ProSyn on Bitbucket: BitBucket