scispace - formally typeset
Search or ask a question

Showing papers on "Object (computer science) published in 1990"


Book
01 Jan 1990
TL;DR: This chapter discusses the development of Object-Oriented Programming Languages and the Structure of Complex Systems, and the role of Classification in this development.
Abstract: I. CONCEPTS. 1. Complexity. The Inherent Complexity of Software. The Structure of Complex Systems. Bringing Order to Chaos. On Designing Complex Systems. Sidebar: Categories of Analysis and Design Methods. 2. The Object Model. The Evolution of the Object Model. Elements of the Object Model. Applying the Object Model. Sidebar: Foundations of the Object Model. 3. Classes and Objects. The Nature of an Object. Relationships Among Objects. The Nature of a Class. Relationships Among Classes. The Interplay of Classes and Objects. On Building Quality Classes and Objects. Sidebar: Invoking a Method. 4. Classification. The Importance of Proper Classification. Identifying Classes and Objects. Key Abstractions and Mechanisms. Sidebar: A Problem of Classification. II. THE METHOD. 5 .The Notation. Elements of the Notation. Class Diagrams. State Transition Diagrams. Object Diagrams. Interaction Diagrams. Module Diagrams. Process Diagrams. Applying the Notation. 6 .The Process. First Principles. The Micro Development Process. The Macro Development Process. 7. Pragmatics. Management and Planning. Staffing. Release Management. Reuse. Quality Assurance and Metrics. Documentation. Tools. Special Topics. The Benefits and Risks of Object-Oriented Development. III. APPLICATIONS. 8. Data Acquisition: Weather Monitoring Station. Analysis. Design. Evolution. Maintenance. Sidebar: Weather Monitorint Station Requirements. 9. Frameworks: Foundation Class Library. Analysis. Design. Evolution. Maintenance. Sidebar: Foundation Class Library Requirements. 10. Client/Server Computing: Inventory Tracking. Analysis. Design. Evolution. Maintenance. Sidebar: Inventory Tracking System Requirements. 11. Artificial Intelligence Cryptanalysis. Analysis. Design. Evolution. Maintenance. Sidebar: Cryptanalysis Requirements. 12. Command and Control Traffic Management. Analysis. Design. Evolution. Maintenance. Sidebar: Traffic Management System Requirements. Afterword. Appendix: Object-Oriented Programming Languages. A.1 Concepts. A.2 Smalltalk. A.3 Object Pascal. A.4 C++. A.5 Common Lisp Object System. A.6 Ada. A.7 Eiffel. A.8 Other Object-Oriented Programming Languages. Notes. Glossary. Classified Bibliography. A. Classification. B. Object-Oriented Analysis. C. Object-Oriented Applications. D. Object-Oriented Architectures. E. Object Oriented Databases. F. Object-Oriented Design. G. Object-Oriented Programming. H. Software Engineering. I. Special References. J. Theory. K. Tools and Environments. Index. 0805353402T04062001

3,216 citations


Book
01 Jan 1990
TL;DR: A complete implementation guide to a new requirements analysis technique, based on an object-oriented paradigm, offering numerous case studies and step-by-step examples.
Abstract: Introduction. 1. Improving Analysis with Object-Oriented Techniques. 2. Experiencing an Object Perspective. 3. Identifying Objects. 4. Identifying Structures. 5. Identifying Subjects. 6. Defining Attributes. 7. Defining Services. 8. Moving to Object-Oriented Design.

1,708 citations


Journal ArticleDOI
18 Jan 1990-Nature
TL;DR: In this article, a method based on the theory of approximation of multivariate functions is proposed to learn from a small set of perspective views a function mapping any viewpoint to a standard view.
Abstract: THE visual recognition of three-dimensional (3-D) objects on the basis of their shape poses at least two difficult problems. First, there is the problem of variable illumination, which can be addressed by working with relatively stable features such as intensity edges rather than the raw intensity images1,2. Second, there is the problem of the initially unknown pose of the object relative to the viewer. In one approach to this problem, a hypothesis is first made about the viewpoint, then the appearance of a model object from such a viewpoint is computed and compared with the actual image3–7. Such recognition schemes generally employ 3-D models of objects, but the automatic learning of 3-D models is itself a difficult problem8,9. To address this problem in computational vision, we have developed a scheme, based on the theory of approximation of multivariate functions, that learns from a small set of perspective views a function mapping any viewpoint to a standard view. A network equivalent to this scheme will thus 'recognize' the object on which it was trained from any viewpoint.

889 citations


01 Feb 1990
TL;DR: The dimensions concept can be justified by pointing to areas where progress is slow, as I have done above; or by criticising existing systems, or by raising design issues in relation to present growth areas.
Abstract: classificatory schemes need to be justified in concrete terms. The dimensions concept can be justified by pointing to areas where progress is slow, as I have done above; or by criticising existing systems; or by raising design issues in relation to present growth areas. Let’s take the last, and look at OOPS. Object-oriented systems have been praised as resolving some cognitive problems (Rosson & Alpert 1988), at least in principle. I take no issue with that, but are they adequately usable yet? A fundamental claim in this paper is that system = notation + environment. Research papers on OOPS, however, offer a myriad new languages, with different ideas about the semantics of inheritance, etc., but say very little about environments. Here are some questions arising from the preceding discussion, with remarks relating to one OOPS, Smalltalk-80. I shall take the five dimensions I have described in order. 1. Are there hidden dependencies and one-way links in the structure? Smalltalk-80 scores fairly well here; most relationships can be browsed in both directions, although there are times when it would nice to make dependencies more immediately visible without having to search for them, so that they could at as reminders. However, there is little support in searching for ill-specified targets. “I want something that handles a bitmap, what can I find?” Nor is it easy to find out what kind of object can fill an instance variable slot in a method. 2. If the inheritance hierarchy viscous, or is it easy to reconstruct in a different fashion? The inheritance structure lends to be viscous. For instance, given a class Animal with many sub-classes Trout, Herring, Minnow, etc.. inserting a new class Fish between Animal and its subclasses requires many operations (add a new subclass, Fish, to Animal; move Trout to Animal, etc.) Moreover, changing the inheritance hierarchy normally means changing the pattern of class and instance variables in the hierarchy — our new class, Fish, will contain information relevant to all its subclasses, and this information will have to he extracted from its previous position in the hierarchy and brought together under the new heading. 3. Is the generative order adequately decoupled? Not in Smalltalk-80, where inheritance hierarchies must be created top-down. We lack at present any published evidence on how Smalltalk programmers work, but experts have criticised this aspect in precisely the terms I would expect, namely that when designing the inheritance hierarchy the mental order in which steps are generated is not top-down, so that the effect of the environment’s insistence on top-down working is constrictive (Goldstein & Bobrow 1981; LaLonde 1987). LaLonde’s description is that the expert first designs a specific data type, by focussing on a useful set of operations, and then that data type is positioned in a logical hierarchy. 4. Is it role-expressive? Again, not adequately; although the purpose of object-oriented programming is to clarify relations between parts of programs, one finds that relationships between methods are obscure. The only browsers provided operate on

556 citations


Patent
14 Dec 1990
TL;DR: A translator for translating objects defined in Abstract Syntax Notation (ASN) such as ASN.1 to a relational database schema as mentioned in this paper allows persistent storage of object instances as records in relational database.
Abstract: A translator for translating objects defined in Abstract Syntax Notation such as ASN.1 to a relational database schema permits persistent storage of object instances as records in a relational database. Object classes are mapped to entity tables with object instances represented by entity records. Simple attributes are mapped to primitive typed attribute columns and package or group attributes are mapped to separate dependent entity tables. Derived attributes are represented by joins of the parent and child entity records.

514 citations


