|Title:||Prof. Dr. rer. nat. Diplom Informatiker|
studies with the subsidiary subject
University of Karlsruhe.
Title of the diploma thesis:
Kommunizierende sequentielle Prozesse in Modula-2; Entwurf und Implementierung eines Transputer-Entwicklungssystems
(Communicating sequential processes in Modula-2; design and implementation of a Transputer development system).
(see for example Modula-P, a language for parallel programming).
|Doctorate in computer science at the
Programmstrukturen und Datenorganisation (IPD)
Prof. Gerhard Goos.
Title of the doctoral thesis:
Analyse und Transformation kontrollflußparalleler Programme.
(Analysis and transformation of control flow parallel programs,
see for example Data flow analysis of parallel programs).
|Marital status:||Married, four children|
|Languages:||German, English, some French|
Design and implementation of tools for
of programs using compiler construction technology.
Main languages of interest are: COBOL, SQL, PL/1, C, C/C++, Java, etc.
The projects are usually done for German banks as well as German and French software companies. The (semi-) automatic transformation of COBOL programs (comparably with the Y2K-Problem) and the mapping of (COBOL, JAVA, C, SQL, REXX, PL/1, etc.) source program information into various repositories has been the main concern of the projects.
The projects were developed under Linux and then ported to different operating systems and environments like Microsoft/Windows, AIX, Solaris, and IBM/MVS. Under Linux, the "usual" development tools were used: emacs, gcc, gdb, make, perl, rcs and cvs. Under Microsoft: cygwin and VisualStudio.
Development of the documentation tool rexx2html which creates annotated HTML files from REXX sources. The added information is computed based on the Control Flow and Call Analysis performed by the CoCoLab REXX parser for the REXX sources.
An ADABAS database should be extended with some fields. The database accesses contained in COBOL and Natural programs had to be adapted therefore. The customer developed (more or less precise) the specifications of the code-transformation.
Implementation of a fully automatic code-transformation of COBOL and Natural-sources which performed the new accesses.
Due to the customers statement, the project caused a reduction of the expense in comparison with the manual execution of the transformation in order of the factor 1.000. Around 70.000 edit-operations (insert/replace/delete) have been performed automatically while the 41,000 transformation rule applications took place.
Control flow analysis for CICS
Starting with the DB2 and the new SQL parser, respectively, various metrics and cross-reference-information tools have been implemented. They are used to analyze all DB2 sources of the banks.
Conversion of International Securities Identification Numbers (ISIN) (WPKN = Wertpapierkennummer = ISIN) from a 6-digit numerical format to a 12-digit alphanumeric one. The ECB (European Central Bank) demanded this Conversion. The COBOL-sources of the bank should be adapted (semi-)automatically so that they were able to process the new ISIN. At the same time absolute reliability was demanded regarding the correctness of the changed code pieces. Goal of the project was to design and implementation of a tool which carries out the conversion based on of given or to be developed rules. An automatic conversion should be performed only if happens to be 100% certain to. For cases of doubt (i.e. if no sufficient information can be computed from the source program), the transformation should be proposed, which had to be verified by COBOL-programmers.
An explanation component (Perl+HTML) was developed, which represented the "reasons" for an automatic transformation. ("reasons" means herewith: which COBOL-variable in the source became where and how be modified in order to classify it as ISIN-relevantly automatic and could be transformed automatically therewith).
To solve the task, techniques known from the compiler-optimization area have been used.
The project was very successful, for the bank was one of the few German banks finishing the task in the time demanded by the ECB. The savings (including the development of the tool) in comparison with appreciated manual conversion amounted to 600 persons days according to statements of the bank. That is approximately 30% more quickly and/or cheaper.
See also: Erfahrungen mit der werkzeug-gestützten Änderung von COBOL-Systemen, (Experiences with the tool-supported change of COBOL-systems) invited talk, held on the conference of the "Special Interest Group of the Swiss Informaticians Society" (SI) software-engineering, SI-SE 2003. Conference title: "Software-rehabilitation, challenges of extensions experiences", University of Zurich Irchel 13./14. March 2003.
The software company developed a system to redocument COBOL, PL/1, Java, C/C+ +, SQL programs.
REPTIL is a Repository for programs to the representation of program crossing information (used files, databases, source code, etc).
Design and implementation of a code generator (with target language C) and an interpreter for customer defined language TCD+ (a PASCAL-variant, enriched with database access statements).
Extension of an existing FORTRAN-Frontend: construction of the abstract syntax tree.
COMPARE (Development of compilers and compiler tools for parallel architectures) und PREPARE (High-Performance Fortran Compiler)
aber auch z.B. Linux Software Map: Modula-2 Compiler MOCKA for Linux, GMD Modula-2 Compiler MOCKA - Main Package 9903 Glibc).
Design and implementation of a cache for a network based database.
Design and implementation of a component to handling uncertain knowledge of a geological expert system.
Development of a printer driver for one of the first laser printer.