This book offers a unique insight into the building of virtual machines for sequential, object-oriented and parallel languages, and uses comparisons of different VMs to provide actual, practical examples. State transitions are used as a formal technique for the specification of virtual machines throughout and in addition transitions and state transitions relating to the general operation are included for specification of the virtual machine for the event-based system. Two virtual machines are defined using a simple sequential language, which is then generalised to include object and parallelism. Other themes explored include the implementation of VMs and proposals for future work. Appendices contain high-level specifications of two compilers: one for the simple language that serves as the basic example throughout the book, the other for the event-based language specified in Chapter 6. This book is an essential reference tool for academic and industrial researchers as well as postgraduates in this area.