AnnualReviewof AutomaticProgrammingVol. 16, pp. 19-83,1992
0066-4138/92/$15.00 Ca1992PergamonPress Ltd
Printed in Great Britin. All rights resaved
COLLABORATIVE SOFTWARE REUSE INTEGRATED INTO THE WORK FLOW R. Rada, W. Wang, A. Michailidis and C. Chen Departmentof ComputerScience, Unlniversity of LiverpooLherpool L.693BX,UK
documentation
ABSTRACT Existing work patterns must be closely observed in developing a software reuse tool that is accepted. The results of the PRACTITIONER Project confiied the significance of the understanding of an application domain and the human factors in the work flow. In this paper we present a model for collaborative software development in general and for software reuse in particular. This model takes an object-oriented approach and puts stress on the management side of the collaboration, such as the coordination embedded in the role allocation and automatic message passing. Experiments to validate the model are undergoing along with the re designing of our hypermedia collaborative and reuse support system. Several examples are given to show how this model fits into the work flow. REWORDS Software Reuse; Hypertext; Retrieval; model; tool.
Groupware;
Information
on standards and methodology.
The main motivation for collaboration and reuse in general is to Improve qualities and productivities within a well-coordinated organization and increase usabilities of resources. Computer-supported collaborative work (CSCW) is an increasingly popular area to deal with these issues with regard to computer assistance. On the technical side, there are two approaches to software reuse (Frakesl990): the reusable components based approach, and the formal language based approach. The software document reuse described in this paper falls into the first approach. Ideally reuse should occur at any sta.ge of software development from domain analysis, requnemcnts specification to implementation. Before software documents can be succcssfully reused, they must be somehow oqptized. Given a partial description of a desired document, the organization of existing documents may serve as a guide in retrieving relevant documents. Finally, components of the found documents must be zorlpanized so as to produce a new document.
INTRODUCTION Collaborative Many people have realized that the software crisis is actually the management crisis and most of the failures of software reuse efforts are due to the lack of the deep understanding of the domain (Pricto-Diazl990) and the lack of the support from the management level (Boldyrcffl!80). On drinking one’s own medicine, we apply these results back to the domain of software reuse itself. In the framework section, an object-oriented method is used to analyze the domain of software development with reuse, and a collaborative reuse model is proposed. Then a prototype system related to the model is described and examples from each main phases of reuse are given to show how this model fits into the work flow of the collaborative reuse practice. FRAMEWORKS Software devclopmcnt with rcusc is a process that naturally occurs within an organizational context. It is usually pcrformcd by a team. The work products at each stage of software life cycle prcscnt a language transformation from one level to another. In particular, the process of software dcvcloping is in fact such a sequence of language transformations from natural and loosely-structured languages to formal and highlystructured languages. We use. the term “software documents” to infer all of the work products including those
Aid in Reuse Process
Although reuse is a promising practice, failure in any phases of above reuse processes will cause failure in the reuse effort. Successful reuse requires the creation of high quality reusable components and that reusable components arc easy to: 0
find
l
understand,
l
integrate.
and
The integration of hypermedia technolog in a collaborative environment may help to make this possible. Collaboration can support every phase of reuse. Managers agree on standards (data exchange standards, templates or forms of software documents), so as to lower engineers’ burden on the structures of documents and let them focus on the contents. Team members may access and critique on the components made by others before storing them into the reusable repository, so that the high quality of reusable components can be ensured. Librarians may organize the reusable components in a library and help engineers find them, on request. In terms of understanding, modifying, and integrating the reusable components, engineers may help one another through discussions and annotations. High quality reusable components may dccrcasc information uncertainty within the group.
80
R. Rada et al.
Synergy of Groupware
and Hypermedia
Hypermedia is richly linked information. Groupware is software which supports group activity. Groupware hypermedia is hypermedia created or accessed by a group of people. Groupware hypermedia is a natural domain for collaborative authoring with reuse, in that it (Streitzl991): provides a shared information space as a group memory supports the creation of modules of information and the flexible way to organize them provides a joint attentional coordinated work
focus for real-time
provides representation that help users to understand the things they are working on provides a communication path through which physically or temporally separated people can influence each others work
Messages provide the basic mechanism for collecting and transferring activity information behveen roles. The shared information space allows role instances to share access to objects in the workspace, and constructs all complex information structures from ‘atomic’ information objects. This model presents an alternate approach to tackle the nut of software reuse with the well coordinated cooperation - the divideand-conquer reuse methodologY. Architectures
supports asynchronous document real-time group editing,
To validate the collaborative reuse model, the redesigning and re-prototyping of a collaborative authoring and reuse support system (named as MUCH) is on the way. The three spaces described above constitute the logic architecture of the revised system. The hypertext architecture of the system is derived from the Dexter Hypertext Reference Model (Halasz1990). We put stress on a semantic net which is underlying the node/link construction of the model. The semantic net supports organizing and integrating information as a network of nodes and links. A traversal engine is provided to generate multiple hierarchical views from the network to guide the users to navigate through and to retrieve information from the shared information space. A thesaurus represented in the semantic net and maintained by the librarian role facilitates the information organization and retrieval. Although representations of the software documents may vary from stage to stage in software life cycle, the node and link structure and the underlying semantics of hypermedia provide a conceptual framework to represent and organize them in a uniformed way.
reviewing and
supports browsing by association and interactive interface can annotate multimedia components supports the computational assistance in working out the implications of complex ideas supports observational study of group work. Collaborative
Reuse Model
Based on an object-oriented framework for describing organisational communication (Smith1989), a collaborative reuse process model is developed. In the model, the following components can be identified: Activities
in sofham
developrt~er3t with
rruse:
organization, specification, retrieval, understanding, modification, integration, .
People: actual individuals that play certain roles,
.
Roles
irz a soJinto/F team:
manager,
engineer,
librarian, b
annotations, documents, jVicssoges: structured mail, and on-line talk, broadcast as well as warning and help information, and
.
Workspaces: conceptual work arcas whcrc all the reuse activities take place. To identify the diffcrent functionalities, the workspaces are divided into the following three spaces:
.
Shared Illfomatiort
0
AuthotGrg Space which includes a variety of
Space which provides repository and basic an information mechanisms of data manipulation,
tools built space, and .
on
the
shared
information
which allows users to communicate implicitly by means of the shared inrormation and directly in using the communication protocols.
The MUCH system has been implemented in a clientserver architecture. One of the major servers, the system monitor, is running as a daemon, keeping the track of system functioning histoly; each time a user performs some action through the interface, the system monitor will bc notified. The system monitor can also send messages to client programs which in turn may invoke certain actions according to predefined rules which associate with specific working spaces. For instance, upon receiving a message that the current node of information has been updated, the display object should be able to invoke functions such as “redisplay” or “send update message to outline generator”. In the following sections we use examples to indicate how collaborative hypermedia might support reuse with the proposed model.
Commrnticatio~a Space
The key fcaturcs of the model arc that the descriptions of the structure of an organisation and its on-going activities arc maintained in the shared information space: 0
Roles are distinguished from people, thus allowing a separation of responsibilities between a role and the person playing it.
can embed schemas that help designers capture design rationale (e.g. gIBIS, QOC notion)
can define views for different tasks and users
.
to assist in the processing of activity-related messages and their routing between organisational roles, so that the responsibility for the coordination and management of an activity is vested in the roles involved in its performance.
A rule interpreter
makes use of the descriptions
INFORMATION
SPACE
The reusable information is organized in the shared information space which supports both a thesaurus view of the hypertext for the librarian role and a semantic net view for the manager and engineer roles. The shared information space also provides basic mcchanisms for information retrieval.
Collaborative Software Reuse
II
81
% lllaanPrinciplem (dml92/04/25) 18*KnowledgePase8mdkdsriq (Ml mwl*m (r~02/0425)
Lalalmm
.mofofCmclumim Bsfmmces
l
In ordsrtoprovida suck imbxingmchmia. tke ts Desdr to T mm-time ntainsaemcswary infmrutlmasuall aadppqrp :ims. Jarity of two give m&s is daided by its tea-tea (rak 92/ou!25~ II' ailaritymatrixto@lnmvitk apm-&fimadtbre&old. rword .strihtxm list is firstlypm&cad for eack am of th no&s. vm each ofth lists, awrdvactor cube slrtractadwitha fixed dsr of alsants. for instmm 10 or 20. Ibm. a 8imilarity ~meea~tbe~twnc&scakedsfLdastbemmalimdCt _l_t (=a, m&act of their correqmdiag dmrrteristic word-frspwncy
Jctors.
(pmrsw92/04/25) (pm~92/04/25)
:I Bamatsin 1988 $;c$~c~h;~~my.nydtonpdato t aguhcmt
the working informatim m distortioarto the result.
[‘Ill Fig. 1. The MUCH Interface: a version of the fisheye-view model. The window on the left contains a folding/unfolding Outline. The window on the right contains the content of the current selected node. Information can be distributed across the outline, if requested. The numbers on the left side of the headings in the outline window are the frequency of the word “thesaurus’.
Thesauri Hypertext is a proper framework to incorporate the traditional information retrieval mechanisms. Various types of the thesaurus relations are defined and represented as hypertext links, such as: used-for (UF), narrower-than (NT), and related (RT). In addition, another link type, document-term (DT), is suggested to connect a term from a thesaurus to a term in a document outline. Several different thesaurus nodes can point to a single document node. Thesaurus can not only facilitate information organization and retrieval, support information reorganization but also (Rada1992). Building a thesaurus may be a difficult job which in a large organization is supported by a team of specialists. In a smaller group, a single librarian may have this responsibility and will develop the thesaurus initially by extracting terms and definitions from documents being prepared by other members of the group. Subsequently, the authors of information will be asked to index their new documents with the thesaurus and when they find inadequacies to report them to the librarian who will in turn update the thesaurus. Ihcunients
A document in general may or may not be represented explicitly in a highly structured format. On the other hand, an outline or table of contents of a document is usually an effective way of representing and conveying a structure which underlies the document context. The outline management component not only can comfortably support the generation and maintenance of formally structured documents but also allows sufficient freedom for the users to dcvclop and update loosely structured documentation which is particularly involved in the early stages of a software development process. On the semantic net view, to create headings of an outlint is a process of classification and indexing of the node and/or the link. Outlines (or templates) can be
passed as message among team members during the creation process. When an agreement on the completion of a document is reached, a message will be sent to the librarian to initiate the indexing process under the thesaurus view of the librarian. Retrieval Information retrieval plays an essential part to support an effective reuse. In a process of seeking a reusable component, one of the most significant problems is the comprehension of the target component. An effective reuse support system should help the users in the comprehension process with the least cognitive load. This would also help the users to express the specification of a demanded component explicitly. The ability to browse is generally regard as one of the strongest reasons for using hypermedia. Current research suggests that hypertext systems utilizing relatively flat semantic networks or systems using smallsized displays are not conducive to browsing activity (McKnightl991). The flat semantic network of hypertext needs augmenting with an orthogonal conceptual superstructure to make effective browsing possible. When browsing, some information associated with the contents of the items browsed is helpful. The convcntions of text layout and typography are important aids to effective browsing in paper-based systems, and can be applied in computer-based systems. The various link types provide this kind of ‘meta-information’, and have been found to be useful aids to browsing. The folding/unfolding outline SuperBook (Egan1989) is the basic overview paradigm in the hypermedia model. To exploit it but also allow users to get a wide range of informational views, other information is distributed across the outline. Given an outline, information which may appear across it includes (see Fig. 1): l
word distribution,
l
persons, and
b
dates.
R. Rada et al.
82
The view of author and date information across the outline gives useful information about who is doing what on the project. In addition, the system keeps a record of how many times a node created by one person is accessed by others, who has updated a node and when. The manager in particular needs this information. An adjunct feature would explicitly indicate who is currently working in the information space, what role they have assumed, and what part of the information space they are addressing.
One of the main reorganization efforts in MUCH aims at supporting the connection of retrieved parts by providing different hierarchical views of the information space according to users’ specifications. The retrieved parts are presented in such a way that the original relations are respected. One can print this view as a linear document, or paste the view (a group of links) into the outline of a new document. When a node linked by the pasted view is edited, the node can be saved as a modified copy leaving the original node intact.
Nodes and links provide rich information to guide the network traversal. Multiple traversal strategies have been implemented in the hypermedia system. For instance, consider an extended depth-first traversal, the control loop in the traversal algorithm begins at a given node and after visiting the node, the algorithm builds a to-visit-list by:
Information Exchange
b
Suppressing unwanted link types;
0
On chosen links, using search c ‘teria to suppress some unwanted target nodes; ar- L
0
Ordering the candidate target nodes in a to-visitlist according to a required attribute or template.
In this way, rhe traversal engine exploits the knowledge of the semantic net underlying the library of document material and allows users to find and reuse information by generating subnetworks. AUTHORING SPACE
AND
COMMUNICATION
The authoring space includes tools that facilitate the reorganization of the retrieved information. The communication space supports both implicit communication via the shared information space and explicit communication via discussions and annotations. In a real-world, access to the system’s various functions might be assigned as user-privileges at different levels to different roles in a team. Also, nodes and links might have various status levels depending on their creator; for example, the system could make it impossible to release a document before taking into account the changes suggested in an annotation made by a manager. Having the shared information space, the message sending or putting a message into an in-tray/in-processtray/out-tray becomes a conceptual concept, which usually or but not necessarily means the real flow of the whole piece of the information. For instance, a message can stay where it is, while its access permission to the receiver can be changed, or a mail message can be sent to the receiver to inform him to take over the job on the message. Reorganization
Functions
MUCH provides primitive operations to support the restructuring of rctrievcd parts of existing documents into new documents. These functions include the operations for: .
One key to reuse is existing information is available. This requires an easy exchange of information with its environment. Given the large investment which groups make in document production, one can certainly not expect a group to rewrite all its documents into the MUCH System. Instead, the MUCH System supports the automatic importation of existing information so long as that information is in electronic form and has certain logical markup (such as SGML, LaTeX, and Troff). The exporting functions of the system can convert hypertext in MUCH to text for printing or to hypertext in many formats of hypertext systems (such as Emacs-Info, Guide, HyperTie, and SuperBook). Discussions
and Annotations
Although we try to reduce the explicit communication to the minimum, in some cases, this kind of communication is still needed. Annotations are, in the first instance, simply comments on a document. As annotations are added to annotations, they assume a structure comparable to that of a discussion. Any document node can have any number of annotations attached to it, and each annotation node can mark the beginning of a discussion. REAL WORLD EXAMPLES Asea Brown Boveri (ABB) is one of the world’s largest companies and is naturally concerned about software reuse. A major activity at ABB, as at many companies, is the production of proposals in response to calls for tenders. In one of the ABB business units, a standard template is used to prepare offers. The business unit has built a file store of reusable textual fragments (such as ‘Introduction to the Unit’ and ‘Equipment Descriptions’) for filling in the template. A set of rules has been defined to select particular fragments from a group of alternatives. The following scenario provides an overview of how the collaborative reuse model might work for implementing this application. The ABB collaborative reuse process is largely implemented by people with the support of word-processing and information retrieval tools. The offer reuse process is based on the following preparatory work: b
the manager agrees on standards, such as the standard template for offers, and rules for coordination, such as communication protocols and regulations on the work process, and
l
adding, editing or copying a section of a document, linking an existing section to a section in a new document, moving a section from an existing document to a new document, dclcting an existing section from a document, and
the librarian classifies and indexes finished offers, and builds a reusable component library by using a standard offer template as a micro-thesaurus indexing reusable fragments under and corresponding headings of the template. A particular offer-preparing process starts after a call for tender is received:
0
cut-and-paste.
(1)
. .
b
Collaborative Sofiwace
The offer template message is created using the standard offer template. The engineer completes the background and project independent entries. Some of the fields are filled automatically, such as the time when the message was created. (2)
The engineers wokpace notifies the engineer role instances of the aniwzl of the offer message.
When a message arrives in its in-tray, the workspace determines who should deal with it by checking the division of responsibilities ln the role instance rule sets. One engineer is responsible for completing those fields which have reus able fragments in the reusable component library, and he interacts with the user to decide which fragments to use. This can be a semi-automatic process by using the set of rules defined in the work unit. Another engineer is responsible for filling out those fields which have no fragments to reuse in the library. (3)
The managers, engineers, and end-usets comments and mod@ the offer message.
make
After the technical fields are completed, the message is made public to all the relevant engineers, managers, and end-users for comments.
(4)
The manager jiIls the administmtive entries and approves the ofler.
When an offer is approved and dispatched, the librarian also receives this offer message which initiates another process: .
the librarian assigns a few index terms to the finished offer,
b
particularly indexes the fragments which are evaluated as reusable by the engineers and managers and places them into the reusable fragments library, and
l
updates, if necessary, the thesaurus.
The process occurs repeatedly at ABB. DISCUSSION Effective software reuse is affected not only by technical factors, but also by economic, legal, and especially managerial factors. The failures of reuse efforts are largely due to the lack of support at the managerial level. A reuse support system taking these factors into account and following a formal model from the work flow could make the reuse effort more likely to succeed. In this paper, a collaborative software reuse model is proposed, and a prototype system, some examples, and scenarios are described to show how this model can be implemented in a groupware and hypermedia environmcnt. The potential power of hypermedia on the entire rcusc process, roughly speaking, on the process of organizing, retrieving, and reorganizing is highlighted. REFERENCES Boldyrcffl990. C Boldyrcff, P Elzer, P Hall, U Kaaber, J Keilmann, and J Witt, “PRACTITIONER: Pragmatic Support for the Reuse of Concepts in Existing Software,” Proceedings of Softuwv Engineering 1990, Cambridge University Press, conference held in Brighton, England July 24-27, 1990 (1990). Egan1989. D E Egan, J R Remde, L M Gomez, T K Landauer, J Eberhardt, and C C Lochbaum, “Formative design-evaluation of ‘SuperBook’,” ACM Transactions of Information Systems, 7, 1, pp. 30-57 (January 1989).
Reuse
83
Frakesl990. W B Frakes and P B Gandel, “Representing Reusable Software,” Infomration and Technology, Sofw pp. 32(10):653-664, Butterworth-Heinemann Ltd. (December 1990). Halasz1990. Frank Halasz and Mayer Schwartz, ‘“The Dexter Hypwtext Reference Model,” Ptuceedinp of the Hypettext Standa&zation W&hop, Washington, DC, pp. 95-134, U.S. Government Printing ofice (1990). McKnightl991. Cliff M&night, Andrew Dillon, and John Richardson, Hypettert in Cbnrwr, Cambridge, England, Cambridge University Press (1991). Prieto-Diazl990. Analysis:
Ruben Prieto-Diaz, “Domain An Introduction,” ACM SIGSOFT Sofhyar Engineenitg Notes, 15, 2 (1990).
Rada1992. Roy Rada, Weigang Wang, Hafedh Mili, Jurgen Heger, and Wolfgang Scherr, “Software Reuse: from Text to Hypertext,” IEE Sofmare Engineering Joumal (July 1992). Smith1989. H T Smith, P A Hennessy, and G A Lunt, “The Activity Model Environment: an ObjectOriented Framework for Describing Organisational Communication,” Pnxeedings of the First European Confetwce on Computer Coopemtive WonG,London (September
Supported
1989).
Streitzl991. Norbert Streitz, Frank Halasz, Hiroshi Lshii, Tom Malone, Chris Neuwirth, and Gray Olson, “The Role of Hypertext for CSCW Applications,” Avceedings of the Third ACM Conference on Hypetiext, San Antonio, Texas (December 1991).