Applying Dependency Injection Through AOP Programming to Analyze the Performance of OS
Keywords:
Aspect, Pointcut, Before, After, Aspectj, Cross Cutting, Concerns, DependencyAbstract
Operating systems are very inflexible towards modification of already existing functionalities such as security, dynamic re-configurability, robustness etc. In such functionalities if need arises for any enhancements then it effects on large fractions of the code. Thus results in difficult to implement. Such functional enhancements in any component of the OS that affect large fractions of the program code, are often called crosscutting concerns. Such cross-cutting concerns can be solved by the new emerging extension to object oriented paradigm i.e. Aspect Oriented Programming (AOP). The main idea in AOP is the programmer’s ability to affect the execution of core code by writing aspects. Aspects are pieces of code that are run before, or after core function for which aspect is written. For example logging is a good example of using aspects. To log all function calls the programmer simply needs to define a logging aspect that is executed before and after each function call in the program. In this work aspects are introduced in the Operating System for implementing various concerns and analyzing the performance based on various metrics.
References
S. Hanenberg, S. Kleinschmager and M. Walter, “Does Aspect-Oriented Programming Increase the Development Speed for Crosscutting Code”, Third International Symposium on Empirical Software Engineering and Measurement, IEEE, Feb 2009
Y. Zhang, et.all, “Implementing and Testing Producer-Consumer Problem using AOP”, Fifth International Conference on Information Assurance and Security, IEEE, 2009
Y.Coady, G. Kiczales, and M. Feeley, “Exploring an Aspect-Oriented Approach to Operating System Code”, September 2000.
A. Rashid, T. Cottenier, P. Greenwood and R. Chitchyan, “Aspect-Oriented Software Development in Practice”, Computer Society IEEE, Feb 2010.
G,C. Murphy, R, J. Walker, and E. L.A. Baniassad, “Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming”. IEEE transactions on software engineering, vol. 25, no. 4, July 1999
G. Murphy and C. Schwanninger, “Aspect-Oriented Programming”, Computer Society, IEEE, 2006
W. A. Christopher, S. J Procter and T. E. Anderson, “The NachOS Instructional Operating System”, 2005.
T. Narten, “A road map through NachOS”, 1995
J. Niu, “NachOS Overview”, Operating Systems, CS-CCNY, Fall, September 2003
S. Chiba and R. Ishikawa, “Aspect-Oriented Programming Beyond Dependency Injection”, Springer-Verlag Berlin Heidelberg 2005
J. Brichau, et all, “A Model Curriculum for Aspect-Oriented Software Development”, IEEE Software, December 2006
C. L. Anderson, and M, Nguyen, “A survey of contemporary Instructional Operating System for use in Undergraduate Courses”. JCSC 21, Oct 2005
R. Laddad,” AspectJ in Action- Practical Aspect-Oriented Programming”, Manning Publications co. 2003
J.D. Gradecki, “Mastering AspectJ-Aspect Oriented Programming in Java”, Wiley Publishing, Inc, 2003
W. L. Lieu, C. H. .Lung, and S. Ajilla, “Impact of Aspect Oriented Programming on Software Performance: A Case Study of Leader/Followers and Half-Sync.
J. Lamping and J. Kiczales, “The Need for Customizable Operating systems”, IEEE, 1993
M. Ceccato. and F. B. Kessler, “Migrating Object Oriented code to Aspect Oriented Programming”, Software Maintenance, ICSM International Conference, IEEE, 2007
http://www.ida.liu.se/~TDDB63/material/begguide/ (URL working on 2.4.2014)
https://www.student.cs.uwaterloo.ca/~cs350/ common/osoverview.html (URL working on 2.3.2014)
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors contributing to this journal agree to publish their articles under the Creative Commons Attribution 4.0 International License, allowing third parties to share their work (copy, distribute, transmit) and to adapt it, under the condition that the authors are given credit and that in the event of reuse or distribution, the terms of this license are made clear.
