Existing automated modelling systems either rely on large, complex libraries or require complete access to the modelled system’s behaviour, neither of which is desirable, To address these problems, a simpler architecture for modelling knowledge is described, based on the separation between ideal models of components and corrections that can be applied to these idea1 models. The use of this architecture to develop accurate model boundaries is described, based on consideration of interactions within such ideal models. A novel algorithm for refining models is also proposed. This algorithm considers behavioural differences between models and applies the corrections that cause the greatest differences in behaviour. Finally, some models generated by this method are shown to be parsimonious.