Hide menu

Integrational Software Engineering



Basic Techniques for Composition with Weaving and Automatic Roundtrip Engineering (ARE)
With Application to Program Parallelization

Project leaders: Christoph Kessler, Peter Bunus, and Uwe Assmann

PhD students: Mikhail Chalabine.

This subproject focuses on further development and applications of Automatic Roundtrip Engineering of software with weaving technology, its use for the industrial MDA (Model Driven Architecture) development approach introduced by OMG (OMG 2003), and application case studies in parallelization and debugging.

As MDA is a semi-automatic approach and a UML model only specifies a part of the complete functionality, the woven code is to be extended manually. For MDA to become an adequate alternative to traditional approaches, it requires a mechanism to keep different views and models consistent during the design and code generation process. Such a mechanism is offered by automatic roundtrip engineering (ARE), see Assmann (2003a). Changes applied to a generated view are to be (fully or partly automatically) committed to the source that the view was generated from. For instance, in the MDA scenario, manual edits in a platform-specific model (PSM) or in generated source code should be instantly reflected in the corresponding locations in the platform-independent model (PIM).

The research and development done in the RISE1-ARECOMP and RISE1-PARACOMP subprojects during the first three years showed that the chosen general approach to ARE based on bijective weaving functions, albeit working well in theory, fails in practice because of its underlying computational complexity.
Starting from previous RISE results, we found that a better approach would be to consider aspects for weaving one at a time, resulting in a simpler weaving mechanism that is more amenable to inversion (Chalabine and Kessler 2006).

More specifically, we now split the ARE problem into two subproblems:

  1. Mapping changes back to the original core code, where the changed code does not stem from the application of an aspect, and
  2. Mapping changes back to aspects where the changed code came from, otherwise.

Instead of having to provide an inverse for the weaving of each aspect, we achieve the same effect by allowing to replay major sequences of weaving on demand, and maintaining information about the origin of each program point in transformation tables that can be composed in a straightforward way, given that we record the history of all aspect applications to the core code (Chalabine, Kessler and Bunus (2006)).

Furthermore, a case study is being performed using this new approach on a research prototype and method for ARE-enabled invasive interactive parallelization (Chalabine and Kessler 2005, Chalabine and Kessler 2006).

Publications 2006-2007

For publications of the first funding period, see also the RISE-PARACOMP workpackage 2002-2005.

Page responsible: Webmaster
Last updated: 2012-05-07