Reasoning about aspects with common sense

  • Authors:
  • Klaus Ostermann

  • Affiliations:
  • University of Aarhus, Denmark

  • Venue:
  • Proceedings of the 7th international conference on Aspect-oriented software development
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

There has been a lot of debate about the modularity of aspect-oriented programs, and in particular the ability to reason about such programs in a modular way, although it has never been defined precisely what modular reasoning means. This work analyzes what it means to reason about a program, and separates "modular reasoning" into several well-defined properties of a reasoning model. A comparison of an OO language semantics with an AO language semantics with respect to these properties reveals that explanations of AOP that are based on weaving are a major obstacle to reasoning about AO programs in a modular way. We argue that a more modular semantics that is easier to reason about can be given to AO programs if we renounce the monotonicity of the corresponding reasoning system - a sacrifice that is well-known in artificial intelligence to model "common sense" reasoning. More generally, we claim that AOP should be understood as a form of nonmonotonic knowledge representation.