1. A model based reasoning system having dynamic domain abstraction, the model-based reasoning system comprising: an abstraction determining module configured to identify an abstraction level for a system model of a real world system to be analyzed from a plurality of potential abstraction levels; and a system reasoning module configured to perform analysis on the system model of the real world system at the abstraction level determined by the abstraction determining module.