1 / 6

Rethinking Foundations of Aspect-Oriented Programming: Insights and Future Directions

In this position statement from Klaus Ostermann of the University of Aarhus, fundamental concepts of modularity in programming are revisited. Key historical developments include extensible compilers, powerful dispatch mechanisms, and evolution of Aspect-Oriented Programming (AOP). Ostermann critiques current trends, focusing on enhancements to AspectJ and the need for better foundational principles. Questions regarding modularity, knowledge representation, and the role of pointcut languages are explored. The call for connecting AOP to broader programming paradigms underscores the necessity for ongoing foundational work.

preston
Télécharger la présentation

Rethinking Foundations of Aspect-Oriented Programming: Insights and Future Directions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Position StatementFOAL‘08 Klaus OstermannUniversity ofAarhus

  2. A few fundamental modularityideas • Extensible Compilers (1970-) • Reflection & MOPs (1980-) • Powerful dispatchmechanisms (1990-) • SOP andTyrannyofthe DD (1993-) • Powerful modulecompositionmechanisms (1990-) • Pointcut & Advice (1995-) • Fromqueriesoversyntaxtoqueriesoverexecutions • But what‘snext??

  3. What I seetoooftentoday: AddingfinishingtouchestoAspectJ • Making implementationof AOP feature X a littlefaster • UML extensionsfor AOP • Refactoring, Metrics, … for AOP • Formal modelsforsubsetsofAspectJ • …

  4. But arethefoundationsright? • Whatismodularity, really? • Is it a knowledgerepresentationissue? • A reasoningissue? • Is itaboutsubstitutability? • Whatis a goodsemantic model for AOP? • „weaving“ clearlyisn‘t • Is itnecessarythat an AO PL hastwo separate languages, baselanguageandpointcutlanguage? • AO „extension“ feelslikeadd-on • Not elegant (cf. LC in FP) • Conceptualoverlap • Is there a “LambdaCalculusfor AOP“?

  5. But arethefoundationsright? • What are the relations to other worlds? • Virtual Classes & Friends vs. Introductions • Type Classes vs. Introductions • Reflection vs. Pointcut/Advice • Morphing, Monads, Mixins, … • … • What power should a pointcut language have? • Is there a “Chomsky hierarchy” for PCL? • Symmetric vs. asymmetric composition • …

  6. Summary • ItisgreattohaveAspectJ&Co out in practiceandgetpracticalresults • But let‘s not gointoincrementalresearchmode • Whatwehavetodayis just an intermediate step • Weneedbetterfoundationsfor AOP • Constantlyrevisitthebasicprinciples • Connect bettertoideasfromothercommunities

More Related