Deployment Contracts for Software Components Kung-Kiu Lau and Vladyslav Ukis School of Computer Science, The University of Manchester Manchester M13 9PL, United Kingdom kung-kiu,vukis@cs.man.ac.uk Abstract: Today's approaches to software architecture mostly regard components to be black boxes with interfaces. A component's interface is made up of signatures of operations offered by the component. The interface is the only entity visible outside of component. This means that component composition can be done only at the interface level since component's interiors are hidden in the black box. Although composition at the interface level empowers com ponent integrators to compose applications out of preexisting components, the information visible outside component is not su±cient to reason about component composition. In other words, compositional reasoning is hardly supported by current approaches to software architecture. Furthermore, predictable assembly of components is currently not supported. In this report, we present an approach to augment component's interface with meta-data. The metadata describes component's behaviour. In particular, our metadata set is comprised of attributes describing component's environmental dependencies as well as threading model. The metadata is analysed to allow compositional reasoning of components. Moreover, we consider two widely-spread execution environments of components, desktop and web environment. We use the metadata to prevent components' conflicts with the target execution environment. Furthermore, we analyse the metadata at component deployment time to discover conflicts due to happen at runtime. That is, we propose an approach where conflicts arising from incompatible component's properties with the properties of the target execution environment and the properties of other components can be statically predicted before runtime.