Abstraction, data types, and models for software

  • Authors:
  • Mary Shaw

  • Affiliations:
  • University of Maryland

  • Venue:
  • Proceedings of the 1980 workshop on Data abstraction, databases and conceptual modeling
  • Year:
  • 1980

Quantified Score

Hi-index 0.01

Visualization

Abstract

In the area of software development and maintenance, a major issue is managing the complexity of the systems. Programming methodologies and languages to support them have grown in response to new ideas about how to cope with this complexity. A dominant theme in the growth of methodologies and languages is the development of tools dealing with abstractions. An abstraction is a simplified description, or specification, of a system that emphasizes some of its details or properties while suppressing others. A good abstraction is one in which information that is significant to the reader (i.e., the user) is emphasized while details that are immaterial, at least for the moment, are suppressed. What we call “abstraction” in programming systems corresponds closely to what is called “modelling” in many other fields. It shares many of the same problems deciding which characteristics of the system are important, what variability (i.e., parameters) should be included, which descriptive formalism to use, how the model can be validated, and so on