Communications of the ACM
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Arranging language features for more robust pattern-based crosscuts
Proceedings of the 2nd international conference on Aspect-oriented software development
Pointcuts and advice in higher-order languages
Proceedings of the 2nd international conference on Aspect-oriented software development
A Formal Definition of Crosscuts
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
AspectS - Aspect-Oriented Programming with Squeak
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Aspect-Oriented Programming with AspectJ
Aspect-Oriented Programming with AspectJ
Hybrid aspects for weaving object-oriented functionality and rule-based knowledge
Proceedings of the 3rd international conference on Aspect-oriented software development
Adding trace matching with free variables to AspectJ
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Detecting and resolving ambiguities caused by inter-dependent introductions
Proceedings of the 5th international conference on Aspect-oriented software development
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
SC'06 Proceedings of the 5th international conference on Software Composition
Forward chaining in HALO: an implementation strategy for history-based logic pointcuts
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Symbiosis in logic-based pointcuts over a history of join points
Proceedings of the 2008 ACM symposium on Applied computing
Forward chaining in HALO: An implementation strategy for history-based logic pointcuts
Computer Languages, Systems and Structures
Escaping with future variables in HALO
RV'07 Proceedings of the 7th international conference on Runtime verification
Hi-index | 0.00 |
Some program concerns cannot be cleanly modularized, and their implementation leads to code that is both hard to understand and maintain. In this paper we consider extending an e-commerce application, written in CLOS, with two of such crosscutting concerns. Though most of the time Common Lisp's macro facilities and CLOS' method combinations can be used to modularize crosscuts, we discuss the use of a more declarative solution when crosscuts depend on the execution history. For this purpose we give an overview of HALO, a novel pointcut language based on logic meta programming and temporal logic, which allows one to reason about program execution and (past) program state.