The linguistic phenomena of temporal presuppositions and counterfactuals, situated on the boundary line between semantics and pragmatics, are common to many languages, and the computational treatment of such phenomena is difficult because of their nonmonotonic aspect. These phenomena are presented through a corpus of examples; they are studied emphasizing the various types of knowledge underlying them; and the fragment of language that encloses such phenomena is defined in a way not dependent from a specific language. Then, Recursive Models, a formalism for modeling the semantics of utterances containing temporal presuppositions and counterfactuals, are proposed, described from both functional (by formal specifications) and structural points of view, and compared with related work. Finally, the adequacy of Recursive Models is empirically verified: TOBI (Temporal presuppositions and counterfactuals: an Ontological Based Interpreter), a system that interacts with the user in natural language using the recursive models, is illustrated. TOBI is not based on a deductive system, but uses the more primitive and flexible notion of model-based evaluation; its architecture, flow of control and internal data structures are presented.