Para diseñar sistemas que se auto-alteren, es necesario que los ingenieros aprendan nuevos métodos y que nuevas herramientas de software se desarrollen.