This paper describes a program called Pret that automates system identification, the process of finding a dynamical model of a black-box system. Pret performs both structural identification and parameter estimation by integrating several reasoning modes: qualitative reasoning, qualitative simulation, numerical simulation, geometric reasoning, constraint reasoning, resreasoning with abstraction levels, declarative meta-level control, and a simple form of truth maintenance. Unlike other modeling programs that map structural or functional descriptions to model fragments, Pret combines hypotheses about the mathematics involved into candidate models that are intelligently tested against observations about the target system. We give two examples of system identification tasks that this automated modeling tool has successfully performed. The first, a simple linear system, was chosen because it facilitates a brief and clear presentation of Pret's features and reasoning techniques. In the...