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. |
Year | DOI | Venue |
---|---|---|
2008 | 10.1145/1353482.1353489 | AOSD |
Keywords | Field | DocType |
aspect-oriented program,corresponding reasoning system,artificial intelligence,oo language semantics,reasoning model,ao language semantics,modular reasoning,modular semantics,ao program,common sense,aspect oriented programming,knowledge representation,artificial intelligent,common sense reasoning | Knowledge representation and reasoning,Programming language,Computer science,Analytic reasoning,Deductive reasoning,Modular design,Opportunistic reasoning,Case-based reasoning,Reasoning system,Qualitative reasoning | Conference |
Citations | PageRank | References |
6 | 0.47 | 22 |
Authors | ||
1 |
Name | Order | Citations | PageRank |
---|---|---|---|
Klaus Ostermann | 1 | 457 | 23.97 |