Empirical Software Engineering and Verification
Hi-index | 0.00 |
When talking about data structures, whether local to a program or persistent over time, three different viewpoints are equally important. The first one is that of the user, who is interested in the external properties of a certain structure, more precisely, its noticeable behavior in response to outside effects (queries, requests for modifications, etc.). The second viewpoint is that of the language designer, who is in search of a small number of basic objects and building mechanisms which will allow for the description of complex objects in terms of simpler ones. The last view is that of the implementor, who must find efficient representations for the constructs thus described. Based on this remark, a three-level description of data structures has been used by the author in previous work [6, 7, 8]. The three levels may be called: