The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Object-oriented programming has brought many advantages to the software engineering community. The reuse of existing software components and application frameworks can improve the productivity in software development considerably. The same object-oriented techniques, i.e., inheritance and information hiding, that ease reusing software, can be applied to documentation and thus, enable its reuse. One...
There are two approaches to using code inheritance for defining new component implementations in terms of existing implementations. Black-box code inheritance allows subclasses to reuse superclass implementations as-is, without direct access to their internals. Alternatively, white-box code inheritance allows subclasses to have direct access to superclass implementation details, which may be necessary...
Smalltalk-80 is an object-oriented system promoting "programming by reuse". However, the complexity of the Smalltalk class library makes it difficult for the non-expert user to find the problem-solving class. This paper describes ClassExpert, a tool that helps to retrieve classes matching the functional specification provided by the user. ClassExpert deploys an attribute-value classification...
Reuse of software is an excellent way for saving costs and development efforts. Design for large-scale reuse addresses the need for higher productivity in a domain-specific (telecommunication) product line. This paper presents our approach to design for large-scale reuse. The large-scale granularity of reusable components includes subsystems, building blocks (a collection of object classes) and architectures...
The inability of software reuse to reach its full potential lies partially in the product-centric way in which we view software development. Methods are needed that help us reason about product families and degrees of support that can be offered for problem domains. This paper uses a "domain lifecycle" to formalize a process in which increasing levels of formality can be provided as a domain...
Domain models have long been used as basis for software development and reuse. We present a specialized, simplified domain model that has been used for system testing in industry and is the core part of a system testing approach we call 'application domain-based testing'. Sleuth, a test suite generation tool is based on this concept. The paper reports on the domain analysis, the domain model components,...
This paper contributes to the body of knowledge in reuse legal and contractual issues by outlining such issues by the scope of reuse, covering the advantages and disadvantages of intellectual property protection, discussing legal issues from the viewpoint of the producer, consumer, broker and end-user, and describing the implications of licenses and warranties for software reuse.
Reuse is the key paradigm for increasing productivity and quality in large-scale software development. To become systematic, reuse needs supporting tools, and among these are the packaging tools. To reuse a complex component, it is necessary to understand its objectives, its architecture and how to use it. Therefore, a reusable component should be packaged with all the documentation necessary to enhance...
Software reuse economics has been the subject of vigorous study over the past few years. Although significant progress has been made in the areas of reuse metrics and cost estimation, work to date in reuse investment analysis has not always reflected accepted mainstream financial analysis practices. This paper compares several approaches that have been described in the reuse literature, points out...
The paper describes a software architecture for applications in the domain of management information systems (MIS). Using principles of software reuse and the architectural concepts introduced by D. Garlan and M. Shaw (1993), the paper describes the software architecture in terms of reusable components (of both and data) which provide domain independent and domain specific components for shared business...
Although numerous mechanisms for promoting software reuse have been proposed and implemented over the years, most have focused on the reuse of implementation code. There is much conjecture and some empirical evidence, however, that the most effective forms of reuse are generally found at more abstract levels of software design. We discuss software reuse at the architectural level of design. Specifically,...
The tenet of subjectivity is that no single interface can adequately describe any object; interfaces to the same object will vary among different applications. Thus, objects with standardized interfaces seem too brittle a concept to meet the demands of a wide variety of applications. Yet, objects with standardized interfaces is a central idea in domain modeling and software generation. Standard interfaces...
Organized reuse of software components have been employed for several decades in Garex, a Norwegian company producing customized voice communication control switch systems. Through a process encouraging reuse, a large number of highly parameterized components have been crafted. However, the current manual approach to instantiating and connecting components is very complex and time-consuming, and increasing...
Two important objectives when designing a specification for a reusable software component are understandability and utility. For a typical component defining a new abstract data type, a significant common factor affecting both of these objectives is the choice of a mathematical model of the (state space of the) ADT, which is used to explain the behavior of the ADT's operations to potential clients...
The paper describes a method for creating reusable processes and the authors' experience using them in an industrial environment. A notation and process for creating and tailoring reusable processes is described and applied to the building of a 120 process library at PRC Inc. Initial data collected on use of the library indicates large potential payoffs from process reuse such as a 10 to 1 improvement...
The paper baselines the state of the art in reuse economic modeling by surveying and comparing seventeen economic models and presenting conclusions and recommendations for further research. The analyses indicate a great deal of commonality among the set of models. While this may indicate that researchers are arriving at similar models independently, it may also suggest that we should direct our efforts...
We present a conceptual model for helping us understand the nature of software reusability, particularly to help us understand how language features affect the reusability of software. The fundamental concept for our model is that of dependencies. We identify properties of dependencies between segments of code that are important to reusability. We validate our model by showing its application to well...
The paper presents a technique for reusing design processes which aims at facilitating software reuse. The authors have constructed a specification reuse model based on two major ideas. One is to extract domain specific specification parts, and the other is to reuse design processes represented by reuse histories. In addition, a domain analysis method is proposed to construct the specification reuse...
Generators synthesize software systems by composing components from reuse libraries. In general, not all syntactically correct compositions are semantically correct. We present domain independent algorithms for the GenVoca model of software generators to validate component compositions. Our work relies on attribute grammars and offers powerful debugging capabilities with explanation based error reporting...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.