scispace - formally typeset
Search or ask a question

Showing papers on "Object-oriented design published in 1997"


Book
01 Nov 1997
TL;DR: Applying UML and Patterns, Third Edition as discussed by the authors is the world's most admired introduction to object-oriented analysis and design with UML Fully updated for UML 2 and the latest iterative/agile practices Includes an all-new case study illustrating many of the book's key points.
Abstract: “This edition contains Larman's usual accurate and thoughtful writing. It is a very good book made even better.”—Alistair Cockburn, author, Writing Effective Use Cases and Surviving OO Projects“Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both.”—John Vlissides, author, Design Patterns and Pattern Hatching“People often ask me which is the best book to introduce them to the world of OO design. Ever since I came across it Applying UML and Patterns has been my unreserved choice.”—Martin Fowler, author, UML Distilled and Refactoring“This book makes learning UML enjoyable and pragmatic by incrementally introducing it as an intuitive language for specifying the artifacts of object analysis and design. It is a well written introduction to UML and object methods by an expert practitioner.”—Cris Kobryn, Chair of the UML Revision Task Force and UML 2.0 Working Group A brand new edition of the world's most admired introduction to object-oriented analysis and design with UML Fully updated for UML 2 and the latest iterative/agile practices Includes an all-new case study illustrating many of the book's key pointsApplying UML and Patterns is the world's #1 business and college introduction to “thinking in objects”—and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-tofinish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices. You won't just learn UML diagrams—you'll learn how to apply UML in the context of OO software development. Drawing on his unsurpassed experience as a mentor and consultant, Larman helps you understand evolutionary requirements and use cases, domain object modeling, responsibility-driven design, essential OO design, layered architectures, “Gang of Four” design patterns, GRASP, iterative methods, an agile approach to the Unified Process (UP), and much more. This edition's extensive improvements include A stronger focus on helping you master OOA/D through case studies that demonstrate key OO principles and patterns, while also applying the UML New coverage of UML 2, Agile Modeling, TestDriven Development, and refactoring Many new tips on combining iterative and evolutionary development with OOA/D Updates for easier study, including new learning aids and graphics New college educator teaching resources Guidance on applying the UP in a light, agile spirit, complementary with other iterative methods such as XP and Scrum Techniques for applying the UML to documenting architectures A new chapter on evolutionary requirements, and much moreApplying UML and Patterns, Third Edition, is a lucid and practical introduction to thinking and designing with objects—and creating systems that are well crafted, robust, and maintainable.

296 citations


Journal ArticleDOI
TL;DR: The port-based object abstraction is described, a detailed analysis of communication and synchronization based on distributed shared memory is provided, and a programming paradigm based on a framework process and code templates for quickly implementing applications is described.
Abstract: The port-based object is a new software abstraction for designing and implementing dynamically reconfigurable real-time software. It forms the basis of a programming model that uses domain-specific elemental units to provide specific, yet flexible, guidelines to control engineers for creating and integrating software components. We use a port-based object abstraction, based on combining the notion of an object with the port-automaton algebraic model of concurrent processes. It is supported by an implementation using domain-specific communication mechanisms and templates that have been incorporated into the Chimera real-time operating system and applied to several robotic applications. This paper describes the port-based object abstraction, provides a detailed analysis of communication and synchronization based on distributed shared memory, and describes a programming paradigm based on a framework process and code templates for quickly implementing applications.

295 citations


Journal ArticleDOI
TL;DR: All graphical objects and behaviors of those objects are explicitly represented at run time, so the system can provide a number of high level built-in functions, including automatic display and editing of objects, and external analysis and control of interfaces.
Abstract: The Amulet user interface development environment makes it easier for programmers to create highly interactive, graphical user interface software for Unix, Windows and the Macintosh. Amulet uses new models for objects, constraints, animation, input, output, commands, and undo. The object system is a prototype instance model in which there is no distinction between classes and instances or between methods and data. The constraint system allows any value of any object to be computed by arbitrary code and supports multiple constraint solvers. Animations can be attached to existing objects with a single line of code. Input from the user is handled by "interactor" objects which support reuse of behavior objects. The output model provides a declarative definition of the graphics and supports automatic refresh. Command objects encapsulate all of the information needed about operations, including support for various ways to undo them. A key feature of the Amulet design is that all graphical objects and behaviors of those objects are explicitly represented at run time, so the system can provide a number of high level built-in functions, including automatic display and editing of objects, and external analysis and control of interfaces. Amulet integrates these capabilities in a flexible and effective manner.

238 citations


Proceedings ArticleDOI
09 Oct 1997
TL;DR: Examples of composite patterns are presented, a role-based analysis and composition technique is discussed, and it is demonstrated that composite patterns extend the pattern idea from single problem solutions to object-oriented frameworks.
Abstract: Software design patterns are the core abstractions from successful recurring problem solutions in software design. Composite design patterns are the core abstractions from successful recurring frameworks. A composite design pattern is a pattern that is best described as the composition of further patterns the integration of which shows a synergy that makes the composition more than just the sum of its parts. This paper presents examples of composite patterns, discusses a role-based analysis and composition technique, and demonstrates that composite patterns extend the pattern idea from single problem solutions to object-oriented frameworks.

182 citations


Book ChapterDOI
01 May 1997
TL;DR: SCIRun as discussed by the authors is a scientific programming environment that allows the interactive construction, debugging, and steering of large-scale scientific computations via a dataflow programming model, allowing scientists to design and modify model geometry, interactively change simulation parameters and boundary conditions and interactively visualize geometric models and simulation results.
Abstract: We present the design, implementation and application of SCIRun, a scientific programming environment that allows the interactive construction, debugging, and steering of large-scale scientific computations. Using this “computational workbench,” a scientist can design and modify simulations interactively via a dataflow programming model. SCIRun enables scientists to design and modify model geometry, interactively change simulation parameters and boundary conditions, and interactively visualize geometric models and simulation results. We discuss the ubiquitous roles SCIRun plays as a computational tool (e.g. resource manager, thread scheduler, development environment), and how we have applied an object oriented design (implemented in C++) to the scientific computing process. Finally, we demonstrate the application of SCIRun to large scale problems in computational medicine.

168 citations


Book
01 Jan 1997
TL;DR: This indispensable book guides you through the development process for nine unique design characteristics, including a controversial new "quality of abstraction" characteristic, which combines Sufficiency, Completeness, and Cohesion to help you determine the extent to which components include all the features required of your design.
Abstract: From the Publisher: Based on a thorough study of measurement theory, category theory, and a strong mathematic foundation, Scott Whitmire presents his own formal model of objects - a ground-breaking development for object-oriented design measurement. Using this model, or any other formal model, you can create a custom metric for any design characteristic you can describe through careful observation. This indispensable book guides you through the development process for nine unique design characteristics, including a controversial new "quality of abstraction" characteristic, which combines Sufficiency, Completeness, and Cohesion to help you determine the extent to which components include all the features required of your design.

143 citations


Patent
26 Mar 1997
TL;DR: In this paper, an externalization service method for managing objects and state data related to the objects is disclosed, where objects with references to other objects can be stored in streams and can be referenced across processes.
Abstract: According to the present invention, an externalization service method for managing objects and state data related to the objects is disclosed. The present invention provides a method whereby objects with references to other objects can be stored in streams and can be referenced across processes, while maintaining the original object characteristics and relationships. The present invention is an extension to the existing Common Object Request Broker Architecture (CORBA) specification for externalization and can manage objects without the inherent limitations of known externalization methods. The objects of the present invention are managed by an object reference manager (reference manager) which is capable of storing and using state data and other object-related data to manage objects and the references to other objects. This information includes all information that is necessary to restore the object's characteristics, security access, state data, etc. when the object is recreated. Along with the improved functionality of the reference manager, several new methods are defined to implement improved externalization techniques for managing objects and their references.

128 citations


Patent
30 May 1997
TL;DR: In this article, an object-oriented framework is used to build cooperative objects, which can span processes on different machines connected by a network and can be used for building distributed or cooperative applications which execute in multiple environments.
Abstract: An object-oriented framework is used to build cooperative objects. Objects can span processes on different machines connected by a network. The objects are used to build distributed or cooperative applications which execute in multiple environments without having to write significant additional code to enable such functionality. Each cooperative object has two parts: an agent object and a server object. Requests for services are made to agent objects by the application program (via an asynchronous interface) as if they were local objects. The server object performs the requested service in the server process, possibly using other server objects or systems (e.g., DB/2), and returns the result to the associated agent object. A Distributor and Dispatcher object in each process handle communication between agent and server objects. The Distributor receives all incoming messages and routes them to the appropriate objects in the process. The Dispatcher is used for sending messages to other objects. Agent and server objects use framework methods SendMessage and HandleMessage to send/receive messages to/from other objects. Message data is converted to account for parameter types in different processing environments (e.g., byte-swapping and ASCII to EBCDIC). Upon receipt of a message, the Distributor automatically calls the HandleMessage method of the receiving object. The object then processes the request according to the user-defined implementation of the HandleMessage method and, in the client process, notifies the application of the completion of a request via a Callback method.

126 citations


Proceedings ArticleDOI
15 Apr 1997
TL;DR: It is argued that the hypermedia community will take a vital step towards better designs of hypermedia applications and systems by developing a pattern language for that domain.
Abstract: In this paper we discuss the use of design patterns for the process of building hypermedia applications. The idea of design patterns has been recently developed, and rapidly spread outside the object-oriented community to a general audience of software developers. By using patterns it is not only possible to document design experience with a very simple and comprehensible format, but also reuse the same experience several times for different applications. We argue that the hypermedia community will take a vital step towards better designs of hypermedia applications and systems by developing a pattern language for that domain.

125 citations


Proceedings ArticleDOI
02 Nov 1997
TL;DR: This work describes a precise method of specifying how a design pattern is applied: by phrasing it as an algorithm in a meta-programming language by presenting a prototype of a tool that supports the specification of design patterns and their realization in a given program.
Abstract: Despite vast interest in design patterns, the specification and application of patterns is generally assumed to rely on manual implementation. We describe a precise method of specifying how a design pattern is applied: by phrasing it as an algorithm in a meta-programming language. We present a prototype of a tool that supports the specification of design patterns and their realization in a given program. Our prototype allows automatic application of design patterns without obstructing the source code test from the programmer, who may edit it at will. We demonstrate pattern specification in meta-programming techniques and a sample outcome of its application.

117 citations


01 Jan 1997
TL;DR: The pattern shows how to map aggregation to a relational data model by integrating all aggregated objects’ attributes into a single table.
Abstract: The pattern shows how to map aggregation to a relational data model by integrating all aggregated objects’ attributes into a single table.

Journal ArticleDOI
TL;DR: Results strongly suggest that quality guidelines based on Coad and Yourdon principles have a beneficial effect on the maintainability of object-oriented design documents, however, there is no strong evidence regarding the alleged higher maintainabilityof object- oriented design documents over structured design documents.
Abstract: Several important questions still need to be answered regarding the maintainability of object-oriented design documents. This paper focuses on the following issues: are object-oriented design documents easier to understand and modify than structured design documents? Do they need to comply with quality guidelines such as the ones provided by Coad and Yourdon? What is the impact of such quality standards on the understandability and modifiability of design documents? Answers can be based on informed opinion or empirical evidence. Since software technology investments are substantial and contradictory opinions exist regarding design strategies, performing empirical studies on these topics is a relevant research activity. This paper presents a controlled experiment performed with computer science students as subjects. Results strongly suggest that quality guidelines based on Coad and Yourdon principles have a beneficial effect on the maintainability of object-oriented design documents. However, there is no strong evidence regarding the alleged higher maintainability of object-oriented design documents over structured design documents. Furthermore, results suggest that object-oriented design documents are more sensitive to poor design practices, in part because their cognitive complexity becomes increasingly unmanageable. However, because our ability to generalise these results is limited, they should be considered as preliminary, i.e., it is very likely that they can only be generalised to programmers with little object-oriented training and programming experience. Such programmers can, however, be commonly found on maintenance projects. As well as additional research, external replications of this study are required to confirm the results and achieve confidence in these findings.

