Temporal Reasoning and Constraint Programming: a Survey Rosella Gennari Writing this thesis meant, first of all, reading a great amount of literature about Temporal Reasoning and Constraint Programming, dealing with the different formalizations of Temporal Constraint Programming and, above all, trying to get a homogeneous work. We could have divided the literature about Temporal Constraint Programming into two main streams: in the first one, we would have classified the research on algorithms for solving TCPs; the other one is characterized by the study of algebraic or logical properties of the underlying temporal constraint frameworks. However, this classification turned out to be too simplistic, since these two fields are not so clearly separate; as we have seen, most of the investigation on Allen's subalgebras, which are the main tools for reasoning in the qualitative approach to Temporal Constraint Programming, has been motivated by the fact that the problem of satisfiability for this Allen's algebra (IA) turned out to be NP-hard. Therefore, we have preferred to classify the different approaches to Temporal Constraint Programming into three main branches, as we did in chapter 2. The main two approaches we have identified are the quantitative (metric), first introduced by Dechter, Meiri and Pearl, and the qualitative based on Allen's interval algebra. The metric characterization shows its efficiency when dealing with temporal problems involving metric information, like "Paulo leaves home at 9:10 a.m." or "Eyal goes to the park either at 5:00 or at 5:15 p.m.". Allen's approach is instead useful if the temporal information focuses on relations between intervals, like ``Alessandra wakes up either before or after Raffaella does''; for instance, the relation of disjointness between intervals (the example just proposed) cannot be characterized in the metric approach with binary constraints. In section 2.1 we have discussed the seminal work of Dechter, Meiri and Pearl on Temporal Constraint Programming with metric information; since the satis- fiability problem for their general framework is NP-hard, authors have researched on what we have called simple temporal problems. We have studied the literature concerning this approach and presented it as a useful tool to enhance the search for solutions of general temporal constraint problems or to approximate them. At the end of this section (cfr. p. 27), we tried to summarize the main techniques one can use when dealing with this kind of constraint problems. In section 2.2, we have presented the qualitative approach, focusing on Allen's interval algebra. As the satisfiability problem for constraint problems based on IA is NP--hard, we directed our attention to subalgebras of IA which are tractable and expressive enough for many applications; for instance, we introduced the PA algebra and its properties as a tool for studying IA problems. This idea has guided us for the rest of our exposition; whenever we introduced metric temporal problems in this section, we used them to study interesting subalgebras of IA. In fact, one of the most promising direction of research aims at classifying the maximal tractable subalgebras of IA with different expressive power; for instance, we have seen that the algebra of Nebel and B\¨urckert is the maximal tractable subalgebra of IA that contains all of the Allen atoms, but it cannot express the relation of sequentiality, that is given by {before, afterg} however, this relation can be expressed by the 8 maximal tractable subalgebras A(r, b) of Drakengren and Jonsson. As in the metric approach, at the end of section 2.2 we have reviewed and summarized the main techniques that Constraint Programming offers to solve IA problems; the main one is given by path--consistency, for historical reason and because it is enough to guarantee consistency of the tractable subalgebras we have presented. At the end, in section 2.3, we have briefly introduced a new line of investi­ gation, which we called "the mixed approach". Research is open in this field; local consistency procedures and new classes of constraint relations are currently under investigation. Temporal Constraint Programming could grow further, taking into consideration event calculus and the systems adopted to reason about actions and changes. In our frameworks, time is the only ontological object, as events, fluents, states or actions are identified with their period of occurrence; this choice provides a computational and logical system easy to manage and efficient. However, the creation of a new constraint-based logical system, in which events, fluents or actions are considered as new objects of different type, represents an attractive challenge.