Toward higher-level abstractions for software systems

Date of Original Version



Conference Proceeding

Rights Management

Can archive pre-print and post-print or publisher's version/PDF Important: Although publishers have default policies, individual journals may have special permissions, especially if they involve other organisations or have paid open access options. Always run a journal title or ISSN search to check.

Abstract or Description

Software now accounts for most of the cost of computer-based systems. Over the past thirty years, abstraction techniques such as high level programming languages and abstract data types have improved our ability to develop software. However, the increasing size and complexity of software systems have introduced new problems that are not solved by the current techniques. These new problems involve the system-level design of software, in which the important decisions are concerned with the kinds of modules and subsystems to use and the way these modules and subsystems are organized. This level of organization, the software architecture level, requires new kinds of abstractions. These new abstractions will capture essential properties of major subsystems and the ways they interact.


Revised version: "Larger-Scale Systems Require Higher-Level Abstractions"

M. Shaw. IWSSD '89: Proceedings of the 5th international workshop on Software specification and design,page 143--146. New York, NY, USA, ACM, (1989)