Table Of ContentInformatik - Fachberichte
Band 1: Programmiersprachen. GI-Fachtagung 1976. Herausge Band 23: K.-H. Hauer, Portable Methodenmonitoren. Dialogsysteme
geben von H.-J. Schneider und M. Nagl. (vergriffen) zur Steuerung von Methodenbanken: Softwaretechnischer Aufbau
und Effizienzanalyse. XI, 209 Seiten. 1980.
Band 2: Betrieb von Rechenzentren. Workshop der Gesellschaft rur
Informatik 1975. Herausgegeben von A. Schreiner. (vergriffen) Band 24: N. Ryska, S. Herda, Kryptographische Verlahren in der
Datenverarbeitung. V. 401 Seiten. 1980.
Band 3: Rechnemetze und Datenfemveraribeitung. Fachtagung der
GI und NTG 1976. Herausgegeben von D. Haupt und H. Peiersen. Band 25: Prograrrmsprachen und Programmierentwicklung. 6.
VI, 309 Se~en. 1976. Fachtagung, Darmstadt, 1980. Herausgegeben von H.-J. Hoff
mann. VI. 236 Seiten. 1980
Band 4: Computer Architecture. Workshop of the Gesellschaft fUr
Informatik 1975. Ed~ed by W. Handler. VIII, 382 pages. 1976. Band 26: F. Gaffal, Datenverarbeitung im Hochschulbereich der
USA. Stand und Entwicklungstendenzen. IX, 199 Seiten. 1980.
Band 5: GI - 6. Jahrestagung. Proceedings 1976. Herausgegeben
von E. J. Neuhold. (vergriffen) Band 27: GI-NTG Fachtagung, Struktur und Betrieb von Rechen
systemen. Kiel, Marz 1980. Herausgegeben von G. Zimmermann.
Band 6: B. Schmidt, GPSS-FORTRAN, Version II. EinfUhrung in die IX, 286 Seilen. 1980.
Simulation diskreter Systeme mit Hilfe eines FORTRAN-Pro
grammpaketes, 2. Auflage. XIII, 535 Seiten. 1978. Band 28: Online-Systeme im Finanz- und Rechnungswesen.
Anwendergesprach, Berlin, April 1980. Herausgegeben von P.
Band 7: GMR-GI-GfK. Fachtagung Prozessrechner 1977. He Stahlknecht. X, 547 Seiten, 1980.
rausgegeben von G. Schmidt. (vergriffen)
Band 8: Dig~ale Bildverarbeitung/Digital Image Processing. Gil DBaGnadO 2-9: DEArGzeMu gTuanggu nugn, dE Assneanly, sMe avi o1n9 8B0i.l dHerenr auunsdg eSgetrbuekntu rveonn.
NTG Fachtagung, Miinchen, Marz 1977. Herausgegeben von H.-H.
S. J. Peppi und H. Platzer. VII, 215 Seiten. 1980.
Nagel. (vergriffen)
Band 9: Modelle fUr Rechensysteme. Workshop 1977. Heraus Band 30: Textveraribeitung und Informatik. Fachtagung der GI,
gegeben von P. P. Spies. VI, 297 Seiten. 1977. Bayreuth, Mai 1980. Herausgegeben von P. R. Wossidlo. VIII,
362 Seiten. 1980.
Band 10: GI-7. Jahrestagung. Proceedings 1977. Herausgegeben
von H. J. Schneider. IX, 214 Seiten. 1977. Band 31: Firmware Engineering. Seminar veranstaltet von der
gemeinsamen Fachgruppe "Mikroprogrammierung" des GI Fach
Band 11: Methoden der Informatik fUr Rechnerunterstiitztes Ent ausschusses 3/4 und des NTG-Fachausschusses 6 vom 12. - 14.
werlen und Konstruieren, GI-Fachtagung, Miinchen, 1977. Heraus Marz 1980 in Berlin. Herausgegeben von W. K. GilDi. VII, 289 Seiten.
gegeben von R. Gnatz und K. Samelson. VIII, 327 Se~en. 1977. 1980.
Band 12: Programmiersprachen. 5. Fachtagung der GI, Braull" Band 32: M. Kiihn, CAD Arbeitssituation. Untersuchungen zu den
schweig, 1978. Herausgegeben von K. Alber. VI, 179 Seiten. 1978. Auswirkungen von CAD sowie zur menschengerechten Gestaltung
Band 13: W. Steinmiiller, L. Ermer, W. Schimmel: Datenschutz bei von CAD-Systemen. VII, 215 Seiten. 1980.
riskanten Systemen. Eine Konzeption entwickelt am Beispiel eines
Band 33: GI-10. Jahrestagung. Herausgegeben von R. Wilhelm.
medizinischen Informationssystems. X, 244 Seiten. 1978.
XV, 563 Seiten. 1980.
Band 14: Datenbanken in Rechnernetzen mil Kleinrechnern. Fach
tagung der GI, Karlsruhe, 1978. Herausgegeben von W. Stucky und Band 34: CAD-Fachgesprach. GI -10. Jahrestagung. Heraus
E. Holler. (vergriffen) gegeben von R. Wilhelm. VI, 184 Seiten. 1980.
Band 15: Organisation von Rechenzentren. Workshop der Gesell Band 35: B. Buchberger, F. Lichtenberger: Mathematik fUr Infor
schaft fUr Informatik, Gettingen, 1977. Herausgegeben von D. Wall. matiker I. Die Methode der Mathematik. XI, 315 Seiten. 1980.
X, 310 Seiten. 1978.
Band 36: The Use of Formal Specification of Software. Berlin,
Band 16: GI - 8. Jahrestagung, Proceedings 1978. Herausgegeben Juni 1979. Edited by H. K. Berg and W. K. Giloi. V, 388 pages. 1980.
von S. Schindler und W. K. Giloi. VI, 394 Seilen. 1978.
Band 37: Enlwicklungstendenzen wissenschaftlicher Rechen
Band 17: Bildverarbeitung und Mustererkennung. DAGM Sympo zentren. Kolloquium, Gettingen, Juni 1980. Herausgegeben von
sium, Oberpfaffenhofen, 1978. Herausgegeben von E. Triendl. XIII, D. Wall. VII, 163 Seiten. 1980.
385 Seiten. 1978.
Band 38: Datenveraribeitung im Marketing. Herausgegeben von
Band 18: Virtuelle Maschinen. Nachbildung und Vervielfachung R. Thome. VIII, 377 pages. 1981.
maschinenorientierter Schnittstellen. GI-Arbeitsseminar. Miinchen
1979. Herausgegeben von H. J. Siegert. X, 230 Seiten. 1979. Band 39: Fachlagung ProzeBrechner 1981. Miinchen, Marz 1981.
Herausgegeben von R. Baumann. XVI, 476 Seiten. 1981.
Band 19: GI - 9. Jahrestagung. Herausgegeben von K. H. BOhling
und P. P. Spies. (vergriffen) Band 40: Kommunikation in vertei~en Systemen. Herausgegeben
von S. Schindler und J.C.w. SchrOder. IX, 459 Seiten. 1981.
Band 20: Angewandte Szenenanalyse. DAGM Symposium, Karls
ruhe 1979. Herausgegeben von J. P. Foith. XIII, 362 Seiten. 1979. Band 41: Messung, Modellierungund Bewertung von Rechen
systemen. GI-NTG Fachlagung. Jiilich, Februar 1981. Heraus
Band 21: Formale Modelle fUr Informationssysteme. Fachtagung gegeben von B. Mertens. VIII, 368 Seilen. 1981.
der GI, Tutzing 1979. Herausgegeben von H. C. Mayr und B. E.
Meyer. VI, 265 Seiten. 1979. Band 42: W. Kilian, Personalinformationssysteme in deutschen
GroBunternehmen. XV, 352 Seilen. 1981.
Band 22: Kommunikation in vertemen Systemen. Workshop der
Gesellschaft fUr Informatik e.V. . Herausgegeben von S. Schindler Band 43: G. GODS, Werkzeuge der Programmiertechnik. GI-Arbeits
und J. C. W. SchrOder. VIII, 338 Seiten. 1979'. tagung. Proceedings, Karlsruhe, Marz 1981. VI, 262 Seiten. 1981.
In formatik -Fa chberichte
Herausgegeben von W. Brauer
im Auftrag der Gesellschaft fur Informatik (GI)
53
Programmiersprachen
und Programmentwicklung
7. Fachtagung, veranstaltet vom Fach
ausschuB 2 der GI
Munchen, 9,/10. Marz 1982
Herausgegeben von Hans Wessner
Springer-Verlag
Berlin Heidelberg New York 1982
Herausgeber
Hans W6ssner
Institut fUr Informatik, Technische UniversiUit MOnchen
Postfach 202420, 8000 MOnchen 2
CR Subject Classifications (1981): 4.0, 4.1, 4.2, 4.6, 5.23, 5.24, 6.21
ISBN-13:978-3-540-11204-4 e-ISBN-13:978-3-642-68355-8
DO I: 10 .1007/978-3-642-68355-8
CIP-Kurztitelaufnahme der Deutschen Bibliothek
Programmiersprachen und Programmentwicklung:
Fachtagung d. Fachausschusses 2 d. GI. - Berlin; Heidelberg; New York: Springer
Bis 5 u.d.l: Programmiersprachen
7. Munchen, 9,/10. Marz 1982. - 1982. - 243 S. (Informatik-Fachberichte; 53)
NE: Gesellschaft fUr Informatik / Fachausschuss Programmiersprachen; GT
This work is subject to copyright. All rights are reserved, whether the whole or part of the material
is concerned, specifically those of translation, reprinting, re-use of illustrations, broadcasting,
reproduction by photocopying machine or similar means, and storage in data banks. Further, storage
or utilization of the described programms on date processing installations is forbidden without the
written permission of the author. Under § 54 of the German Copyrigllt Law where copies are made
for other than private use, a fee is payable to "Verwertungsgesellschaft Wort", Munich.
© by Springer-Verlag Berlin Heidelberg 1982
2145/3140-543210
Vorwort
Dieser Band enthalt die Beitrage zur Fachtagung "Programmiersprachen
und Programmentwicklung", 9. und 10. Marz 1982 in Mlinchen. Die Tagung
ist die siebte in der Reihe der Fachtagungen, die der FachausschuB 2
"Programmiersprachen und Programmentwicklung" der Gesellschaft fUr In
formatik veranstaltet und deren erste 1971 ebenfalls in MUnchen statt
gefunden hat. Dazwischen liegen SaarbrUcken (1972), Kiel (1974), Er
langen (1976), Braunschweig (1978) und Darmstadt (1980). Ziel dieser
Fachtagungen war und ist es, den jeweils aktuellen Stand des Fachge
biets darzustellen, neuere Entwicklungen aufzuzeigen und den Erfahrungs
austausch zwischen Forschern und Anwendern zu fordern.
Die Erweiterung der frUheren Bezeichnung "Programmiersprachen" des
Fachausschusses (und seiner ersten fUnf Fachtagungen) tragt der in den
letzten J,ahren gewachsenen Einsicht Rechnung, daB sprachliche und me
thodische Fortschritte in der Programmierung nur gemeinsam erzielt wer
den konnen. Dieses umfassendere Selbstverstandnis des Fachgebiets, wie
auch die zunehmende Annaherung von Forschung und Anwendung kommen gera
de in der,Gesamtheit der vorliegenden Beitrage deutlich zum Ausdruck.
Auf eine thematische Untergruppierung wurde deshalb verzichtet. Die An
ordnung der Vortrage entspricht ihrer Reihenfolge im Tagungsprogramm.
Vorgezogen wurden lediglich die Hauptvortrage, in denen anerkannte Ex
perten richtungweisend Uber neuere Entwicklungen in Theorie und Praxis
berichten. Wahrend von einem der Hauptvortrage bei Drucklegung leider
nur die Zusammenfassung vorlag, traf das Manuskript von Professor Turski,
Universitat Warschau, - in der gegenwartigen Krise eigentlich wider Er
warten - noch rechtzeitig ein.
DaB aus den Mitgliedern des Fachausschusses 2 bestehende Programmkomitee,
K. Alber, TU Braunschweig
U. Ammann, Contraves, ZUrich
H. Gerstmann, IBM, Boblingen
P. Gorny, U Oldenburg
C. Haenel, Siemens, Mlinchen
w. Henhapl, TH Darmstadt
H.-J. Hoffmann, TH Darmstadt
G. MUBtopf, SCS, Hamburg
J. Nehmer, U Kaiserslautern
J. Schneider, U Erlangen-NUrnberg
H~
IV
c. v. Urach, Daimler-Benz, Stuttgart
H. Wessner, TU Mlinchen (Vorsitz),
hat es sich nicht leicht gemacht, aus insgesamt 41 eingegangenen Vor
tragsanrneldungen die hier abgedruckten 13 Beitrage auszuwahlen. Es hat
sich dabei auch auf zusatzliche Gutachten jeweils ausgewahlter Spezia
listen auBerhalb des Prograrnrnkomitees (siehe unten) gestlitzt.
Der Dank der Veranstalter gilt zunachst der Technischen Universitat
Mlinchen und den Direktoren des Instituts flir Informatik, die als Gast
geber die Durchflihrung der Tagung wesentlich unterstlitzen. Er gilt so
dann den Vortragenden, den Gutachtern und allen librigen, die sich urn
das Gelingen der Tagung bemliht haben. SchlieBlich danken wir dem
Springer-Verlag flir die gute Zusarnrnenarbeit bei der kurzfristigen Her
stellung dieses Tagungsbands.
Mlinchen, im Januar 1982 Hans Wessner
Gutachter
Das Programmkomitee dankt den folgenden Damen und Herren fur ihre
UnterstUtzung bei der Begutachtung der eingereichten Arbeiten:
B. AustermUhl, Darmstadt
G. Barth, Kaiserslautern
J. Bergmann, Darmstadt
M. Broy, MUnchen
W. Dosch, MUnchen
J. Eickel, Munchen
A. Endres, Boblingen
F. Geiselbrechtinger, Dublin
L. Geissmann, ZUrich
G. Goos, Karlsruhe
Ch. Herzog, Munchen
U. Hill-Samelson, MUnchen
Ch. Jacobi, ZUrich
J.L. Keedy, Clayton, Victoria (Australien)
H. Klaeren, Aachen
S.E. Knudsen, ZUrich
B. Krieg-BrUckner, MUnchen
H.H. Kron, Darmstadt
I. Kupka, Hamburg
A. Laut, MUnchen
J. Ludewig, Baden (Schweiz)
R. Lutze, Darmstadt
E. Marmier, Zurich
T.A. Matzner, Munchen
O. Mayer, Kaiserslautern
B. Moller, MUnchen
F. Muheim, ZUrich
M. Nagl, Osnabrtick
H. Oberquelle, Hamburg
A. Reiser, MUnchen
W. RUb, MUnchen
H. Sandmayr, Dattwil (Schweiz)
R. Schild, Zug
R. SteinbrUggen, MUnchen
M. Tienari, Helsinki
R. Wilhelm, SaarbrUcken
G. Winkler, Darmstadt
G. Winterstein, Karlsruhe
M. Wirsing, MUnchen
Inhaltsverzeichnis
H A U P T V 0 R T R ~ G E
W. M. Turski
A View of Current Concerns in Software Engineering
P. C. Treleaven
Towards a Decentralised General-Purpose Computer 21
G. Paul
Directions and Trends in FORTRAN (Abstract) 32
H. Hunke
Findet Ada zuruck nach Europa ? 33
v
E I N G ERE I C H T E 0 R T R ~ G E
R. Gnatz
Funktionelle Spezifikation interaktiver Systeme und
ihre Zerlegung in Teilsysteme 45
H.-E. Sengler
Programmieren mit graphischen Mitteln:
Die Sprache GRADE und ihre Implementation 67
L. Hirschmann
Ein System zur rechnerunterstutzten Spezifikation 79
H. Muller-Merbach
Projektorganisation nach dem Komponentenkonzept 93
R. Gotzhein, S. Keramidis, M. ReitenspieB
A Case Study in Developing Reliable Software:
The Construction of a Buffer Management System Used in
Network Communication 105
H. Partsch, A. Laut
From Requirements to their Formalization - A Case Study
on the Stepwise Development of Algebraic Specifications 117
T. M. Schunemann, W. Ullmer
Generierung von Programmen fur kommerzielle Anwendungen
auf Kleinrechnern 133
R. Wilhelm
LL- and LR-Attributed Grammars 151
B. Bohringer, H. Feuerhahn
Static Semantic Checks of Global Variables in a
Procedural Language 165
VIII
R. Giegerich
A Formal Model of Instruction Set Semantics 177
K. H. Sturm
System- und Sprachentwicklung fUr die Verfahrenstechnik
auf der Basis abstrakter Maschinen 191
E. Bertsch
Modularer Mustervergleich im Rahmen prozeduraler
Programmierung 209
J. Grosch
A Language for Set-Theoretic Concepts Implemented by
Microprogrammed Associative Memory Instructions 221
Anschriften der Autoren 237
A View of Current Concerns in Software Engineering
Wladyslaw M. Turski
Institute of Informatics
Warsaw University
By puttin' two and two together, you get
an answer, and it don't seem to be the
right one.
Earle Stanley Gardner, The Clue of the
Runaway Blonde.
A Retrospective
When the term "software engineering" was launched over a decade ago, the software
scene was dominated by concerns with (what I would like to call) static problems
of computer programming. The main ctaracteristics of these concerns is the ex
plioit or implioit assumption that a program (or a suit of programs, ie. a system)
is always being written for a olearly defined purpose whioh oan be considered as
an immutable frame of referenoe for the process of programming, as well as for
"measuring" the qualities of its results, ie. of finished programs.
Most of the statio problems of programming have been satisfaotorily resolved.
This is not to say that the disoovered solutions are as widely applied as they
oould be, nor that they neoessarily provide ready-to-use universal tools making
the day-to-day programming effortless. The nature of these solutions -- as, of
oourse, of the problems themselves -- is methodologioal rather than teohnioal,
a distinotion often overlooked, sometimes, one suspeots, quite intensionally (as
when, eg., oomplaints are being voioed that the application of the stepwise re-
finement method to a single programming task may result in several quite diffe
rent end-produots, or, indeed, that the very steps through whioh the program
2
development progresses could vary from case to case, depending on idiosyncrasies
of persons engaged in programming).
Perhaps the most significant methodological breakthrough in static problems of
programming occurred when it was realized that the notion of program correctness
could be made sufficiently precise to allow replacing qualitative correctness ar
guments based on (necessarily incomplete) empirical evidence by calculable correc
tness analyses based on (verifiably consistent and complete) set of simple rules.
It is with the Floyd-Naur-Hoare notion of program correctness that the definitive
statement of the program's purpose, i.e. its static specification, gained the cen
tral place in software engineering.
As soon as the sentence "a program is considered correct if it meets its specifi
cation" assumes an analytic meaning we can start playing a number of interesting
intellectual games, all of them improving our understanding of what is going on
in programming.
Indeed, let us assume that the specification is given as a pair of predicates, IN
and OUT, defined on certain spaces X and Y. Elements of X are referred to as ini
tial states, elements of Y -- as final states. No assumption with respect to the
intersection X1 '\ Y is made, in particular, it is explicitly not excluded that
Xf'lY ~ ¢. In order to include some theoretically interesting cases in our consi
derations, let us formally extend Y by a special element 8. called the transfinal
!83.
state, and denote YC = Y U A program is considered to be a (perhaps partial)
function p: X -~ YC. A program is said to meet the specification (IN,OUT) iff
(Ax) (IN(x):;, p(x) is defined and OUT(p(x)) 0)
(Throughout this paper, wherever we write p(x):;> Q(x) we restrict our considera
tions to such x only that both sides of the implication are defined; exceptions
to this convention shall be explicitly mentioned.)
For most practical applications OUT(y)~ y ~ 8 ~ FOUT(y), where cand stands for
the "conditional and" (ie. P cand Q. = ~ if both P and Q are defined and ~,
P cand Q is undefined if P is undefined or when P is true but Q, is undefined,
P cand Q = false in all other cases). The predicate IN is often called the pre
condition, predicate OUT -- postcondition, and FOUT -- finite postcondition.