The circuit tree application uses lots of models. The models contain the information which is needed by the engine to generate the design. There are number of rules which define how a component is to be connected to each other. These rules have been written by hardware design experts who have more than 20 years of experience in designing a working hardware. In addition it has very smart algorithms in different areas to generate a unique solution for every requirement.
With so many components and combinations the application has a verification engine also to ensure that the created design is correct and is highly functional. The process is completely automated and all designs are tested/checked by hardware design experts before they are allowed to be used by the tool.