object-oriented (OO) technology has been heralded as a solution to the problems of software engineering. The claims are that OO technology promotes understandability, extensibility, evolvability, reusability, and main...
详细信息
object-oriented (OO) technology has been heralded as a solution to the problems of software engineering. The claims are that OO technology promotes understandability, extensibility, evolvability, reusability, and maintainability of systems and that OO systems are easy to understand and use. However, this technology has not been as successful as expected. An analysis of experiences and empirical studies reveals that the problem is not the technology per se but that the technology provides no support to software developers in performing the processes the technology requires. We present a cognitive model of software development that details the challenges software developers face in using OO technology. The model focuses on three aspects of software development-evolution, reuse and redesign, and domain orientation. We motivate this model with a variety of firsthand experiences and use it to assess current OO technology. Further, we present tools and evaluations that substantiate parts of this model. The model and tools indicate directions for future software development environments, looking beyond the technological possibilities of OO languages and beyond the context of individual developers and projects.
Herein we extend the object-oriented database model via the concept of object inheritance, and call the resulting model, the extended object-oriented database model. We then formalize this model and thereafter we inve...
详细信息
Herein we extend the object-oriented database model via the concept of object inheritance, and call the resulting model, the extended object-oriented database model. We then formalize this model and thereafter we investigate path functional dependencies, inequality dependencies and general dependencies. General dependencies subsume both path functional dependencies and inequality dependencies.
A new object identification scheme for object-oriented databases is suggested. Its purpose is to choose object surrogates so that they convey information about preferred clustering of stored objects. The surrogates ar...
详细信息
A new object identification scheme for object-oriented databases is suggested. Its purpose is to choose object surrogates so that they convey information about preferred clustering of stored objects. The surrogates are composed of two fields: cluster code and sequence number. A tailored variant of extendible hashing is proposed for the access method. A hash function is evaluated to produce the duster code at object creation time, so that surrogates themselves act as hashed pseudokeys. The problem how to manage variable-size logical clusters is solved by chopping the large ones into physical subclusters of restricted size. The suggested approach shares the advantages of plain surrogates and structured addresses: it is a logical identification scheme, but the indirection of references is implemented effectively. Experiments confirm the benefits of the proposed organization.
Software development poses enormous cognitive, organizational, and managerial challenges. In this article, we focus on two of the most formidable of these challenges and on the promise of object-oriented (OO) technolo...
详细信息
Software development poses enormous cognitive, organizational, and managerial challenges. In this article, we focus on two of the most formidable of these challenges and on the promise of object-oriented (OO) technology for addressing them. In particular, we analyze the claims made about OO design (OOD) and (a) dissemination of domain knowledge and (b) communication and coordination. In order to address the validity of these claims, we conducted an in-depth observational study of OOD in an industrial setting as well as a series of interviews with experienced OOD practitioners. Compared to similar projects using traditional methods, our study found evidence in the OOD project for a reduced need for clarification in design discussions;differences in participation, in how meeting time is spent, and in the sequential order of design discussions;and a much greater tendency to ask why questions. We discuss the implications of these findings for tools, grain size of design units, interactions with clients, and organizing for OOD.
This paper is about the definition of CoLan, a high-level declarative Constraint Description Language, for use with an object-oriented Database (OODB). CoLan has features of both first-order logic and functional progr...
详细信息
This paper is about the definition of CoLan, a high-level declarative Constraint Description Language, for use with an object-oriented Database (OODB). CoLan has features of both first-order logic and functional programming and is based on Daplex. CoLan expressions are translated into Prolog code that implements the operational semantics of the constraint. Pieces of generated code are cached inside the class descriptor of the 'host' class attached to appropriate slots. The pieces of code are retrieved along an inheritance path when an update on the database is attempted. If the update violates any of the retrieved constaints then it is rejected with an informative message. Thus constraints are expressed declaratively and they can even be retracted individually. However, they are implemented efficiently as code-generated methods, triggered selectively by an update. The implementation is described for the ADAM OODB, which uses meta-classes of the CoLan system to generate class descriptions.
/Geometric modelling is an integral part of most CAD/CAM applications. However, there is not a widespread and integrated use of geometric modelling throughout the product lifecycle. The primary reason for this is the ...
详细信息
/Geometric modelling is an integral part of most CAD/CAM applications. However, there is not a widespread and integrated use of geometric modelling throughout the product lifecycle. The primary reason for this is the differences in the modelling requirements of applications that are used at the various stages of the product development cycle. The paper describes a geometric engine, GNOMES, which provides a geometric modelling framework that can be shared by many applications. This is achieved using a unified representation which can model a large class of point sets that includes nonmanifold point sets, nonclosed point sets, and sets with cracks or missing points. Powerful high-level modelling operations (Boolean, topological, and structural operations) which are useful for constructing more complex models or interrogating the geometric models have been implemented. GNOMES also provides various database facilities through the use of a distributed object-oriented database management system. These facilities include support for persistent GNOMES objects, long and short duration transaction management for concurrent access by multiple applications, a general query facility, and a version and configuration management facility which can be used to record the evolution of GNOMES models. The GNOMES architecture is based on object-oriented principles, and it provides clear abstractions in a small set of encapsulated classes. The goal in developing GNOMES is to provide a geometric engine that is reasonably easy to understand and easily extensible, and that can be used as a basic building block of a collaborative engineering environment. The paper describes the GNOMES representation scheme, its object-oriented design, and sample applications which illustrate various GNOMES functionalities.
This paper proposes a new approach for supporting reactive capability in an object-oriented database. We introduce an event interface, which extends the conventional object semantics to include the role of an event ge...
详细信息
Although the mathematical foundations of relational databases are very well established, the state of affairs for object-oriented databases is much less satisfactory. We propose a semantic foundation for object-orient...
详细信息
This paper presents an approach to the development of a deductive object-oriented database system, describing the key design decisions and their consequences for implementation. The approach is novel, in that it integ...
详细信息
This paper presents an approach to the development of a deductive object-oriented database system, describing the key design decisions and their consequences for implementation. The approach is novel, in that it integrates an object-oriented database system manipulated using an imperative programming language (ROCK) with a logic language for expressing queries and methods (ROLL). The integration is made seamless by deriving both the imperative and logic languages from a single formally defined data model, thereby avoiding impedance mismatches when they are integrated.
Today, advances in personal computing are helping corporations compete in a dynamic, global economy. Businesses, however, need new ways to deliver information systems in a faster, more cost-effective manner. object te...
详细信息
Today, advances in personal computing are helping corporations compete in a dynamic, global economy. Businesses, however, need new ways to deliver information systems in a faster, more cost-effective manner. object technology, in the form of COM will help businesses meet these needs. This article presents GDES for client/server computing based on OLE and objectBroker. GDES is a huge step forward in UBS's client/server computing strategy. It serves as a blueprint for future UBS applications where information is stored on a variety of dissimilar computers and databases.
暂无评论