Abstract
A major challenge of dynamic composition is to find ways to model components and analyze their composition in order to guarantee that the composition is free from interaction errors and deadlocks. Existing techniques for validation typically require expert knowledge in formal modelling and reasoning, and do not lend themselves to be used at runtime. However, we find that a coarse-grained description of a composition can be sufficient to ensure the consistency of compositions and to detect potential deadlocks. Following our approach, developers with ordinary modelling skills are able to detect problems in composition at an early stage, and thereby design safe systems in an efficient manner. Moreover, the techniques can readily be applied at runtime.