Patent
15 Jul 1997
TL;DR: In this article, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur.
Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.

Patent
10 Nov 1997
Abstract: A computer controlled object oriented programming system for interfacing a plurality of programming objects with each other to provide combination objects combining programming functions of the objects, each object including predetermined interface data defining a required common interface with the other programming objects in a framework of events, attributes and methods for manipulating the attributes. These objects may be combined with each other via their common interfaces to form combination objects and such combination objects may in turn be further combined with other objects and combination objects to form objects of increasing complexity which function as complete programs. There is provided a displayable output of documentation for the programming objects in which the basic documentation provided for an object oriented program by its developers may be added to or modified without the need to change the framework of the objects in the program. To accomplish this, the invention involves the combination of two documentation functions: 1) the basic documentation program which translates source code data within the object framework, and 2) an implementation translating a portion of the object source code data which is outside of the object framework.

Proceedings ArticleDOI
14 Jul 1997
TL;DR: This paper describes three sets of currently available metrics suites, namely, those of Chidamber and Kemerer (1993), Lorenze and Kidd (1994) and Abreu (1995), and assess the appropriateness and usefulness of each in evaluating the design of object-oriented systems.
Abstract: In this paper, we examine the current state in the field of object-oriented design metrices. We describe three sets of currently available metrics suites, namely, those of Chidamber and Kemerer (1993), Lorenze and Kidd (1994) and Abreu (1995). We consider the important features of each set, and assess the appropriateness and usefulness of each in evaluating the design of object-oriented systems. As a result, we identify problems common to all three sets of metrices, allowing us to suggest possible improvements in this area.

Patent
19 Mar 1997
TL;DR: In this article, a generic repository object that emulates the behavior of a particular class of object as defined in type definitions is defined, and requests to a particular object's properties through interface methods are serviced by making reference to the type definitions in order to fulfill the request.
Abstract: In an interface-based binary object system capable of supporting multiple interfaces into objects created by class templates, a repository of stored object states is formed that can be accessed by later created objects. Such later created objects may be of the same class as the original object or may be of a new class extended from the original class and still use the same stored object state. Access to the stored object state is made through a generic repository object that emulates the behavior of a particular class of object as defined in type definitions. Requests to a particular object's properties through interface methods are serviced by having the generic repository object make reference to the type definitions in order to fulfill the request. Binary extensibility of the generic repository object along with proper class definition in the type definitions allows custom objects having greater functionality than that provided by the generic repository object to be implemented. Furthermore, class definitions that use only functionality provided by the generic repository object may be defined so as to allow instantiation of objects without the implementation of actual software code whatsoever. Finally, in a currently preferred embodiment, object state is stored advantageously in SQL database tables organized on a per-interface basis with properties common to all objects stored in a main stored object state table.

Patent
21 Nov 1997
TL;DR: In this paper, an installation plan object is built for installing an application in a network, and the objects which are selected to populate an install plan object include an application object and a group of workstations upon which the application is to be installed.
Abstract: An installation plan object is built for installing an application in a network. The empty installation plan object is first created from a template of a prototypical installation plan object. Next, from a workspace container object containing potential child objects of the installation plan object, objects are selected for inclusion in the installation plan object. The selected objects are transformed into child objects of the installation plan object. The objects which are selected to populate an install plan object include an application object and a group object which respectively represent an application to be installed over the network and a group of workstations upon which the application is to be installed. After transformation, these objects are converted into an application-in-plan object and a group-in-plan object respectively. Other potential child objects include a category object having a plurality of response file objects each for installing a respective one of a plurality of applications over the network.

Patent
14 Mar 1997
TL;DR: In this paper, a system and method of providing associations between resources and actions in a network includes the steps of providing, in a database schema an action object class defining the structure and attributes of actions available in the network.
Abstract: A system and method of providing associations between resources and actions in a network includes the steps of providing, in a database schema an action object class defining the structure and attributes of actions available in the network. During operation, action objects are created and stored in a database. When a user enters the system, an internal list is created at that user, identifying the resources available to that user and the action objects capable of being performed on those resources. When a user selects an resource object, the action objects associated with that resource object are displayed, the user selects the action, and the action is performed at the resource. In one example the selection of an action objects cause an associated application to be launched. Each action object represents a string of executable code. The executable code may either be hardcoded in the network software, such that action objects are created at network startup, or alternatively may be linked to the network via an external code module.

Journal ArticleDOI
TL;DR: An object‐oriented framework for implementing reusable and efficient fuzzy parsers is introduced and applications of this framework are described via examples of two software tools.
Abstract: This paper presents a systematic approach to implementing fuzzy parsers. A fuzzy parser is a form of syntax analyzer that performs analysis on selected portions of its input rather than performing a detailed analysis of a complete source text. Fuzzy parsers are often components of software tools and also of program development environments that extract information from source texts. This paper clarifies the term ‘fuzzy parser’ and introduces an object‐oriented framework for implementing reusable and efficient fuzzy parsers. Applications of this framework are described via examples of two software tools. These tools exploit the facilities provided by fuzzy parsers for different purposes, and also for different languages. © 1997 John Wiley & Sons, Ltd.

Proceedings Article
25 Aug 1997
TL;DR: This paper explains how the Repository attains its goals by providing an object-oriented database (OODB) architecture based on Microsoft’s binary object model (COM) and type system of Visual Basic (Automation).
Abstract: The Microsoft Repository is an object-oriented repository that ships as a component of Visual Basic (Version 5.0). It includes a set of ActiveX interfaces that a developer can use to define information models, and a repository engine that is the underlying storage mechanism for these information models. The repository engine sits on top of a SQL database system. The repository is designed to meet the persistent storage needs of software tools. Its two main technical goals are: . compatibility with Microsoft’s existing ActiveX object architecture consisting of the Component Object Model (COM) and Automation and that a developer can use to define information models, and a repository engine that is the underlying storage mechanism for these information ‘models. (Znformurion model is repository terminology for database schema [3].) The repository engine sits on top of either Microsoft SQL Server or Microsoft Jet (the database system in Microsoft Access) and supports both navigational access via the object-oriented interfaces and direct SQL access to the underlying store. In addition, the Repository includes a set of information models that cover the data sharing needs of software tools. . extensibility by customers and independent software vendors who need to tailor the repository by adding functionality to objects stored by the repository engine and extending information models provided by Microsoft and others. The two main technical goals of Microsoft Repository are 1. COMZActiveX Compatibility It should fit naturally into Microsoft’s existing object architecture, consisting of COM and Automation (now subsumed under ActiveX). Thus, the repository should use existing ActiveX interfaces and implementation technology wherever possible and minimize the number of new concepts that the large community of ActiveX users needs to learn. This paper explains how the Repository attains these goals by providing an object-oriented database (OODB) architecture based on Microsoft’s binary object model (COM) and type system of Visual Basic (Automation).

Patent
26 Feb 1997
TL;DR: In this paper, a visual coding tool that allows a user to visually implement the full inheritance capabilities of object oriented programming languages is disclosed, including the ability to visually create a first object class which is a subclass of a second object class.
Abstract: A visual coding tool that allows a user to visually implement the full inheritance capabilities of object oriented programming languages is disclosed. This includes the ability to visually create a first object class which is a subclass of a second object class, where the first object class has, as one of its attributes, a third object class which is a subclass of a fourth object class. The third object class is not an attribute of the second object class, while the fourth object class is also not an attribute of the second object class. The visual coding tool includes a user interface which allows a user to visually create object classes and establish an object class hierarchy by "dragging and dropping" visual icons associated with object classes.

