The # (hash) component model aims to take advantage of a component-based perspective of software for the development of high-performance computing applications targeted at parallel distributed architectures. This paper presents an approach for specifying #-components using Circus, to provide the ability of reasoning about behavioral and functional properties of #-components and their composition, as well as to partially generate code of their units through the application of successive semi-automatic refinement steps. On the Circus side, the # component model provides a new compositional approach to combine a Circus specification to form new ones, widening its applicability.