The diagram below illustrates Zentegra’s process of creating the visual displays and reports:
Classifier application identifies over 100 properties for each directory, file and block found in your code libraries and populates the application inventory database. In addition to the properties, the classifier also collects and calculates useful statistics and metrics about the current state and the evolution of your applications. We currently support 87 predefined software metrics. Additional custom metrics can be added using SQL.
The analyzer identifies all the elements, relationships and properties defined by the source code and stores them in the syntax tree database. The analyzer uses grammar rule parameters to control the amount of data produced. This is especially important when, for example, we need to analyze millions of lines of code but only interested in the file I/O calls and database accesses.
Custom grammars for your domain specific languages (DSL) can be rapidly developed using BNF syntax.
The mapper transforms the syntax trees produced by the analyzer and creates a maps database that is well suited for creating relationship graphs and diagrams. The mapper also creates shortcuts between indirectly related elements to support more abstract, simplified views.
The renderer queries the maps database and generates the visual displays. The layout, colour scheme and style are user definable by rule tables and CSS style sheets.