The idea of an abstract data view (ADV) is that what is normally considered the abstract interface of an implementation module is separated into a different module called the abstract data view; as a result, the interface and the implementation become independently modifiable. In particular, it is possible to present the semantics implemented with an entirely different interface than originally conceived.
The paper describes the concept of ADV and shows how it supports greater modifiability of software. It describes a system decomposition method that finds suitable ADVs in a problem. The method and ADVs are illustrated in three brief examples: an electronic mail system, concurrency control, and distributed systems. The paper also suggests ways of implementing ADVs to support the desired modifiability.
I found this paper refreshing in its completeness. Not only does it present the ideas and a few clarifying examples, but it also describes completed large-scale projects in which the ideas were applied and found to be useful. It also evaluates the success of the application of the ideas and admits that there were some problems that need to be solved in future work.
Despite the minor problem of the authors’ frequent use of “’s” rather than just “s” to make plural forms of acronyms, the paper makes an important contribution and is must reading for anyone concerned with modular software design.