The paper introduces a cooperative coevolution architecture for evolving interacting coadapted subcomponents, addressing the challenges of problem decomposition, intercomponent dependencies, credit assignment, and diversity maintenance. The architecture models an ecosystem with genetically isolated species that interact cooperatively within a shared domain. The authors demonstrate the effectiveness of this approach through empirical studies, including string covering tasks and the evolution of artificial neural networks. The results show that the system can emerge with appropriate numbers of interdependent subcomponents, evolve to an appropriate level of generality, and adapt as the number and roles of subcomponents change over time. The paper also discusses the emergence of problem decomposition and the benefits of maintaining diversity in the ecosystem.The paper introduces a cooperative coevolution architecture for evolving interacting coadapted subcomponents, addressing the challenges of problem decomposition, intercomponent dependencies, credit assignment, and diversity maintenance. The architecture models an ecosystem with genetically isolated species that interact cooperatively within a shared domain. The authors demonstrate the effectiveness of this approach through empirical studies, including string covering tasks and the evolution of artificial neural networks. The results show that the system can emerge with appropriate numbers of interdependent subcomponents, evolve to an appropriate level of generality, and adapt as the number and roles of subcomponents change over time. The paper also discusses the emergence of problem decomposition and the benefits of maintaining diversity in the ecosystem.