- Demonstration title
ConTraCT - The Conditional Transformation Composition Tool
- GŁnter Kniesel, Helge Koch (University of Bonn, Germany)
- Wednesday April 24, 2:00-2:45
Thursday April 25, 2:00-2:45
ConTraCT and the underlying JConditioner framework enable programmers to treat program transformations as explicit first class entities. Explicit representation of transformations, of the preconditions for applying a transformation and of the effects of the tranformation, enables systematic reasoning about the composability of transformations, their (desired) interactions and (undesired) interferences.
The demonstration will explain the main concepts behind ConTraCT and will present a ConTraCT plug-in for Together Control Center that illustrates
- the supported basic transformations on Java programs with their explicit preconditions
- the creation of composite transformations
- the automatic transformation and propagation of preconditions during composition
- the application of transformations to base programs including deferred checking of conditions that cannot be automatically eliminated during the composition phase.
While ConTraCT is a practical tool that can be used instead of an aspect language, the underlying JConditioner framework provides conditional program transformations as a high level target language for the compilation of aspect languages. ConTraCT makes explicit how compiled aspects can be represented as conditional transformations and how composition of transformation specifications can be performed without access to the code of base, thus enabling separate aspect compilation and applicability to black-box components.