Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
Visual separation of concerns through multidimensional program storage
Proceedings of the 2nd international conference on Aspect-oriented software development
Modular Software Design with Crosscutting Interfaces
IEEE Software
Bugdel: An Aspect-Oriented Debugging System
APSEC '05 Proceedings of the 12th Asia-Pacific Software Engineering Conference
A dynamic aspect-oriented system for OS kernels
Proceedings of the 5th international conference on Generative programming and component engineering
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Representing concerns in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
Test-based pointcuts for robust and fine-grained join point specification
Proceedings of the 7th international conference on Aspect-oriented software development
Hi-index | 0.00 |
Aspect-oriented programming (AOP) has been successful in modularizing crosscutting concerns in complex software systems. In this paper, we present our aspect-oriented approach to building a highly customizable embedded operating system. This is a challenging task since embedded operating systems consist of intertwined concerns often implemented using a mixture of multiple programming languages including an assembly language. Furthermore, they often contain hand-optimized code that makes clear modularization extremely difficult. We provide a two-step approach that addresses these difficulties. First, we devised an aspect-oriented programming environment AOX (Aspect-Oriented eXtension). It supports both modularization and customization of complex software via a set of aspect-oriented mechanisms. AOX extends existing approaches in the sense that it is entirely programming language independent and provides finegrained joinpoints. Second, using AOX, we built a customizable embedded operating system we call the HEART OS. It is highly configurable and very user-friendly. AOX has been implemented and integrated into the Eclipse IDE as a plug-in module. The HEART OS has also been implemented and ported to the XScale and x86 platforms. Our experience with AOX in building the HEART OS was very positive.