Term rewriting meets aspect-oriented programming

  • P. Klint
  • , T. Storm, van der
  • , J.J. Vinju

    Research output: Chapter in Book/Report/Conference proceedingChapterAcademic

    5 Citations (Scopus)
    1 Downloads (Pure)

    Abstract

    We explore the connection between term rewriting systems (TRS) and aspect-oriented programming (AOP). Term rewriting is a paradigm that is used in fields such as program transformation and theorem proving. AOP is a method for decomposing software, complementary to the usual separation into programs, classes, functions, etc. An aspect represents code that is scattered across the components of an otherwise orderly decomposed system. Using AOP, such code can be modularized into aspects and then automatically weaved into a system. Aspect weavers are available for only a handful of languages. Term rewriting can offer a method for the rapid prototyping of weavers for more languages. We explore this claim by presenting a simple weaver implemented as a TRS. We also observe that TRS can benefit from AOP. For example, their flexibility can be enhanced by factoring out hardwired code for tracing and logging rewrite rules. We explore methods for enhancing TRS with aspects and present one application: automatically connecting an interactive debugger to a language specification.
    Original languageEnglish
    Title of host publicationProcesses, Terms and Cycles: Steps on the Road to Infinity (Essays Dedicated to Jan Willem Klop on the Occasion of His 60th Birthday)
    EditorsA. Middeldorp, V. Oostrom, van, F. Raamsdonk, van, R.C. Vrijer, de
    Place of PublicationBerlin
    PublisherSpringer
    Pages88-105
    ISBN (Print)978-3-540-30911-6
    DOIs
    Publication statusPublished - 2005

    Publication series

    NameLecture Notes in Computer Science
    Volume3838
    ISSN (Print)0302-9743

    Fingerprint

    Dive into the research topics of 'Term rewriting meets aspect-oriented programming'. Together they form a unique fingerprint.

    Cite this