60 likes | 167 Views
Position Statement FOAL‘08. Klaus Ostermann University of Aarhus. A few fundamental modularity ideas. Extensible Compilers (1970-) Reflection & MOPs (1980-) Powerful dispatch mechanisms (1990-) SOP and Tyranny of the DD (1993-) Powerful module composition mechanisms (1990-)
E N D
Position StatementFOAL‘08 Klaus OstermannUniversity ofAarhus
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??
What I seetoooftentoday: AddingfinishingtouchestoAspectJ • Making implementationof AOP feature X a littlefaster • UML extensionsfor AOP • Refactoring, Metrics, … for AOP • Formal modelsforsubsetsofAspectJ • …
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“?
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 • …
Summary • ItisgreattohaveAspectJ&Co out in practiceandgetpracticalresults • But let‘s not gointoincrementalresearchmode • Whatwehavetodayis just an intermediate step • Weneedbetterfoundationsfor AOP • Constantlyrevisitthebasicprinciples • Connect bettertoideasfromothercommunities