Patent
Henry G. Pajak1, Kenneth C. Byrne1
07 Sep 1990
TL;DR: In this paper, the authors present a representation of a shared structured container type data object with related data bases, which can be used to present information in a hierarchy or multi-level mode about the activities and status relating to the shared container type structured data object and related data base and its content of a plurality of structured data objects.
Abstract: A representation of a shared structured container type data object with related data bases can be used to present information in a hierarchy or multi-level mode about the activities and status relating to the shared container type structured data object and related data bases and its content of a plurality of structured data objects as well as other information affecting or tracking the shared container type structured data object content in multi-levels. Further, user access control also provides exclusivity or privacy to invoked changes to parts of the shared container type structured data object and related data bases without interference from other users but with an indication to the other users of access control attributes thereby providing coordinated consistency among users relative to changes to all parts of the shared container type structured data object. There is also the provision for sharing a container with related data base and for Quick Query access to the data base allowing the sharing of multiple objects within the container and the capability of populating and querying the various objects within the container as well as within the data base.

335 citations


Journal ArticleDOI
O. Deux1
TL;DR: O/sub 2/ as discussed by the authors is an object-oriented database system that supports a multilanguage paradigm and a dual mode of operation (development and execution) and it operates on a workstation/server configuration.
Abstract: A complete description of the O/sub 2/ system, an object-oriented database system, is presented. It has the functionality of a DBMS (persistence, disk management, sharing and query language) and of an object-oriented system (complex objects, object identity, encapsulation, typing, inheritance, overriding, extensibility, and completeness). It also includes a set of user interface generation tools and a complete programming environment. O/sub 2/ supports a multilanguage paradigm and a dual mode of operation (development and execution) and it operates on a workstation/server configuration. The system is described as seen from the programmer's point of view and as seen through the programming environment. A complete description of the implementation is given. An evaluation of the prototype performance is also given. >

322 citations


Journal ArticleDOI
TL;DR: This survey describes both academic and industrial efforts and describes work in both the United States and Europe on developing a common framework for object-oriented terminology and surveys two research activities that prescribe the design process.
Abstract: The state of object-oriented is evolving rapidly This survey describes what are currently thought to be the key ideas Although it is necessarily incomplete, it contains both academic and industrial efforts and describes work in both the United States and Europe It ignores well-known ideas, like that of Coad and Meyer [34], in favor of less widely known projectsResearch in object-oriented design can be divided many ways Some research is focused on describing a design process Some is focused on finding rules for good designs A third approach is to build tools to support design Most of the research described in this article does all threeWe first present work from Alan Snyder at Hewlett-Packard on developing a common framework for object-oriented terminology The goal of this effort is to develop and communicate a corporate-wide common language for specifying and communicating about objectsWe next look into the research activity at Hewlett-Packard, led by Dennis de Champeaux De Champeaux is developing a model for object-based analysis His current research focuses on the use of a trigger-based model for inter-object communications and development of a top-down approach to analysis using ensemblesWe then survey two research activities that prescribe the design process Rebecca Wirfs-Brock from Tektronix has been developing an object-oriented design method that focuses on object responsibilities and collaborations The method includes graphical tools for improving encapsulation and understanding patterns of object communication Trygve Reenskaug at the Center for Industriforskning in Oslo, Norway has been developing an object-oriented design method that focuses on roles, synthesis, and structuring The method, called Object-Oriented Role Analysis, Syntheses and Structuring, is based on first modeling small sub-problems, and then combining small models into larger ones in a controlled manner using both inheritance (synthesis) and run-time binding (structuring)We then present investigations by Ralph Johnson at the University of Illinois at Urbana-Champaign into object-oriented frameworks and the reuse of large-scale designs A framework is a high-level design or application architecture and consists of a suite of classes that are specifically designed to be refined and used as a group Past work has focused on describing frameworks and how they are developed Current work includes the design of tools to make it easier to design frameworksFinally, we present some results from the research group in object-oriented software engineering at Northeastern University, led by Karl Lieberherr They have been working on object-oriented Computer Assisted Software Engineering (CASE) technology, called the Demeterm system, which generates language-specific class definitions from language-independent class dictionaries The Demeter system include tools for checking design rules and for implementing a design

309 citations


Journal ArticleDOI
TL;DR: The current results may guide computational models of human haptic object classification and the development of perceptual systems for robots equipped with sensate dextrous hands, capable of intelligent exploration, recognition, and manipulation of concrete objects.

257 citations


