skip to main content
research-article

AspectC2C: a symmetric aspect extension to the C language

Published:01 February 2008Publication History
Skip Abstract Section

Abstract

By separating crosscutting concerns into modules, aspect-oriented programming (AOP) can greatly improve the maintainability, understandability and reusability of software. However, the asymmetric paradigm adopted by most AOP extensions could bring crosscutting concerns into the aspect code and thus limit the reusability of aspects.

Symmetric paradigms have been proposed to alleviate such limitations, but few extensions on such paradigm target at non-object-oriented languages, such as C. In this paper, we propose a symmetric aspect extension to the C language, called AspectC2C, and discuss implementation issues and benefits of this new extension comparing to the asymmetric ones.

References

  1. Y. Coady, G. Kiczales, M. Feeley, and G. Smolyn. Using aspectc to improve the modularity of path-specific customization in operating system. In proc. of European Software Eng. Conf. held jointly with Int'l Symp. Foundations of Software Eng. (ESEC/FSE), pages 88--98, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. J. Courtois, F. Heymans, and D. L. Parnas. Concurrent control with "readers" and "writers". Communications of the ACM, 14(10):667--668, October 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. W. Dijkstra. The structure of the "the" multiprogramming system. Communications of the ACM, 11(5):341--346, May 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. Douence, T. Fritz, N. Loriant, J.-M. Menaud, M. Sgura-Devillechaise, and M. Sdholt. An expressive aspect language for system applications with arachne. In proc. of International Conference on Aspect Oriented Software Development (AOSD), pages 27--38, March 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Hannemann and G. Kiczales. Design pattern implementation in java and aspectj. In proc. of Annual ACM SIGPLAN Conferences on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pages 161--173, November 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. W. Harrison, H. Ossher, and P. Tarr. Asymmetrically vs. symmetrically organized paradigms for software composition. IBM Research Report, RC22685(W0212-147), December 2002.Google ScholarGoogle Scholar
  7. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented programming. In proc. of European Conference on Object-Oriented Programming(ECOOP), June 1997.Google ScholarGoogle ScholarCross RefCross Ref
  8. J. Lamping. The role of the base in aspect oriented programming. In proc. of the Workshop on Object-Oriented Technology, pages 289--291, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. H. Ossher and P. Tarr. Using multidimensional separation of concerns to (re)shape evolving software. Communications of the ACM, 44(10):43--50, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. H. Rajan and K. Sullivan. Eos: Instance-level aspects for integrated system design. In proc. of European Software Eng. Conf. held jointly with Int'l Symp. Foundations of Software Eng. (ESEC/FSE), pages 297--306, September 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. H. Rajan and K. J. Sullivan. Classpects: Unifying aspect- and object-oriented language design. In proc. of International Conference on Software Engineering (ICSE), pages 59--68, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. O. Spinczyk, D. Lohmann, and M. Urban. Aspectc++: an aop extension for c++. Software Developer's Jouranl, pages 68--76, May 2005.Google ScholarGoogle Scholar
  13. P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton. n degrees of separation: multi-dimensional separation of concerns. In proc. of International Conference on Software Engineering (ICSE), pages 107--119, May 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. AspectC2C: a symmetric aspect extension to the C language

          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

          Full Access

          • Article Metrics

            • Downloads (Last 12 months)1
            • Downloads (Last 6 weeks)0

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!