Our engineered biological systems exist inside replicating machines (i.e., living cells). Machine replication results in spontaneous errors in the genetic information encoding our systems. As engineers, we would like to be able to design systems such that performance in the face of mutation and selection is predictable. Further, we would like to either decrease or increase the susceptibility of the system to loss of function by mutation; if, for instance, we wanted a system to function only for a short period.
To begin to solve this problem, we define two aspects of evolutionary stability:
- genetic stability
- the stability of the information encoding the system -- the stability of the DNA sequence itself.
- performance stability
- the capacity of the system to continue to function reliably given changes in the underlying DNA sequence.
Note that a system that was genetically stable would by default have performance stability, but not vice-versa.