• DocumentCode
    2706177
  • Title

    Classpects: unifying aspect- and object-oriented language design

  • Author

    Rajan, Hridesh ; Sullivan, Kevin J.

  • Author_Institution
    Dept. of Comput. Sci., Virginia Univ., Charlottesvilie, VA, USA
  • fYear
    2005
  • fDate
    15-21 May 2005
  • Firstpage
    59
  • Lastpage
    68
  • Abstract
    The contribution of this paper is the design, implementation, and early evaluation of a programming language that unifies classes and aspects. We call our new module construct the classpect. We make three basic claims. First, we can realize a unified design without significantly compromising the expressiveness of current aspect languages. Second, such a design improves the conceptual integrity of the programming model. Third, it significantly improves the compositionality of aspect modules, expanding the program design space from the two-layered model of AspectJ-like languages to include hierarchical structures. To support these claims, we present the design and implementation of Eos-U, an AspectJ-like language based on C# that supports classpects as the basic unit of modularity. We show that Eos-U supports layered designs in which classpects separate integration concerns flexibly at multiple levels of composition. The underpinnings of our design include support for aspect instantiation under program control, instance-level advising, advising as a general alternative to object-oriented method invocation and overriding, and the provision of a separate join-point-method binding construct.
  • Keywords
    object-oriented languages; object-oriented programming; AspectJ-like languages; C# language; Classpects; Eos-U language; aspect-oriented language design; join-point-method binding; object-oriented language design; programming language; Computer languages; Computer science; Design engineering; Design methodology; Human factors; Object oriented modeling; Object oriented programming; Packaging; Permission; Programming profession;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on
  • Print_ISBN
    1-59593-963-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2005.1553548
  • Filename
    1553548