Semantics and scoping of aspects in higher-order languages
Reads0
Chats0
TLDR
The subtleties of pointcuts and advice for higher-order languages, particularly Scheme are described and resolved by alluding to traditional notions of scope, and programmers can now define both dynamic aspects traditional to AOP and static aspects that can capture common security-control paradigms.About:
This article is published in Science of Computer Programming.The article was published on 2006-12-15 and is currently open access. It has received 66 citations till now. The article focuses on the topics: Operational semantics & Semantics (computer science).read more
Citations
More filters
Journal ArticleDOI
Chemical foundations of distributed aspects
Nicolas Tabareau,Éric Tanter +1 more
TL;DR: The aspect join calculus is proposed, an aspect-oriented and distributed variant of the join calculus that addresses crosscutting and provides a formal foundation for distributed AOP, and a minimal aspectjoin calculus is developed that allows aspects to advise chemical reactions.
Proceedings ArticleDOI
AspectScheme: aspects in higher-order languages
TL;DR: AspectScheme is an implementation of the Scheme programming language built on MzScheme, providing support for pointcuts and advice aspect-oriented programming.
Journal ArticleDOI
Aspects for Stages: Cross Cutting Concerns for Metaprograms.
Yannis Lilis,Anthony Savidis +1 more
TL;DR: In this paper, the authors introduce aspect-oriented support for multi-stage languages by identifying three aspect types for the staging pipeline, namely pre-, in and poststaging, and discuss their implementation in a language supporting compile-time metaprogramming, where aspects are realized as batches of AST transformation metaprograms.
Proceedings ArticleDOI
SCAM, a flexible, scheme-like language for teaching programming language concepts
TL;DR: This paper introduces Scam and gives a series of projects and solutions that are appropriate for a Programming Languages course.
Compositional Reasoning About Aspect Interference (Full version with proofs)
TL;DR: This work addresses the issue of reasoning about interference with effectful aspects in the presence of unrestricted quantification through pointcuts and establishes a general equivalence theorem that is based on a few conditions that can be established, reused, and adapted separately as the system evolves.
References
More filters
Journal ArticleDOI
Aspect-oriented programming
TL;DR: This work proposes to use aspect-orientation to automate the calculation of statistics for database optimization and shows how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries.
Book
Software Product Lines: Practices and Patterns
Paul Clements,Linda Northrop +1 more
TL;DR: The Three Essential Activities: Core Asset Development, Software Engineering Practice Areas, and Single-System Development with Reuse - All Three Together.
Book ChapterDOI
Aspect-Oriented Programming
TL;DR: An analysis of why certain design decisions have been so difficult to clearly capture in actual code is presented, and the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects.
Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
Book ChapterDOI
An Overview of AspectJ
TL;DR: AspectJ provides support for modular implementation of a range of crosscutting concerns, and simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes.