International Journal on Artificial Intelligence Tools Vol. 18, No. 4 (2009) 589–601 c World Scientific Publishing Company A TOOL FOR ADDRESSING THE RAMIFICATION PROBLEM IN TEMPORAL DATABASES NIKOS PAPADAKIS, DIMITRIS PLEXOUSAKIS ∗ , GRIGORIS ANTONIOU ∗ , MYRON PAPADAKIS ∗ , KATERINA BOUTSIKA ∗ Department of Science, Technological Educational Institute of Crete ∗ Department of Computer Science, University of Crete and Institute of Computer Science, FORTH npapadak@cs.teicrete.gr{dp,antoniou,myrpap,boutsika}@ics.forth.gr Received 10 July 2007 Accepted 4 December 2008 In this paper we study the ramification problem in the setting of temporal databases. Standard solutions from the literature on reasoning about action are inadequate because they rely on the assumption that fluents persist, and because actions have effects on the next situation only. In this paper we provide a solution to the ramification problem based on an extension of the situation calculus and the work of McCain and Turner. We present a tool with a graphical user interface for addressing the ramification problem in temporal databases. 1. Introduction Many domains about which we wish to reason are dynamic in nature. Reasoning about action 5,8,9 is concerned with determining the nature of the world (what holds in the world state) after performing an action in a known world state, and has found application in areas such as cognitive robotics. 8 In our work we consider the ramification problem in a temporal setting. In this context, actions are allowed to have effects which may commence at a time other than the next time point, and the effects may hold only for certain time. For example, a certain misdemeanor may result in the suspension of an employee for a certain period of time, after which the employee is again active and may get a salary. So, in a temporal setting the main assumptions of previous solutions to the ramification problem are inadequate, and we need new techniques. In Ref. 7 it has been addressed the problem in cases where actions result in changes in the future (e.g. the promotion of an employee takes effect in two months). The guarantee of consistency of data stored in a database is a very important and difficult problem. The consistency of the data is determined by the satisfication of the integrity constraints in different database states (situations). A database state is considered to be valid (consistent) only when all the integrity constraints are 589