Assessment of an Architectural Approach to Large-Scale Systematic ReuseReport
Large-scale systematic reuse promises rapid development of significant systems through straightforward composition of large-scale existing assets. The realization of this promise would provide major benefits in many areas. For example, sophisticated software-engineering tools could be developed rapidly and inexpensively to deliver promising software engineering research results into practice. To date the promise of large-scale reuse remains largely unrealized. Although some successes have been achieved, barriers remain in a variety of areas: technical, managerial, cultural, and legal. In this paper we address an important technical barrier: architectural mismatch. Architectural mismatch has been identified as an important barrier to large-scale reuse. Recently architectural frameworks that purport to enable large-scale reuse have been developed. Among them is Microsoft's OLE technology, comprising both an architectural framework and a suite of reusable component applications. The manufacturer presents this technology as a toolkit for the rapid development of applications from components. In reviewing these component applications, we observed that they offer rich features applicable to a number of domains, and not merely management information systems or data processing. The components are both designed for reuse and also seem to span the spectrum of capabilities required to build a wide variety of applications. The capabilities include relational database management, graphical user interface construction, compound document design and storage, constraint-based structured interactive graphics, and diverse computational models, including spreadsheets and general-purpose imperative programming in languages such as C++. In this paper we evaluate the approach to large-scale systematic reuse represented by OLE. We conclude that, although difficulties remain, such an approach is practical now in many domains, that it substantially overcomes the architectural impediments that have hindered some previous attempts at large-scale reuse, and that it represents significant progress towards realizing the promise of rapid development of sophisticated systems. We report on our prototyping approach to the evaluation of this technology. Our evaluation focused on the ability of the technology to support the development of software engineering tools. We define our evaluation framework, describe our experience developing a specific tool, and present conclusions of our evaluation.
All rights reserved (no additional license for public reuse)
Sullivan, Kevin, and John Knight. "Assessment of an Architectural Approach to Large-Scale Systematic Reuse." University of Virginia Dept. of Computer Science Tech Report (1995).
University of Virginia, Department of Computer Science