Results of the 6th Annual Reuse Workshop (WISR'93)

Jeff Poulin, WISR'93 Chair
Will Tracz, Co-Chair
Marilyn Gaska, Local Arrangements Chair
IBM Federal Systems Company
Owego, N.Y.

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:

A summary of findings from these working groups follows.

Results

The WISR'93 workshop revealed how far reuse technology has advanced in recent years. Current research focuses not only on "reuse-in the small," or the sharing of small utilities and functions, but on "reuse-in-large." Approaches to large scale reuse include the building of programs from entire subsystems of existing software to the building of generic frameworks that represent the structure of entire classes of application programs. Techniques for doing this included developing "domain specific kits" for programmers. According to work group leaders Martin Griss and Kevin Wentzel of Hewlett-Packard labs, everything you need to write a program, such as instructions, blocks, connecting parts, all comes in the programmer's toolbox. The 4th Quarter 1993 IBM Systems Journal contains a detailed article on these "kits," as part of the Systems Journal's special issue on software reuse.

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:

  1. Component structure rules
  2. Interface rules
  3. Composition rules
  4. Parameter rules
Reuse tools and environments provide the centerpiece for many reuse programs. This group, led by Becky Joos of Motorola and Tim Stockwell of the Mitre Corporation examined the issues of integration and interoperability of tools and repositories, as well as recommended functions and services. Starting with the tool integration matrix produced during last year's workshop, the group defined tool functions and integration requirements to support reuse in a development environment. Their "Owego Tool Model" consists of tools for component creation, management, and utilization, all cooperating and sharing information by way of a common repository (object-base) of data. They concluded that fewer tools make a better overall environment.

"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:

  1. Customer and values
  2. Business systems
  3. Structural systems
  4. Support systems
  5. People systems
The working group identified issues for each element and listed questions that address those issues. The group also proposed a solution strategy for each element based on the combined experiences of the working group members.

For more information:

You may obtain soft copies of the Proceedings of the past two WISRs (WISR'4 and WISR'5) and this year's workshop (WISR'6) via anonymous ftp over the Internet to the /pub/WISR/wisrN directory at: gandalf.umcs.maine.edu
where N represents the workshop number.

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.