Electronic Proceedings of the
ACM Workshop on Effective Abstractions in Multimedia
November 4, 1995
San Francisco, California
Design Patterns for Hypermedia Applications
The advantages of using structural object-oriented modeling constructs in hypermedia are widely recognised. These kind of advanced data modeling approaches provide high level abstraction and composition mechanisms (e.g. classification, aggregation and inheritance hierarchies) with well-defined semantics. As object-oriented methods are now mature we can take profit from both the process models [McGregor94] and the heuristics defined in those methods [Odell94]. We also benefit from the work on views in object oriented databases [Kim 94], which allows us to define navigational models as views of conceptual models, with well defined semantics.
Our view in OOHDM, however, is broader than those previously mentioned approaches. First we want to specify systems in which we find dynamic multimedia behavior; besides we want our method to be useful to design a broad spectrum of applications that incorporate navigation, such as CASE environments, decision support systems, etc.; and lastly, we want to use a uniform formalism during the whole life-cycle. Structural object-oriented approaches are not enough for coping with these requirements, so we consider all constructs in our modeling approach (i.e. conceptual classes, nodes, links, interface objects, etc.) to be full-fledged objects that can react to external messages by triggering their own behavior. Considering objects not only as structured, encapsulated records but also as dynamic entities allows us to:
- Advanced uses
- extend the conceptual and navigational models with classes defining other design artefacts (like editors and browsers) with well-defined communication patterns with hypermedia components. This is important in applications combining hypermedia with other kind of computations [Bieber95] or allowing the user not only to navigate across the hyperbase but also to edit and modify it [Rossi95].
- conform with existing models and tools for dealing with the human-interface of multimedia applications, defining the interface model as a reactive model that interacts with the navigational model to achieve the desired navigational and interface transformations.
- reason about common navigation and interaction design patterns [Alexander77, Gamma94] in order to build new hypermedia applications by reusing design ideas and to have a common vocabulary among designers [Rossi95].
[Alexander77] C. Alexander, S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King and S. Angel, "A Pattern Language". Oxford University Press, New York 1977.
- [Banerjee87b] J. Banerjee et al, "Data model issues for object oriented applications", ACM TOIS 5, 1987.
- [Bieber95] M. Bieber; C. Kacmar, "Designing Hypertext Support for Computational Applications", Comm ACM, August 1995, pp 99-107.
- [Bigelow88] J. Bigelow, "CASE and Hypertext", IEEE Software, March 1988.
- [Carvalho95] S. Carvalho, G. Rossi; A. Garrido, "Design Patterns in an Object-Oriented Framework for Hypermedia", Proceedings of the Conference of the Chilean Computer Science Society, forthcoming.
- [Gamma94] E. Gamma, R. Helm, R. Johnson and J. Vlissides, "Design Patterns, Elements of Reusable Object-Oriented Software", Addison Wesley, 1994.
- [Kim94] W. Kim, "Advanced Database systems", ACM Press, 1994.
- [McGregor 94] J. Mc. Gregor; T. Korson, "Integrated Object-Oriented Testing and Development Process", Comm ACM, September 1994.
- [Nanard91] J. Nanard; M. Nanard. "Using Structured Types to Incorporate Knowledge in Hypertext", Third ACM Conferences on Hypertext Proceedings, Hypertext'91 ed. ACM Press. pp.. 329.
- [Odell 94] J. Odell, "Six different kinds of compositions", Journal of Object Oriented Programming, Vol. 5 #8, 1994.
- [Rossi95] G.Rossi; A. Garrido; S. Carvalho, "Object-Oriented Patterns for Hypermedia Applications", Proceedings of Patterns Languages of Programs (PLOP'95), forthcoming.
- [Scholl92] M. Scholl; A. Voisard, "Geographic Applications: An experience with O2" in F. Bancilhon (ed), Building an Object-Oriented Database System, Morgan Kaufman, 1992.