This paper addresses hypermedia functionality [1-4], which means seamless incorporation of hypermedia features in a software system [4]. Hypermedia functionality provides software system users with a means to explore and navigate among documents according to the associations perceived by their authors or readers. Hypermedia functionality as a value-adding feature implies that the material already contained in a document can be used as a collection of nodes, the associative connections between which are represented to the users via links. Users do not have to create any new nodes in order to utilize this functionality if they do not want to. In many cases, however, authors and readers want to add some information to the documents, i.e. to generate new nodes, and this is enabled via an annotation mechanism which allows material (text or other media) to be added to the body of a document.
Hyperlinks can be attached to any design objects in diagrams or to any text strings in text nodes. General purpose hyperlinks, the application domain-specific hyperlinks required for CASE, and the navigation support features needed for a reasonable hypermedia functionality usage are discussed in the next subsections.
Association links provide connections between two diagrams, between parts of diagrams, or between a part of a diagram and a whole diagram. Links of this kind allow the representation of associative connections between various parts of diagrams to be supported.
Annotation links provide a way of connecting nodes to diagrams or design objects in diagrams. An annotation in itself is a brief, informal record (text or other media). Annotation links allow support for the connecting of informal information to formal information. This is one way for a CASE environment to support the refinement of concept definitions or the recording of experience over time, which is crucial for software project success.
The name traceability link emphasizes the possibility of tracing back (backward traceability) to the original development requirements. One of the most important benefits of document integration performed in a hypermedia-like manner is that it is possible to show the relations between software components relatively easily. Traceability links support the representation of dependencies between system development phases, the refinement of objects over time, or other semantic traces.
The name debate link emphasizes design rationale, which is basically a conversation among developers in which they bring their expertise and viewpoints to bear on resolving design issues. Design rationale nodes are typed into question, answer or argument nodes, and they may have specific interrelationships with other design rationale nodes. Debate links integrate argumentation into design diagrams.
One of the novel features of the Linking Ability is its support for link customization by means of subtypes and keywords. A project manager can define link classifications of different kinds, consisting of a set of subtypes. As an example, an annotation link could be subtyped as a "convergent" or "divergent" link, or if the project uses an object- oriented methodology, the traceability links might be subtyped into "requirements- OOA", "OOA-OOD", and "OOD-code". The link creator can choose the proper link subtype from among a set defined by the project manager. Keywords are "terms" which can be attached to hyperlinks. They overlap with subtyping in functionality, but serve a different function semantically, in that there is no limit to how many keywords can be attached to a hyperlink. Project members may also be allowed to define keywords, e.g. to describe link importance or alternative solutions.
Many hypertext systems provide a node-based text string search facility only, but they lack a structure-based query. All hyperlinks can have attributes associated with them to provide more information, and the link attributes can be queried. A document reader (e.g. a project manager, a reviewer, another systems designer, or the designer himself, who, having been involved in creating the diagrams, is now reading it later) may want to find all of the project's traceability hyperlinks to which the keyword "important" is attached. When the query is executed he receives a hit list consisting of the links that fulfill the requirements stated in the query and can backtrack or follow any of these.
Even though hyperlinks are one-directional in our implementation, effective navigation and unlimited backtracking is supported by various kinds of link lists. The interaction history enables a user to view his/her own footprints during earlier reading of the hyperdocument, and it is supported by a hyperlink history list, which contains the links the user has activated during the current session. The hyperlink history has the advantage of being able to either follow a link to its target or backtrack to its source, while a node history would enable only backtracking to the node. Most current hypertext systems support the node history approach only. Like link attribute query results, the hyperlinks that target an active document or have one as their source are listed as incoming and outgoing link lists. Links whose targets have been deleted without themselves being deleted are listed as dangling links so that users can recognize the possible inconsistency.
In addition to hyperlinks, some "marks" having conventional meanings and used in place of words, or to represent a complex notion can be attached to the documents. Two kinds of mark are provided: a bookmark and a landmark. A bookmark is a marker for keeping one's place in the collection of documents, and can be attached to e.g. a specific design object in a document which might be of interest at a later date, for example, while a landmark is a conspicious object in a document that directs the user towards a place or identifies it, e.g. an important region in the documentation. Other sophisticated navigation support features in L.A. include e.g. filtering and composite link structures.
The aim of this paper was to identify the key hypermedia features that can augment a CASE tool in order to achieve the desired functionality. Two general purpose link types for any computer-based information systems and two CASE specific link types were introduced, giving a set that comprises association, annotation, traceability and debate links. These support relationship representation and navigation, annotation capability, completeness assessment and requirements tracing, and argumentation. A variety of hyperlink navigation features were also introduced, including a link attribute query facility, a hyperlink history list, incoming and outgoing link lists, a dangling link list, and bookmarking and landmarking capabilities. Link customization is supported by hyperlink subtypes and keywords.
To our knowledge, the Linking Ability is the first attempt to incorporate hypermedia functionality of this kind into a full-blown CASE toolset. The features described here could and should be incorporated into any design systems, the approach being general enough to be utilized without taking hypermedia as the main design paradigm for the whole system. There is a need for further research into hypermedia functionality in design systems, and therefore our future activities will include a further evaluation of the usability of the Linking Ability and its effect on the overall usability of MetaEdit+, and the construction of a conceptual framework for developing hypermedia functionality in design systems. We believe that all knowledge-intensive software systems can benefit from hypermedia functionality, and this appears to be commercially attractive.
2 Kacmar C.J. (1993) Supporting Hypermedia Services in the User Interface, Hypermedia, Vol. 5, No. 2, pp. 85-101.
3 Bieber M. & Kacmar C. (1995) Designing Hypertext Support for Computational Applications, Communications of the ACM, Vol. 38, No. 8, August, pp. 99-107.
4 Oinas-Kukkonen H. (1995) Developing Hypermedia Systems - The Functionality Approach, Data Management Systems, IEEE Computer Society Press, Los Alamitos, CA, pp. 2-8.
5 Kelly S., Lyytinen K., Rossi M. (1996) MetaEdit+: A Fully Configurable Multiuser and Multitool CASE and CAME Environment, The 8th Conference on Advanced Information Systems Engineering, Heraklion, Greece, May 20-24, 1996.