The method of refinement of component and object systems, known as rCOS, provides a notation with a formally defined relational semantics. In rCOS, the notions of interfaces, contracts, components, and component publications are formally defined. With the definitions of various compositions and refinement relations between contracts and components, the key software artifacts in all phases of a component-based model driven design process can be formally specified, analyzed and refined. This paper presents our further investigation on problems of component publications and composition of components. We will define the notion of publications of components that describes how a component can be used by a third party in building their own components or in writing their applications without the access to the design or the code of the component. It is desirable that different users of the components can be given different publications according to their need. The first contribution of this paper is to provide a procedure, which calculates a weakest contract of the required interface of a component from the contract of its provided interface and its code. The other contribution, that is more significant from a component-based designer's point of view, is to define composition on publications so that the publication of a composite component can be calculated from those of its subcomponents. For this we define a set of primitive composition operators over components, including renaming, hiding, internalizing and plugging.