The COMPOST, COMPASS, inject/j and RECODER tool suite for invasive software composition: invasive composition with COMPASS aspect-oriented connectors

  • Authors:
  • Dirk Heuzeroth;Uwe Aßmann;Mircea Trifu;Volker Kuttruff

  • Affiliations:
  • -;TU Dresden, Germany;FZI Karlsruhe, Germany;FZI Karlsruhe, Germany

  • Venue:
  • GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program analyses and transformations are means to support program evolution and bridge architectural mismatches in component composition. The Program Structures Group at the University of Karlsruhe und the FZI Karlsruhe, that we are or have been members of, have developed a suite of program analysis and transformation tools to attack these problems. The basic tool Recoder offers sophisticated source code analyses and a library of common transformations in the form of Java meta programs to perform necessary component and interaction adapations. This library can be extended by the Recoder framework that offers means for implementing custom transformations. A transformation can also be a generator to produce glue code, for example. Inject/J uses Recoder and offers a comfortable scripting language for implementing transformations. The scripting language combines declarative specifications of the program points, where the transformation should be applied, with imperative specifications of the transformation itself. COMPASS is focused on bridging interaction mismatches among software components. It introduces architectural elements like components, ports and aspect-oriented connectors as source code transformations based on the Recoder framework. COMPOST defines the general model of invasive software composition, where the ports of the COMPASS model are just one kind of hooks. Hooks are join points, i.e. part of a component that may be extended or replaced.