Using aspectC to improve the modularity of path-specific customization in operating system code. - Coady, Yvonne
Layered architecture in operating system code is often compromised by execution path-specific customizations such as prefetching, page replacement and scheduling strategies. Path-specific customizations are difficult to modularize in a layered architecture because they involve dynamic context passing and layer violations. Effectively they are vertically integrated slices through the layers. An initial experiment using an aspect-oriented programming language to refactor prefetching in the FreeBSD operating system kernal shows significant benefits, including easy (un)pluggability of prefetching modes, independent development of prefetching modes, and overall improved comprehensibility.
Keywords: Software; Operating systems; Organization and design; Software engineering; Design tools and techniques; Modules and interfaces; Design; Experimentation; Aspect oriented programming; Operating system design; Software modularity