Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy







Deposit Papers 


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


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: