Test der semantischen Äquivalenz von Translatoren am Beispiel von CoJaC
نویسندگان
چکیده
Im Rahmen des SOAMIG-Projektes1 wurde u.a. der Translator CoJaC (COBOL to Java Converter) entwickelt. Entwicklungsziele von CoJaC waren, performanten und zum COBOL-Code semantisch äquivalenten Java-Code zu generieren. Der vorliegende Beitrag beschreibt die Testmethodik zum Nachweis dieser semantischen Äquivalenz. 1 CoJaC COBOL to Java Converter CoJaC konvertiert ein vollständiges COBOL-Programm (Hauptprogramm und Copybooks) in ein semantisch äquivalentes Java-Programm. CoJaC besteht aus einer Menge unabhängiger Werkzeuge, welche ihre Ergebnisse über Schnittstellen austauschen. Eine detaillierte Beschreibung von CoJaC liefert [1]. Eine für die Beschreibung der Testmethodik vereinfachte Darstellung der Architektur zeigt die nachfolgende Abbildung: Ein COBOL-Frontend realisiert die aus dem Compilerbau bekannten Funktionen des Präprozessors, des Scanners und des Parsers. Der entstehende COBOL-Syntaxgraph wird in eine XML-Repräsentation serialisiert. Die XMLSchnittstelle entspricht einem definierten XSD-Schema (COBOL-XSD). Diese Repräsentation wurde gewählt, um die Interoperabilität verschiedener Migrationswerkzeuge der Firma pro et con zu gewährleisten. Das generierte COBOL-XML fungiert als Eingabe für ein weiteres Werkzeug (Transformator), welches auf Basis einer vorgegebenen Abbildungsbeschreibung eine model-to-modelTransformation aus dem COBOL-Syntaxgraphen in einen oder mehrere Java-Syntaxgraphen ausführt. Dieser JavaSyntaxgraph wird in Form einer serialisierten XMLDatei (Java-XML) dem Java-Backend zugeführt, welches aus dem Java-Generator und dem Java-Formatierer besteht. Ergebnis des Konvertierungsprozesses ist ein JavaProgramm, das in seiner Funktionalität dem originalen COBOL-Programm entsprechen sollte. Zur Ausführung nutzen die generierten Java-Programme ein Laufzeitsystem. Dieses stellt Bibliotheksfunktionen für COBOLAnweisungen und -Daten bereit, für die es in Java keine Entsprechung gibt. 2 Testmethode und Testabdeckung COBOL besitzt die Eigenschaft, dass zu jeder syntaktischen Einheit (Anweisung, Datendefinition, ...) mehrere, zum Teil optionale Klauseln angegeben werden können. Diese sind in verschiedensten Kombinationen in kommerziellen Programmen enhalten. Deshalb wurde für jede mögliche Kombination von Anweisungen und Klauseln ein minimales Testprogramm (im Weiteren Testfall) erstellt, welches nur eine Variante der Anweisung sowie dafür notwendige Datendefinitionen enthält. Die systematische Spezifikation dieser Testfälle erfolgte anhand einer COBOL-Grammatik, welche dem aktuellen ANSI-85Standard entspricht. Das folgende Listing enthält eine abgeschlossene Regel aus der COBOL-Grammatik für eine DISPLAY-Anweisung: stmt = DISPLAY id_lit {id_lit} upon; id_lit= ident | literal; upon = [UPON name | env] [NO ADVANCING]; Die alternativen Klauseln (UPON, NO ADVANCING, ...) sind ersichtlich. Aus dieser Regel lassen sich u.a. die folgenden Testfälle systematisch ableiten:
منابع مشابه
Testautomatisierung am Beispiel des COBOL-to-Java-Converters CoJaC
Im Rahmen von Migrationsprojekten steht immer die Frage, ob sich das migrierte System semantisch äquivalent zum Ausgangssystem verhält. Dabei liegen die Fehlerquellen nicht nur in den migrierten Programmen, sondern auch in deren Laufzeitumgebung. Der folgende Beitrag zeigt die Integration von automatisch erstellten Unittests am Beispiel der Migration von COBOL nach Java mit CoJaC. Das Ziel ist ...
متن کاملSPL-Sprachkonvertierung im Rahmen einer BS2000 Migration
In bestimmten Migrationsprojekten existiert die Notwendigkeit für einen Wechsel der Programmiersprache. Dazu werden sogenannte Translatoren eingesetzt. Translatoren konvertieren in Analogie zu einem Compiler ein Programm einer Quellprogrammiersprache in ein Programm einer Zielprogrammiersprache. Der folgende Beitrag diskutiert die erweiterten Anforderungen an Translatoren gegenüber klassischen ...
متن کاملAuswahl von Kameraaktionen zur wissensbasierten Szenenexploration
Zusammenfassung Verfahren zur Szenenexploration basieren unter anderem auf der Auswahl von Kameraparametern für eine Bildaufnahme, die — wie von der Strategie des aktiven Sehens gefordert — für die weitere Verarbeitung optimal geeignet sein müssen. In diesem Artikel wird die Auswahl der Kameraparameter auf eine Auswahl von Kameraaktionen zurückgeführt, die in einer Wissensbasis als Konzepte ein...
متن کاملAspekte der Kategorisierung von Webseiten
Im Zuge der Web-basierten Kommunikation tritt die Frage auf, inwiefern Webpages zum Zwecke ihrer inhaltsorientierten Filterung kategorisiert werden können. Diese Studie untersucht zwei Phänomene, welche die Bedingung der Möglichkeit einer solchen Kategorisierung betreffen (siehe [6]): Mit dem Begriff der funktionalen Äquivalenz beziehen wir uns auf das Phänomen, dass dieselbe Funktionsoder Inha...
متن کاملDigitale Assistenz in komplexen, ämterübergreifenden Verwaltungsprozessen
Durch die Nutzung von IT-Systemen lassen sich komplexe Prozesse innerhalb der Verwaltung effizienter und bürgerfreundlicher gestalten. Die Bearbeitung der Prozesse setzen dabei meist die Zusammenarbeit zwischen verschiedenen Ämtern, Organisationen sowie die Einbeziehung von Fachwissen voraus. Workflow-, Web-Servicesund Semantic-Web-Technologien bilden eine mögliche Grundlage zur Konzeptionierun...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softwaretechnik-Trends
دوره 32 شماره
صفحات -
تاریخ انتشار 2012