Causal relations of various kinds are a pervasive feature of human language and theorising about the world. Despite this, the specification of a satisfactory general analysis of causal relations has long proved difficult. The research described in this thesis is an attempt to provide a formal logical theory of causal relations, in a broad sense of causal', which includes various atemporal explanatory and functional relations, in addition to causation between temporally ordered events; and which involves not only necessity associated with physical laws, but also necessity associated with laws and constraints of various other types. The key idea which motivates the analysis is that many types of causal relation have in common certain underlying abstract properties, regardless of the nature of the participants involved. These properties can be expressed via an axiomatisation, initially viewed as applicable to event causation', but subsequently re-interpreted in a more abstract and general way. Given the wide variety of models for the axioms, there are not likely to be powerful general methods for computing the causal relationships defined: instead it is likely to be more productive to use methods tailored to particular models.