SPLV - Beschreibung


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.


zum Seitenanfang


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.


zum Seitenanfang


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.

zum Seitenanfang


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.

zum Seitenanfang


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.


zum Seitenanfang


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


zum Seitenanfang


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.