On the Automatic and Hand-made Link Creation at the Information System Level Functionality

Alejandra Garrido* and Harri Oinas-Kukkonen**
* LIFIA, Dpto. de Informatica.
Fac.de Cs.Exactas., Universidad Nacional de La Plata.
Calle 50 y 115. C.C. 11. (1900), La Plata. Buenos Aires. Argentina.
e-mail: garrido@sol.info.unlp.edu.ar
** Department of Information Processing Science, University of Oulu
Linnanmaa, FIN-90570 Oulu, Finland
Email: hok@rieska.oulu.fi

INTRODUCTION

The previous HTF workshop and some publications have recognized hypermedia functionality as an evolving approach from which a wide variety of applications may benefit remarkably. Adding this functionality may imply either a set of navigational aspects enriching the application on its own scope, e.g. [Bieber94], [Rossi94], or an external link engine through which the application is recognized and linked in an open hypermedia environment, e.g. [Ashman94], [Arents94]. These approaches may be called respectively as Information System Level Functionality and Operating System Level Functionality [Oinas-Kukkonen94, 95a]. This paper addresses the first one, for which we have found a secondary characterization, composed of automatic link generation and hand-made link creation. The research question for this paper can be expressed as: Should links be generated automatically or created manually in information system applications? Firstly, the key aspects of information system level functionality are outlined, identifying different kind of applications for which they can be added. Secondly, automatic link generation and hand-made link creation are discussed.

INFORMATION SYSTEM LEVEL FUNCTIONALITY

Navigational aspects can be recognized as helpful for a wide variety of computer- based information systems, though they constitute added-value only and must be integrated with the proper application functionality. Different kind of applications can be identified according to the different needs of hypermedia support that may result meaningful for them [Garrido96]. Three subsets are identified as: As identified at the first HTF workshop [HTF1], the set of key hypermedia features that may be added to the applications include the possibilities to associate or link different components of the application; enhance the application interface; define different contexts for different user profiles; browse the relationships with browsers and maps; enable rapid and easy access to the desired information by way of indexes and backtracking; guide in the search for information that fits the user profile with guided tours; add annotations and bookmarks, and provide history lists, among others. The addition of these navigational features must clearly preserve high decoupling among components, leading to easier maintainability and reuse. Consequently, they must be defined in another level of abstraction, leaving the application unaware of them [Carvalho95].

This paper emphasizes the possibility to associate or link different components of an application, particularly the way in which links are created. We discuss next the automatic link generation and hand-made link creation.

AUTOMATIC LINK GENERATION

In large hybrid or behaviour-based applications, adding hypermedia functionality may be impractical without a facility to automatically generate links [Bieber95]. It must be used in the process of building the hypermedia extension, when the designer defines the navigational components that will automatically map each application's component. This implies that automatic link generation is closely related with the definition of node and link types.

The designer must consider the model of the application meant to be extended in order to extract node types mapping application's component types. If the application model was designed with a method with explicit use of relationships like the Object Modeling Technique (OMT) [Rumbaugh91], link types can also be extracted from the model, relating different node types. Another way is defining rules or predicates that dynamically create links [Bieber95].

In [Rossi94, Carvalho95] a framework for extending applications with hypermedia functionality in an object-oriented environment is presented. Using this framework, nodes are associated with zero, one or more objects, and links are obtained from acquaintance or aggregation relationships. The aspects of objects serve as the atomic elements to be associated with each node, even if they return data or perform some action. Moreover, classes serve as starting points for the definition of node types, and automatic generation of nodes and links is implemented with the notification mechanism provided by the Smalltalk language. This mechanism is applied to make node types observe or depend on classes, and each time a new instance of a class is created, the class automatically notifies it to the dependent node type. Consequently, the object-oriented paradigm allows a transparent implementation of hypermedia extensions.

In data-based and hybrid applications, data items or components can be easily extracted and associated with nodes and links. A confusion may arise when building an extension for behaviour-based applications, where navigational items are more difficult to find. Even the concept of node is rather lost because the application is focused on the computations performed by its tools. For example in Smalltalk, a browser appears as a group of related list-boxes, where data items are selected in turn and actions are dispatched over the selected items. In this case, anchors may be created over each item in a list and they must appear on demand by way of a switch or menu option in order to be activated. Consequently, automatic generation of anchors and links is also feasible in this type of applications.

Summarizing this section, automatic link generation utilizes the semantic of node and link types, supporting the facility of creation. Various researchers have recognized the importance of typed nodes and links for communicating goals more effectively [Haake94]. Thus, application in which component types or classes are easily recognized (even semantic networks) can benefit remarkably from this approach. Furthermore, consistency and constraint checking can be addressed by just creating only the pre-defined relations to be navigated, either if they relate typed components or rise from some rule.

HAND-MADE LINK CREATION

Sometimes automatic or pre-definable links do not provide enough support for computerized information systems, and there is a need for supporting associative connections. The highest degree of software system flexibility implies that users can place links from any component or group of components in a document into other documents at will, and the documents will be immediately accessible in order to traverse the relationships in a user-defined way. In this manner, software system users are provided with a means to explore and navigate among documents accordingly to the associations perceived by either their authors or readers. Links can be placed in between existing components, annotations and the components, or between annotations.

