RMC: A Tool To Design WWW Applications

Alicia Díaz
Tomás Isakowitz
Vanesa Maiorana
Gabriel Gilabert

Abstract:
We present the design of a computer-aided environment, RMCase, to support the design and construction of WWW applications. RMCase supports hypermedia design and development activities and produces HTML code. Support for cognitive design processes is achieved through three fundamental premises at the foundation of RMCase: (1) fluid feedback loops between the various methodological stages, (2) manipulation of objets at the instance level, and (3) lightweight prototyping. As a result, RMCase will support bottom-up, top-down and middle-out software development styles.

Introduction

WWW application design and development is a complex task that involves a variety of activities, at the storage, access and presentation levels. As a consequence, the constituencies participating in hypermedia projects differ from those of traditional software development environments. Hypermedia projects involve content-authors, librarians, musicians and graphic designers, as well as programmers, system analysts, software managers, and, of course, users. Moreover, aesthetic and cognitive aspects, so important for hypermedia applications, are foreign to existing software engineering environments. Thus, there is a need for special methodologies and tools to support the software development process of hypermedia applications.

In this paper we present the design of the Relationship Management Case Tool (RMCase), an environment to support the development of hypermedia WWW applications. This article represents a continuation of our efforts to construct a CASE tool for the development of hypermedia applications [1]. The Relational Management Design Methodology (RMM) [2] provides the methodological foundation for RMCase; its cognitive basis is drawn from work by Nanard and Nanard [3]. RMCase is, in principle, platform independent; it is capable of producing applications of systems running on the WWW [4], Toolbook, Hypercard, or other hypermedia environments. In particular, RMCase is more than an HTML editor; it is a software development environment that produces, as one of its outcomes HTML code. It also produces design specifications.

Requirements for a hypermedia design environment.

Nanard and Nanard [3] identify the following fundamental requirements for a hypermedia development environment, adopted in RMCase:

  1. Fast feedback loop spanning across methodological stages, to facilitate evaluation and re-design activities.
  2. Accessible and unconstrained cloning tools at the instance level, to facilitate the generation of material application instances that lend themselves to evaluation by designers, developers and users.
  3. Abstraction and instantiation mechanisms that enable developers to alternate between bottom-up and top-down approaches.
IMG This paper is organized as follows. Section Relationship Management Methodology briefly describes the RMM design methodology. The principal components of RMCase are presented in Section Contexts in RMCASE. Finally, Section Conclusion summarizes the contributions we make in this article.

Relationship Management Methodology(RMM)

The Relationship Management Methodology (RMM) [2] is a methodology for the design and construction of hypermedia applications. It consists of seven steps, some of which can be conducted in parallel. We will briefly explain the RMM's data model in what follows (for a more detailed elaboration, we refer the reader to [2]). Although RMM is, in principle, a linear methodology, our proposal in this paper results in an environment that supports feedback loops, cloning and prototyping to achieve a combination of top-down and bottom-up approaches.

The relationship management data model (RMDM)

A cornerstone of the RMM methodology is its data model, the Relationship Management Data Model (RMDM), whose elements are shown in Figure 1. RMDM provides a language for describing information objects and navigation mechanisms in hypermedia applications. An application's design is specified with an RMD diagram, constructed from RMDM's elements (see Figure 2 further ahead). The RMDM model is based on the Entity-Relationship model [5] and on HDM [6]. ER relationships can be on-one, one-many, and many to many, representing associations between entities. As in database modeling, many-many relationships are factored into pairs of one-many relationships.

Because entities may have a large number of attributes of a different nature (e.g., salary information, biographical data, photograph), it may be impractical or undesirable to present all the attributes of an entity instance in one screen. Thus, attributes are grouped into slices. For example, a person entity with attributes name, age, photograph and biosketch, may have a General slice, containing name, age and photograph and a Biosketch slice, with name and biosketch. The notation for slices is shown at the top of Figure 1 (supposed to resemble a pizza slice.).

