Dynamic Adjustment of Component InterActions is a framework for building adaptive distributed applications through the flexible composition of software components.
Flexible Component CompositionUsing DACIA, an application is constructed by connecting in a particular configuration several components implementing various functions or parts of the application. Easy customization enables an application developer to use only the components necessary to achieve the desired functionality. The same application functionality can be achieved by combining a set of components in multiple ways or by using different sets of components.
Adaptation through Runtime Reconfiguration of the ApplicationThrough runtime reconfiguration, an application adapts to changes in the execution environment, resource availability, and application requirements, thus achieving a more efficient execution. An application can be dynamically reconfigured by replicating components, relocating some components, or by replacing a set of components with a different set of components, possibly connected in a different configuration.
Application and User MobilityDACIA provides support for application and user mobility. Components can move between hosts while maintaining seamless connectivity with other components. The structure of the application does not change and the flow of data in the system is not impacted.
By reducing the dependence on certain hosts through component mobility, applications are made more robust and more tolerant to host and link failures.