SPLV
(Statistisches Problemlösungsverfahren) ist eine plattformunabhängige,
problemorientierte, stark an den Aufgaben im Bereich der
statistischen Auswertung
orientierte Programmiersprache der 4.
Generation, die es möglich macht, Auswertungsprogramme
in kurzer Zeit zu erstellen und ohne großen Testaufwand
zu qualitativ hochwertigen Ergebnissen
zu kommen.
 
Allgemeines
Schon Anfang der 80iger
Jahre wurde die Notwendigkeit gesehen, die bis zu diesem
Zeitpunkt im Bereich der Programmierung statistischer
Tabellen eingesetzte Programmiersprache ASSEMBLER durch
eine modernere, an den Aufgabenstellungen der Statistik
orientierte Programmiersprache
abzulösen. Ausschlaggebend für diese Überlegungen
waren u.a. auch die trotz vorhandener Macrounterstützung
relativ langen Entwicklungszeiten und der sehr hohe Änderungsaufwand
bei Programmen, die in der Programmiersprache ASSEMBLER
geschrieben waren.
Die Vorteile der ASSEMBLER-Programme
mit ihrer sehr performanten Laufzeit und der Fähigkeit
des Ablaufs auf den zu diesem Zeitpunkt eingesetzten Großrechnerbetriebssystemen
Siemens/BS2000 und IBM/MVS, wurden erkauft mit überaus
langen Entwicklungs- und Wartungszeiten der Programme. Es
wurde so viel Personal durch Wartungsaufgaben gebunden,
daß man seinerzeit von der sog. "Softwarekrise" sprach und es bei der
Realisierung neuer Programme zu spürbaren Engpässen kam.
Abzusehen war auch, daß es langfristig einfacher sein
wird, schnellere Rechner zu beschaffen, als qualifizierte
Programmierer zu erhalten bzw. zu halten.
Was zu diesem Zeitpunkt
noch nicht abzusehen war, war die Entwicklung der UNIX-
und APC-Rechner zur heute selbstverständlichen
Leistungsfähigkeit
und derVerfügbarkeit an
fast jedem Arbeitsplatz in der Fachabteilung.
Über die Arbeitsgruppe
"Neue Programmiersprachen" des Arbeitskreises
Informationstechnologie, in der Vertreter des
Statistischen Bundesamtes und ausgewäählter Landesämter
zusammengefaßt sind, wurde die 4GL-Sprache SPLV als zukünftige
Programmiersprache zur Erstellung statistischer Tabellen
entwickelt.
Die Entwicklung begann mit
den ersten Entwürfen Anfang 1980, die Realisierung der 1.
Version des SPLV-Compilers erstreckte sich bis zur endgültigen
Freigabe im Programmierverbund im Jahr 1987.
Die wesentlichen Merkmale
von SPLV können über drei Begriffe herausgestellt
werden:
So ist S
P L V :
|     |
selbstdokumentierend:
Die Sprache ist leicht
verständlich und statistiknah aufgebaut. Sie umfaßt
einen hohen Strukturierungsgrad, besteht aus
problembezogenen Bausteinen mit gekapselten
Funktionen auf eingehende und ausgehende
Datenstrukturen des jeweiligen Bausteins.
|
|
wartungsfreundlich:
Durch die leichte
Verständlichkeit und den hohen Grad an
beschreibenden Elementen können Erstellungs- und
Wartungsaufwand stark reduziert werden. Die Programme
sind wenig fehleranfällig und bringen nach kurzer
Entwicklungszeit korrekte Ergebnisse.
|
|
plattformunabhängig:
SPLV-Programme sind
mit identischen Ergebnissen auf den Großrechnersystemen
Siemens/OSD und IBM/OS390, auf UNIX-Systemen unter
dem Betriebssystem SUN-Solaris und auf APC unter dem
Betriebssystem Windows/NT ablauffähig.
|
Besonders der Plattformunabhängigkeit, mit der Möglichkeit, die
Programme auf der für den jeweiligen Anwender kostengünstigsten
Plattform ablaufen zu
lassen, kommt in letzter Zeit immer größere Bedeutung
zu. Nicht verschwiegen werden sollte auch, daß bei den 4GL-Programmiersprachen,
zu denen SPLV aufgrund seiner Sprachsyntax gezählt
werden muß, die Laufzeiten der erzeugten Programme
deutlich höher liegen als z.B. bei Programmen, die
individuell auf das jeweilige Problem bezogen in der
Programmiersprache ASSEMBLER oder C geschrieben würden.
Ausgeglichen wird dies
deutlich durch den wesentlich geringeren
Personaleinsatz bei Entwicklung und
Wartung der Programme,
sowie die auch noch bis in die Gegenwart der
UNIX- bzw. APC-Rechner bei gleichzeitigem Preisverfall dieser Arbeitsplatzrechner.
Historie der SPLV-Entwicklung
|     |
|
1980 1982:Sprachentwurf (Design)
in der AG "Neue Programmiersprachen"
des Arbeitskreises Informationstechnologie
|
|
|
1983
1987: Realisierung der
Basisversion (Statistisches Bundesamt,
Landesämter Bayern und Nordrhein-Westfalen,
Firma Werum)
|
|
|
ab
1987: Einsatz der Basisversion im
Programmierverbund auf den Betriebssystemen
Siemens/BS2000 und IBM/MVS
|
|
|
1987-1990:
Realisierung und Freigabe der Bausteine:STRUKTURVERARBEITUNG und PLAUSIBILITAET
|
|
|
1991-1992:
Portierung des SPLV-Compilers
auf UNIX SVR4 unter dem
Betriebssystem SUN-Solaris.
|
|
|
1992:
Freigabe der UNIX-Version zur CROSS-Entwicklung
von SPLV-Programmen zum Einsatz auf dem Großrechner.
Die UNIX-Version wird eingesetzt im Statistischen
Bundesamt, den Landesämtern Nordrhein-Westfalen,
Niedersachsen, Hamburg, Hessen sowie Mecklenburg-Vorpommern.
|
|
|
1993:
Freigabe des C-Laufzeitsystems auf UNIX-Workstations,
damit können SPLV-Programme unter dem
Betriebssystem SUN-Solaris ablaufen.
|
|
|
1994-1996: Portierung
auf Windows/NT Arbeitsplatzrechner (APC)
unter dem Betriebsystem Windows/NT 3.51, später
dann NT/4.0
|
|
|
ab
1996: Entwurf und Realisierung des
STATSPEZ-Systems zur Tabellenspezifikation
unter dem Betriebssystem Windows/NT 4.0.
|
|
|
August
1999:Freigabe des STATSPEZ-Systems in der
Version 3.00 mit dem Tabellen- und Layout-Editor
zur umfassend grafisch unterstützten Entwicklung
statistischer Tabellen.
|
Merkmale der 4GL-Sprache SPLV
Aufbau und Struktur
SPLV setzt
sich aus Bausteinen zusammen, denen klar abgegrenzte
Funktionen zugeordnet sind. Es gibt Bausteine für die
verschiedensten Aufgaben aus dem Bereich der
Statistischen Tabellenprogrammierung.

Die
Bausteine werden über Verbindungen zu einer sog. SPLV-Problemstruktur, dem eigentlichen
SPLV-Programm, verknüpft. Über diese Verbindungen der
Bausteine werden Daten an Bausteine geliefert bzw. von Bausteinen
bezogen. Der Baustein sieht lediglich die
eingehenden Daten seines Vorgänger-Bausteins sowie die
Daten, die bausteinintern aufgebaut und an einen
potentiellen Nachfolger-Baustein geliefert werden und sog.
globale Daten aus einem besonderen Baustein FESTWERTE.
Wesentlicher Bestandteil des Konzeptes ist damit eine strikte Kapselung
von Daten und Funktionen, die auf diese Daten eingesetzt
werden können.
Leistungsspektrum
Programmiersprachen
der 4. Generation, zu denen auch SPLV gehört, sind problemorientiert und stark an
konkrete Aufgabenstellungen und Abläufe angepaßt. So ist
SPLV eine Programmiersprache, die im besonderen Maß Abläufe
im Bereich der Produktion statistischer Tabellen unterstützt.
SPLV setzt sich aus sehr vielen deskriptiven (beschreibenden)
Sprachelementen zusammen, die es möglich machen, über
eine sehr kompakte Beschreibung der
Aufgabenstellung im SPLV-Programm zu komplexen
Ergebnissen bei der Erstellung einer
statistischen Tabelle zu kommen. Es gibt aber auch
Einschränkungen, die aus der Nähe dieser 4GL-Sprachen
zur konkreten Aufgabenstellung herrühren. Für die
Programmiersprache SPLV können folgende Schwerpunkte und Merkmale
herausgestellt werden:
|
nur Stapelverarbeitung
|
|
Schwerpunktmäßig
Verarbeitung sequentieller Datenströme
|
|
Erstellung
von Tabellen mit Rechenoperationen an Zeilen
und Spalten
|
|
Gestaltung
von Drucklisten
|
|
Dateiverarbeitung (Sortieren,
Mischen, Zusammenführen etc.)
|
|
Auswertung
hierarchischer
Datenstrukturen
|
|
Plausibilitätskontrollen
|
Für all
diese Aufgabenstellungen gibt es Unterstützung über
verschiedene funktionsbezogene SPLV-Bausteine mit sehr
effizienten Sprachmitteln. SPLV unterliegt sehr stark den
Veränderungen in der DV-Landschaft des
Programmierverbundes und veränderten fachlichen
Anforderungen der verschiedenen Häuser. Die ständige
Weiterentwicklung des Sprachumfanges, die Entwicklung neuer Funktionen sowie Verbesserungen an bereits
eingesetzten Funktionen sind lebensnotwendig für eine
moderne Programmiersprache.
Im Rahmen
dieser Weiterentwicklung wurde inzwischen ein Datenbank-Zugriff auf ADABAS-Datenbanken
realisiert. Auch ein SQL-Baustein ist derzeit in der
Planung und soll in SQL-fähigen Datenbanken abgelegte
Informationen zur statistischen Aufbereitung erschließen.
Entsprechende
Entwicklungsanträge zu Spracherweiterungen kommen vom
Arbeitskreis-Informationstechnologie bzw. aus dem jährlich
stattfindenden SPLV-Workshop zum Erfahrungsaustausch der
SPLV-Anwender.
Beispiele
Nachfolgend
soll der Aufbau der Programmiersprache SPLV anhand zweier
Bausteine etwas verdeutlicht werden. Abgebildet werden
ein:
EINGABE-Baustein

zum Lesen
eines sequentiellen Datenbestandes mit der Beschreibung
des Datensatzes sowie einer Satzauswahl über eine
Vorbedingung
TABELLE-Baustein

zum Aufbau
und zur Ausgabe einer Tabellenmatrix mit 24 Zeilen (Altersklassen
untergliedert nach Geschlecht) und 11 Spalten (Einkommensklassen)
mit einer Fallzählung
Einsatzbereich und Verbreitung

SPLV wird
derzeit eingesetzt im Statistischen Bundesamt, den am
statistischen Programmierverbund beteiligten 16
Statistischen Landesämtern bzw. Landesrechenzentren, dem
Kraftfahrt Bundesamt und dem Bundesverwaltungsamt.
SPLV ist
Bestandteil des neuen .BASE-Systems zur Statistischen
Tabellenspezifikation und wird in der jeweils aktuellen
Version auf CDROM zum Einsatz auf APC-Arbeitsplatzrechnern
unter Windows/NT ausgeliefert.
Daneben
gibt es Installationen auf UNIX-Entwicklungsrechnern mit
einer integrierten grafischen Entwicklungsumgebung unter
SUN-Solaris im Statistischen Bundesamt und in
verschiedenen Statistischen Landesämtern. Die UNIX-Entwicklungsrechner
werden überwiegend zur CROSS-Entwicklung von SPLV-Programmen
zum anschließenden Produktionseinsatz auf den
verschiedenen Rechnerplattformen des Statistischen
Programmierverbundes eingesetzt.
Wie
eingangs bereits erwähnt, sind SPLV-Programme plattformunabhängig und mit identischen
Ergebnissen auf den wichtigsten Rechnersystemen ablauffähig.
Insbesondere dem Windows/NT-APC kommt in letzter Zeit
immer größere Bedeutung als preiswerte,
effiziente, am Arbeitsplatz der Fachabteilung verfügbare
Produktionsplattform statistischer Tabellen zu.
|