Logo

Code Transformation

Image


Adapting Source Code to Architecture Graph Modifications



Background


The importance of embedded real-time systems for our daily life is rapidly increasing. One important field of application for embedded real-time systems is in the telecommunications industry. The complexity of these systems is rapidly growing while at the same time the software part is becoming more and more important. The E-CARES research project is a coopertaion between Ericsson Eurolab Deutschland GmbH (EED) and the Department of Computer Science III, RWTH Aachen. E-CARES is an acronym for Ericsson Communication ARchitecture for Embedded Systems.

Eighty percent of programming resources are allocated to maintaining and reengineering existing code. Our project concerns understanding and restructuring of complex legacy systems from the telecommunication domain. Such systems are real-time embedded systems using the signaling paradigm, thus they pose additional requirements regarding fault tolerance, reliability, availability, and response time.

Problem


In the first phase of our reengineering project we regarded the architecture modeling and the reverse engineering of telecommunication systems. The aim was to understand complex legacy systems. Current work concerns the restructuring of such systems including their redesign and reimplementation. The challenge is to provide concepts, languages, methods, and tools to improve the architecture of software, make software easier to understand, and help to find bugs.

Image


The figure presents a simplified version of our future prototype. After the source code was parsed and analysed we obtain a graph representation of the software architecture. By using the redesign tool the engineer is able to interactively modify the system. In the next step, the original source code must be adapted to all the changes made. This part of the reengineering prototype will be regarded here.

This diploma/master thesis should examine the different possibilities of code transformation when using graph grammars for system representation and modification. It particular, a tool must be implemented which by analysing the original source code and the graph transformations will generate the corresponding modified code. The solution should be as independent as possible from concrete programming languages.

Requirements


The following lectures are helpful:
  • Einführung in die Softwaretechnik
  • Compilerbau


Betreuer
Dipl.-Inform. Christof Mosler (Raum 4219)
Bearbeiter
Linlin Xu

Created by: christof last modification: Thursday 10 of March, 2005 [11:24:37 UTC] by christof