Patent
29 Jan 1990
TL;DR: Annotations to data objects are stored in the object instance and may be stored in an annotation file or a reference may be store in a reference file as mentioned in this paper, and retrieval of annotations having a reference in reference file occurs through use of the reference to access the object instances.
Abstract: Annotations to data objects are stored in the object instance and may be stored in an annotation file or a reference may be store in a reference file. Once annotated, a cell displaying the data object will provide a notation indicating that the data object has an annotation associated therewith. Retrieval of annotations which are not stored in an annotation file or reference file occurs through a search of the object instances. Retrieval of annotations having a reference in a reference file occurs through use of the reference to access the object instances. Retrieval of annotations in an annotation file occurs through retrieval of the annotation file. Once retrieved, the annotations may be in a final form, such as the nursing progress notes, or may be on a scratch pad to allow the user to electronically transfer annotations from a scratch pad to a permanent record.

225 citations


Proceedings ArticleDOI
05 Feb 1990
TL;DR: An algebra that synthesizes relational query concepts with object-oriented databases is defined and support for object identity leads to new definitions for equality of results and operators that can manipulate the identities of objects.
Abstract: An algebra that synthesizes relational query concepts with object-oriented databases is defined. The algebra fully supports abstract data types and object identity, while providing associative access to objects. The operations take an abstract view of objects and access typed collections of objects through the public interface defined for the type. The algebra supports access to relationships implied by the structure of the objects, as well as the definition and creation of new relationships between objects. The operations create new objects with unique identities and can use object identity in the manipulation of objects. The support for object identity leads to new definitions for equality of results and operators that can manipulate the identities of objects. >

Patent
Galyn Susman1
28 Dec 1990
TL;DR: In this article, a computer system and method for the generation and manipulation of animated objects in a computer-controlled environment is described, including state data and methods defining the behavior of the object.
Abstract: A computer system and method for the generation and manipulation of animated objects in a computer-controlled environment. The animated objects include state data and methods defining the behavior of the object. The animated objects also have an associated affect volume and affect agents. An interaction manager controls the interaction between objects as the animation sequence progresses. An animation sequence is controlled by a set of rules, state graphs, or scripts. The behavior of objects is modeled using a descriptive and a mathematical representation. Objects containing visual characteristics are rendered to a display screen.

Proceedings ArticleDOI
TL;DR: A model for describing object behavior based on the concept of role allows one to describe different perspectives for object evolution and implications of considering several roles in parallel for an object are discussed.
Abstract: The use of object-oriented conceptual models for modeling office applications and information systems is discussed. A model for describing object behavior based on the concept of role is presented. Roles allow one to describe different perspectives for object evolution. For each role, relevant characteristics such as role properties, role states, messages, and role-state transition rules and constraints are defined. The implications of considering several roles in parallel for an object are discussed, and a classification of possible role interactions is given.

Patent
23 Oct 1990
TL;DR: In this paper, the authors present a system and methods for recovering from unplanned failures in object oriented computing environments by storing recovery information in recovery objects, which are used to identify committable actions which were executed prior to the unplanned failure.
Abstract: The present invention is directed to systems and methods for recovering from unplanned failures in object oriented computing environments. The systems and methods of the present invention recover from unplanned failures in an efficient manner by storing recovery information in recovery objects. During recovery operations from an unplanned failure, object instance methods (which were abnormally terminated by the unplanned failure) use the recovery information to identify committable actions which were executed prior to the unplanned failure. The object instance methods then execute committable actions which were not executed prior to the unplanned failure. Thus, according to the present invention, the committable actions which were executed prior to the unplanned failure are not re-executed, and the committable actions which were not executed prior to the planned failure are executed.

Patent
03 Dec 1990
TL;DR: In this paper, a computer implemented system and apparatus for transforming objects in a first data model (source design objects) to objects in target design objects (target objects) and synchronizing the two data models is described.
Abstract: The invention is directed to a computer implemented system and apparatus for transforming objects in a first data model (source design objects) to objects in a second data model (target design objects) and synchronizing the two data models. The result of the transformation is that at least one of the target design objects is associated with a corresponding source design object. The system associates a unique identifier with each of the target design objects and source design objects, the unique identifier being associated with each map associated with each design object.

