Open Distributed Systems (ODS) evolve dynamically and components of ODS interact with an environment that is not under their control. Managing change efficiently is critical to the effective deployment of applications executing in such environments; reflection helps deal with the need for flexibility. A wide range of protocols and activities must execute concurrently and non-disruptively, and must share resources. In order to avoid resource conflicts, deadlocks, inconsistencies and incorrect execution semantics, the underlying resource management system must ensure that the concurrent system activities compose in a correct manner. In this position paper, we discuss our experiences in developing system level behaviors in the context of ComposeQ, a QoS-enabled composable middleware framework and outline key challenges in the development of formally verifiable middleware for next generation highly distributed and customizable applications.