Zur Erstellung der Spezifikation von Prozessrechner-Software

Gegenstand dieser Arbeit ist ein System zur Entwicklung von Prozesrechner- Software, das den Ubergang von einer informalen Aufgabenstellung auf eine formale Spezifikation und die damit verbundene Strukturierung der Programme unterstutzen und so einen Beitrag zur Zuverlassigkeit der Software leisten soll. Nach einigen Voruberlegungen (2) werden die Konzepte entwickelt fur das Begriffssystem, das den Kern bildet (3 .1), fur die Spezifikationssprache (3.2), fur das Werkzeug zur Verarbeitung, Speicherung und Auswertung der Spezifikation (3.3) und fur das Verfahren, nach dem das System angewendet werden kann (3.4). Die Prazisierung der Sprache und die Implementierung des Werkzeugs werden beschrieben (4). Fur den Ubergang von der Spezifikation zum Programm wird ein Ansatz dargelegt (5). Es folgt ein groseres Beispiel (6). Die vollstandige Grammatik (7), Literaturverzeichnis (8) und eine Liste der Abkurzungen (9) stehen am Schlus. This is a report on a system far the development of process-control software. The system supports the transition from an informal description of a problem to a formal specification. That includes the structuring process, which has a strong influence on software reliability. Based on some preliminary discussion (2), a basic set of constructs is defined (3.1). The specification language (3.2) and a tool to process, store, and evaluate specifications (3 . 3) are described , and it is shown how to use the system (3.4). The language definition and the implementation of the tool are presented (4). For the transition from specification to actual code, a technique is outlined (5) . Finally, an example is gi ven (6). The complete syntax (7), the references (8) and a list of abbreviations (9) follow.

[1]  R. G. Stone,et al.  Program Construction , 1979, Lecture Notes in Computer Science.

[2]  David Lorge Parnas,et al.  On a 'Buzzword': Hierarchical Structure , 2001, IFIP Congress.

[3]  Barry W. Boehm,et al.  Some Steps Toward Formal and Automated Aids to Software Requirements Analysis and Design , 1974, IFIP Congress.

[4]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[5]  R. Baumann Interrupt handling in real-time control systems , 1972 .

[6]  Stephen N. Zilles,et al.  Specification techniques for data abstractions , 1975 .

[7]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[8]  Stephen H. Caine,et al.  PDL: a tool for software design , 1975, AFIPS '75.

[9]  Jean E. Sammet,et al.  An overview of nonprocedural languages , 1974 .

[10]  Ole Lehrmann Madsen,et al.  Extended Attribute Grammars , 1981, Comput. J..

[11]  Rudolf Lauber,et al.  EPOS : A Specification and Design Technique for Computer Controlled Real-time Automation Systems , 1979, ICSE.

[12]  S. Zeldin,et al.  Higher Order Software—A Methodology for Defining Software , 1976, IEEE Transactions on Software Engineering.

[13]  James F. Stay HIPO and Integrated Program Design , 1976, IBM Syst. J..

[14]  Manfred Broy Transformation parallel ablaufender Programme , 1980 .

[15]  David Lorge Parnas A technique for software module specification with examples , 1983, CACM.

[16]  Cornelis H. A. Koster,et al.  Visibility and types , 1976, Conference on Data: Abstraction, Definition and Structure.

[17]  David Lorge Parnas,et al.  Concurrent control with “readers” and “writers” , 1971, CACM.

[18]  Friedrich L. Bauer,et al.  Towards a wide spectrum language to support program specification and program development , 1978, SIGP.

[19]  Per Brinch Hansen,et al.  Concurrent Programming Concepts , 1973, CSUR.

[20]  C. A. Irvine,et al.  Automated Software Engineering Through Structured Data Management , 1977, IEEE Transactions on Software Engineering.

[21]  David A. Watt,et al.  An extended attribute grammar for Pascal , 1979, SIGP.

[22]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[23]  Hans-Rainer Schuchmann Programme aus Fertigteilen – oder: Ist ein „Baukasten-Ansatz“ als universelle Programmiertechnik praktisch sinnvoll? / Programs from ready-made parts – or: Is a ”module-approach“ really feasible as a universal programming technique? , 1977, Elektron. Rechenanlagen.

[24]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1959, Commun. ACM.

[25]  Robert Balzer,et al.  Principles of good software specification and their implications for specification languages , 1981, AFIPS '81.

[26]  Lorna L Cheng Program Design Languages-An Introduction. , 1978 .

[27]  R. Baumann Computer Aided Design and Implementation of Control Algorithms , 1978 .

[28]  W. S. Turner,et al.  System Development Methodology , 1974 .

[29]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

[30]  L.S. Hammond,et al.  A system for analysis and verification of software design , 1978, COMPSAC.

[31]  Daniel Teichroew Improvements in the System Cycle , 1974, IFIP Congress.

[32]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[33]  Jochen Ludewig,et al.  Überblick und Vergleich verschiedener Mittel für die Spezifikation und den Entwurf von Software , 1978 .

[34]  Jerome L. Uhrig System requirements specification for real-time systems , 1978, COMPSAC.

[35]  Friedrich L. Bauer,et al.  Program Development by Stepwise Transformations - The Project CIP. Appendix: Programming Languages under Educational and under Professional Aspects , 1978, Program Construction.

[36]  B. Taylor A Method for Expressing the Functional Requirements of Real-Time Systems , 1980 .

[37]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[38]  Niklaus Wirth,et al.  Modula: A language for modular multiprogramming , 1977, Softw. Pract. Exp..

[39]  Gregor von Bochmann,et al.  A Sampler of Formal Definitions , 1976, CSUR.

[40]  Mack W. Alford A Requirements Engineering Methodology for Real-Time Processing Requirements , 1977, IEEE Transactions on Software Engineering.

[41]  Helmut Balzert Vergleichende Betrachtung modularer Sprachkonzepte , 1978, Fachtagung über Programmiersprachen.

[42]  David Gries Some Comments on Programming Language Design , 1976, Fachtagung über Programmiersprachen.

[43]  Jürgen Nehmer The implementation of concurrency for a PL/I‐like language , 1979, Softw. Pract. Exp..

[44]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[45]  Glenford J. Myers,et al.  Structured Design , 1974, IBM Syst. J..

[46]  K. Appel,et al.  The Solution of the Four-Color-Map Problem , 1977 .

[47]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[48]  Leon Presser Multiprogramming Coordination , 1975, CSUR.

[49]  P. Brinch-Hansen,et al.  The programming language Concurrent Pascal , 1975 .

[50]  Michael Jackson,et al.  Principles of program design , 1975 .

[51]  Edward Yourdon Design of on-line computer systems , 1972 .

[52]  Richard Bornat,et al.  Top-down Syntax Analysis , 1979 .

[53]  Olivier Roubine The Design and Use of Specification Languages. , 1976 .