Book
01 Nov 1997
TL;DR: A CESD model is introduced which provides a framework for handling this separation and at the same time makes it possible to identify and discuss the rich variety of relationships among concrete activities and the main concerns.
Abstract: This chapter represents a step towards the establishment of a new system development approach, called Cooperative Experimental System Development (CESD). CESD seeks to overcome a number of limitations in existing approaches: specification oriented methods usually assume that system design can be based solely on observation and detached reflection; prototyping methods often have a narrow focus on the technical construction of various kinds of prototypes; Participatory Design techniques—including the Scandinavian Cooperative Design (CD) approaches—seldom go beyond the early analysis/design activities of development projects. In contrast, the CESD approach is characterized by its focus on: active user involvement throughout the entire development process; prototyping experiments closely coupled to work-situations and use-scenarios; transforming results from early cooperative analysis/design to targeted object oriented design, specification, and realisation; and design for tailorability. The emerging CESD approach is based on several years of experience in applying cooperative analysis and design techniques in projects developing general, tailorable software products. The CESD approach is, however, not limited to this development context, it may be applied for in-house or contract development as well. In system development, particularly in cooperative and experimental system development, we argue that it is necessary to analytically separate the abstract concerns, e.g. analysis, design, and realisation from concrete activities and techniques. Thus we introduce a CESD model which provides a framework for handling this separation and at the same time makes it possible to identify and discuss the rich variety of relationships among concrete activities and the main concerns.

Proceedings ArticleDOI
09 Apr 1997
TL;DR: A component model is proposed which can be used to compose objects into manageable entities and a mapping of distributed objects into Darwin components is described together with an outline of how Darwin and its associated tools are implemented in a CORBA compliant environment.
Abstract: The paper addresses the problem of structuring and managing large distributed systems constructed from many distributed objects. Specifically, the paper proposes a component model which can be used to compose objects into manageable entities. Components are specified using Darwin, an architecture description language developed by the authors. A mapping of distributed objects into Darwin components is described together with an outline of how Darwin and its associated tools are implemented in a CORBA compliant environment.

Patent
Joseph E. Walker1
12 Nov 1997
TL;DR: A generic software state machine for implementing a software application in an object oriented environment includes a set of entity objects (20, 30) defined for software elements of the software application as discussed by the authors.
Abstract: A generic software state machine (10) for implementing a software application in an object oriented environment includes a set of entity objects (20, 30) defined for software elements of the software application, a set of state objects (26, 34, 38, 40) defined for each entity object representative of states that the software element may enter, and a set of event objects (36, 42) defined for each state object representative of inputs that the software element may receive or actions the software element may encounter while in the state represented by the state object.

Journal ArticleDOI
TL;DR: A review of empirical studies of object-oriented design can be found in this article, where the authors present results on communication, coordination, knowledge dissemination and interactions with clients, and assess claims about OOD at the software design team level.

Proceedings ArticleDOI
07 Apr 1997
TL;DR: FLORID as discussed by the authors is a deductive object oriented database system incorporating F-logic as a data definition and query language and combining the advantages of deductive databases with the rich modelling capabilities of object oriented concepts.
Abstract: Summary form only given. FLORID-F-LOgic Reasoning In Databases-is a deductive object oriented database system incorporating F-logic (M. Kifer et al., 1995) as a data definition and query language and combining the advantages of deductive databases with the rich modelling capabilities of object oriented concepts. F-logic provides complex objects, uniform handling of data and metadata, rule defined class hierarchy and signatures, nonmonotonic multiple inheritance, equating of objects by rules and variables ranging over methods and classes. Moreover, FLORID extends F-logic by path expressions (J. Frohn et al., 1994) to facilitate object navigation. Because of its powerful properties, F-logic cannot be mapped onto a relational data model by transforming classes into relations. Hence, it was a major design goal to use an object oriented data representation in FLORID. All information about one object is stored in an object frame which has a unique OID. Several (external) object names may refer to the same OID, thus defining an equivalence relation between objects. Frames consist of slots for method applications or class membership, enabling schema modifications during the evaluation by deriving new signatures, subclass relationships or class memberships. The collection of all frames forms an object world.

