This paper describes the behavioral specification and implementation of Collections, Tuples and Iterators in the Encore objectoriented Database system. The concept of Collection as a set of instances provides the basis on which reference of objects in persistent storage may be performed. Type Collection supports operations for Encore queries and maintain Btree as an index. We created a Btree as an abstract type in Encore. A query languge retrieves and manipulate objects in collections. Since the properties of existing types may not reflect all relationships in a database, some query operations create new relationships. The Tuple type is also created to store new relations produced by query results. We defined Collection and Tuple types as parameterized types. As in most programming languages, Iteration methods are useful to allow users to iterate over an arbitrary collection of objects. We defined an iteration type, Iterator as an abstract type, to be applied to any collections. 1
Timothy J. WaltzDavid C. YenSooun Lee