Skip to main content

Abstract Data Types and Program Design

  • Chapter
  • 66 Accesses

Part of the book series: Macmillan Computer Science Series

Abstract

A computer program (at an assembly-language level) can be informally defined as a sequence of instructions for a computer to perform a particular task. The exact form and sequencing of the instructions for a given task depend largely on the underlying architecture of a computer (physical machine). Writing a computer program therefore requires decisions on how to represent the task to be achieved in terms of the constructs of the architecture. However, more often than not, the formulation of a task as a specification is very different from its representation in terms of the architectural-level instructions. Such a disparity between these two levels of programming implies a considerable intellectual and organisational effort to produce a correct program for a task. In most cases, however, the organisational details are numerous and they become difficult to handle. To reduce the amount of such detailed organisational activity, we can define ‘idealised’ architectures on top of the machine architecture, and in this way we will provide a new framework for programmers so that they can express their requirements more easily and effectively. In this chapter we shall briefly discuss the main components of a program using an ‘assembly-language’-level architecture, and then describe a more idealised architecture which would accommodate higher-level constructs for certain programming elements: operation, control and data. The effect of using the new higher-level architecture is the removal of unnecessary details, which can be dealt with at a later stage in program development.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   59.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliographic Notes and Further Reading

  • Birtwistle, G. M. et al. (1973). SIMULA Begin, Auerback Press, Philadelphia, Pennsylvania.

    Google Scholar 

  • Burstall, R. M., MacQueen, D. B. and Sannella, D. T. (1980). ‘Hope: an experimental applicative language’, in Proceedings of 1980 Lisp Conference, Stanford, California, pp. 136–143.

    Google Scholar 

  • Dahl, O. J., Dijkstra, E. W. and Hoare, C. A. R. (1972). Structured Programming, Academic Press, London and New York.

    Google Scholar 

  • Ford, G. A. and Wiener, R. S. (1985). Modula-2: A Software Development Approach, Wiley, Chichester and New York.

    Google Scholar 

  • Guttag, J. V. and Horning, J. J. (1978). ‘The algebraic specification of abstract data type’, Acta Informatica, Vol. 10, pp. 27–52.

    Article  Google Scholar 

  • Guttag, J. V. et al. (1978). ‘Abstract Data Types and Software Validation’, CACM, Vol. 21, No. 12, December, pp. 1048–1064.

    Article  Google Scholar 

  • Jones, C. B. (1980). Software Development: A Rigorous Approach, Prentice-Hall, Englewood Cliffs, New Jersey.

    Google Scholar 

  • Liskov, B. et al. (1977). ‘Abstraction mechanisms in CLU’, CACM, Vol. 20, No. 8, pp. 564–576.

    Article  Google Scholar 

  • Martin, J. J. (1986). Data Types and Data Structures, Prentice-Hall, Englewood Cliffs, New Jersey.

    Google Scholar 

  • Milner, R. (1978). ‘A theory of type polymorphism in programming’, Journal of Computer and Systems Sciences, Vol. 17, No. 3, pp. 348–375.

    Article  Google Scholar 

  • Shaw, M. et al. (1977). ‘Abstraction and verification in ALPHARD: defining and specifying iteration and generators’, CACM, Vol. 20, No. 8, pp. 553–563.

    Article  Google Scholar 

  • Shipman, D. W. (1981). ‘The functional data model and the data language DAPLEX’, ACM TODS, Vol. 6, No. 1, March.

    Google Scholar 

  • Weiner, P. and Sincovec, R. (1983). Programming in ADA, Wiley, New York.

    Google Scholar 

  • Wirth, N. (1971). ‘Program Development by Stepwise Refinement’, CACM, Vol. 14, No. 4, pp. 221–227.

    Article  Google Scholar 

  • Wirth, N. (1982). Programming in Modula-2, Springer-Verlag, New York.

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Copyright information

© 1990 Manoochehr Azmoodeh

About this chapter

Cite this chapter

Azmoodeh, M. (1990). Abstract Data Types and Program Design. In: Abstract Data Types and Algorithms. Macmillan Computer Science Series. Palgrave, London. https://doi.org/10.1007/978-1-349-21151-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-1-349-21151-7_2

  • Publisher Name: Palgrave, London

  • Print ISBN: 978-0-333-51210-4

  • Online ISBN: 978-1-349-21151-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics