Responsible for this page: Webmaster, webmaster@ida.liu.se
Page last updated: 2006-12-18
LiU » IDA » SaS » PELAB » RISE-II » ARECOMP
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:
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).