Abstract
The Rational Design Methodology (RDM) is a software design method that has been derived from a collection of concepts, models, and techniques taken from ten or more years of reaearch on programming methodologies. RDM unifies this work into a systematic method for design and documentation of sequential programs. The unique features of RDM are:
-
The combined use of data abstraction and Dijkstra’s constructive approach to program design.
-
The encapsulation of objects, their abstract data types and programs by an abstract machine.
-
The structure of program design as a hierarchy of abstract machines representing refinements of abstract data types.
In this paper, we present an overview of RDM through a set of principles for structuring, specifying, constructing, an proving the design of data objects, programs, and abstract machines. The techniques of RDM which support the application of these principals to the individual design problems are outlined. A notation is developed for documenting the structure, specification, and detailed design sufficient for readability and correctness proof. A simple example of a partial design is used to illustrate the notions of RDM.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. N. Levitt, “The SRI Hierarchical Development Methodology”, Proceedings, The Use of Formal Specifications of Software and Firmware, June 1979, West Berlin.
O. Roubine, and L. Robinson, Special Reference Manual, 3rd Edition, Standford Research Institute Technical Report CSG-45, Standford Research Institute (1977).
R. W. Floyd, “Assigning Meanings to Programs”, Proceedings, Symposium in Applied Mathematics, vol. 19, J. T. Schwartz (ed.), American Mathematical Society, Providence, RI (1967), pp. 19–32.
C. A. R. Hoare, “An Axiomatic Approach to Computer Programming”, CACM, vol. 12, no. 10 (October, 1969), pp. 576–580, 583.
J. Guttag, “Abstract Data Types and the Development of Data Structures”, CACM, vol. 20, no. 6 (June, 1977).
S. N. Zilles, Data Algebra: A Specification Technique for Data Structures, Ph. D. Thesis (forthcoming), Project MAC, Massachusetts.
E. W. Dijkstra, “Notes on Structured Programming”, Structured Programming, O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, Academic Press, New York, NY (1972).
C. A. R. Hoare, “Notes on Data Structuring”, Structured Programming, O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare, Academic Press, New York, NY (1972).
W. P. Stevens, G. J. Myers, and L. L. Constantine, “Structured Design”, IBM Systems Journal, vol. 13, no. 2 (1974).
N. Wirth, Algorithms + Data Structure = Programs, Prentice-Hall.
Sigplan, “The GOTO Controversy”, SIGPLAN Notices, vol. 7, no. 11 (Special Issue on Control Structures in Programming Languages) (November 1972).
C. T. Zahn, “A Control Statement for Natural Top-Down Structured Programming”, Lecture Notes in Computer Science, No. 19 (Symposium on Programming Languages, Paris, France, 1974), Springer-Verlag, New York.
E. W. Dijkstra, “The Structure of the “THE” — Multiprogramming System”, CACM, vol. 11, no. 5 (May, 1968), pp. 341–346.
N. Wirth, “Program Development by Stepwise Refinement”, CACM, vol. 14, no. 4 (April, 1971), pp. 221–227.
H. D. Mills, “Top-Down Programming in Large Systems”, Debugging Techniques in Large Systems, R. Rustin (ed.), Prentice-Hall, Engelwood Cliffs, NJ (1971), pp. 41–55.
D. L. Parnas, “On the Criteria to be Used in Decomposing Systems into Modules”, CACM, vol. 15, no. 5 (May, 1972).
IBM, HIPO: Design Aid and Documentation Tools, IBM SR20–9413–0, IBM Corporation, Poughkeepsie, NY (April, 1973).
D. Teichrow, and E. A. Hershey, III, “PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems”, IEEE Transactions on Software Engineering, vol. SE-3, no. 1 (January, 1977).
D. T. Ross, and K. E. Schoman, Jr., “Structured Analysis for Requirements Definition”, IEEE Transactions on Software Engineering, vol. SE-3, no. 1 (January, 1977), pp. 6–15.
H. D. Mills, Chief Programmer Teams: Principles and Procedures, Report no. FSC 71–5108, IBM Federal System Division, Gaithersburg, MD (June, 1972).
F. T. Baker, “Chief Programmer Team: Management of Production Programming”, IBM Systems Journal, vol. 11, no. 1 (January, 1972).
R. Turn, M. R. Davis, and R. N. Reinstedt, “A Management Approach to the Development of Computer-Based Systems”, Proceedings, 2nd International Confernce on Software Engineering, San Francisco, CA (13–15 October, 1976), pp. 305–311.
D. L. Boyd, and A. Pizzarello: “Introduction to The WELLMADE Design Methodology”, 3rd Proceedings, International Conference on Software Engineering (May, 1975). Also in IEE Transactions on Software Engineering, vol. SE-4, no. 4 (July, 1978).
D. L. Boyd, A Pizzarello, and W. T. Wood, “Abstraction and Refinement in RDM”, Proceedings, The Use of Formal Specifications of Software and Firmware, (June, 1979), West Berlin.
D. L. Boyd, A. Pizzarello, S. C. Vestal, Rational Design Methodology — Final Report, Honeywell Corporate Technology Center, RADC-TR-78–208.
C. A. R. Hoare, “Proof of Correctness of Data Representation”, Acta Informatica, 1 (1972), pp. 271–281.
W. A. Wulf, R. L. London, and M. Shaw, “An Introduction to the Construction and Verification of ALPHARD Programs”, IEEE Transactions on Software Engineering, vol. SE-2, no. 4 (December, 1976).
E. W. Dijkstra, “Guarded Commands, Nondeterminancy, and Formal Derivation of Programs”, CACM, vol. 18, no. 8 (August 1975).
D. Gries, “An Illustration of Current Ideas on the Derivation of Correctness Proofs and Correct Programs”, IEEE Transactions on Software Engineering, vol. SE-2, no. 4 (December, 1976).
E. W. Dijkstra, A Discipline of Programming, Prentice-Hall, Inc., Englewood Cliffs, NJ (1976).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Boyd, D.L., Pizzarello, A., Wood, W.T. (1980). An Overview of RDM: Rational Design Methodology. In: Berg, H.K., Giloi, W.K. (eds) The Use of Formal Specification of Software. Informatik-Fachberichte, vol 36. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-67881-3_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-67881-3_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-10442-1
Online ISBN: 978-3-642-67881-3
eBook Packages: Springer Book Archive