In [Oinas-Kukkonen95a] a general approach for improving software systems through hand-made links is described, and in [Oinas-Kukkonen95b] this approach is applied to modeling CASE tools. When hypermedia functionality is applied in CASE, it results in the integration of informal and formal specification techniques. Hand-made link creation is also essential for each user to relate his/her own position to the ones of other users in the context of co-operative work. Hand-made links provide most support for complex systems, such as behaviour-based or hybrid applications, but do not give much support for data-based applications as defined above. Thus, applications with a lot of analytical information and heavy end-user emphasis may benefit greatly from user-created links.

DISCUSSION

The purpose of this position paper was to discuss the context and use of automatic and hand-made link creation, aimed at further describing the hypermedia functionality approach at the information system level.

Applications in which component and relationship types are easily recognized can benefit remarkably from automatic link generation because in the process of definition of hypermedia components, it facilitates the extension and supports the semantic of node and link types. On the other hand, users often prefer to organize the knowledge in a more flexible and informal way, without being restricted to pre-defined types of nodes and links. Thus, applications with a lot of analytical information and heavy end-user emphasis may benefit greatly from user-created links. Still, we believe that both ways for link creation are needed and useful, and various applications domains may benefit from both of them. Consider a CASE tool as an example application. Automatic links may be generated between the documents of each pre-defined phase of a certain methodology. Moreover, each component inside a document can be traced from the requirements over the whole life-cycle [Alvarez95]. Hand-made links support annotation capability, design rationale discussions and free association of components by authors and readers.

References

[Alvarez95] X. Alvarez, G. Dombiak, A. Garrido, M. Prieto and G. Rossi: "Objects on Stage. Animating and Visualizing Object-Oriented Architectures in a CASE environment". Proceedings of the International Workshop on Next Generation of CASE Tools, Finland, June 1995.

[Arents94] Hans Arents and Walter Bogaerts. "Link Services Badges: a Mechanism for Announcing Available Hypermedia Functionality". The First Workshop on Incorporating Hypertext Functionality into Software Systems (Edinburgh, Scotland, September 18th, 1994). New Jersey Institute of Technology: Technical Report #95-10.

[Ashman94] Helen Ashman and Janet Verbyla. "Retrofitted Hypermedia for Third- Party Applications". The First Workshop on Incorporating Hypertext Functionality into Software Systems (Edinburgh, Scotland, September 18th, 1994). New Jersey Institute of Technology: Technical Report #95-10.

[Bieber94] Michael Bieber and Charles Kacmar. "Hypertext Support for Computational Applications". The First Workshop on Incorporating Hypertext Functionality into Software Systems, (Edinburgh, Scotland, September 18th, 1994). New Jersey Institute of Technology: Technical Report #95-10.

[Bieber95] Michael Bieber and Charles Kacmar. "Designing Hypertext Support for Computational Applications". Communications of the ACM, Vol. 38, No. 8. August 1995, pp. 99-107.

[Carvalho95] Sergio Carvalho, Gustavo Rossi and Alejandra Garrido. "Design Patterns in an Object-Oriented Framework for Hypermedia". Proceedings of SCCC’95: Conference of the Chilean Society of Computer Science, Arica, Chile, November 1995.

[Garrido96] Alejandra Garrido and Gustavo Rossi. "A Framework for Extending Object-Oriented Applications with Hypermedia Functionality". Forthcoming.

[Haake94] Joerg Haake, Cristine Neuwirth, Norbert Streitz. "Coexistence and Transformation of Informal and Formal Structures: Requirements for More Flexible Hypermedia Systems". Proceedings of ECHT'94: ACM European Conference on Hypermedia Technology, Edinburgh, Scotland, September 1994, pp. 1-12.

[HTF1] New Jersey Institute of Technology: The First Workshop on Incorporating Hypertext Functionality into Software Systems (Edinburgh, Scotland, September 18, 1994). New Jersey Institute of Technology: Technical Report #95-10.

[Oinas-Kukkonen94] Harri Oinas-Kukkonen. "Hypertext Functionality Approach Defined". The First Workshop on Incorporating Hypertext Functionality into Software Systems (Edinburgh, Scotland, September 18th, 1994). New Jersey Institute of Technology: Technical Report #95-10.

[Oinas-Kukkonen95a] Harri Oinas-Kukkonen. "Developing Hypermedia Systems - The Functionality Approach". In Data Management Systems, IEEE Computer Society Press, Los Alamitos, CA, USA, pp. 2-8.

[Oinas-Kukkonen95b] Harri Oinas-Kukkonen. "Linking Ability - a Model Linking Tool for MetaEdit+ Environment". University of Oulu, Department of Information Processing Science, Working Paper Series B 39. November 1995, 16 pages.

[Rossi94] Gustavo Rossi, Alejandra Garrido and Analía Amandi. "Extending Object- Oriented Applications with Hypermedia Functionality". The First Workshop on Incorporating Hypertext Functionality into Software Systems, (Edinburgh, Scotland, September 18th, 1994). New Jersey Institute of Technology: Technical Report #95-10.

[Rumbaugh91] James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy and William Lorensen. "Object-Oriented Modeling and Design". Prentice Hall, 1991.


Copyright

Garrido, Oinas-Kukkonen © 1996. The authors assign 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 authors also grant 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 authors.
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.