(FGM) – Reverse Engineering Tool für - FG Software

Werbung
Flow Graph Manipulator (FGM) 3.0 –
Reverse-Engineering-Werkzeug für
komplexe Softwaresysteme
Anja Beier
pro et con
Innovative Informatikanwendungen GmbH
11. Workshop Software-Reengineering
04.-06. Mai 2009, Bad Honnef
Agenda
¾ Ausgangssituation
¾ Spezifikation der Erweiterungen
¾ Programmanalyse
¾ Architekturanalyse
¾ Demonstration ausgewählter Funktionalitäten
¾ Fazit und Ausblick
04.05.2009
Anja Beier, pro et con GmbH
2
Ausgangssituation (1)
¾ FGM - Flow Graph Manipulator
ƒ Bereits seit 10 Jahren kommerzielles Produkt
ƒ Erfolgreich in verschiedenen Migrationsprojekten eingesetzt
•
•
eCom Logistik (HPNonStop-COBOL-Anwendung)
Amadeus Germany (BS2000-Migration, SPL nach C++)
¾ Eigenschaften
ƒ Verschiedene Frontends (COBOL, PL/I, SPL, ...)
ƒ Analyse von eingebetteten Systemen (SQL, DL/I, CICS)
ƒ Detaillierte Analyse einzelner Quellprogramme
ƒ Feingranulare Informationen
•
•
•
Datenfluss
Steuerfluss
Metriken und Statistikdaten
04.05.2009
Anja Beier, pro et con GmbH
3
Ausgangssituation (2)
¾ Motivation für Erweiterung
ƒ Veraltete Benutzeroberfläche
Æ Ablösung durch modernes Oberflächenkonzept
ƒ Bisherige Funktionalität unvollständig für die Analyse
komplexer Softwareprojekte
ƒ Problem: Gewinnung programmübergreifender Informationen
• Programmaufrufe
• Aussage verschiedener Metriken bezogen auf das Gesamtprojekt
ƒ Sicht auf die Gesamtapplikation ist wesentlicher Aspekt für
Reverse Engineering und Redokumentation
Æ Neue Funktionalität "Applikationswissen"
04.05.2009
Anja Beier, pro et con GmbH
4
Spezifikation der Erweiterungen
Applikationswissen
Architektur
Programme
Metriken
Daten
Datenbanken
Quellen
Dateien
Programmdateien
Statistik
Interface
grobgranulare Sicht
feingranulare Sicht
Interface
Dateien
04.05.2009
Graphen
Anja Beier, pro et con GmbH
Datenbank
5
Programmanalyse (1)
¾ Ermittlung detaillierter Informationen eines
Programms
¾ Repository – interne Programmrepräsentation
ƒ Objekte (Variablen, Strukturen, Dateien, ...)
ƒ Beziehungen (Anweisungen, Includes, ...)
04.05.2009
Anja Beier, pro et con GmbH
6
Programmanalyse (2)
¾ Repository-Graph:
ƒ Individueller Aufbau für jede Programmiersprache
•
ca. 20 Objekttypen, ca. 60 Beziehungstypen
ƒ Durchschnittliches COBOL-Programm:
•
ca. 10.000 Objekte, ca. 15.000 Beziehungen
¾ Beispiel:
move
10
MOVE 10 TO CNT-VALUE.
CNT-VALUE
(cobol_data 6417 CNT-VALUE (loc 2 497 9) …)
(cobol_constant 6420 “10” (loc 2 721 23))
(cobol_move 4024 (loc 2 721 18) (6417) (6420))
¾ Abfragesprache FGM-LANguage
04.05.2009
Anja Beier, pro et con GmbH
7
Architekturanalyse
grobgranulare Sicht
Architekturanalyse
04.05.2009
Anja Beier, pro et con GmbH
8
Architekturanalyse - Repository
¾ Abstraktion von der feingranularen zur grobgranularen
Sicht
Abstraktionsprozess
Repositories der
Quellprogramme
Architekturanalyse
ArchitekturRepository
Datenbank
¾ Architektur-Repository
ƒ Programmübergreifend
ƒ Sprachübergreifend
Æ Entwurf eines Architekturgraph-Modells
04.05.2009
Anja Beier, pro et con GmbH
9
Architekturanalyse - Graphmodell
call
program
describes
metrics
consists
of
code_object
belongs
to
access
datafile_object
data_record
04.05.2009
access
source_object
program_file
belongs
to
belongs
to
belongs
to
database_object
sql_table
include
consists
of
repository
sql_column
Anja Beier, pro et con GmbH
10
include
call
consists of
'PROG1'
PROG1
cobol_copy
'DATA1C'
cobol_file
consists of
'UPRO1'
UPRO1
is part of
cobol_call
'PROG1'
cobol_file
PROG1
cobol_prog
'UPRO1'
cobol_const
cobol_copy
PROGNAME
cobol_move
PROGRAM-ID. PROG1.
...
COPY DATA1C.
...
MOVE 'UPRO1' TO PROG-NAME.
CALL PROG-NAME.
cobol_data
'DATA1C'
'UPRO1'
cobol_file
cobol_file
is part of
PROGRAM-ID. UPRO1.
...
COPY DATA1C.
Datei "UPRO1"
UPRO1
Datenflussgraph
(Repositories)
'DATA1C'
cobol_prog
Quellprogramme
include
Architekturgraph
(SQL-Datenbank)
Architekturanalyse - Abstraktion
Datei "PROG1"
04.05.2009
Anja Beier, pro et con GmbH
11
Systemarchitektur
Architekturanalyse
ArchitekturRepository
Repositories
ArchitekturDatenbank
FGM-LANguage-Interface
JDBC-Interface
XMLKonfigurationsfiles
Applikationswissen
Eclipse Rich Client
04.05.2009
Anja Beier, pro et con GmbH
12
Demonstration
04.05.2009
Anja Beier, pro et con GmbH
13
Fazit und Ausblick
¾ Realisierung der Funktionalität "Applikationswissen"
als zentrale Komponente des FGM 3.0
¾ Übernahme und Integration bewährter Module und
Werkzeuge
ƒ Frontends
ƒ Repository-Modell
ƒ FGM-LANguage-Interface
¾ Erweiterungen vorgesehen
04.05.2009
Anja Beier, pro et con GmbH
14
Vielen Dank
pro et con
Innovative Informatikanwendungen GmbH
Analyse · Reengineering · Migration
Anja Beier
[email protected]
www.proetcon.de
Tel.: 0371/5347-324
Fax: 0371/5347-345
04.05.2009
Anja Beier, pro et con GmbH
15
Herunterladen