Patent
23 Mar 1990
TL;DR: In this article, a library of object placement patterns is provided, each pattern in the library representing a plurality of objects filling a pattern line or series of pattern lines of a 3D space, and a first type object (for example, a first size object) to be placed is selected and the pattern which minimizes the portion of the threedimensional space used to place a number of first type objects subject to at least one constraint factor, is determined.
Abstract: An object placement method and apparatus which obtains efficiency and optimized placement by providing a library of object placement patterns, each pattern in said library representing a plurality of objects filling a pattern line or series of pattern lines of a three-dimensional space. For each pattern line, a first type object (for example, a first size object) to be placed is selected and the pattern which minimizes the portion of the three-dimensional space used to place a number of first type objects, subject to at least one constraint factor, is determined. A representation of the objects in the rows according to the determined pattern may be provided. According to another aspect of the invention, linking restrictions between the objects of differing sizes may be provided. The linking restrictions are patterns from the library which may not be employed with objects of differing types in a line of the three-dimensional space. The linking restrictions may reject patterns that lead to irregular pattern geometries, inefficient use of space, unstable characteristics or any other undesirable configuration of the two object types in a single pattern line. The element placement technique of the present invention determines the patterns which minimize the portions of the three-dimensional space used to place the objects consistent with at least one constraint factor without violating the linking restrictions.

Journal ArticleDOI
TL;DR: A concurrent object is a data structure shared by concurrent processes as mentioned in this paper, which is similar to a shared-nothing data structure in the context of object-oriented data structures, and it can be implemented in a single-threaded fashion.
Abstract: A concurrent object is a data structure shared by concurrent processes. Conventional techniques for implementing concurrent objects typically rely on critical sections: ensuring that only one proce...

Journal ArticleDOI
TL;DR: The data management aspects of this approach: the insertion and deletion of object models, a performance/space trade-off which can be used to improve the recognition capabilities of the authors' approach, and a secondary memory implementation of the approach are emphasized.
Abstract: We have been involved with formulating query processing strategies for an object-oriented, integrated, textual/iconic database management system. For this task, model-based representations of images by content are being used, as well as a new, efficient object recognition approach which also permits the efficients insertion and deletion of object models, called data-driven indexed hypotheses. This paper emphasizes the data management aspects of this approach: the insertion and deletion of object models, a performance/space trade-off which can be used to improve the recognition capabilities of our approach, and a secondary memory implementation of our approach

Proceedings Article
01 Jan 1990
TL;DR: Non-recursive ILOG is rich enough to simulate some schema translation languages based on local structural manipulation, and non-recursion ILOG’ can simulate the core of the OOAlgebra of [Day89], and of several other translation languages of the systems literature.

Proceedings ArticleDOI
01 May 1990
TL;DR: An analytical cost model for access support relations and their application is developed and is used to determine the best access support relation extension and decomposition with respect to the specific database configuration and application profile.
Abstract: In this work access support relations are introduced as a means for optimizing query processing in object-oriented database systems. The general idea is to maintain redundant separate structures (disassociated from the object representation) to store object references that are frequently traversed in database queries. The proposed access support relation technique is no longer restricted to relate an object (tuple) to an atomic value (attribute value) as in conventional indexing. Rather, access support relations relate objects with each other and can span over reference chains which may contain collection-valued components in order to support queries involving path expressions. We present several alternative extensions of access support relations for a given path expression, the best of which has to be determined according to the application-specific database usage profile. An analytical cost model for access support relations and their application is developed. This analytical cost model is, in particular, used to determine the best access support relation extension and decomposition with respect to the specific database configuration and application profile.

