MiniMAO1: Investigating the Semantics of Proceed

Date
2005-03-01
Authors
Clifton, Curtis
Leavens, Gary
Journal Title
Journal ISSN
Volume Title
Publisher
Source URI
Altmetrics
Authors
Research Projects
Organizational Units
Computer Science
Organizational Unit
Journal Issue
Series
Abstract

This paper describes MiniMAO1, a core aspect-oriented calculus. Unlike previous aspect-oriented calculi, it allows around advice to change the target object of an advised operation before proceeding. MiniMAO1 accurately models the ways AspectJ allows changing the target object, e.g., at call join points. Practical uses for changing the target object using advice include proxies and other wrapper objects.

In addition to accurate modeling of bindings for around advice, MiniMAO1 has several other features that make it suitable for the study of aspect-oriented mechanisms, such as those found in AspectJ. Like AspectJ, the calculus consists of an imperative, object-oriented base language plus aspect-oriented extensions. MiniMAO1 has a sound static type system, facilitated by a slightly different form of proceed than in AspectJ.

This paper gives an operational semantics, type system, and proof of soundness for MiniMAO1.

Description
<p>Copyright © 2005, Curtis Clifton and Gary T. Leavens, All Rights Reserved.</p>
Keywords
MiniMAO calculus, aspect-oriented programming, AspectJ, advice, proceed, target
Citation
Collections