The Object-Oriented Hypermedia Design Model (OOHDM)

Daniel Schwabe ()

Gustavo Rossi (rossi at

See the OOHDM Wiki at

This page will no longer be updated.

Hypermedia applications are seen as systems that are built to function as part of a man-machine team. The part of the problem to be solved by the machine uses whatever techniques that are appropriate - Data Bases, Knowledge Based Systems, Hypermedia, Information Retrieval Systems, etc.... The part of the problem that is solved by the human being uses a hypermedia framework to aid the human being in managing the stored knowledge. The hypermedia paradigm is used also to smoothly integrate the formal (used by the machine) and informal (used by the human being) knowledge representations. A significant (sub) problem is how to develop Hypermedia applications, and how to integrate these applications in the framework described above. Hypermedia applications typically include complex information, and may allow sophisticated navigation behavior. The Object-Oriented Hypermedia Design Method (OOHDM) uses abstraction and composition mechanisms in an object oriented framework to, on one hand, allow a concise description of complex information items, and on the other hand, allow the specification of complex navigation patterns and interface transformations.

In OOHDM, a hypermedia application is built in a four-step process supporting an incremental or prototype process model. Each step focuses on a particular design concern, and an object-oriented model is built. Classification, aggregation and generalization/specialization are used throughout the process to enhance abstraction power and reuse opportunities. The table below summarizes the steps, products, mechanisms and design concerns in OOHDM.

Activities Products Formalisms Mechanisms

Design Concerns

Requirements Gathering Use Cases, Annotations Scenarios; User Interaction Diagrams; Design Patterns Scenario and Use Case Analysis, Interviews, UID mapping to Conceptual Model Capture the stakeholder requirements for the application.
Conceptual Design Classes, sub-systems, relationships, attribute perspectives Object-Oriented Modeling constructs; Design Patterns Classification, aggregation, generalization and specialization Model the semantics of the application domain
Navigational Design Nodes, links, access structures, navigational contexts, navigational transformations Object-Oriented Views; Object-Oriented State charts; Context Classes; Design Patterns; User Centered Scenarios Classification, Aggregation, generalization and specialization. Takes into account user profile and task. Emphasis on cognitive aspects. Build the navigational structure of the application
Abstract Interface Design Abstract interface objects, responses to external events, interface transformations Abstract Data Views; Configuration Diagrams; ADV-Charts; Design Patterns Mapping between navigation and perceptible objects Model perceptible objects, implementing chosen metaphors. Describe interface for navigational objects. Define lay-out of interface objects
Implementation Running application Those supported by the target environment Those provided by the target environment Performance, completeness



A Summary of the OOHDM Methodology

1-Requirements Gathering

The first step is to gather the stakeholder requirements. To achieve this, it is necessary to first identify the actors (stakeholders) and the tasks they must perform. Next, scenarios are collected (or drafted), for each task and type of actor. The scenarios are then collected to form a Use Case, which is represented using User Interaction Diagrams. These diagrams provide a concise graphical representation of the interaction between the user and the system during the execution of a task.

The UIDs are validated with the actors, and redesigned if necessary. In sequence, a set of guidelines are applied to the UIDs to extract a conceptual model.

1-Conceptual Design

In this step a conceptual model of the application domain is built using well-known object-oriented modeling principles, augmented with some primitives such as attribute perspectives (multiple valued attributes, similar to HDM perspectives. Conceptual classes may be built using aggregation and generalization/specialization hierarchies. There is no concern for the types of users and tasks, only for the application domain semantics. A conceptual schema results, built out of sub-systems, classes and relationships.

2-Navigational Design

Here we describe the navigational structure of a hypermedia application in terms of navigational contexts, which are induced from navigation classes such as nodes, links, indices, and guided tours. Navigational contexts and classes take into account the types of intended users and their tasks. Nodes in OOHDM represent logical "windows" (or views) on conceptual classes defined during domain analysis. Different navigational models may be built for the same conceptual schema to express different views on the same domain. Links are derived from conceptual relationships defined in step 1. By defining the navigational semantics in terms of nodes and links, we can model movement in the navigation space (i.e., the subset of nodes with which users can interact at any given moment) independently of the conceptual model. The navigational model may evolve independently from the conceptual model, simplifying maintenance .

3-Abstract Interface Design

The abstract interface model is built by defining perceptible objects (e.g. a picture, a city map, etc.) in terms of interface classes. Interface classes are defined as aggregations of primitives classes (such as text fields and buttons) and recursively of interface classes. Interface objects map to navigational objects, providing a perceptible appearance. Interface behavior is declared by specifying how to handle external and user-generated events and how communication takes place between interface and navigational objects.


Implementation maps interface objects to implementation objects and may involve elaborated architectures, e.g., client-server, in which applications are clients to a shared database server containing the conceptual objects. A number of CD ROM based applications, as well as web-sites, have been developed using OOHDM.


The references below give more details on OOHDM and its associated research.


(Revised TAPOS Paper)
( in PDF format)

This paper contains a revision of the original paper published in Theory and Practice of Object Systems 4(4), 1998. It contains a complete description of the of OOHDM..

Daniel Schwabe and Gustavo Rossi, "An Object Oriented Approach to Web-Based Application Design", Theory and Practice of Object Systems 4(4), 1998. Wiley and Sons, New York, ISSN 1074-3224)

( in PDF format)

A paper discussing various aspects of personalization, arguing they must be designed into the application from the beginning. Various alternatives are presented.

“Designing Personalized Web Applications, Procs. of the WWW10, Hong Kong, May 2001.


IEEE Multimedia
( in PDF format)

This is an expanded version of a paper that discusses the various types of reuse, especially design reuse, in hypermedia (WWW) applications. It introduces the notion of Web Design Frameworks, and OOHDM-Frame.

“Engineering Web Applications for Reuse”, IEEE Multimedia, Spring 2001, pp. 2-12 (Expanded Version).


EuroPLoP 00
( in PDF format)

In this paper we present some patterns we found in E-commerce applications.

"Patterns for E-Commerce Applications", Proc. Europlop 2000, Julho 2000, Kloster Irsee, Germany, 2000.


( in PDF format)

This paper analyzes different abstraction and reuse mechanisms that should be used in Web applications to improve their evolution and maintenance.

"Abstraction and Reuse Mechanisms in Web Application Models", Lecture Notes in Computer Science 1921, Proceedings of the World Wild Web and Conceptual Modeling'00 Workshop, ER'00 Conference, Springer, Salt Lake City, 2000.(Extended version)


( in PDF format)

This paper presents a method that bridges the gap between requirements elicitation and conceptual, interaction and navigation design for Web applications. It is based on user scenarios, use cases, and a new graphical notation, called User Interaction Diagrams.

"Modeling Interactions and Navigation in Web Applications", Lecture Notes in Computer Science 1921, Proceedings of the World Wild Web and Conceptual Modeling'00 Workshop, ER'00 Conference, Springer, Salt Lake City, 2000. (Extended version)


( in PDF format)

This paper presents a diagrammatic tool to represent the users/system interaction called user interaction diagram (UID). These diagrams are an extension to UML.

"A Diagrammatic Tool for Representing User Interaction in UML", Lecture Notes in Computer Science, forthcoming, Proc. UML’2000, York, 2000.


Web Engineering Workshop at WWW9
( in PDF format)

In this paper Web design frameworks are introduced as a conceptual approach to maximize reuse in Web applications.

"Web Design Frameworks: An Approach to Improve Reuse in Web Applications", Lecture Notes in Computer Science (Hot Topics) - Proc. of the Second International Workshop on Web Engineering, WWW9 Conference , Springer Verlag, 2000.


( in PDF format)

This paper argues that "traditional" conceptual modeling must be extended to deal with web application modeling.

"Web application models are more than conceptual models", Lecture Notes in Computer Science 1727, pp. 239-252, ISBN 3-540-66653-2, Proceedings of the World Wild Web and Conceptual Modeling'99 Workshop, ER'99 Conference, Springer, Paris, 1999 (Extended version)


( in PDF format)

This paper presents several patterns that can be used to improve Web Information System with search capabilities.

"Patterns for Adding Search Capabilities to Web Information Systems", Proceedings of Europlop'99, pp. 134-147, Kloster Irsee, Germany, IEEE Press, Juy 1999.


PLoP 98
( in PDF format)

This paper presents patterns for designing navigable spaces, such as: Navigational Context, Active Reference, Landmark, News and Shopping Basket.

" Patterns for Designing Navigable Spaces", Proc. of PLoP98, Monticello, USA, 1998, (Tech Report TR #WUCS-98-25, Washington University, St. Louis, MO, USA)

(SigLink 98)
( in PDF format)

This paper contains a relatively complete description of OOHDM Web in its second incarnation.

Schwabe, D.; Pontes, R. A.; Moura, I.; "OOHDM-Web: An Environment for Implementation of Hypermedia Applications in the WWW", SigWEB Newsletter, Vol. 8, #2, June de 1999

(Design Workshop at HT'99)
( in PDF format)

This is a position paper about Hypermedia Applications Frameworks, using OOHDM as specification notation.

" 'Just add Water' Applications: Hypermedia Application Frameworks", Proc. 2nd Hypermedia Design Workshop, Hypertext'99, Darmstadt, Germany, 1999


(ED Media 98)
( in PDF format)

This paper contains example of Design Patterns useful in developing educational hypermedia applications. Presented at the EDMedia'98

Lyardet F.;, Rossi G.;, Schwabe D., "Using Design Patterns in Educational Multimedia Applications", Proc. EDMedia'98, Freiburg, Germany, 1998


(Design Workshop at HT'98)
( in PDF format, gziped)

This paper contains a fairly complete example of the use of OOHDM for designing a sample application. Presented at the Hypermedia Design Workshop at HT'98

Daniel Schwabe and Gustavo Rossi, "Developing Hypermedia Applications using OOHDM", Workshop on Hypermedia Development Processes, Methods and Models, Hypertext'98, Pittsburgh, USA

(MCC 08/98 )
( in PDF format, gziped)

This paper describes the OOHDM Web environment, allowing an easy implementation of OOHDM designs in the WWW through the use of templates, CGI scripts and databases.

Daniel Schwabe and Rita de Almeida Pontes,"OOHDM-WEB: Rapid Prototyping of Hypermedia Applications in the WWW, Tech. Report MCC 08/98, Dept. of Informatitcs, PUC-Rio


(MCC 10/98 )
( in PDF format, gziped)

A description on the use of User Centered Scenarios to synthesize Navigation design of hypermedia applications: (in Portuguese)

Natacha G¸ell Barroso e Daniel Schwabe, "Projeto de NavegaÁ„o em Aplicativos HipermĚdia Orientado ao Usu·rio" ("User Centered Navigation Design of Hypermidia Applications") - Tech. Report MCC 10/98, Dept. of Informatitcs, PUC-Rio


(Paper in HT'97 )
( in PDF format)

A paper describing how patterns can be employed to reuse design knowledge:

G. Rossi, D. Schwabe, A. Garrido, "Design Reuse in Hypermedia Application Development", Proceedings of Hypertext'97, Southampton, UK, 1997


(Paper in PloP'97 )
( in PDF format)

A description of a pattern system for use in hypermedia design:

G. Rossi, D. Schwabe and A. Garrido, "Pattern Systems for Hypermedia", Proc. of PLOP'97 - University of Illinois, Monticello, USA, 1997


(#wucs-97-07) (PLoP 96) )
( in Postscript format)

A paper on the use of pattern languages to capture design knowledge in the hypermedia domain:

G. Rossi, D. Schwabe and A. Garrido, "Towards a Pattern Language for Hypermedia Applications" -, Proc. of PLOP'96 - Washington University Technical Report (#wucs-97-07)


version in Hypertext'96
( in HTML format)

Description of OOHDM in the version in Hypertext'96.

(MCC 30/95)
( in compressed Postscript format)

D. Schwabe, G. Rossi,S. D. J. Barbosa Systematic Development of Hypermedia Applications using OOHDM, (expanded version of paper presented in Hypertext'96), Departamento de Inform·tica, PUC-Rio, 1995.


Portinari Project

For an example of an application designed using OOHDM, available in HTML and in Toolbook, take a look at the Portinari Project site.

position paper
( in HTML format)

A position paper (in HTML) presented at the Workshop on Hypermedia Research and the World-Wide Web describes the design of this site.


G. Rossi's PhD Thesis
( in HTML format)

G. Rossi's PhD Thesis
( in zipped Word 6 format)

Gustavo Rossi's PhD Thesis contains a complete specification of OOHDM, and is available online (in Portuguese).


(MCC 07/95)
( in compressed Postscript format)

International Work shop on Hypermedia Design

G. Rossi, D. Schwabe, C.J.P. Lucena and D.D. Cowan, An Object-Oriented Model for Designing the Human-Computer Interface Of Hypermedia Applications, Departamento de Inform·tica, PUC-Rio, 1995.
(Also in: "Hypermedia Design,proceedings IWHD'95", Sylvain FraÔssČ, Franca Garzotto, Thomas Isakowitz, Marc Nanard, Jocelyne Nanard (eds), SPRINGER Verlag, Nov. 1995, ISBN 3-540 19985-3, 252 pages.


position paper
( in HTML format)

An overview of OOHDM can be read in the position paper for the ACM Multimedia'95 Workshop on Effective Abstractions in Multimedia.


Older Technical Reports

(MCC 41/94 )
( in compressed Postscript format)

SCHWABE, D., ROSSI, G. Building hypermedia applications as navigational views of information models, (also in Proc. of the 28th. Hawaii International Conference on System Sciences, Jan, 1995)

(MCC 30/94)
( in compressed Postscript format)

SCHWABE, D., ROSSI, G. From domain models to hypermidia applications: an objected-oriented approach, (revised and enlarged version, position paper, Workshop on Hypermedia Design, ECHT'94)
(MCC 42/94)
( in compressed Postscript format)

BARBOSA,S., SCHWABE, D., Navigation modeling in hypermedia applications. Rio de Janeiro, PUC-Rio, Departamento de Inform·tica, 1994. 18 p.


--- --- by Daniel Schwabe.