2006 · 101 citations · 26 references
Software MaintenanceEngineeringCross-cutting ConcernComposition ApproachSoftware EngineeringProgram ModularitySemanticsSoftware AnalysisFormal VerificationAop ToolsComputational LinguisticsProgram TransformationLanguage StudiesContent AnalysisAspect-oriented ProgrammingLinguisticsComputer ScienceSoftware DesignProgram AnalysisAutomated ReasoningSoftware TestingFormal MethodsObject-oriented ProgrammingHuman-computer InteractionProgramming MethodologySystem SoftwareDisciplined Approach
Aspect-oriented programming is a promising paradigm that challenges traditional notions of program modularity. Despite its increasing acceptance, aspects have been documented to suffer limited reuse, hard to predict behavior, and difficult modular reasoning. We develop an algebraic model that relates aspects to program transformations and uncovers aspect composition as a significant source of the problems mentioned. We propose an alternative model of composition that eliminates these problems, preserves the power of aspects, and lays an algebraic foundation on which to build and understand AOP tools.
26
Access path selection in a relational database management system
Patricia G. Selinger, M. M. Astrahan, Donald D. Chamberlin et al. · 1979 · 2.1K citations
<i>N</i> degrees of separation
Peri Tarr, Harold Ossher, William Harrison et al. · 1999 · 1.2K citations · Full text
The structure of the “THE”-multiprogramming system
Edsger W. Dijkstra · Communications of the ACM · 1968 · 1.1K citations · Full text
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1971 · 924 citations · Full text