Engineers and scientists need powerful formalisms to make conceptual models of systems in order to analyse and design them. These models can be used to verify the behaviour of the systems, or as an executable specification of them. In this textbook, Professor van Hee concentrates on discrete dynamic systems, e.g. computer hardware, and information and logistical systems. He develops an integrated formalism which can be used as a prototyping language. It has three components: Petri nets, extended with time, token values and hierarchy; a specification language that is a subset of Z; and a binary data model, extended with complex objects. Much attention is paid to methods for constructing models of systems and analysing their behaviour, i.e. putting the theory into practice. The text is designed for use by advanced undergraduate and beginning graduate students, in computer science, electrical and industrial engineering, or applied mathematics; indeed, it is based on courses taught by the author in Holland and Canada. However, its contemporary flavour will mean it also has appeal to professionals or researchers in these areas.