Open component architectures, such as CORBA, allow software systems to be composed of independent components. The behavior of components is described with a mixture of an interface definition language (IDL) and informal prose. This may lead to ambiguous descriptions. This paper proposes an abstract specification of components using the formal specification language Object-Z. The usage of Object-Z enables system designers and programmers to create, understand and maintain specifications of complex interfaces and their interaction. In connection with tool support, the proposed method is integrated into design methods for practical purposes. It give practitioners a better understanding of the design process and fosters the usefulness of formal methods.