AOP Support for C (2003) [3 citations — 0 self]
Abstract:
We have extended the C # compiler available under Microsoft’s Shared Source Common Language Infrastructure (SSCLI) to facilitate Aspect Oriented Programming. The resulting compiler targets Microsoft.NET architecture. Our implementation introduces new ideas into the aspect language and the aspect-weaving mechanism. Our AOP extensions emulate AspectJ programming model and augment it with constructs that harness facilities provided by the Microsoft’s.NET architecture. In particular, our framework allows aspect definitions to introduce ‘attributes ’ on base C # module elements. This allows.NET runtime to provide container services transparently to marked modules and module elements. Our aspect weaver brings novelty to the weaving phase. It allows configurable aspect ordering and selective aspect weaving. Selecting aspects of interest from a set of defined aspects and specifying suitable physical order for advice weaving is externalized in an XML file. Aspect scheduler determines a weave plan based on this specification and the weaver carries out this plan. Modifications to the original compiler involved reorganizing the source code so that we obtain better modularization promoting reuse, or reduce coupling with the base code. In some cases, we extracted classes used as implementation helpers in the base compiler and turned them into new reusable abstractions. In order to implement efficient traversals between abstract syntax graph and a graph representing semantics-verified method bodies, we had to extend data structures for syntax and method-body graphs. The solution introduced cyclic references across graphs. Therefore, we had to
Citations
| 58 | Jac : A flexible solution for aspect-oriented programming in java – Pawlak, Seinturier, et al. - 2001 |
| 1 | How .NET’s Custom Attributes Affect Design – Fowler - 2002 |

