Dynamic Adaptive Systems are the envisioned system generation of the future. These systems consist of interacting components from different vendors. As the components may join or leave the system at runtime, we have to provide the possibility to automatically compose the system at runtime. Using Request/Reply interaction among components enables us to compose the system based on the directed dependencies between caller and callee at runtime. However this leads to several problems, e.g. frequent polling. Event-based interaction can solve these problems but is missing explicit directed dependencies, which we need to compose the system at runtime. This paper describes our approach of realizing Dynamic Adaptive Systems using Event-based interaction among the components while maintaining automatic system composition. In addition, the paper presents an illustrative application example within a smart city.