Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Open Modules: Modular Reasoning about Advice

Summary: Open Modules:
Modular Reasoning about Advice
Jonathan Aldrich
Carnegie Mellon University, Pittsburgh, PA 15213, USA,
Abstract. Advice is a mechanism used by advanced object-oriented
and aspect-oriented programming languages to augment the behavior
of methods in a program. Advice can help to make programs more mod-
ular by separating crosscutting concerns more effectively, but it also chal-
lenges existing ideas about modularity and separate development.
We study this challenge using a new, simple formal model for advice
as it appears in languages like AspectJ. We then add a module system
designed to leave program functionality as open to extension through
advice as possible, while still enabling separate reasoning about the code
within a module. Our system, Open Modules, can either be used directly
to facilitate separate, component-based development, or can be viewed
as a model of the features that certain AOP IDEs provide. We define
a formal system for reasoning about the observational equivalence of
programs under advice, which can be used to show that clients are un-
affected by semantics-preserving changes to a module's implementation.


Source: Aldrich, Jonathan - School of Computer Science, Carnegie Mellon University


Collections: Computer Technologies and Information Sciences