archives

Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy


Home 

About 

Browse 

Search 

Register 

Subscriptions 

Deposit Papers 

Help
    

Clifton, Curtis and Leavens, Gary T. (2003) Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy. Technical Report 03-15, Dept. of Computer Science, Iowa State Unversity.

Full text available as:Adobe PDF

Abstract

The obliviousness property of AspectJ-like languages conflicts with the ability to reason about programs in a modular fashion. This can make debugging and maintenance difficult. In object-oriented programming, the discipline of behavioral subtyping allows one to reason about programs modularly, despite the oblivious nature of dynamic binding; however, it is not clear what discipline would help programmers in AspectJ-like languages obtain modular reasoning. Behavioral subtyping was born out of the stories programmers were telling in their object-oriented programs and how they reasoned about them. Programmers use AspectJ-like languages to tell what we call ``superimposition'' and ``adaptation'' stories. Thus, a discipline of modular reasoning for an AspectJ-like language must account for both sorts of stories. We describe the modular reasoning problem for AspectJ-like languages. We do not yet have a solution, but concisely articulate the issues involved.

Keywords:aspect-oriented programming, modular reasoning, behavioral subtyping, obliviousness, AspectJ language, superimposition, adaptation
Subjects:Software: PROGRAMMING TECHNIQUES (E): Object-oriented Programming
Software: SOFTWARE ENGINEERING (K.6.3): Software/Program Verification (F.3.1)
Software: PROGRAMMING LANGUAGES: Language Classifications
ID code:00000323
Deposited by:Curtis Clifton on 02 December 2003



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