Model Based Reasoning