An Object-Oriented Hypermedia Reference Model Formally Specified in UML
Information Modeling for Internet Applications
INTRODUCTION The Dexter Hypertext Reference Model and some of its variants gained wide acceptance as a basis for the design of hypermedia systems and interoperability tools. It was formalised by Halasz and Schwarz (1990) in Z, a specification language based on set theory. Since then, the object-oriented paradigm is widely adopted in design and implementation of information systems. In addition, more emphasis is now put on visual modeling languages that make models more intuitive. A first
... ive. A first object-oriented specification for the Dexter Model was presented by Van Ossenbruggen and Eliëns (1995) . It is an Object-Z approach without graphical representation. This work presents an object-oriented formal specification of a Dexter-based reference model for hypermedia systems in the Unified Modeling Language (UML). The specification consists of a visual representation with UML class diagrams supplemented with formal constraints on model elements, i.e. invariants on elements as well as pre-conditions and post-conditions on operations written in the Object Constraint Language (OCL). UML has been chosen because it is the standard modeling language; OCL is part of the UML (1999). A visual representation has the advantage of showing at a glance the relevant concepts, how they are organised and how they are related to each other. This semi-formal graphical representation is supplemented with semantic information formally written in OCL. The use of OCL improves the model precisionas stressed by Richter and Gogolla (1999) -compared to constraints imposed when written as text. In this work it allows for an object-oriented formal specification that is comparable to a Z (Halasz & Schwarz, 1990) or a VDM specification (Tochtermann & Ditrich, 1996), for example. This work is structured as follows: The second section gives an overview of the state-of-the-art in the field of reference models for hypermedia systems. The third section presents the goals of the current approach. Section four describes the argument of using UML and OCL. The fifth section presents the core of the model. Section six summarises the extension possibilities of this model. Finally, in the last section some conclusions and future steps are outlined.