The increasing complexity of man-made systems calls for new tools and techniques to model them efficiently and at the desired level of abstraction. Well-established modelling paradigms, such as finite state machines, petri nets, communicating sequential processes etc., which are borrowed from the fields of computer science and operations research, often lack certain essential features for capturing discrete event dynamics. New tools such as state charts, timed transition models, finitely recursive processes etc., are evolving to take into account some of these requirements. In this paper we first characterize such systems as well as typical problems related to them. We then discuss and critically evaluate several modelling frameworks through examples. At the end we provide a comparison among the frameworks and directions for future research.