Home | Products | NATURAL FGM
www.proetcon.de | Products | NATURAL FGM
[NATURAL FGM]
NATURAL FGM (NATURAL Flow Graph Manipulator)
NATURAL FGM is the tool for
  • analysis,
  • reengineering and
  • redocumentation
of NATURAL applications.

NATURAL FGM gives a complete insight into complex NATURAL projects. High granular knowledge on the level of the single program is combined with complex application knowledge. In parallel with this a plain redocumentation is created. The result is the extreme reduction of maintenance effort by ca. 30-40%.
What are the features of the tool ?
Control flow visualisation as program flowchart
NATURAL FGM visualises the complete control flow of a COBOL source and displays it graphically as program flowchart. The complexity of large programs is reduced by the optional inserting and hiding of several detail levels. Dead code (source code which can't be reached during the program runtime) is displayed coloured within the graph.
[PDF] Example for a control flow[38 KB]
Data flow
The following example shows the results of a data flow analysis with NATURAL FGM. Data flows within NATURAL programs had been analysed and prepared graphically. A data flow graph generated by FGM displays all relations of a selected variable to other objects within a NATURAL source.
[PDF] Example for a data flow graph[23 KB]
Dead code
Within NATURAL FGM dead code appears in red color both in the sourceviewer and in the graphviewer. Dead code is never reached during the program runtime (e.g. if it stand after branches). Another example for dead code are subroutines/functions, which are never called.
[PDF] Example for dead code[44 KB]
CALL graph
A CALL graph generated by NATURAL FGM shows recursively all functions and subroutines called by a NATURAL program.
[PDF] Example for a CALL graph[36 KB]
Program measurement (metrics)
For the software quality assurance with NATURAL FGM among others the following metrics can be calculated:
  • complex program statistic (LOC, comment lines, empty lines, ...),
  • Halstead (length, vocabulary, volume and severity of a program and the programming effort),
  • McCabe (number of independent paths within the control flow graph of a program),
  • number of variables and different data types,
  • density of comments.
[PDF] Examples for the NATURAL FGM metrics package[26 KB]
The GUI
Object browser
A comfortable user interface allows to control all activities of NATURAL FGM. You can analyse source code as well as comments, embedded SQL and Adabas.
Graphviewer
Complex processes are made understandable with the help of graphics. The graphviewer generates clear graphics from source code (control flow, CALL graph, data flow, ...).
Fileviewer
The integrated fileviewer creates a direct connection between graphical display and source code.
Script library
FGM provides an open API. You can word your company specific requests for analysis and store them as library for reusing!
[NATURAL FGM - GUI]
The Architecture
NATURAL FGM is based on a 3-layers architecture.
Layer 1: analyser (parser)
  • The NATURAL analyser (parser) is implemented as compiler frontend. The source code is analysed with a compiler's granularity.
  • A preprocessor is integrated into the analyser. NATURAL specific compiler directives like INCLUDE are resolved and replaced by the corresponding parts of the source code.
  • The analyser includes parsers for the "embedded" systems SQL and Adabas.
Layer 2: server
The parser's analysis provides 2 results:
  1. A complete, redundancy free internal representation of the NATURAL source within a repository. The kind of representation within the repository is referred to as flow graph in the compiler theory.
  2. Entries in a SQL database, which manages the knowledge about the total application:
    • Which programs include which "copycode"?
    • How the CALL structure between the programs is realised?
    • Which programs access which databases?
    • Which programs read and write into which files?
    • ....
The server administrates both the repository of the single NATURAL program and the SQL database with application knowledge (analogical a database server). It receives requests by the client and realises them.
Layer 3: client
With the help of the client the user makes requests to the server. The components of the client (object browser, fileviewer, graphviewer, navigator, ...) can document the analysis results in several formattings (e.g.: .xls, .wmf, ASCII, Postscript, HTML).

Depending on the kind of analysis (detailed information about a special NATURAL program or knowledge about the total application) the requests correspond to the repository or to the application database.

[NATURAL FGM - Architecture]
Technical Data
Version NATURAL FGM 2.4
Analysis of NATURAL incl.
  • Reporting mode,
  • Structured mode,
  • DATA AREA FILES,
  • Embedded SQL,
  • ADABAS.
System requirements
  • Operating system: Windows 2000 / XP
  • Working storage: min. 256 MB RAM
  • Free fixed-disk storage: ca. 100 MB
  • Available installation of TCP/IP protocol
  • RDBMS: MySQL Classic, from version 3.23
The text above can include company names, trademarks or registered trademarks of the corresponding firms. Their report isn't made in the sense of trademark right.