Patent
Frederick L. Janis1
15 Feb 1990
TL;DR: In this paper, a reference monitor service is established and a plurality of access control profiles are stored in the reference monitor and a resource manager may utilize this communication technique to control access to a resource object by utilizing the information contained within the access control profile to determine if a requester is authorized to access the resource object and whether or not the requester has been granted sufficient authority to take selected actions with respect to that object.
Abstract: The method of the present invention may be utilized to provide user access control for a plurality of resource objects within a distributed data processing system having a plurality of resource managers. A reference monitor service is established and a plurality of access control profiles are stored therein. Thereafter, selected access control profile information may be communicated between the reference monitor service and a resource manager in response to an attempted access of a particular resource object controlled by that resource manager. A resource manager may utilize this communication technique to retrieve, modify, or delete a selected access control profile, as desired. Further, the resource manager may utilize this communication technique to control access to a resource object by utilizing the information contained within the access control profile to determine if the requester is authorized to access the resource object and whether or not the requester has been granted sufficient authority to take selected actions with respect to that resource object. In a preferred embodiment of the present invention, each access control profile may include access control information relating to a selected user; a selected resource object; a selected group of users; a specified level of authority associated with a selected user; a selected set of resource objects; or, a predetermined set of resource objects and a selected list of users each authorized to access at least a portion of said predetermined set of resource objects.

Journal ArticleDOI
Charles Wiecha1, William E. Bennett1, Stephen J. Boies1, John D. Gould1, Sharon L. Greene1 
TL;DR: The ITS architecture as mentioned in this paper separates applications into four layers: the dialog layer defines the content of the user interface, independent of its style; the style program layer implements primitive toolkit objects that are composed by the rule layer into complete interaction techniques; and the action layer implements back-end application functions.
Abstract: The ITS architecture separates applications into four layers. The action layer implements back-end application functions. The dialog layer defines the content of the user interface, independent of its style. Content specifies the objects included in each frame of the interface, the flow of control among frames, and what actions are associated with each object. The style rule layer defines the presentation and behavior of a family of interaction techniques. Finally, the style program layer implements primitive toolkit objects that are composed by the rule layer into complete interaction techniques. This paper describes the architecture in detail, compares it with previous User Interface Management systems and toolkits, and describes how ITS is being used to implement the visitor information system for EXPO '92.

Proceedings ArticleDOI
01 Jan 1990
TL;DR: Three-dimensional (3D) Model-Based Vision enables observed image features to be used to determine the pose (ie. position and attitude) of a known 3D object with respect to the camera (or alternatively, the viewpoint of the camera withrespect to the model).
Abstract: Three-dimensional (3D) Model-Based Vision enables observed image features to be used to determine the pose (ie. position and attitude) of a known 3D object with respect to the camera (or alternatively, the viewpoint of the camera with respect to the model) [1]. The knowledge concerning the object that is used to perform Model-Based Vision is the 3D locations of salient and easily observed object features, such as corners and high-contrast edges (eg. surface marking sand crease edges).

Journal ArticleDOI
TL;DR: The goal of the architecture is to provide a database system that is powerful enough to support the definition of functions and procedures that implement the semantics of the data model.
Abstract: The goals of the Iris database management system are to enhance database programmer productivity and to provide generalized database support for the integration of future applications. Iris is based on an object and function model. Iris objects are typed but unlike other object systems, they contain no state. Attribute values, relationships and behavior of objects are modeled by functions. The Iris architecture efficiently supports the evaluation of functional expressions. The goal of the architecture is to provide a database system that is powerful enough to support the definition of functions and procedures that implement the semantics of the data model. An overview of the data model is provided, the architecture is described in detail, and implementation experience and usage of the system are discussed. >

Journal ArticleDOI
TL;DR: This paper describes a simple algorithm that is very efficient when there are few object lifetimes, and in terms of instructions executed per byte allocated, the algorithm is almost half the cost of quick fit and less than twice thecost of stack allocation.
Abstract: Dynamic storage-management algorithms are based either on object sizes or object lifetimes. Stack allocation, which is based on object lifetimes, is the most efficient algorithm, but severely restricts object lifetimes and creation times. Other algorithms based on object sizes, such as first fit and related algorithms, permit arbitrary lifetimes but cost more. More efficient variations capitalize on application-specific characteristics. Quick fit, for example, is more efficient when there are only a few object sizes. This paper describes a simple algorithm that is very efficient when there are few object lifetimes. In terms of instructions executed per byte allocated, the algorithm is almost half the cost of quick fit and less than twice the cost of stack allocation. Space for all objects with the same lifetime is allocated from a list of large arenas, and the entire list is deallocated at once. An implementation in ANSI C is included.

