Nature exhibits extremely diverse, dynamic, robust, complex and fascinating phenomena and, since long ago, it has been a great source of inspiration for solving hard and complex problems in computer science. Hence, the search for plausible biologically inspired ideas, models and computational paradigms always drew the interest of computer scientists. It is worth mentioning that most bio-inspired algorithms only focuses on and took inspiration from specific aspects of the natural phenomena. However, in nature, biological systems are interlinked to each other, e.g., biological ecosystems. The ecosystem as a whole can be composed by species that respond to environmental and ecological stimuli. This work reviews the theoretical foundations and applications of a computational ecosystem for optimization, named ECO. Also, as some concepts and processes inherent to biological ecosystems have already been explored in the ECO approach, some related works are described. Finally, several future research directions are pointed.