Technologie
Das Refinetm SDK steht hinter der Entwicklung der Refinetm-Plattform und stellt die technischen Grundlagen zur Erfüllung der Marktanforderungen bereit.
Die Refinetm-Programmiersprache ist ein neues und besonders vielseitiges Tool für Entwickler, die an der Schaffung einer neuen Generation von Modernisierungstools beteiligt sein möchten. Refinetm wird das Konzept der Modernisierungstools neu definieren.
Funktionen
REFINEtm ist eine Programmierumgebung, die eine Programmiersprache und eine Reihe Sprachverarbeitungstools enthält (Parser, Compiler etc.). Die Sprache wird „Refinetm-Sprache“ oder einfach „Refinetm“ genannt, solange klar ist, dass die Sprache und nicht das gesamte System gemeint ist. Zu den neuartigsten Funktionen, durch die sich das System von anderen auf dem Markt erhältlichen Programmierumgebungen abhebt, zählen folgende:
- Die REFINEtm-Sprache ist die erste Programmiersprache, die einen ganzheitlichen Ansatz bei Theorie, Logik, Transformationsregeln, Mustererkennung und Verfahren verfolgt. Da die Sprache ausführbar ist (im Gegensatz zu „Papiersprachen“) und zum Schreiben von Programmen auf Spezifikationsebene verwendet werden kann, unterstützt das Refinetm-System das Programmieren mit „ausführbaren Spezifikationen“.
- REFINEtm stellt einen robusten Objektstamm bereit, der mit der Refinetm-Sprache abgefragt und bearbeitet werden kann. Refinetm-Programme und andere softwarebezogenen Objekte (Dokumente, Testfälle) werden in dem Objektstamm gespeichert. Daher ist refineTM ideal für das Schreiben von Programmen geeignet, die Software-Objekte verarbeiten, wie z. B. Systeme zur Transformation und Dokumentation von Programmen. Der Objektstamm kann zur Darstellung der Objekte in der Anwendungsdomäne verwendet werden und alle Refinetm-Tools zur Verarbeitung des Objektstamms können von der Anwendung genutzt werden.
- Der REFINEtm-Compiler wird als Programmtransformationssystem implementiert. Refinetm-Programme werden durch die sukzessive Anwendung von Transformationsregeln zu LISP kompiliert. Die Regeln selbst sind in Refinetm geschrieben; der Refine-Compiler (und der überwiegende Rest des Systems) ist urgeladen (d. h. in einer eigenen Sprache geschrieben).
- Mit REFINEtm können eigene Sprachen entworfen werden, indem BNF-ähnliche Annotationen zur Beschreibung der Grammatik verwendet werden. Wenn Refinetm eine Grammatik erhält, kompiliert es ein lexikalisches Analyseprogramm, einen Parser, ein Mustererkennungsprogramm, eine Musterkonstruktorfunktion und einen Pretty-Printer für die neue Sprache. Das Syntaxdefinitionssystem ist ein optional geladenes System. Es wird in einem separaten Dokument mit dem Titel „DIALECT 1.0 User’s Guide“ besprochen.
Tools (SDK)
Refinetm bietet Ihnen eigene Entwicklungstools:
1. einen fortschrittlichen Generator für Syntaxanalyseprogramme, der sicherstellt, dass das CBMS kostengünstig auf eine andere Syntax aktualisiert werden kann
2. einen Refinetm-Compiler für das inkrementelle Kompilieren der Umstrukturierungsanwendungen. Refinetm ist eine Programmiersprache, die Attributbäume verarbeitet und so mühelos eine Reihe komplexer Analyse- und Änderungsmaßnahmen durchführen kann. Die Refinetm-Sprache gewährleistet die Modularität der bestehenden und zukünftigen Umstrukturierungsanwendungen
3. eine Entwicklungsumgebung für Benutzeroberflächen, damit die Umstrukturierungsanwendungen mit einer grafischen Benutzeroberfläche ausgestattet werden können