Instance Pointcuts: Selecting Object Sets Based on Their Usage History

Christoph Bockisch, Kardelen Hatun, Mehmet Aksit

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    45 Downloads (Pure)

    Abstract

    At runtime, how objects have to be handled frequently depends on how they were used before. But with current programminglanguage support, selecting objects according to their previous usage patterns often results in scattered and tangled code. In this study, we propose a new kind of pointcut, called Instance Pointcuts, for maintaining sets that contain objects with a specified usage history. Instance pointcut specifications can be reused, by refining their selection criteria, e.g., by restricting the scope of an existing instance pointcut; and they can be composed, e.g., by set operations. These features make instance pointcuts easy to evolve according to new requirements. Our approach improves modularity by providing a fine-grained mechanism and a declarative syntax to create and maintain usage-specific object sets.
    Original languageUndefined
    Title of host publicationProceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools, PPPJ 2014
    Place of PublicationNew York
    PublisherAssociation for Computing Machinery (ACM)
    Pages27-38
    Number of pages12
    ISBN (Print)978-1-4503-2926-2
    DOIs
    Publication statusPublished - Sep 2014
    EventInternational Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools, PPPJ 2014 - Cracow, Poland
    Duration: 23 Sep 201426 Sep 2014

    Publication series

    Name
    PublisherACM

    Conference

    ConferenceInternational Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools, PPPJ 2014
    Period23/09/1426/09/14
    Other23-26 September 2014

    Keywords

    • EWI-25723
    • objects
    • instance pointcuts
    • METIS-309895
    • Aspect Oriented Programming
    • Programming languages
    • IR-94639

    Cite this