{"title":"Data abstractions for data bases","authors":"M. Hammer","doi":"10.1145/800237.807118","DOIUrl":"https://doi.org/10.1145/800237.807118","url":null,"abstract":"The concept of abstract data types has emerged from programming language research as a device to encourage and facilitate structured and modular programming [1]. It separates the abstraction of a data object from its implementation. The user of an abstract data type only concerns himself with the behavioral semantics of the type: what meaningful operations can be applied to objects of the type; the internal representation and structure of the type is unknown to him. In this way, irrelevent detail is suppressed and meaningfulness of programs enhanced.\u0000 What application does this concept have to the area of data bases? There are some obvious similarities between the principle of abstraction and the concept of data independence of data bases [2]. Data independence means that application programs that utilize a data base do not need to know either the physical or the structural organization of the data base, but can relate to it purely on a logical plane. As with data abstractions, the goal is clarity and modifiability of programs, resulting from concentration on semantics rather than representation.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129164020","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An outline of a mathematical model for the definition and manipulation of data","authors":"Bengt Nordström","doi":"10.1145/800237.807112","DOIUrl":"https://doi.org/10.1145/800237.807112","url":null,"abstract":"This paper presents a constructive model for data which suggests some precise definitions of notions like type, name, constants, declarations etc. The model is based on an old idea of looking at data as a mapping from a set of names to a set of values. We will study two different kinds of assignments and also show how the model can be used to give some hints for new data structuring methods. In particular we have given a definition of a sequence and we have shown how this data structure can be used to give constructive definitions of structures like stacks, files and queues. We have also studied tree traversals i.e. the correspondence between various trees and sequences.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124893198","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On the use of bit maps for multiple key retrieval","authors":"O. Vallarino","doi":"10.1145/800237.807128","DOIUrl":"https://doi.org/10.1145/800237.807128","url":null,"abstract":"The traditional file structures used to support fast response to complex user queries have been based on the inverted list organization, using either the pointer or bit string representation. In this paper, the use of bit maps for executing multiple key searches is studied. Bit maps turn out to be less precise inverted lists Where the inversion is kept for a quantization of attribute domains and the objects referenced are blocks of data records. The goal is to reduce the total number of I/O accesses required to execute a retrieval based on a Boolean qualification. An evaluation of the method is given for both storage space and expected retrieval time under simplified assumptions. Key Words and Phrases: Multiple key retrieval, inverted lists, bit strings, bit maps, Boolean queries, data base management. CR Categories: 3.70, 3.71, 3.73, 3.74, 4.33, 4.34","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125731406","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A high-level data manipulation language for hierarchical data structures","authors":"Barron C. Housel, N. C. Shu","doi":"10.1145/800237.807134","DOIUrl":"https://doi.org/10.1145/800237.807134","url":null,"abstract":"In this paper we assert that the hierarchical view of data will continue to be popular for a broad class of applications and users. In particular, some of these applications require complex data manipulation which, heretofore, has been dealt with procedurally. In this light, a nonprocedural language, CONVERT, is proposed as a high-level DBMS interface. CONVERT is meant to provide users with a tool for performing complex data manipulation and query of hierarchical data abstractions, called “Forms”. Included in the paper are a description of the Form data abstraction and the CONVERT language, as well as a complete illustrative sample application.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131774451","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Visibility and types","authors":"C. Koster","doi":"10.1145/800237.807136","DOIUrl":"https://doi.org/10.1145/800237.807136","url":null,"abstract":"In this paper it is argued that there is a strong connection between the issue of abstract types and the more general issue of information hiding in large program systems, since abstraction has to be enforced by the careful and controlled hiding of details. In the first part of the paper, the notions of visibility and interface are discussed. In the second part, it is shown how, by careful control of visibility through interfaces, data abstraction can be achieved. Finally a comparison is made between this approach and the class approach.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133307715","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. Bubenko, S. Berild, Eva Lindencrona, S. Nachmens
{"title":"From Information Structures to DBTG Data Structures","authors":"J. Bubenko, S. Berild, Eva Lindencrona, S. Nachmens","doi":"10.1145/942574.807125","DOIUrl":"https://doi.org/10.1145/942574.807125","url":null,"abstract":"The problem of determining, analysis and description of a particular application's information structure (and relations) and the process of mapping the information structure to a “good” data structure (in this case a DBTG-type structure) is considered. The applicability of a top-down oriented design procedure to a relatively large practical data base design case is demonstrated. A conceptual framework and a notation to be used for determining and definition of information requirements, information structure and information relations is suggested. A systematic and partly formalized approach to map an information structure to a DBTG-type data structure is discussed. The problem of analysis and evaluation of alternative DBTG-type structures is also considered.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130952734","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The use of abstract data types to simplify program modifications","authors":"T. Linden","doi":"10.1145/800237.807113","DOIUrl":"https://doi.org/10.1145/800237.807113","url":null,"abstract":"If a program is structured using abstract data types as the basic unit of modularity, then that program is much easier to extend or modify. This thesis is illustrated by the staged development of a program to compute prime numbers based on the sieve of Eratosthenes. This paper includes an extensive introduction to the concept of abstract data types and can be used as a tutorial survey. It includes discussions on the use of abstract data types in connection with recent approaches to data abstractions, heirarchical structure, and program design. Abstract data types are an extension and modification of the traditional concept of data type. An abstract data type defines not only a data representation for objects of the type but also the set of operations that can be performed on objects of the type. Furthermore, the abstract data type can protect the data representation from direct access by other parts of the program.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123692939","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Research directions in abstract data structures","authors":"M. Shaw","doi":"10.1145/800237.807121","DOIUrl":"https://doi.org/10.1145/800237.807121","url":null,"abstract":"A number of interesting research problems arise from current attempts to incorporate abstraction mechanisms in programming languages. Some of them are central issues in current research projects and others are direct extensions of current work. Several problems in each of these areas are outlined below. A third section presents a series of speculations about how this work might evolve in the future.\u0000 Since this is supposed to be a session to spark research ideas, I have written brief descriptions of a number of topics and not delved very deeply into any one. Most of these problems can probably be solved in more than one way. Hence the fact that a problem is being worked on should not deter anyone from looking at it from another viewpoint.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124368681","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Abstract data types in the Model programming language","authors":"Robert T. Johnson, J. B. Morris","doi":"10.1145/800237.807116","DOIUrl":"https://doi.org/10.1145/800237.807116","url":null,"abstract":"The concept of an abstract data type is available in the Model programming language as a proposed improvement to current ideas of programming methodology. In structured programming the principal technique is refinement of procedures. In Model, the analogue is refinement of data types. An abstract data type consists of a data structure and an associated set of operations. The characteristics and suggested uses for this mechanism are discussed. Also presented are several examples culminating in a parallel version of the Fast Fourier Transform.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117073031","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A next step in data structuring for programming languages","authors":"Jim Mitchell, B. Wegbreit","doi":"10.1145/800237.807122","DOIUrl":"https://doi.org/10.1145/800237.807122","url":null,"abstract":"An abstraction provides a statement of the properties of a data type without any commitment to a specific implementation. Programs which use abstractions can be developed and verified without regard to how the abstraction will be realized. Any type which fulfills the requirements of the abstraction can be bound in its place without affecting the program's correctness or its proof.\u0000 In [4], the notion of a scheme as a model for a set of types is developed. A scheme is written as a module which takes normal values plus types as formal parameters. Instantiating a scheme with actual parameters yields a scheme instance which is a data type. For example, one can write a scheme for AVL trees [5] which takes the type of the keys in the tree as a parameter. An instance of this scheme, for example, AVL trees of strings, is a normal data type.","PeriodicalId":407603,"journal":{"name":"Conference on Data: Abstraction, Definition and Structure","volume":"29 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1976-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130372866","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}