skip to main content
10.1145/503209.503223acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Using aspectC to improve the modularity of path-specific customization in operating system code

Published:01 September 2001Publication History

ABSTRACT

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.

References

  1. 1.M. Aksit and B. Tekinerdogan. Solving the modeling problems of object-oriented languages by composing multiple aspects using composition filters. In OOPSLA AOP'98 workshop position paper, 1998.Google ScholarGoogle Scholar
  2. 2.E.W. Dijkstra. The structure of THE-multiprogramming system. Communications of the ACM, 11(5), 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Dawson Engler, Benjamin Chelf, Andy Chou, and Seth Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Martin Fowler. Addison-Wesley Object Technology Series, 1999.Google ScholarGoogle Scholar
  5. 5.David Garlan and Mary Shaw. An introduction to software architecture. Technical report, CMU, 1994. CS-94-166. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Martin Griss. Implementing product-line features by composing component aspects. In Proceedings of First International Software Product Line Conference, August 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.R. Johnson and B. Foote. Designing reusable classes. Journal of Object-Oriented Programming, 1, June 1998.Google ScholarGoogle Scholar
  8. 8.Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. AspectJ home page. www.aspectj.org.Google ScholarGoogle Scholar
  9. 9.Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. AspectJ primer. www.aspectj.org/doc/primer/index.html.Google ScholarGoogle Scholar
  10. 10.Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. An overview of AspectJ. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-oriented programming. In European Conference on Object-Oriented Programming (ECOOP), 1997.Google ScholarGoogle ScholarCross RefCross Ref
  12. 12.L.L. Lehman and L.A. Belady. Program evolution. APIC Studies in Data Processing, (27), 1985.Google ScholarGoogle Scholar
  13. 13.J. Lewis, M. Shields, E. Meijer, and J. Launchbury. Implicit parameters: Dynamic scoping with static types. In Symposium on Principles of Programming Languages, January 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.K.J. Lieberherr. Adaptive Object-Oriented Software: the Demeter Method with Propagation Patterns. Boston: PWS Publishing Company, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Allen B Montz, David Mosberger, Sean W. O'Malley, Larry L. Peterson, Todd A. Proebstign, and John H. Hartman. Scout: A communications-oriented operating system. Technical report, University of Arizona, 1994. TR 94-20.Google ScholarGoogle Scholar
  16. 16.H. Ossher and P. Tarr. Multi-dimensional separation of concerns and the Hyperspace approach. In Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Harold Ossher, William Harrison, Frank Budinsky, and Ian Simmonds. Subject-oriented programming: Supporting decentralized development of objects. In Proceedings of the 7th IBM Conference on Object-Oriented Technology, 1994.Google ScholarGoogle Scholar
  18. 18.J. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.D.L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12), 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.Calton Pu, Tito Autrey, Andrew Black, Charles Consel, Crispin Cowan, Jon Inouye, Lakshmi Kethana, Jonathan Walpole, and Ke Zhang. Optimistic incremental specialization: Streamlining a commercial operating system. In Proceedings of the 15th ACM Symposium on Operating System Principles (SOSP), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.D.P. Reed, J.H. Saltzer, and D.D. Clark. Active networking and end-to-end arguments. In IEEE Network, June 1998.Google ScholarGoogle Scholar
  22. 22.J.H. Saltzer, D.P. Reed, and D.D. Clark. End-to-end arguments in system design. In ACM Transactions on Computer Systems (TOCS), November 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.Mary Shaw and David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.W.P. Stevens, G.J. Meyers, and L.L. Constantine. Structured design. IBM Systems Journal, 13, 1974.Google ScholarGoogle Scholar
  25. 25.Werner Vogels. File system usage in Windows NT 4.0. In Proceedings of the 17th ACM Symposium on Operating System Principles (SOSP), 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26.Rob Walker and Gail Murphy. Implicit context: Easing software evolution and reuse. In Proceedings of the Proceedings of the ACM SIGSOFT Eighth International Symposium on the Foundations of Software Engineering (FSE-8), November 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.L. Wall, T. Christiansen, and R. Schwartz. Programming Perl.O'Reilly and Associates, 2nd edition, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Using aspectC to improve the modularity of path-specific customization in operating system code

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
          September 2001
          329 pages
          ISBN:1581133901
          DOI:10.1145/503209
          • Conference Chairs:
          • A. Min Tjoa,
          • Volker Gruhn
          • cover image ACM SIGSOFT Software Engineering Notes
            ACM SIGSOFT Software Engineering Notes  Volume 26, Issue 5
            Sept. 2001
            329 pages
            ISSN:0163-5948
            DOI:10.1145/503271
            Issue’s Table of Contents

          Copyright © 2001 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 September 2001

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          ESEC/FSE-9 Paper Acceptance Rate29of137submissions,21%Overall Acceptance Rate112of543submissions,21%

          Upcoming Conference

          FSE '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader