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
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
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:
- Mapping changes back to the original core code, where the changed code does not stem from the application of an aspect, and
- 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-2007For publications of the first funding period, see also the RISE-PARACOMP workpackage 2002-2005.
Parallelisation of Sequential Programs by Invasive Composition and Aspect Weaving
Mikhail Chalabine and Christoph Kessler
Proc. Sixth International Workshop on Advanced Parallel Processing Technologies (APPT 2005), Hong Kong, China, 27-28 Oct. 2005. Springer LNCS 3756, pp. 131-140, 2005.
Crosscutting Concerns in Parallelization by Invasive Software Composition and Aspect Weaving
Mikhail Chalabine and Christoph Kessler
Proc. Hawaii Int. Conference on System Sciences (HICSS-39), Kauai, Hawaii, USA, Jan. 2006.
Load Balancing of Irregular Parallel Divide-and-Conquer Algorithms
in Group-SPMD Programming Environments
Mattias Eriksson, Christoph Kessler, and Mikhail Chalabine
Proc. 8th Workshop on Parallel Systems and Algorithms (PASA 2006), Frankfurt am Main, Germany, March 2006.
GI Lecture Notes in Informatics (LNI), vol. P-81, pp. 313-322, 2006.
Automatic Round-trip Software Engineering in Aspect Weaving Systems.
Mikhail Chalabine, Christoph Kessler, Peter Bunus.
Proc. 21st IEEE/ACM International Conference on Automated Software Engineering (ASE2006), Tokyo, Japan, Sept. 2006, pp. 305-308.
- Invasive Interactive Parallelization.
Proc. of the Doctorial Symposium of the Fourteenth ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE 14), Portland, Oregon, USA, November 2006.
- A Formal Framework for Automated Round-trip Software Engineering in Static Aspect Weaving and Transformations.
Mikhail Chalabine, Christoph Kessler.
Accepted for publication in ACM SIGSOFT/IEEE 29th Int. Conference on Software Engineering (ICSE-2007), Minneapolis, USA, May 2007.
Page responsible: Webmaster
Last updated: 2012-05-07