2007 · 38 citations · 34 references
ComputingComputer EngineeringComputer ScienceProgramming LanguagesSoftware EngineeringTheory Of ComputationAspect AnalysisAspect SemanticsAspectual SemanticsSoftware ArchitectureSoftware DesignSoftware ModelingAspect-oriented ModelingAspect-oriented ProgrammingMachine ModelProgramming ConceptsProgramming Model Design
Abstract. Aspect-oriented programming languages usually are extensions of object-oriented ones, and their compilation target is usually the (virtual) machine model of the language they extend. While that model elegantly supports core object-oriented language mechanisms such as virtual method dispatch, it provides no direct support for core aspectoriented language mechanisms such as advice application. Hence, current implementations of aspect-oriented languages bring about insufficient and inelegant solutions. This paper introduces a lightweight, objectbased machine model for aspect-oriented languages based on objectoriented ones. It is centered around delegation and relies on a very dynamic notion of join points as loci of late-bound dispatch of functionality. The model is shown to naturally support an important number of aspect-oriented language mechanisms. Additionally, a formal semantics is presented as an extension to the object-based δ calculus. 1
34
David Ungar, Randall B. Smith · 1987 · 909 citations
Adding trace matching with free variables to AspectJ
Chris Allan, Pavel Avgustinov, Aske Simon Christensen et al. · 2005 · 427 citations
Computing, Computer Science, History +13
Erik Hilsdale, Jim Hugunin · 2004 · 342 citations