Baldwin, Jennifer Ellen2006-09-282006-09-2820062006-09-28http://hdl.handle.net/1828/112Many significant system extensions are hard to modularize. Consequently, their addition to a software system can jeopardize fundamental software engineering principles such as maintainability, understandability and evolvability. For example, the distributed Java Virtual Machine (dJVM) is a cluster aware implementation of a JVM in which distribution was retroactively added as an extension to an existing system. The prototype implementation of the dJVM relies on a patch file applied to IBM’s Jikes Research Virtual Machine (RVM), introducing distribution code into roughly 55% of the original 1166 Java files. In order to better determine the efficacy of modern modularization techniques such as aspect-oriented programming (AOP) in the context of system extensions, we offer up a case study based on distribution. The thesis of this work is that aspects can enhance extensibility of low-level system infrastructure software and be effectively integrated with existing software practices for introducing widespread change.600755 bytesapplication/pdfenDistributionAspect-Oriented ProgrammingPatchJava Virtual MachineComputer ScienceStructuring extensions in system infrastructure software using aspectsThesisAvailable to the World Wide Web