Composing Data and Process Descriptions in the Design of Software Systems.
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 complementary, suggesting an approach that combines the two. We present a framework in which 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. (kr)
Document Details
- Document Type
- Technical Report
- Publication Date
- May 01, 1988
- Accession Number
- ADA198096
Entities
People
- Daniel Jackson
Organizations
- Massachusetts Institute of Technology