Software systems are increasingly constructed on top of a software platform by adding and composing components that more often than not are developed by external actors. Those platforms project into software systems their own architecture and concepts and impose constraints, this strongly influences how components are developed and/or integrated. It is generally recognized that software architectures play a keyrole in managing software ecosystems and their evolution. While commercially there is an undeniable and increasing interest in software ecosystems, e.g., the Apple's iOS, Google's Android, Amazon.com, research in this domain is still in its infancy. This paper analyses, from the software architecture perspective, the state-of-the-art in software ecosystems and highlights future research directions from a technical point of view.
['Patrizio Pelliccione']
Open Architectures and Software Evolution: The Case of Software Ecosystems