Abstract: An expert system is described for use in designing a connected collection of components which are available or can be made in different forms, e.g. which can be described by a selected number of variables. The expert system includes a knowledge base and an inference engine. The knowledge base includes records pertaining to constant and variable characteristics of connectable components and rules for combining a component with other components. The inference engine allows selecting a record for a first component, then a record for only those second components which can be connected to the first component, and storing information about the connections.