The CBMS architecture of Refine Software platform comprises:
> An Abstract Repository combined with a Tree Processing Engine
> Language Gateways
> Modernization Applications
> An Internet access portal
The Refine platform is based on an innovative tree processing engine, used to store all program-related data, in particular:
Each asset component processed by Refine is represented by an abstract attribute tree. This technology, taken from the compilation world, maintains absolutely all source program information. The rich structure of the tree reflects the language's constructs and their hierarchy, allowing the rapid and accurate identification of all objects corresponding to certain criteria. Finally, it can be enriched at will by the calculation of new attributes (e.g. semantic data, or data required for translation).
The implementation of ASTs within a centralized storage repository provides its users with the power of a representation based on 20 years' work in the compilation field. This is a representation that guarantees the ability to achieve analysis and conversions with an unequalled level of accuracy.
Language gateways allow source code to be loaded into trees in the CBMS repository. MetaWare has developed gateways for a broad range of languages such as:
COBOL ANSI 68, COBOL74, COBOL85, IBM OS/VS COBOL, COBOL II VS, COBOL DOS/VSE, COBOL BULL GCOS7, GCOS8, GCOS6, COBOL Tandem, COBOL Unisys
PL/1, C ANSI, FORTRAN, MANTIS, NATURAL, PACBASE, DELTA, ADA, Java
CODASYL, SQL, IMS-DB, VSAM
BMS, FORMS, JSP
STDS, WCL, CICS, IMS-DC
JCL, ksh, GCL
OPC
Each gateway serves to change the textual (concrete) representation of the code provided into an appropriate (abstract) form that is independent of the input syntax.
Language gateways are developed using a lexicographic and syntactic analyzer generator included with the Refine SDK.
Modernization Applications are developed in the form of declarative rules linked by means of an inference engine. The rules use the Refine language to query and manipulate the code.
Modernization Applications include:
![]() |
![]() |
|
These reengineering applications are developed by using an extremely powerful specialist language. The compiler and its associated development assistance tool are part of the Refine SDK. |
||
![]() |
![]() |