Navigation is supported in RMDM by the six access primitives shown at the bottom of Figure 1. Uni- and bi-directional links are used to specify access between slices of an entity. The most significant access structures supported by RMDM are indices, guided tours and groupings. An index acts as a table of contents to a list of information items, providing direct access to each listed item. A guided tour implements a linear path through a collection of items allowing the user to move either forwards or backwards on the path. Index Guided Tours combine the functionalities of indices and guided tours. These three access structures are augmented with logical conditions that act as select statements specifying the set of instances being accessed. For example, a condition rank="Associate" on an index into a faculty entity denotes an index to all associate professors. The grouping mechanism serves as an access point to other parts of the hypermedia document. For example, the initial screen of many applications contains a menu or set of buttons that provide access to different functions or classes of information.

Figure 1: The elements of the RMM Data Model

A Sample Application

The ISWEB application ([9]) is a WWW site for the Information Systems Department at the Stern School of Business. The application contains information about faculty, courses, research and other academic activities. Parts of this application are highly structured, so it lends itself to be modeled in RMDM. Figure 2 shows an RMD diagram for the ISWEB application. In contrast to an entity-relationship diagram that represents the design of a database, an RMDM diagram describes how users will navigate a hypermedia application. To avoid cluttering, slices are not included in Figure 2, and only key attributes of entities are shown. At the top of Figure 2 the grouping mechanism implements a ``main menu''. Access into the Faculty and Courses information is provided via guided tours; access into Programs by means of an index. On choosing the guided tour to the Faculty entity, the user can move back and forth among all faculty members (ordered alphabetically). There is a conditional index from the Faculty entity into Courses with predicate teaches(F,C). The reciprocal index taught_by(C,F) can be accessed from Courses.

Figure 2: The RMD diagram for the ISWEB application

Contexts in RMCASE

RMCase supports the software life-cycle of an application through a set of contexts, one per stage, called work contexts. The concept of context is akin to that presented in [7] and to de collections, sa defined in [8], in the sense that a contextis a collections of nodes with associated browsing semantics. Rapid transitions between methodological stages are supported in RMCase via navigation among contexts. Since design objects are shared among different contexts, this kind of navigation enables developers to focus on one or more design objects while moving back and forth between the various stages in the methodology (one of the three fundamental requirements for a hypermedia software development environment.)

The E-R design context

The E-R design context facilitates the construction of E-R diagrams, capturing the characteristics of the application domain. Three basic design objects are handled in this context: entities, attributes and relationships.

The E-R design context, shown if Figure 3, has well-defined functionalities to manipulate entities, attributes and relationships. The entities Faculty and Courses, and the relevant relationships are shown along with their attributes in Figure 3.

Figure 3: The E-R context supports E-R design activities

The Slice Design Context

The inner structure of an entity is designed in this context. The design objects are: attributes, slices and links among slices. A slice is a set of attributes belonging to a given entity. An attribute can be part of number slices. Each entity has a distinguished slice, called the entity's head, that is to be used as a default entry point for incoming access constructs. The slice design context enables designers to "zoom" into each entity one at a time. Figure 4 shows a partial slice design for the Faculty entity as it appears in the slice design context

Figure 4: Slice design context.

The navigational design context

This context helps developers specify the navigational features of an application. Designers specify menu-like structures using groupings, indices and guided tours. Designers also decide here what relationships will be navigable in the final application. In Figure 5, for example, the teaches and taught_by relationships are implemented via conditional indices. The designer also specifies the conditions that are part of the access structures (e.g., "teaches(Course)=last_name"). The diagram appearing in Figure 5 is an RMD diagram, which models access paths. Presentation is the opening screen, from which a Faculty and Courses indices are reachable.

Figure 5: The Faculty-Course navigational design

Node-link conversion context

The node-link conversion context contains three kinds of facilities to support the conversion of RMDM diagrams into node-link webs:

  1. Facilities to execute the conversion itself, a kind of "compiler". When activated, these facilities automatically generate a web of nodes and links.
  2. Facilities to manipulate the node-link web itself.
Each slice is mapped into a node, and each access structure into a web of links and nodes. Links between slices are passed along to the node-link web. In addition, anchors are defined for each outgoing link, including guided tours and indices. In an index, the anchor provides navigation into the item it denotes. In a guided tour, the first anchor selects the first element in the guided tour, the next anchor the second, and so on.

This context is conceived as a visualization tool; it has no other functionality.

User-interface design context

