Logo

State Machines

Image


Reengineering of Embedded Systems on the Specification Level


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. After the source code of the given system was parsed and analysed, we obtain a graph representation of the software architecture. By using a redesign tool the engineer is able to interactively modify the system.

Telecommunication experts often think in terms of state machines and protocols. Thus the specification of telecommunication systems is often given by state machines which during the reverse engineering process also can be extracted from the existing source code. This diploma/master thesis should consider the reengineering process of telecommunication systems at the level of state machines.

In the first part, the algorithm extracting the state machines from the existing source code should be improved and extended to allow the analysis of state machines consisting of several program parts. This should also lead to the consideration of communication protocols. In the second part, the redesign of state machines improving the software architecture should be studied. The changes made on the specification level should later be propagated to the structure graph level and then back to the source code level. The goal is to implement a prototype allowing the redesign on the state machines level.

The approach should consider different modeling languages, e.g. Progres and Fujaba.

Requirements


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


Betreuer
Dipl.-Inform. Christof Mosler (Raum 4219)
Bearbeiter
Tobias Zeuch

Created by: christof last modification: Tuesday 09 of May, 2006 [08:42:21 UTC] by christof