A self-organizing architecture for pervasive ecosystems
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
ICPE '12 Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering
Hi-index | 0.00 |
Software has been evolving from pre-defined, monolithic, centralized architectures to decentralized, distributed, dynamically composed federations of components whose goal is to provide useful services. Software processes have been evolving along similar lines, from pre-specified sequential work- flows to decentralized and multi-organization endeavors. The organizations to which software solutions are targeted have also been evolving from highly structured to agile and networked enterprises. All this is affecting the way software is engineered (i.e., conceived, architected, and produced).Software applications increasingly live in an open world: They are embedded in dynamically evolvable environments and must adapt to continuous and even unpredictable change. Accordingly, software architectures need to evolve dynamically and must support reconfiguration and self-organizing features to respond to change requirements. Programming languages and their underlying support infrastructure, in turn, must provide specific features to support this level of dynamism. The traditional approaches followed to ensure software quality, which focus exclusively on pre-runtime validation, are inadequate in this new context. Continuous validation becomes necessary: validation must extend to after the system is deployed and running.The talk surveys the main architectural styles that support dynamic software compositions, the language and infrastructure requirements, and provides a view of the validation process for dynamically evolvable software systems.