In der Beschreibung des Programmerstellungsprozesses werden häufig unterschiedliche Begriffe für dasselbe Objekt verwendet. Beispielsweise wird das Resultat eines Compilerlaufs als „Objektmodul“ bezeichnet, während für den Binder dasselbe Objekt ein „Bindemodul“ (= „zu bindendes Modul“) ist.
Die Verwendung der komponentenspezifischen Begriffe ist sinnvoll, kann aber beim Leser des Handbuchs zur terminologischen Verunsicherung führen. Um dem vorzubeugen, sind nachfolgend die wichtigsten synonym verwendeten Begriffe erklärt.
Bindemodul, Objektmodul, Großmodul
Der Begriff „Bindemodul“ fasst die beiden Begriffe „Objektmodul“ und „Großmodul“ zusammen.
Objektmodule und Großmodule sind gleichartig aufgebaut und werden im gleichen Format abgelegt (Objektmodulformat). In PLAM-Bibliotheken sind sie Elemente vom Typ R.
Objektmodule erzeugt der Compiler bei der Übersetzung von Übersetzungseinheiten.Großmodule, auch „vorgebundene Module“ genannt, erzeugt der Binder TSOSLNK. In einem Großmodul sind mehrere Objekt- bzw. Großmodule in einem einzigen Modul zusammengefasst.
Bindemodule können vom statischen Binder TSOSLNK, vom dynamischen Bindelader DBL oder vom Binder BINDER weiterverarbeitet werden.
Modul, Objektmodul, Bindelademodul
„Modul“ ist der Oberbegriff für das Ergebnis der Übersetzung eines Übersetzungsprogramms durch den COBOL2000-Compiler. „Objektmodul“ ist ein Modul im OM-Format, „Bindelademodul“ ist ein Modul im LLM-Format.
Ablauffähiges Programm, Programm, Lademodul, Objektprogramm
Ein ablauffähiges Programm, in diesem Handbuch auch kurz „Programm“ genannt, wird von den Bindern erzeugt und z.B. in PLAM-Bibliotheken unter dem Typ C abgelegt. Im Unterschied zu Bindemodulen können ablauffähige Programme nicht vom Binder TSOSLNK weiterverarbeitet werden, sondern werden vom (statischen) Lader in den Speicher geladen.
In anderer Dokumentation wird für ablauffähige Programme oft synonym der Begriff „Lademodul“ verwendet. Technisch gesehen ist jedoch ein Lademodul eine ladbare Einheit innerhalb eines Programms. Ein segmentiertes Programm besteht z.B. aus mehreren Lademodulen.
Das Synonym „Objektprogramm“ für Lademodul kann in der COBOL-Terminologie zu Missverständnissen führen: Im COBOL-Standard wird, ohne auf die herstellerspezifische Not-wendigkeit eines Bindelaufs einzugehen, als Objektprogramm bereits das vom COBOL-Compiler erzeugte Kompilat bezeichnet.
Auftrag (Job), Task, Prozess
Ein Auftrag (Job) ist die Folge von Kommandos, Anweisungen etc., die zwischen den Kommandos SET-LOGON-PARAMETERS und EXIT-JOB (bzw. LOGOFF) angegeben werden. Es wird zwischen Stapelaufträgen (ENTER-Jobs) und Dialogaufträgen unterschieden.
Ein Auftrag wird zu einer Task, wenn ihm Systemressourcen (CPU, Speicher, Geräte) zugeteilt werden. Im Dialogbetrieb wird ein Auftrag zu einer Task, sobald das -SET-LOGON-PARAMETERS-Kommando akzeptiert ist.
Als Prozesse werden die innerhalb einer Task ablaufenden Aktivitäten, z.B. Programmabläufe, bezeichnet.
In der Vergangenheit wurde für die Begriffe „Task“ bzw. „Auftrag“ oft synonym der Begriff „Prozess“ verwendet. Im Handbuch werden die oben erklärten Begriffe verwendet. Die Formulierung „bei Prozessende“ bedeutet also: bei Beendigung eines Programmablaufs. Mit „Taskende“ ist der Zeitpunkt nach dem EXIT-JOB- bzw. LOGOFF-Kommando gemeint. Statt des Begriffs „Prozessschalter“ wird der Begriff „Auftragsschalter“ verwendet.
Übersetzungsgruppe
Compilation Group
Eine Folge von Übersetzungseinheiten, die zusammen übersetzt werden.
Übersetzungseinheit
compilation unit
Eine Quelleinheit, die nicht in anderen Quelleinheiten geschachtelt sein kann (Programm-Prototyp, Progammdefinition, Klassendefinition und Interface-Definition). Dies sind die Elemente einer Übersetzungsgruppe. Sie sind separat übersetzbar.
Quelleinheit
source unit
Eine Anweisungsfolge, die mit einer Identification Division beginnt und mit einem zugehörigen END-Eintrag schließt (kann geschachtelt sein).