The event calculus is a logical language for representing and reasoning about events and their effects first presented by Robert Kowalski and in 1986. It was extended by Murray Shanahan and in the 1990s. Similar to other languages for reasoning about change, the event calculus represents the effects of on fluents. However, events can also be external to the system. In the event calculus, one can specify the value of fluents at some given time points, the events that take place at given time points, and their effects.