Title

Modularizing Crosscutting Concerns With Ptolemy

Keywords

Aspect-oriented interfaces; Aspect-oriented programming languages; Implicit invocation; Modular reasoning; Ptolemy; Translucid contracts

Abstract

In this demonstration we show our language Ptolemy, which allows for separation of crosscutting concerns while maintaining modular reasoning. We demonstrate the benefits of Ptolemy over existing aspect-oriented languages and implicit invocation designs. Ptolemy's quantified, typed events provide a flexible quantification mechanism that acts as a declarative interface between object-oriented code and crosscutting code. Events are announced explicitly and declaratively. Event types allow for compile-time errors and avoid the fragile pointcut problem of aspect-oriented languages. The interface provided by event types also allows for modular reasoning, without considering all aspects in the system. The declarative event announcement allows avoiding writing tedious and error-prone boiler-plate code that implicit invocation designs require. We demonstrate several realistic examples that showcase the features of the Ptolemy language and show use of Ptolemy's compiler. The demonstrated compiler is built on top of the OpenJDK Java compiler (javac), providing full backwards compatibility with existing Java sources as well as ease of integration into the existing tool chains. We show how to integrate the compiler into both existing Ant and Eclipse builds.

Publication Date

11-22-2011

Publication Title

SPLASH'11 Compilation - Proceedings of OOPSLA'11, Onward! 2011, GPCE'11, DLS'11, and SPLASH'11 Companion

Number of Pages

31-32

Document Type

Article; Proceedings Paper

Personal Identifier

scopus

DOI Link

https://doi.org/10.1145/2048147.2048163

Socpus ID

81355142093 (Scopus)

Source API URL

https://api.elsevier.com/content/abstract/scopus_id/81355142093

This document is currently not available here.

Share

COinS