Die CBMS-Architektur der refineTM-Plattform umfasst vier Untereinheiten, wie im folgenden Diagramm ersichtlich wird:
Die refineTM-Plattform basiert auf einer innovativen Baumverarbeitungsengine, die alle programmbezogenen Daten speichert, z. B.:
Jede IT-Asset-Komponente, die von refineTM verarbeitet wird, wird in Form von abstrakten ASTs dargestellt. Diese Technologie, die aus dem Bereich der Kompilierung stammt, erhält alle Quellprogramminformationen vollständig. Außerdem reflektiert diese Baumstruktur auch die Sprachkonstrukte mit den jeweiligen Hierarchien, wodurch alle Objekte, die bestimmten Kriterien zugeordnet sind, schnell und präzise bestimmt werden können. Darüber hinaus sind durch die Berechnung neuer Attribute verschiedene Aufbereitungen möglich (z. B. semantische Daten, Daten für die Übersetzung).
Die Implementierung von ASTs in einem zentralisierten Speicherrepository bietet Benutzern eine Darstellungsfunktionalität, die auf 20 Jahren Entwicklung in der Kompilierung basiert. Mithilfe dieser Darstellung können Benutzer umfangreiche Analysen und Änderungen äußerst präzise durchführen.
Sprachgateways werden eingesetzt, um Quellcode in Form von Bäumen in das CBMS-Architekturrepository zu laden. MetaWare hat für eine ganze Reihe von Sprachen Gateways entwickelt. Hier nur ein paar der wichtigsten:
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
Mithilfe eines Gateways wird die textuelle Darstellung (konkret) des Codes in eine entsprechende (abstrakte) Form geändert, die von der Eingabesyntax unabhängig ist. Sprachgateways werden mithilfe eines Generators für lexikografische und syntaktische Analyseprogramme entwickelt, der Teil des refineTM SDK ist.
Jede Anwendung wird auf Grundlage deklarativer Regeln entwickelt, die mithilfe einer Inferenzengine verknüpft werden. Die Regeln verwenden die refineTM-Sprache, um Code abzufragen und zu verarbeiten.
Eine kleine Auswahl der verfügbaren Anwendungen:
![]() |
![]() |
|
Diese Tools zur Umstrukturierung wurden mithilfe einer speziellen, besonders leistungsstarken Sprache entwickelt. Der Compiler zur Erstellung von Entwicklungstools ist ebenfalls Teil des refineTM SDK. |
||
![]() |
![]() |