COMPOSING DATA & PROCESS DESCRIPTIONS IN THE DESIGN OF SOFTWARE SYSTEMS

  • Authors:
  • D. Jackson

  • Affiliations:
  • -

  • Venue:
  • COMPOSING DATA & PROCESS DESCRIPTIONS IN THE DESIGN OF SOFTWARE SYSTEMS
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

Two paradigms are dominant in software development, the data paradigm and the process paradigm. Our contention is that relying exclusively on either is counter-productive. In the data paradigm, a system is specified as operations acting on states. The process paradigm focuses on sequences of events. By analyzing two specifications for the same system, one in each paradigm, we show that the prime concerns of the approaches based on the data and process paradigms are state and sequencing respectively. Without explicit data, a system cannot take advantage of representation independence, a prerequisite of modularity; without sequencing notions, the components of a system cannot be connected in an abstract fashion. Fortunately, the qualities of the two paradigms are complimentary suggesting an approach that combines the two. We present a framework in which data and process specifications are combined formally. A series of small examples show how data and process specifications can be combined to build systems. We define formally what it means for an implementation to satisfy a specification, and we show a CLU implementation of one of our examples. Finally we outline a prescriptive notion of implementation in which the specification dictates the internal structure of the implementation.