Dynamic and Selective Combination of Extensions in Component-Based Applications

``Dynamic and Selective Combination of Extensions in Component-Based Applications'' by E. Truyen, B. Vanhaute, W. Joosen, P. Verbaeten, and B. Nørregaard Jørgensen. In Proceedings of the 23rd International Conference on Software Engeneering (ICSE'01), May12-19 2001, pp. 233-242.

Abstract

Support for dynamic and client-specific customization is required in many application areas. We present a (distributed) application as consisting of a minimal functional core - implemented as a component-based system, and an unbound set of potential extensions that can be selectively integrated within this core functionality. An extension to this core may be a new service, due to new requirements of end users. Another important category of extensions we consider, are n on-functional services such as authentication, which typically introduce interaction refinements at the application level. In accordance to the separation of concerns principle, each extension is implemented as a layer of mixin-like wrappers. Each wrapper incrementally adds behavior and state to a core component instance from the outside, without modifying the component's implementation. The novelty of this work is that the composition logic, responsible for integrating extensions into the core system, is externalized from the code of clients, core system and extensions. Clients (end users, system integrators) can customize this composition logic on a per collaboration basis by 'attaching' high-level interpretable extension identifiers to their interactions with the core system.

BibTeX entry:

@inproceedings{truyen01dynamic,
   author = {E. Truyen and B. Vanhaute and W. Joosen and P. Verbaeten and
	B. N{\o}rregaard J{\o}rgensen},
   title = {Dynamic and Selective Combination of Extensions in
	Component-Based Applications},
   booktitle = {Proceedings of the 23rd International Conference on
	Software Engeneering ({ICSE}'01)},
   pages = {233--242},
   publisher = {IEEE Computer Society},
   month = {May12--19},
   year = {2001}
}

Also see software upgrades publications by date.

Sameer Ajmani