Journal ArticleDOI
TL;DR: The results of this study show that the rate of reuse significantly depends upon reuse capability, software development effort, object-oriented design capability, repositoryDevelopment effort, Ada technology capability, and domain capability.
Abstract: Over the past several decades, numerous software technologies have been developed for overcoming the software crisis. Among these technologies, reuse has been recognized as one of the most important software technologies. Recently, it has gained substantial attention as a possible solution to the software crisis in Ada and other software communities. The purpose of this empirical study is to examine how organizations actually exploit reuse technologies and evaluates how reuse factors affect the rate of reuse in an organization. This study is an attempt to enhance the measurement of the rate of reuse and the effectiveness of reuse by establishing conceptual foundations in the literature for reuse and conducting an empirical investigation of organizations using Ada technology. This study differentiated software reuse into six criteria: domain, human, tool, organization, software metrics, and environment. The results of this study show that the rate of reuse significantly depends upon reuse capability, software development effort, object-oriented design capability, repository development effort, Ada technology capability, and domain capability.

Patent
04 Feb 1997
TL;DR: In this article, an object tree as a tree-like structure for storing objects is proposed, and a pointer can be retained and transferred by giving the object identification information to the object and converting the pointer to the combination of the object information.
Abstract: This invention introduces class identification information for identifying the class of an object and makes it easy to retain, reproduce and transfer the object. An object tree as a tree-like structure for storing objects is also devised. A pointer can be retained and transferred by giving the object identification information to the object and converting the pointer to the combination of the object identification information. This invention is convenient for handling logic models representing various logical relationships. When elements of information distributed to a plurality of computers connected to a communication network such as an internet are linked together and a large scale logic model is reproduced, only the portion necessary for processing can be reproduced. When the invention is applied to three-dimensional space display, a continuous broad space can be reproduced as a space in which only necessary portions are continued. When the invention is applied to an object-oriented programming, all the objects are reproduced if vacancy exists in a main memory, and a request can be made to the objects of another computer if no vacancy exists.

Patent
15 Oct 1997
TL;DR: In this article, a method and system for transmitting objects in an object-oriented distributed system allows the reconstruction of objects and downloading of code associated with such object reconstruction to be deferred until it is needed by a program.
Abstract: A method and system for transmitting objects in an object-oriented distributed system allows the reconstruction of objects and downloading of code associated with such object reconstruction to be deferred until it is needed by a program. The deferred reconstruction is accomplished by using a Java object called a “marshalled object,” which is a self-describing stream and which is a first-class entity in the system, meaning that it exists within a type system of a programming language and can be accessed and manipulated by instructions written in that language. Such an object can typically be produced by any object that can be passed from one address space to another, and it can be stored, passed to other objects, or used to reconstruct an object of the original type on demand. The reconstruction of an object is deferred until the code holding a marshalled object directly calls the creation of the object using the marshalled object. Any downloading of code is also deferred until the marshalled object is used to create a copy of the original object.

Patent
Olivier Potonniee1
15 Aug 1997
TL;DR: In this paper, the naming management is distributed over the components and each component manages the naming of the component or components which immediately follows it, so that each component can be allocated to one or several objects in the number of objects.
Abstract: In an object environment, among the plurality of objects interact, one or several objects in the number of objects are allocated to a component. The naming management is distributed over the components. Each component manages the naming of the component or components which immediately follows it.