In this paper we present an event-based approach to qualitative simulation. We suggest that the behaviour of a system with time is best measured in terms of the landmark events that occur i.e. events that result in interesting changes to the system being modelled. For us, a behaviour model corresponds not to a sequence of qualitative state descriptions but to a set of event sequences -- the things that actually happen to the system rather than the way it happens to be at certain times. Although we have a simple implementation of our system, our primary purpose in developing it is to derive a high level, event-based, nonmonotonic language for specifying qualitative simulation systems. We not only illustrate how a qualitative simulation program can be directly specified (and implemented) in our language, we also sketch how qualitative simulation systems from the literature can be defined and reconstructed in our calculus.