scispace - formally typeset
Search or ask a question
Topic

Object-oriented design

About: Object-oriented design is a research topic. Over the lifetime, 5136 publications have been published within this topic receiving 144108 citations.


Papers
More filters
Book ChapterDOI
01 Jun 1985
TL;DR: It is shown that a sequence of documents that should be produced on the way to producing the software can serve several purposes, and how these documents can be constructed using the same principles that should guide the software design is discussed.
Abstract: Software Engineers have been searching for the ideal software development process: a process in which programs are derived from specifications in the same way that lemmas and theorems are derived from axioms in published proofs. After explaining why we can never achieve it, this paper describes such a process. The process is described in terms of a sequence of documents that should be produced on the way to producing the software. We show that such documents can serve several purposes. They provide a basis for preliminary design review, serve as reference material during the coding, and guide the maintenance programmer in his work. We discuss how these documents can be constructed using the same principles that should guide the software design. The resulting documentation is worth much more than the "afterthought" documentation that is usually produced. If we take the care to keep all of the documents up-to-date, we can create the appearance of a fully rational design process.

227 citations

Proceedings Article
01 Jan 1983

225 citations

Patent
15 Sep 1995
TL;DR: In this article, a system and method in accordance with a preferred embodiment enable objects from two or more heterogeneous object systems in a digital computer to interoperate and be combined in the creation of a larger object-oriented software project, as well as uses of such system and methods.
Abstract: A system and method in accordance with a preferred embodiment enable objects from two or more heterogeneous object systems in a digital computer to interoperate and be combined in the creation of a larger object-oriented software project, as well as uses of such system and method. Objects from a foreign object system are unmodified, yet appear to be native to the object system in which they are used or accessed. A native proxy object (indistinguishable from other native objects) is constructed for the real foreign object. The proxy object contains an identifier to the real object, as well as a pointer to a software description of how to access and manipulate the object - e.g. how to call its methods, set its properties, and handle exceptions. When the proxy object is manipulated, it follows the instructions in the software description which, in turn, results in the corresponding manipulation of the foreign object.

224 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. >

219 citations

Book ChapterDOI
14 Jun 2004
TL;DR: In this article, the authors present a methodology for specifying and verifying object-oriented programs, using object invariants to specify the consistency of data and using ownership to organize objects into contexts.
Abstract: Object invariants describe the consistency of object-oriented data structures and are central to reasoning about the correctness of object-oriented software. Yet, reasoning about object invariants in the presence of object references, methods, and subclassing is difficult. This paper describes a methodology for specifying and verifying object-oriented programs, using object invariants to specify the consistency of data and using ownership to organize objects into contexts. The novelty is that contexts can be dynamic: there is no bound on the number of objects in a context and objects can be transferred between contexts. The invariant of an object is allowed to depend on the fields of the object, on the fields of all objects in transitively-owned contexts, and on fields of objects reachable via given sequences of fields. With these invariants, one can describe a large variety of properties, including properties of cyclic data structures. Object invariants can be declared in or near the classes whose fields they depend on, not necessarily in the class of an owning object. The methodology is designed to allow modular reasoning, even in the presence of subclasses, and is proved sound.

216 citations


Network Information
Related Topics (5)
Software development
73.8K papers, 1.4M citations
91% related
Software system
50.7K papers, 935K citations
89% related
Software construction
36.2K papers, 743.8K citations
89% related
Web service
57.6K papers, 989K citations
86% related
Software
130.5K papers, 2M citations
86% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20231
20226
20215
20209
201915
201828