archives

A Design Discipline and Language Features for Formal Modular Reasoning in Aspect-Oriented Programs


Home 

About 

Browse 

Search 

Register 

Subscriptions 

Deposit Papers 

Help
    

Clifton, Curtis and Leavens, Gary T. (2005) A Design Discipline and Language Features for Formal Modular Reasoning in Aspect-Oriented Programs. Technical Report 05-23, Computer Science, Iowa State University.

Full text available as:Adobe PDF
Postscript

Abstract

Advice in aspect-oriented programming helps programmers modularize crosscutting concerns by allowing additions and changes to a program's execution. However, formal reasoning about the functional behavior of aspect-oriented programs requires a non-modular, whole-program search to find applicable advice. To allow modular reasoning, we describe a discipline that categorizes aspects into two sorts: spectators and assistants. "Spectators" are statically checked to not modify the behavior of the code they advise; this restriction lets them remain unseen. Unlike spectators, "assistants" are not restricted in their behavior. However, for modular reasoning one must be able to identify all applicable assistants, hence assistants must be explicitly accepted by the code they advise. Besides allowing modular reasoning, this discipline permits the use of existing idioms, and appears to be statically verifiable and practical for software development. Indeed, expert aspect-oriented programmers seem to use such a discipline.

Keywords:Spectators, assistants, aspect-oriented programming, modular reasoning, AspectJ language.
Subjects:Software: PROGRAMMING TECHNIQUES (E): Object-oriented Programming
Software: PROGRAMMING LANGUAGES: Language Classifications
Software: PROGRAMMING LANGUAGES: Language Constructs and Features (E.2)
ID code:00000397
Deposited by:Gary T. Leavens on 20 December 2005
Alternative Locations:ftp://ftp.cs.iastate.edu/pub/techreports/TR05-23/TR.pdf ftp://ftp.cs.iastate.edu/pub/techreports/TR05-23/TR.ps.gz



Contact site administrator at: ssg@cs.iastate.edu