Hypermedia functionality in modelling tools

Harri Oinas-Kukkonen
University of Oulu
Department of Information Processing Science
Linnanmaa, FIN-90570 Oulu, Finland
Tel. (358) 81 553 1900, Fax. (358) 81 553 1890
Email: hok@rieska.oulu.fi
http://rieska.oulu.fi/~hok/

Abstract

Seamless support for integrating software descriptions is one of the key requirements for advanced systems development. Design tools can be greatly increased in power by hypermedia functionality, which provides tool users with smooth transfer possibilities through the dependencies between diagrams or parts of them. This paper discusses the prominent hypermedia features required for accomplishing this and describes a hypermedia functionality implementation in a CASE environment. Both general purpose and domain-specific hyperlink types are defined, supporting relationship representation and navigation, annotation capability, completeness assessment and requirements tracing, and argumentation. A set of link navigation features is also addressed.

INTRODUCTION

The daily practice of system analysts and software designers includes the utilization of a wide variety of Computer-Aided Software/Systems Engineering (CASE) tools for different systems development activities. Basically, CASE tools enable the creation, modification, investigation and deletion of diagrams, e.g. data flow or entity-relationship diagrams, and the relationships between them. The internal structures of diagrams and the types of relationship that they may have to other diagrams are constrained by the methodologies in use (e.g. decomposition or mini-specs). A lack of seamless tool support for representing relationships that cannot be prescribed and represented by methodologies but are created at will may nevertheless cause serious design and maintenance problems. These relationships are a form of information, too.

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.

LINKING ABILITY

Our experimental research efforts have led to a hypermedia functionality implementation for a CASE environment called MetaEdit+ [5]. MetaEdit+ is a multitool, multimethod CASE environment implemented in VisualWorks/Smalltalk. This paper particularly addresses the support functionality, which incorporates hypermedia functionality into the model editing tools (Diagram Editor, Matrix Editor, Table Editor).

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.

General purpose hyperlinks

Derived from the basic notions of hypertext, the link and the node, association link (which corresponds to a "link") and annotation link (the target of which, an annotation node, corresponds to a "node") are regarded in this paper as the key concepts for hypermedia functionality. Thus the ability to create, modify, traverse and delete association and annotation links, and annotation nodes corresponding to the annotation links, forms the core of our hypermedia functionality.

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.

Domain-specific hyperlinks

The CASE specific hyperlinks include traceability links and debate links.

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.

Hyperlink navigation support

When the non-linear dimension of navigation is added to documents, the complexity of the relationships grows rapidly. One possible disadvantage of hypermedia is the problem of getting lost in the hyperdocument. To avoid this a variety of navigational aids have been implemented for Linking Ability users.

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.

CONCLUSIONS

Seamless support for associative document integration is one of the key requirements for advanced systems development. Often the support of methodologies for representing dependencies between design documents is not enough, because the authors and readers should be able to create associative connections at will. The incorporation of hypermedia functionality into design tools has demonstrated its potential for bridging this gap.

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.

References

1 Maurer H. & Tomek I. (1990) Broadening the Scope of Hypermedia Principles, Hypermedia, Vol. 2, No. 3, pp. 201-220.

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.


Copyright

Oinas-Kukkonen, © 1996. The author assigns to educational and non-profit institutions a non-exclusive licence to use this document for personal use and in courses of instruction provided that the article is used in full and this copyright statement is reproduced. The author also grants a non-exclusive licence to New Jersey Institute of Technology to publish this document in full on the World Wide Web and in printed form with the workshop papers, and for the document to be published on mirrors on the World Wide Web. Any other usage is strictly prohibited without the express permission of the author.
This paper appears in the Proceedings of the Second International Workshop on Incorporating Hypertext Functionality into Software Systems, held in conjunction with the ACM Hypertext '96 conference, Washington, U.S.A.