Architecture description languages (ADLs) can be used for describing architectures of component-based software systems. Typical ADLs provide explicit support for specifying components, connectors and configurations as well as for building hierarchical system configurations. All of them allow to specify structural dependencies among components, thus describing static configurations. This may be sufficient for an initial system composition, but does not provide enough information for post-deployment and runtime reconfiguration. Only a few ADLs provide some support for dynamics, usually without a clear differentiation between a possible behaviour of component descriptions and a runtime behaviour of component instances. Even XML-based ADLs such...