  We present component and connector (C&C) views, which specify structural
properties of component and connector models in an expressive and intuitive
way. C&C views provide means to abstract away direct hierarchy, direct
connectivity, port names and types, and thus can crosscut the traditional
boundaries of the implementation-oriented hierarchical decomposition of systems
and sub-systems, and reflect the partial knowledge available to different
stakeholders involved in a system's design. As a primary application for C&C
views we investigate the synthesis problem: given a C&C views specification,
consisting of mandatory, alternative, and negative views, construct a concrete
satisfying C&C model, if one exists. We show that the problem is NP-hard and
solve it, in a bounded scope, using a reduction to SAT, via Alloy. We further
extend the basic problem with support for library components, specification
patterns, and architectural styles. The result of synthesis can be used for
further exploration, simulation, and refinement of the C&C model or, as the
complete, final model itself, for direct code generation. A prototype tool and
an evaluation over four example systems with multiple specifications show
promising results and suggest interesting future research directions towards a
comprehensive development environment for the structure of component and
connector designs.
