Modularizing crosscuts in an e-commerce application in Lisp using HALO

  • Authors:
  • Charlotte Herzeel;Kris Gybels;Pascal Costanza;Theo D'Hondt

  • Affiliations:
  • Vrije Universiteit Brussel;Vrije Universiteit Brussel;Vrije Universiteit Brussel;Vrije Universiteit Brussel

  • Venue:
  • Proceedings of the 2007 International Lisp Conference
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.