Beschreibung
Verfahren zur Erstellung eines Datenverarbeitungsprogramms
Die Erfindung betrifft ein Verfahren zur Erstellung eines
Datenverarbeitungsprogramms, bei dem eine Anzahl von in einer Speichereinheit hinterlegten Modulen aufgabenspezifisch ausgewählt und miteinander verknüpft werden.
Datenverarbeitungsanlagen finden in unterschiedlichen Maßstäben vielseitige Anwendung im Rahmen von Automatisierungsprozessen, die in vergleichsweise groß dimensionierten komplexen Systemen im industriellen Bereich oder auch in dezentral strukturierten, vergleichsweise klein gehaltenen Komponenten im mobilen Bereich oder in Verbraucherprodukten zum Einsatz kommen können. Für einen ordnungsgemäßen Betrieb ist dabei auf einer Datenverarbeitungsanlage üblicherweise ein Datenverarbeitungsprogramm implementiert, das durch die zweckentsprechende Bearbeitung von Daten die funktionsorien- tierte Arbeitsweise des jeweiligen Systems oder der jeweiligen Komponente ermöglicht.
Bei der Erstellung der Datenverarbeitungsprogramme, die beispielsweise einzelne Prozesse im Rahmen einer Automatisie- rungsanlage steuern oder auch in der Art von Ein-/Ausgabe- Bausteinen eine Kommunikation des Bedieners mit dem System ermöglichen, wird üblicherweise eine geeignet gewählte Abfolge von Befehlen erstellt oder vorgegeben. Diese wird bei der Ausführung des Datenverarbeitungsprogramms sequentiell durchlaufen, wobei die einzelnen Befehlsschritte in der vorgegebenen Reihenfolge nacheinander abgearbeitet werden. Ein derartiges Vorgehen beim Erstellen eines Datenverarbeitungsprogramms kann jedoch zu vergleichsweise komplexen Strukturen führen, was insbesondere eine nachträgliche Überarbeitung oder Abänderung des jeweiligen Datenverarbeitungsprogramms erschwert.
Unter anderem aus diesen Gründen kommt bei der Erstellung von Datenverarbeitungsprogrammen in zunehmendem Maße die Verwendung aufgabenspezifisch vorgefertigter Komponenten oder Module zur Anwendung. Diese Module sind üblicherweise zur Er- Stellung des eigentlichen Programms auf einer Speichereinheit hinterlegt und werden dort bereitgehalten. Bedarfsweise werden diese Module, von denen jedes jeweils auf die Bereitstellung geeigneter Zwischenergebnisse, wie beispielsweise die Ausgabe von Textelementen oder die Ausführung bestimmter logischer Operationen, hin ausgerichtet sein kann, zur Erstellung des eigentlichen Datenverarbeitungsprogramms noch geeignet ausgewählt und miteinander verknüpft.
Hierbei kann beispielsweise vorgesehen sein, dass in der Art eines 'Hauptprogramms eine sequentielle Abfolge geeignet gewählter Bearbeitungsschritte vorgegeben wird, wobei bei jedem Bearbeitungsschritt ein zur Ausführung der dafür erforderlichen Funktionen geeignetes Modul in der Art eines Unterprogramms aufgerufen wird. Auch derartige Methoden zur Er- Stellung eines Datenverarbeitungsprogramms weisen jedoch den Nachteil auf, dass gerade bei vergleichsweise komplexen Strukturen eine nachträgliche Änderung oder Umprogrammierung besonders aufwendig sein kann.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Erstellung eines Datenverarbeitungsprogramms, bei dem eine Anzahl von in einer Speichereinheit hinterlegten Modulen aufgabenspezifisch ausgewählt und miteinander verknüpft werden, anzugeben, mit dem zur Gewährleistung einer besonders hohen Flexibilität auch eine nachträgliche Änderung oder Anpassung des Datenverarbeitungsprogramms auf vergleichsweise einfache Weise ermöglicht ist.
Diese Aufgabe wird erfindungsgemäß gelöst, indem zur Verknüp- fung der ausgewählten Module miteinander jedem ausgewählten Modul über einen zentralen Zuordnungsbaustein eine Kennung
zugewiesen wird, die das nach Durchlauf des jeweiligen Moduls aufzurufende nächste Modul identifiziert.
Die Erfindung geht dabei von der Überlegung aus, dass ein er- heblicher Beitrag zur Komplexität bei den üblichen Methoden zur Erstellung von Datenverarbeitungsprogrammen und der daraus resultierende Mangel an Flexibilität gegenüber nachträglichen Änderungsmöglichkeiten durch die üblicherweise bereits während der Erstellung der Datenverarbeitungsprogramme vor- gegebene und im Weiteren auch strikt einzuhaltende sequentielle Befehlsabfolge gegeben ist. Für eine besonders einfache nachträgliche Modifizierbarkeit des Datenverarbeitungs- programms sollte die Vorgabe der beim sequentiellen Durchlauf einzuhaltenden Reihenfolge in der Befehlsabfolge somit auf einen besonders späten Zeitpunkt bei der Erstellung des Datenverarbeitungsprogrammes verschoben werden.
Dies ist bei der Erstellung eines Datenverarbeitungsprogramms unter Verwendung auswählbarer Module erreichbar, indem zu- nächst jedem ausgewählten Modul lediglich eine Information oder Kennung zugeordnet wird, anhand derer das nach dem Durchlauf dieses Moduls jeweils anschließend aufzurufende Modul identifizierbar ist. Eine nachträgliche Programmänderung ist dabei auf einfache Weise möglich, indem die im Zu- Ordnungsbaustein hinterlegte Kennung für das hinsichtlich seiner Verknüpfung zu verändernde Modul entsprechend an- gepasst wird. Die die Flexibilität bei einer nachträglichen Änderung einschränkende sequentielle Struktur des Datenverarbeitungsprogramms entsteht dabei erst in einer ver- gleichsweise späten Verfahrensstufe, nämlich bei der endgültigen Compilierung oder Generierung des Datenverarbeitungsprogramms auf Grundlage der separat vorgegebenen Verknüpfung der ausgewählten Module.
In ganz besonderem Maße ist das Verfahren zur Erstellung eines auf einen Dialog zwischen dem Anwender und der Datenverarbeitungsanlage ausgerichteten Bausteins als Daten-
Verarbeitungsprogramm geeignet. Dabei wird vorteilhafterweise als Datenverarbeitungsprogramm ein Ein-/Ausgabe-Baustein oder ein Baustein zur Mensch-Maschine-Kommunikation erstellt. Als zu verknüpfende, in der Speichereinheit hinterlegte Module können dabei insbesondere Dialogkomponenten, wie beispielsweise Auswahlmodule, Mehrfachselektionsmodule oder Eingabemodule, Textkomponenten, wie beispielsweise kurze Texteinheiten, ganze Dokumente oder Teile davon, und/oder Aktionskomponenten, wie beispielsweise Anweisungen zum Start anderer Pro- gramme, vorgesehen sein.
Dabei eignet sich das Verfahren insbesondere zur bedarfsgerechten Erstellung spezifisch angepasster Dialoge bei Zugrundelegung einer besonders großen Vielzahl möglicher Informationsquellen oder Textbausteine. Gerade bei der Dokumentation umfangreichen Know-hows kann nämlich eine zielgerichtete, an eine vorgebbare Fragestellung angepasste Abfrage und Präsentation einzelner Informationsbestandteile besonders bedeutsam sein. In diesem Fall kann die Gesamtheit der verfügbaren Informationen als große Vielzahl einzelner Textbausteine oder Dokumente in der Speichereinheit hinterlegt sein. Die Erstellung eines an eine vorgebbare Fragestellung angepassten Dialogs, über den gezielt aus der großen Vielzahl von Informationen die besonders relevanten auswähl- bar sind, kann dabei auf besonders günstige Weise durch die Vorgabe geeigneter Verknüpfungen zwischen einzelnen Textmodulen, die auch durch Lehrprogramme ergänzt sein können, im Zuordnungsbaustein erfolgen. Die gezielte Führung oder Strukturierung des zu erstellenden Dialogs oder Dialogbausteins erfordert dabei lediglich die Zuordnung einer jeweils angepassten Kennung an die ausgewählten Textmodule, wobei die insgesamt in der Speichereinheit hinterlegten Informationen oder Informationsmodule an sich unverändert beibehalten werden können.
Um auch bei vergleichsweise komplexen Aufgabenstellungen eine zuverlässige Erstellung eines geeigneten Datenverarbeitungs-
Programms zu ermöglichen, wird in vorteilhafter Ausgestaltung eine Zuordnungstabelle verwendet, in der für jedes zur Anwendung vorgesehene Modul zusätzlich zur das nachfolgend aufzurufende Modul identifizierenden Kennung eine Anzahl von Para- meterkennwerten hinterlegt ist, anhand deren die für einen zuverlässigen Aufruf des nachfolgenden Moduls an dieses zu übergebende Parameter identifizierbar sind. Dadurch ist sichergestellt, dass die beim Aufruf eines nachfolgenden Moduls gegebenenfalls als dessen Eingangswerte mit zu über- gebenden Kennwerte in jedem Fall geeignet berücksichtigt sind. Damit ist sicher vermieden, dass die notwendige Übergabe von Parametern zur bedarfsgerechten Einleitung der Funktionen des nachfolgenden Moduls unbeaufsichtigt unterlassen werden könnte.
Die mit der Erfindung erzielten Vorteile bestehen insbesondere darin, dass durch die Verknüpfung der geeignet ausgewählten Module unter Zuhilfenahme eines Zuordnungsbausteins oder einer Zuordnungstabelle die Erstellung einer sequentiel- len Befehlsabfolge in ein vergleichsweise spätes Verfahrensstadium, nämlich in die eigentliche Compilierung oder Generierung eines eigenständig ausführbaren Programmbausteins, hinein verlagert werden kann. Im Vorfeld dieser Generierung ist hingegen die Einhaltung von Randbedingungen infolge der Vorgabe des sequentiellen Ablaufs noch nicht erforderlich; entsprechend ist eine Änderung von Verknüpfungen auf vergleichsweise einfache Weise durch Änderung der entsprechenden Kennung für ein jeweils nachfolgendes Modul ermöglicht. Somit ist gerade bei der Erstellung von Dialogprogrammen, bei der eine strukturierte und zielgerichtete Präsentation von aus einer Vielzahl von Informationsquellen geeignet selektierten Informationssegmenten beabsichtigt ist, die gezielte Einstellung des Dialogablaufs durch die Vornahme entsprechender Verknüpfungen über die Zuordnungstabelle ermöglicht.
Gerade bei der Zusammenstellung der Verknüpfungen einzelner Textmodule ist dabei die Einhaltung eines sequentiellen Ab-
laufs nicht von vornherein erforderlich, sondern wird erst infolge der hintereinander geschalteten Abarbeitung der text- modulspezifischen Querverweise erstellt. Eine nachträgliche Programmänderung ist durch Modifikation der Verknüpfung über einen Eingriff in den Zuordnungsbaustein oder die Zuordnungstabelle ermöglicht, ohne dass dabei weitergehende Modifikationen vorgenommen werden müssten. Somit ist mit vergleichsweise geringem Aufwand unter Beibehaltung gleichartiger Textmodule eine grundsätzliche Veränderung eines Dialogablaufs erreichbar.
Über die im Zuordnungsbaustein oder der Zuordnungstabelle hinterlegten Verknüpfungen oder Querverweise sind zudem gerade bei einer Anwendung zur Erstellung eines bedarfsgerecht angepassten Dialogsystems für die ausgangsseitige Weiter- verschaltung einzelner Module vorhandene Zusatzinformationen nutzbar. Dadurch kann bereits bei der Erstellung der Verknüpfungen der herangezogenen Textmodule ein möglicherweise in Frage kommendes Resultat geeignet berücksichtigt werden, so dass eine besonders gute Strukturierbarkeit des zu erstellenden Dialogs gegeben ist. Somit können in der in der Art einer Strukturliste vorgesehenen Zuordnungstabelle Erfahrungen oder weiteres Wissen im Hinblick auf einen möglichen weiteren Verlauf des jeweiligen Dialogs im Hinblick auf die verfügbaren Informationen berücksichtigt werden.
Ein Ausführungsbeispiel der Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigt die Figur schematisch ein System zur Erstellung eines Datenverarbeitungsprogramms.
Das System 1 ist zur Erstellung von Datenverarbeitungsprogrammen mit vergleichsweise hoher Flexibilität ausgestaltet, wobei auch eine nachträgliche Veränderung oder Anpassung des jeweiligen Datenverarbeitungsprogramms mit nur geringem Aufwand ermöglicht sein soll. Das System 1 ist dabei insbesondere zur Erstellung eines Dialogbausteins oder Ein-/Aus- gabe-Bausteins ausgelegt, mit dem auf besonders günstige und
zielgerichtete Weise eine Mensch-Maschine-Kommunikation ermöglicht sein soll.
Das System 1 ist zur Erstellung von Datenverarbeitungs- Programmen unter Verwendung vorgefertigter, aufgabenspezifisch ausgerichteter Komponenten oder Module 2 ausgelegt. Dazu umfasst das System 1 eine zentrale Rechnereinheit 4, auf der die eigentlichen Vorgänge bei der Erstellung von Datenverarbeitungsprogrammen ablaufen. Die Rechnereinheit 4 ko - muniziert, wie durch den Doppelpfeil 6 angedeutet, mit einer Speichereinheit 8, in der die Module 2 hinterlegt sind.
Zur Erstellung eines Datenverarbeitungsprogramms greift die Rechnereinheit 4 bedarfsweise auf die in der Speichereinheit 8 hinterlegten Module 2 zu und wählt aufgabenspezifisch und abhängig von den vom zu erstellenden Datenverarbeitungs- program zu leistenden Funktionen geeignete Module 2 aus. Anschließend werden die Module 2 geeignet miteinander verknüpft, wobei in der Art einer Compilierung in der Rechner- einheit 4 auf der Grundlage der aufgabenspezifisch ausgewählten Module 2 ein selbständig arbeitsfähiges Datenverarbei- tungsprogramm. generiert wird.
Um eine besonders hohe Flexibilität auch gegenüber nachträg- liehen Veränderungen des erstellten Datenverarbeitungs- programms zu ermöglichen, ist das System 1 nach der Maßgabe ausgelegt, dass die Vorgabe eines sequentiellen Ablaufs von Programmschritten in einen vergleichsweise späten Verfahrens- schritt bei der Generierung des Datenverarbeitungsprogramms verlegt ist. Insbesondere erfolgt die aufgabenspezifische
Auswahl und die Verknüpfung der Module 2 zunächst unabhängig von der letzten Endes einzuhaltenden sequentiellen Abfolge von Programmschritten. Dazu erfolgt die Auswahl und Verknüpfung der Module 2 über eine auf der Rechnereinheit 4 hinter- legte, in der Art einer Strukturliste ausgestaltete Zuord- nungstabelle 10.
Die Zuordnungstabelle 10 umfasst in der Art einer matrixartigen Organisation von Informationen in einer ersten Spalte 12 eine Liste der für das jeweilige Datenverarbeitungsprogramm zu aktivierenden Module 2, wobei jedes zu aktivie- rende Modul 2 mittels einer modulspezifischen Kennung hinterlegt ist. Weiterhin umfasst die Zuordnungstabelle 10 eine weitere Spalte 14, in der für jedes in der Spalte 12 genannte Modul 2 spezifiziert ist, welches Modul 2 beim Ablauf des Datenverarbeitungsprogramms nach dem Durchlauf des jeweiligen Moduls 2 als Nächstes aufzurufen ist. Weiterhin umfasst die Zuordnungstabelle 12. eine dritte Spalte 16, in der für jedes Modul 2 eine Anzahl von Parameterkennwerten hinterlegt ist, die an das jeweils nachfolgend aufzurufende Modul 2 als Eingangsgrößen für dieses Modul 2 zu übergeben sind.
Bei der Erstellung des Datenverarbeitungsprogramms wird zunächst auf der Grundlage der Zuordnungstabelle 10 jedem ausgewählten Modul 2 eine Kennung zugewiesen, die das nach Durchlauf des jeweiligen Moduls 2 aufzurufende nächste Modul 2 identifiziert. Weiterhin wird mittels der in der dritten Spalte 16 hinterlegten Parameterkennwerte vorgegeben, welche Eingangsdaten an das jeweils nächste aufzurufende Modul 2 zu übergeben sind.
Durch die Verwendung der Zuordnungstabelle 10 ist zunächst eine sequentielle Auflistung der zu verwendenden Module 2 nicht erforderlich. Vielmehr können in der Zuordnungstabelle 10 die zu verwendenden Module 2 in beliebiger Reihenfolge aufgelistet sein, ohne dass hierdurch Beeinträchtigungen bei der eigentlichen Erstellung des Datenverarbeitungsprogramms auftreten würden. Dadurch ist eine vergleichsweise hohe Flexibilität bei der Erstellung des Datenverarbeitungsprogramms durch geeignete Verknüpfung der Module 2 erreichbar. Insbesondere ist eine nachträgliche Bearbeitung oder Veränderung des Datenverarbeitungsprogramms auf besonders einfache Weise möglich, wobei eine grundlegende strukturelle Veränderung des Datenverarbeitungsprogramms bereits durch entsprechende Ände-
rung einer Zuordnung innerhalb der Zuordnungstabelle 10 erreichbar ist. Die eigentlich zu berücksichtigende sequentielle Abfolge aufeinander folgender Befehlssätze geschieht dabei lediglich durch eine IndividualZuordnung, bei der in der Zuordnungstabelle 10 jedem Modul 2 das nach diesem aufzurufende Modul 2 zugewiesen wird. In globaler Hinsicht, d. h. bezogen auf das gesamte zu erstellende Datenverarbeitungsprogramm, ist die sequentielle Abfolge einzelner Befehle erst in einem vergleichsweise späten Stadium, nämlich bei der Generierung eines ausführbaren Programms, erforderlich.