Flexible composites and automatic component selection for service-based applications
Abstract
In traditional Software Engineering approaches, an application is described as a composite entity containing all its components. This approach is no longer relevant in modern Software Engineering, at least when developing service-based applications where some components (services) are selected very late during the development process or even "discovered" at execution. This new context requires describing an application in a more flexible way, leaving room for delayed selection. In turn, if component selection can be performed all along the life-cycle, an application description must explicitly include the application requirements and goals and the system must at least ensure that the selections satisfy the application description. In this work, we propose a concept of composite addressing the needs of the advanced and flexible service-based applications, automating component selection and building composites satisfying the application description and enforcing minimality, completeness and consistency properties. We also propose tools and environment supporting these concepts and mechanisms in the different phases of the application life-cycle.