Patent
14 Aug 1990
TL;DR: In this article, an automatic object image follow-up device includes a setting circuit for shiftably setting a followup field, an extracting circuit for extracting a feature of an object in relation to the follow up field, a store for storing the extracted feature and a detecting circuit for detecting a relative shift between the object and the device on the basis of the feature of the object extracted by the extracting circuit and the feature stored by the store.
Abstract: An automatic object image follow-up device includes a setting circuit for shiftably setting a follow-up field; an extracting circuit for extracting a feature of an object in relation to the follow-up field; a store for storing the extracted feature; a detecting circuit for detecting a relative shift between the object and the device on the basis of the feature of the object extracted by the extracting circuit and the feature stored by the store; and a shifting circuit for shifting the follow-up field following up the object according to the relative shift.

Book
01 Jan 1990
TL;DR: Object-oriented programming in C++: object- oriented programming concepts geometry example object-oriented progamming terminology and an introduction to the NIH class library geometry example.
Abstract: Part 1 Introduction: data abstraction object-oriented programming the NIH class library. Part 2 Progamming with abstract data types in C++: data abstraction in C++ specification of class BigInt implementation of class BigInt applications for abstract data types stream I/O dynamic character strings abstract data types for dates and times regular expressions numeric data types. Part 3 Object-oriented programming in C++: object-oriented programming concepts geometry example object-oriented progamming terminology an introduction to the NIH class library geometry example using NIH library classes copying objects object I/O programming with the NIH container classes the NIH class library container classes guidelines for using container classes designing library classes an example NIH library class lightweight processes an object-oriented application the object-oriented design an implementation based on the NIH class library implementing a database with the NIH class library multiple inheritance multiple inheritance and modular programming virtual functions and multiple inheritance virtual base classes virtual base classes and virtual functions object initialization and multiple inheritance programming with virtual base classes multiple inheritance and the NIH class library exception handling parameterized types garbage collection dynamic linking. Appendices: the NIH class library hierarchy NIH class library template files tips for C programmers.

Proceedings ArticleDOI
26 Nov 1990
TL;DR: The authors propose methodologies to aid in the design recovery of object-like features of a program written in a non-object-oriented language, based on an analysis of global data or of data types, and are constructing a prototype interactive software tool to implement these methods.
Abstract: The authors propose methodologies to aid in the design recovery of object-like features of a program written in a non-object-oriented language. Two complementary methods, based on an analysis of global data or of data types, are proposed, along with an interactive tool that would combine the two methods while using human input to guide the object identification process. The authors are constructing a prototype interactive software tool to implement these methods for the C language. The intention is to collect data on the user's decisions and reasons for making them so that improved heuristics or knowledge-based-methods could be developed to improve the process. >

Patent
09 Aug 1990
TL;DR: In this article, a time index for temporal databases is proposed, which enables the retrieval of database object versions that are valid during specified time periods, unlike prior access and retrieval structures, which are based on objects whose search values are time intervals rather than time points.
Abstract: A time index for temporal databases is provided which enables the retrieval of database object versions that are valid during specified time periods. Unlike prior access and retrieval structures, the present index is based on objects whose search values are time intervals rather than time points. A series of ordered indexing points is defined by the start and end of object version intervals and these points are used to build an indexing structure, which may take the form of a B + -tree. Each leaf node entry of the B + -tree represents an indexing point and has an associated bucket of pointers which identify all object versions that are valid at that time. Storage space is reduced by including only incremental change indicators in the buckets of non-leading leaf entries and calculating needed pointers from such indicators. The time index may be employed in multi-level structures with attribute indexes to greatly improve the efficiency of temporal search operations, such as aggregate functions and temporal selection, as well WHEN and JOIN operators.

Book ChapterDOI
03 Apr 1990
TL;DR: This paper identifies a number of SO representational problems in current models and a methodology for their solution, and proposes a new "statistical object representation model", based on a graph representation.
Abstract: In this paper we explore the structure and semantic properties of the entities stored in statistical databases. We call such entities "statistical objects" (SOs) and propose a new "statistical object representation model", based on a graph representation. We identify a number of SO representational problems in current models and propose a methodology for their solution.