My Database Lab, formed in March 2003, is interested in studying the impact of the P2P paradigm on database technology and building P2P-based adaptive information systems. Its main goal is to build a data management framework whose architecture consists of a large collection of peer data management systems (PDBMSs) located at the nodes of the P2P network. Such PDBMSs can establish, maintain, or abolish acquaintances with each other, thus building communities of interest centered on dedicated businesses. We study both the theoretical and practical issues related to this endeavor: data models, query languages, transaction management, heterogeneity and autonomy management, active rules for data coordination, metadata management, adaptive information systems, etc. These research activities are a joint work with the Knowledge Management Systems Lab and the Database Lab at the University of Toronto.
My research is funded by grants from NSERC, Bell University Labs, and CITO. Several graduate students are involved and there is room for more interested graduate students.
We are interested in studying the use of the situation calculus to capture various phenomena in databases such as transactions, active rules, modelling languages, etc, in order to understand their intimate properties and reason abouth them. Doing so, we bridge a gap between the fields of Artificial Intelligence and Databases. We are also interested in studying the use of the situation calculus in model-checking system designs.
Robotics is a well-known and fascinating research area in Artificial Intelligence. A robotics system usually comprises both hardware and software components. Hardware components are taken care of by computer engineers. From the Computer Science point of view, research in robotics deals with two main set of tasks. The first one amounts to designing algorithms for the so-called low-level tasks of robot motion, obstacle avoidance, path planing, etc. The second set of tasks takes care of high-level issues that generally involve achieving a goal (e.g. delivering mails to all people in an office environment, cleaning a surface, winning a soccer game, ...). Usually, low-level tasks are better programmed in fourth-generation languages like C, C++, and high-level tasks are better programmed in fifth-generation programming languages such as Prolog or Lisp. A common problem that arises is therefore that of bridging the gap between high-level modules programmed for instance in Prolog, and low-level modules programmed in, let's say, C.
We are interested in building agents in general, and robotics agents in particular, in a special-purpose Prolog-like language called GOLOG, whose semantics is based on the situation calculus.