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.
The paper discusses an approach to software architecture based on concepts from parameterized programming, particularly its language of "module expressions". A module expression describes the architecture of a system as an interconnection of component modules, and executing the expression actually builds the system. Language features include: modules parameterized by theories, which declare...
Reuse happens only when a variety of social conditions are favorable. However, social conditions, development processes, and design methods alone cannot guarantee success. In the end, working code must be produced, and at this stage programming languages and programming styles can make a critical difference. The paper focuses on C++ and its use because that's where the author's experience is, and...
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 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...
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...
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...
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...
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 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...
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...
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,...
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...
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...
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...
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.
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...
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...
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.