Virtual machine (VM) implementations are made of intricately intertwined subsystems, interacting largely through implicit dependencies. As the degree of crosscutting present in VMs is very high, VM implementations exhibit significant internal complexity. This paper proposes an architecture approach for VMs that regards a VM as a composite of service modules coordinated through explicit bidirectional interfaces. Aspect-oriented programming techniques are used to establish these interfaces, to coordinate module interaction, and to declaratively express concrete VM architectures. A VM architecture description language is presented in a case study, illustrating the application of the proposed architectural principles.
Original languageEnglish
Pages (from-to)201-218
Number of pages18
JournalIET Software
Publication statusPublished - Jun 2009

    Research areas

  • modularity, VM, AOSD, bidirectional interface, CSOM, temporal pointcuts, Aspicere, garbage collection, composition of VM

ID: 1712948