For many WWW applications it is importatnt to exhibit a common look and feel. This is importatnt, for example, for some large organizations who are interested on the Web ([10]). RMCase is specially well suited for these kinds of applications.

This context provides facilities to design and edit the user-interface. We conceive a set of screen-designing tools like those available in many commercial applications (e.g., Toolbook, Visual Basic, MS Access, etc.) to generate HTML templates.

We contemplate the following set of functionalities for the user-interface context:

In this context, the designer "draws" the interface, associating an HTML object to each node and access structure.

Figure 6 depicts the interface designed for Faculty head slice. For each attribute or link anchor there is an associated "slot" in the HTML template. Similarly, templates are created for all other components of the application design. In sum, the user-interface context assists developers in the generation of a set of HTML templates, that are to be populated with information in the hyperbase population context.

Figure 6: In User Interface context, the designer "draws" the interface.

Hyperbase Population Context

This context supports the generation of an application by populating HTML templates with data. If the information resides within a database, there are at least two alternative approaches for hyperbase population.

By definition, this context is responsible for establishing a kind of bridge between the WWW application and information that is external to it. This, rather complex task, that a special kind of system that is outside the scope of this paper.

The prototyping context

There is a specialized prototyping context that represents the instance level. The prototyping context is where software developers can test different aspects of the design of a hypermedia application, such as its information structure and navigation patterns.

The prototype context provide the following functionality:

Figure 7: Prototyping context. Shown is a skeleton of the General slice for Faculty. At left the boxes represent actual information. At right, are buttons. These buttons represent links to other slices, and they are functional in the prototype context: clicking on them opens the appropriate slice.

Conclusion

We have presented the design of a computerized environment, RMCase, to support the design and development of WWW hypermedia applications. Not only does the environment follow a methodology (RMDM) but it takes into consideration cognitive aspects of hypermedia software development. RMCase is meant to support developers and designers in their evolutionary cycle of experimentation, building, and re-shaping. The main benefits of our approach are that it will facilitate the work of designers and developers of hypermedia applications while simultaneously enhancing the quality of their products.

References

1. A. Díaz, T. Isakowitz, "RMCase: A Computer-Aided Support for Hypermedia Design and Development", International Workshop on Hypermedia Design, Springer Verlag, 1995.

2. T. Isakowitz, E. A. Stohr and P. Balasubramaninan, "RMM: A Methodology for Structured Hypermedia Design", Communications of the ACM, August 1995.

3. J. Nanard and M. Nanard, "Hypertext Design Environments and Hypertext Design Process", Communications of the ACM, August 1995.

4. T. Berners-Lee,R. Cailliau, J. Groff, "Wold Wide Web: The Information Universe", Electron. Networking: Res. App. Policy 2,1 (Spring 1992), 52-58.

5. R. Elmasri and S. Navate. "Fundamental of Database Systems". The Benjamin/Cummings Publishing Company, second edition, 1990.

6. F. Garzotto, P. Paolini, D. Schwabe, "HDM - A Model for the Design of Hypertext applications", ACM Trans. Info. Syst 11, 1 (Jan 1993) 1-26.

7. M. Casanova, L. Tucherman, J. L. Rangel Neto, N. Rodriguez, L. Soares, "The Nested Context Model for Hyperdocuments", Hypertext'91 Proceedings, ACM Press, 1991.

8. F. Garzotto, L. Mainetti, P. Paolini, "Adding Multimedia Collections to Dexter Model", in ECHT94 Proceedings, ACM Press, 1994.

9. http://is-2.stern.nyu.edu/isweb.

10. http://eecns.stanford.edu/eecns/www/paper.html.

About the Author(s)

Alicia Díaz

Departamento de Informática
Lifia - Universidad Nacional de La Plata
also CONICET
50 y 115, 1900 La Plata, Argentina
email: alicia@info.unlp.edu.ar

Tomás Isakowitz

Information Systems Dept.
Stern School of Business
New York University
New York, NY 10012, USA
http://is-2.stern.nyu.edu/~tisakowi
email: tomas@stern.nyu.edu

Vanesa Maiorana

Universidad de Belgrano
Buenos Aires - Argentina
email:vanesa@maiorana.satlink.net

Gabriel Gilabert

Nea Phronesis
Buenos Aires - Argentina
email:gabo@neap.satlink.net