Ivan Nemytchenko's definition: the 'main model' is a system that imitates the structure and functioning of the explored domain, adequate to the problem. It must not depend on the programming language (PHP/Java/Ruby), application type (web/desktop/mobile), or framework. Persistence (e.g. Active Record) is a technical detail that is hard to ignore in Rails but should be treated as separable — not every model has to be an Active Record model.