A Type-theoretic Interpretation of Pointcuts and Advice

Loading...
Thumbnail Image
Penn collection
Departmental Papers (CIS)
Degree type
Discipline
Subject
Computer Sciences
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Ligatti, Jay
Walker, David
Contributor
Abstract

This paper defines the semantics of MinAML, an idealized aspect-oriented programming language, by giving a type-directed translation from a user-friendly external language to a compact, well-defined core language. We argue that our framework is an effective way to give semantics to aspect-oriented programming languages in general because the translation eliminates shallow syntactic differences between related constructs and permits definition of a simple and elegant core language. The core language extends the simply-typed lambda calculus with two central new abstractions: explicitly labeled program points and first-class advice. The labels serve both to trigger advice and to mark continuations that the advice may return to. These constructs are defined orthogonally to the other features of the language and we show that our abstractions can be used in both functional and object-oriented contexts. We prove Preservation and Progress lemmas for our core language and show that the translation from MinAML source into core is type-preserving. We also consider several extensions to our basic framework including a general mechanism for analyzing the current call stack.

Advisor
Date Range for Data Collection (Start Date)
Date Range for Data Collection (End Date)
Digital Object Identifier
Series name and number
Publication date
2006-01-31
Journal title
Volume number
Issue number
Publisher
Publisher DOI
Journal Issue
Comments
Jay Ligatti, David Walker, and Steve Zdancewic. 2006. A type-theoretic interpretation of pointcuts and advice. Sci. Comput. Program. 63, 3 (December 2006), 240-266. DOI=http://dx.doi.org/10.1016/j.scico.2006.01.004 © ACM, 2006. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Sci. Comput. Program, {VOL#63, ISS#3, (2006)} http://dx.doi.org/10.1016/j.scico.2006.01.004 Email:permissions@acm.org
Recommended citation
Collection