With the proliferation of networked devices, today's multimedia applications operate in highly heterogeneous and dynamic environments. An attractive way of dealing with this situation is to make applications self-adaptive, i.e. able to observe them-selves and their execution environment, to detect significant changes and to reconfigure their own behavior in QoS-specific ways.
This approach has been studied many projects, especially in the context of multimedia applications. However, reconfiguration mechanisms are generally implemented in ad hoc ways and often hard-coded within application code. This requires predicting all possible situations at development time and therefore, several key requirements cannot be addressed, in particular: the generality to a wide range of applications, the customizability to each execution context and the flexibility of reconfiguration mechanisms.
This paper describes PLASMA, a component-based framework for building self-reconfigurable multimedia applications. PLASMA relies on a recursive composition model, a hierarchical reconfiguration management and a dynamic Architecture Description Language (ADL), in order to arbitrarily compose multimedia applications and their reconfiguration policies. This paper describes the design concepts underlying PLASMA and illustrates the use of PLASMA with detailed examples.