The Sixth Annual Workshop on Institutionalizing Software Reuse (WISR '93), hosted by IBM FSC in Owego, took place Nov. 2-4, 1993 in Owego. Almost 80 experts representing more than 60 industry, academic and government organizations worldwide gathered to share problems and solutions in adopting software reuse. This diverse selection of attendees has traditionally made the WISR workshops an important part in advancing software reuse technology. This year, participants included representatives from companies such as IBM, Hewlett-Packard, Motorola, Microsoft, Schlumberger, Boeing, Mitsubishi, and Andersen Consulting. The conference also attracted researchers from the Software Productivity Consortium, West Virginia University, Ohio State University, and the University of York, among other international educational institutions. Finally, proponents represented such various government organizations such as the Advanced Research Projects Agency, the Defense Information Systems Agency, the General Accounting Office and the Naval Postgraduate School.
The workshop began with an introductory session where participants presented current issues based on position papers they submitted to the workshop. Attendees then divided into eight working groups that covered a wide range of topics, including:
The language issues working group, led by Larry Latour of the University of Maine, explored the facilities needed to support the representation of generic architectures in code. They discovered that current methods use one or more of the following capabilities: interconnection, parameterization, object modelling, library organization, concurrency, specification semantics, the mapping from generic design to generic code, and module certification. This led to the identification of many dependencies and relationships covered in other working groups; for example, the formal methods group must help define the limits of what a generic language for code representation can provide. After analyzing these issues, the group created a taxonomy, or framework, to describe the different approaches and presented what a generic language should and should not support.
The reuse design and object oriented reuse methods group, led by Bill Frakes of Virginia Tech and Doug Lea of the Syracuse CASE Center and SUNY Oswego focused on language-independent techniques for designing reusable lifecycle objects, including object-oriented features and design techniques that enhance reuse. The group examined a client-server model where reusable components provide services to possibly many clients components via a well-defined, encapsulated, interface. To do this the component design must include a single parameterized description reflected by a verifiable implementation. The group categorized over 50 reuse design rules based on this model; the categories included:
"Institutionalizing" reuse remains a strong theme at the workshop. The Technology Transfer working group, led by Sid Bailin of CTA, Inc., and Guillermo Arango of Schlumberger, looked at "push-pull" relationships that can either hinder or help overcome inhibitors such as paying for additional costs of making reusable software well-designed, documented, and reliable. This group included representatives not only from industry but also from government and academia, and noted the similarities between infusing new technologies into the different environments.
The reuse in education working group, led by Ben Whittle of the University of Wales at Aberystwyth and the University of York, UK, and Trudy Levine of Fairleigh Dickinson University, expanded on the problem of introducing reuse into computer programming courses, especially at the college level. Unfortunately, colleges usually treat the idea of using someone else's work as plagiarism, and ignore the business necessities faced by industry where most programming consists of upgrading old programs or adapting someone else's program to do what you need. Since making reuse a natural part of a programmer's training means incorporating the ideas of the workshop into every aspect of a programmer's education, the group developed course curricula and plans for adding reuse to software engineering training that focused on design with reuse, design for reuse, domain analysis, and management and economic issues.
Formal methods and ways to certify reuseable components looked at mathematical techniques to guarantee the quality, reliability, correctness, and safety of reuseable components. Led by Maureen Stillman of Odyssey Research Associates, this group used a "reuse manufacturing" approach to software development, where they characterized the participants as either reuse producers, consumers, or brokers of the reusable component. Each has a need to locally certify the correctness of the component at as low a cost as possible. The ramifications particularly affect the unmodified versus modified use of a component, since the ability to locally certify correctness (in the absence of side-effects) makes it more practical to change a component without compromising the integrity of the entire system.
Patricia Stump of IBM Endicott and Terry Huber of DSD Laboratories led a group which addressed the ubiquitous reuse management issues. Their group put a reliable business plan/model at the center of a reuse implementation, and discussed implications of institutionalizing software reuse into industry, DoD, and academia in terms of a "Flexible Software Factory" model. This model gathers issues such as incentives, risk management, cultural issues, legal/liabilities/copyrights, and economic models into the following elements:
The full working group reports from WISR'93 will appear in the January 1994 issue of the ACM SIGSOFT Software Engineering Notes (SEN). A summary of last year's WISR'5 working group reports appears in the April 1993 SEN issue. The 4th Quarter 1993 IBM System Journal also contains several articles dedicated to software reuse and makes an excellent current reference.
For additional information, contact Jeff Poulin at IBM-FSC, Owego.