Skip to main content

An Overview of RDM: Rational Design Methodology

  • Conference paper
The Use of Formal Specification of Software

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 36))

  • 41 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. N. Levitt, “The SRI Hierarchical Development Methodology”, Proceedings, The Use of Formal Specifications of Software and Firmware, June 1979, West Berlin.

    Google Scholar 

  2. O. Roubine, and L. Robinson, Special Reference Manual, 3rd Edition, Standford Research Institute Technical Report CSG-45, Standford Research Institute (1977).

    Google Scholar 

  3. 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.

    Google Scholar 

  4. C. A. R. Hoare, “An Axiomatic Approach to Computer Programming”, CACM, vol. 12, no. 10 (October, 1969), pp. 576–580, 583.

    MATH  Google Scholar 

  5. J. Guttag, “Abstract Data Types and the Development of Data Structures”, CACM, vol. 20, no. 6 (June, 1977).

    Google Scholar 

  6. S. N. Zilles, Data Algebra: A Specification Technique for Data Structures, Ph. D. Thesis (forthcoming), Project MAC, Massachusetts.

    Google Scholar 

  7. 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).

    Google Scholar 

  8. 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).

    Google Scholar 

  9. W. P. Stevens, G. J. Myers, and L. L. Constantine, “Structured Design”, IBM Systems Journal, vol. 13, no. 2 (1974).

    Google Scholar 

  10. N. Wirth, Algorithms + Data Structure = Programs, Prentice-Hall.

    Google Scholar 

  11. Sigplan, “The GOTO Controversy”, SIGPLAN Notices, vol. 7, no. 11 (Special Issue on Control Structures in Programming Languages) (November 1972).

    Google Scholar 

  12. 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.

    Google Scholar 

  13. E. W. Dijkstra, “The Structure of the “THE” — Multiprogramming System”, CACM, vol. 11, no. 5 (May, 1968), pp. 341–346.

    MATH  Google Scholar 

  14. N. Wirth, “Program Development by Stepwise Refinement”, CACM, vol. 14, no. 4 (April, 1971), pp. 221–227.

    MATH  Google Scholar 

  15. 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.

    Google Scholar 

  16. D. L. Parnas, “On the Criteria to be Used in Decomposing Systems into Modules”, CACM, vol. 15, no. 5 (May, 1972).

    Google Scholar 

  17. IBM, HIPO: Design Aid and Documentation Tools, IBM SR20–9413–0, IBM Corporation, Poughkeepsie, NY (April, 1973).

    Google Scholar 

  18. 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).

    Google Scholar 

  19. 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.

    Article  Google Scholar 

  20. H. D. Mills, Chief Programmer Teams: Principles and Procedures, Report no. FSC 71–5108, IBM Federal System Division, Gaithersburg, MD (June, 1972).

    Google Scholar 

  21. F. T. Baker, “Chief Programmer Team: Management of Production Programming”, IBM Systems Journal, vol. 11, no. 1 (January, 1972).

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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).

    Google Scholar 

  24. 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.

    Google Scholar 

  25. D. L. Boyd, A. Pizzarello, S. C. Vestal, Rational Design Methodology — Final Report, Honeywell Corporate Technology Center, RADC-TR-78–208.

    Google Scholar 

  26. C. A. R. Hoare, “Proof of Correctness of Data Representation”, Acta Informatica, 1 (1972), pp. 271–281.

    Article  MATH  Google Scholar 

  27. 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).

    Google Scholar 

  28. E. W. Dijkstra, “Guarded Commands, Nondeterminancy, and Formal Derivation of Programs”, CACM, vol. 18, no. 8 (August 1975).

    Google Scholar 

  29. 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).

    Google Scholar 

  30. E. W. Dijkstra, A Discipline of Programming, Prentice-Hall, Inc., Englewood Cliffs, NJ (1976).

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics