The Cognitive Robotics group is concerned with endowing robotic or software agents with higher level cognitive functions that involve reasoning, for example, about goals, perception, actions, the mental states of other agents, collaborative task execution, etc. To do this, it is necessary to describe, in a language suitable for automated reasoning, enough of the properties of the robot, its abilities, and its environment, to permit it to make high-level decisions about how to act. The group has developed effective methods for representing and reasoning about the prerequisites and effects of actions, perception and other knowledge-producing actions, and natural events and actions by other agents. These methods have been incorporated into a logic programming language for agents called GOLOG (alGOl in LOGic). A prototype implementation of the language has been developed. Experiments have been conducted in using the language to build a high-level robot controller, some software agent applications (e.g. meeting scheduling), and more recently business process modeling tools.