Leistungsmessung bei Sprachen der vierten Generation gehorcht eigenen Gesetzen:Unklare 4GL-Definition erschwert Benchmarks

10.04.1987

Für die Sprachen der vierten Generation gibt es bislang keine klare eindeutige Definition. Erhebliche Probleme verursacht diese Tatsache nicht zuletzt bei der Leistungsbewertung von 4GL-Produkten. Alan Hendrickson* gibt Tips, wie ein sinnvoller Benchmark aussehen sollte.

Die Bezeichnung "Sprache der vierten Generation" (4GL) wird auf die verschiedensten Produkte angewandt. Jedes Benchmark-Programm, das den Versuch unternimmt, die Leistung eines Produkts mit der eines anderen zu vergleichen, muß die Eigenart jedes dieser Systeme berücksichtigen. Es liegt auf der Hand, daß Programme, die zur Leistungsprüfung von 3GL-Produkten herangezogen werden, nicht für 4GLs in Frage kommen. Die Sprachen der vierten Generation sind nicht für die Allzweck-Programmierung gedacht.

Die zur Prüfung einer 4GL vorgesehenen Benchmark-Programme müssen sich nach deren generischen Funktionen richten. Derartige Tests lassen sich in insgesamt fünf Kategorien aufteilen:

- Datendefinitions- und Datenbankorganisations-Funktionen durch das Data Dictionary

- Online-Dateneingabe und -validierung;

- Ad-hoc-Abfrage-Verarbeitung;

- Produktions-Reports;

- Funktionen für die Transaktionsverarbeitung.

Die beste Art von Maßstab beinhaltet diese für Funktionsbereiche in einem simulierten Anwendungsmilieu. Das heißt, statt einzelne Merkmale der Sprache zu testen, wird eine verhältnismäßig komplexe Anwendungsanforderung definiert und ein Standard-Datenbestand durch die Anwendung verarbeitet.

Es ist äußerst wichtig, daß die Benchmark-Spezifikationen Flexibilität beim Anwendungsdesign ermöglichen. Der Programmdesigner muß in der Lage sein, eine Lösung zu entwickeln, die den Eigenschaften und Möglichkeiten des Produkts entspricht. Er darf nicht durch Äußerlichkeiten wie Maskenaufbau oder Reportformat eingeengt werden.

Das Design der zu benutzenden Dateien ist dem Programmdesigner zu überlassen. Andererseits sollen die Benchmark-Spezifikationen einen Standardsatz von Transaktionen und Informationsanforderungen darstellen. Die Spezifikationen sollen realistische Daten enthalten. Das bedeutet, daß manche Daten unrichtig sein müssen, und daß auch Korrekturen und Help-Anforderungen dazugehören. Bei allen Tests ist der Parallelzugriff zu Mehrfachdateien unbedingt erforderlich.

Der zum Messen der Leistung benutzte Standard muß der Durchsatz sein (Zeichen oder Transaktionen in der Minute), und es sollte unter Testbedingungen gemessen werden, die mehrere Benutzer einschließen. Stand-alone-Messungen bei Zentraleinheitverwendung berücksichtigen keine zusätzlichen Aktivitäten wie Terminalverwaltung und Simultansteuerung.

Ein guter Benchmark-Test für eine 4GL wäre es, einen Anforderungssatz für eine Anwendung, zum Beispiel für ein Bestellungs-, Lagerhaltungs- und Rechnungssystem, zu definieren. Zu den Benchmark-Spezifikationen gehörten dann eine Kundenkartei, Lagerhaltungsdaten, die vom Programm zu verarbeitenden Bestellungen und Zahlungen sowie ein Standard-Reportsatz wie Verkaufsberichte. Die Spezifikationen müssen außerdem zumindest eine Anforderung zur Verarbeitung großer Datenmengen enthalten, beispielsweise die nach einer Inventur zur Aktualisierung der Inventardatei erhaltenen Eingaben. Auch eine Auswahl von Anfragen über Daten wie "Wer hat Produkt X gekauft?" sollte definiert werden.

Idealerweise würden die mit jedem Produkt vertrauten Mitarbeiter eine Lösung der Benchmark-Anwendungsanforderung ausarbeiten und dann den Durchsatz in bezug auf Bestellungen, Standardreporte und sonstige Benchmark-Funktionen messen.

Ein separater, aber ebenso wertvoller Test wäre es, die Entwicklungszeiten der von erfahrenen und unerfahrenen 4GL-Programmierern geschriebenen Benchmark-Programme zu vergleichen. Diese Lösungen sollten jedoch nicht zum Messen der Leistung herangezogen werden, da manche 4GL-Systeme den Vorteil haben, die Optimierung von Programmen für spezifische Anwendungen zu ermöglichen.

*Alan Hendrickson ist Manager im Bereich Product Specialist Services bei dem kanadischen Anbieter Cognos, Ottawa.