• No results found

SOFTWARE REUSE IN HYPERMEDIA APPLICATIONS

N/A
N/A
Protected

Academic year: 2021

Share "SOFTWARE REUSE IN HYPERMEDIA APPLICATIONS"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

SOFTWARE REUSE IN HYPERMEDIA APPLICATIONS

Mario Bochicchio (bomal@ingle01.unile.it), Roberto Paiano (rpaiano@ingle01.unile.it) SET-Lab, University of Lecce,

Via Per Monteroni, 73100, Lecce, Italy. Tel. +39 0832 320216, Fax +39 0832 320279

INTRODUCTION

In the hypermedia communication process, authors are connected to readers through hypermedia applications. The underlying software is an important part of the “communication channel” between authors and readers: it is effective if it is “transparent”. This means that hypermedia software must be flexible and powerful, to support naïve users as well as “experienced navigators”; it must be developed and tested before contents, because contents, in real projects, are released very late; it must be robust and error-free; and finally it must be inexpensive with respect to contents, because contents are the focus of the production effort.

For all these reasons the run-time software must be contents independent and application independent; in fact it can be powerful enough only if its development costs can be shared over a large number of projects. Two applications, built around a reusable run-time engine based on the previous considerations, are presented in the following sections.

BACKGROUND

Hypermedia applications were, at the beginning, hand-coded pages with “ad-hoc” links. This production method was acceptable until a few pages had to be produced, but it became rapidly unmanageable when several hundreds of pages with complex interactive objects had to be considered. In particular, two interwoven problems rapidly became relevant: how to ensure the “usability” of modern large hypermedia-applications (Garzotto, & Matera, 1997), (Nielsen, & Mack, 1994), (Garzotto, Matera, & Paolini, 1999) and how to improve the efficiency of its production/maintenance process.

In good hypermedia applications, in fact, the reader should be able to effectively exploit the information contained in the application: i.e. he should be able to quickly locate the objects of his interest, to understand the inner structure of the objects and to easily navigate from one object to another. Several factors concur to the achievement of usability: one of the most important is to have a good structuring of the information objects and a good structuring of the navigation patterns. Several authors have recently proposed the adoption of design models (Garzotto, Lainetti & Paolini, 1995), (Schwabe, & Rossi, 1995), (Isakowitiz, Stohr, & Balasubramanian, 1995), (Mecca, Atzeni, Masci, Merialdo, & Sindoni, 1998), and design patterns (Gamma, Helm, Johnson, & Vlissides, 1996), (Garzotto, Paolini, Bolchini, & Valenti, 1999), (Nanard, nanard, & Kahn, 1998), (Rossi, Schwabe, & Lyardet, 1999) in order to improve the quality of hypermedia applications, at least for those aspects concerning structure and navigation. Design models provide, in fact, the primitives that allow to structure the information objects and the corresponding navigation patterns along regular and systematic features, improving consistency, predictability (for the user), robustness of the design, and therefore improving usability. The ancestor of these models can be traced to HDM (Garzotto, Paolini, & Schwabe, 1993).

The adoption of HDM to design the internal structure and the navigational features of hypermedia applications is desirable for almost three reasons:

− resulting applications are usable;

− the production process can be decomposed in sub-problems easy to manage;

− the application model can be “executed” by a suitable “interpreter” to create the application pages in a way that is independent from the specific application.

(2)

A REUSABLE HDM INTERPRETER

Introduction to HDM

A short introduction to HDM is essential for the comprehension of the following sections.

In brief, for HDM a multimedia application consists of an Hyperbase, an Access Layer and a Visual Layout. description. The Hyperbase contains the actual information objects and the basic connections among them, the Access Layer provides access paths to the objects of the Hyperbase, the Visual Layout description is made of page templates used to paginate the application.

The Hyperbase consists of Entities grouped in Entity-Types; Entities may have an inner structure.

Application Links, grouped in Link-Types, are used to connect different Entities. The definition of the Entity-Types and Link-Types is called, in HDM, "Hyperbase Schema in-the-large".

The "Hyperbase Schema in-the-small", instead, details the inner structure of the nodes, i.e. the smaller structuring units permitted for entities, and the inner structure of links. In brief “Slots” are the smallest pieces of information defined in-the-small, Frame are aggregate of slots and/or other frames (Garzotto, Paolini, & Schwabe, 1993), (Garzotto, Mainetti, & Paolini, 1994).

The Access Layer of an application is organized into Collections. A Collection groups together entities and/or other Collections. Collection members are topologically organized (Sequence, Tree and Lattice are the most common). Each Collection has a “Center”, used to “introduce” the collection, to “synthesize” its content, and to reach the collection members (Garzotto, Paolini, & Schwabe, 1993), (Garzotto, Mainetti, & Paolini, 1994).

According to the previous description a database can store the application components described by the model, then a run time engine can extract those components from the database to display it to the reader. The overall structure of a run time engine performing that job is described in the following section.

Run Time Engine

The overall architecture of the Run-time Engine is shown in Fig.1. The Engine has been developed using Macromedia Director. Microsoft Access was used as relational database, and Datagrip, from Sight & Sound, was used to access data from Director.

The architecture is application independent, i.e. it can be readapted to different projects in few time and with a small effort.

ShowNodeLayoutt(5)(8) OpenElement(4) ShowIndexLayout(2)

NAVIGATION

ENGINE PRESENTATIONENGINE

DATABASE ENGINE CollectionIndexInfo(3) ReqNodeSlots(6)(9) goto (7) OpenCollection(1)

Fig. 1 Run-Time Engine

The engine components are described in the following, referring to a typical user session:

1. When started, the Presentation-Engine (PE), performs the opening of the default starting collection (Home-Page) by sending the OpenCollection("Home") message to the Navigation-Engine (NE).

2. The NE initializes the navigation context and requests to the Database-Engine (DE) all data needed to build the requested “logic page”. The calls between NE and DE are multiple, so in Fig.2 a dotted line is used.

(3)

3. PE selects the right visual layout from the available ones, then it merges the data retrieved from the DE with the layout description to build the “physical page” and to display it to the user.

4. PE waits for user generated events. When, for example, the user selects (by clicking on) an item, the PE performs the logical decoding of the event and sends an OpenItem(x) signal to the NE.

5. NE updates the navigation context by adding, the current navigation step to the navigation history, then it asks DE to retrieve the data for the requested page.

6. PE acquires the last retrieved data, then it shows the physical page by using the related layout.

7. If the user is in a collection and it asks, for example, for the NEXT collection item, PE sends a GOTO(NEXT) signal to the NE.

8. NE updates the navigation contest and, according to the current status, signals to the DE to retrieve the requested data, then it informs PE about the layout to be used.

9. PE presents the retrieved data to the user according to the layout description.

The main component of the engine is NE that interprets the user request (following the HDM schema) and decides the correct page to be shown.

A key concept in this architecture is represented by the separation between logic page and physic pages. This separation allows the structural designer and visual designer to work at same time on different jobs.

APPLICATION EXAMPLES

Using the described architecture two different applications have been developed in the last year at TeleMedia Lab. The first one, Messapia, is about an ancient population living in Salento (in the SE of Italy) before Roman conquest. The second is the presentation of the University of Lecce, with its departments, its research programs and its cultural environment.

The Entity Types of Messapia are shown in fig 2:

• Archeological Findings: describes all findings of Messapi;

RITROVATI-IN

TRATTATI-IN

APPROFONDITI-IN

Fig. 2 Messapia: Hyperbase

MUSEO LUOGHI ARGOMENTI OGGETTO ARCHEOLOGICO CORRELATO TIPO_REPERTO TEMA INTERVISTE SOTTOTIPO_REPERTO SOTTOTEMA CORRELA RADICE_LUOGHI ELEMENTI POSSIEDONO POSSEDUTI TRATTANO RITROVATI APPROFONDISCONO RICHIAMA RICHIAMATO-IN RADICE_MUSEO APPROFONDIMENTI RIGUARDANO RIGUARDA

• Site: describes archeological sites;

• Museum: describes the local Museum that store many archeological findings;

• Arguments: describes the Messapi language, its customs and its history using interviews and images. The hyperbase, completed by application links and access structures, is mapped in the relational database represented in fig 3.

The Home-Page is shown in fig. 4.

This application uses two different way to present the multimedia contents: a Card-Way, shown in Fig.5, based on text with related images and audio, and a Visual-Way, shown in Fig.5 based on slide-shows with audio.

(4)

T I P O _ R E P E R T O D e s c r i z i o n e F o t o R e p e r t o ( * ) C o m m e n t o A u d i o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o N o m e C a t e g o r i a R e p e r t o C o r r e l a t o S O T T O T I P O _ R E P E R T O D e s c r i z i o n e F o t o R e p e r t o ( * ) C o m m e n t o A u d i o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o N o m e S o t t R e p e r t o ( 0 : 4 ) R i t r o v a t o ( 0 : N ) L U O G H I N o m e M o d e r n o D e s c r i z i o n e F o t o R e p e r t o ( * ) C o m m e n t o A u d i o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o ( 0 , N ) T r a t ta t i- in ( 0 , M ) I N T E R V I S T E D e s c r i z i o n e T e s t o D o m a n d a A u d i o D o m a n d a F i l m a t o R i s p o s t a I m g In i z D o m a n d a N o m e I n t e r v i s t a I m g F in e I n t e r v i s ta A p p r o fo n d i t o - in ( 0 , M ) ( 1 : N ) T E M A D e s c r i z i o n e F o t o ( * ) C o m m e n t o A u d i o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o T i t o l o M U S E O A p p r o fo n d i s c e ( 0 : N ) ( 0 :N ) S O T T O T E M A D e s c r i z i o n e T i t o l o ( 1 : 1 ) ( 1 : 1 ) ( 1 : 1 ) p o s s i e d o n o E L E M E N T I A R C H I T E T T O N I C I D e s c r i z i o n e F o t o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o N o m e A n t i c o N o m e M o d e r n o C o m m e n t o A u d i o ( * ) D i d a s c a li a ( * ) A u d i o D o m a n d a D i d a s c a li a ( * ) A P P R O F O N D I M E N T I D e s c r i z i o n e F o t o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o D i d a s c a li a ( * ) N o m e A r g o m e n t o C o m m e n t o A u d i o ( * ) ( 0 : N ) ( 1 : 1 ) D i d a s c a li a ( * ) D i d a s c a li a ( * ) D i d a s c a li a ( * ) r i g u a r d a n o F o t o ( * ) C o m m e n t o A u d i o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o D i d a s c a li a ( * ) D e s c r i z i o n e F o t o ( * ) C o m m e n t o A u d i o ( * ) T i t o l o e s t e r n o T i t o l o in t e r n o D i d a s c a li a ( * ) N o m e A r g o m e n t o

Fig. 3 Messapia: ER schema derived from the HDM model

(5)

The University CD has the Entity Types: Faculty, Department, Research Area, Event, Site and Argument. These application contents are organized as slide-shows with synchronized audio comments. The Home-Page, with the access structures, is shown in Fig.6, a sample page is shown in Fig.7.

Fig.5 Cratere: Card way and Visual way

Fig. 6 University presentation: Home-Page The application is bilingual (Italian and English).

The lifecycle of the two applications was the following: the first one was completed in 8 months by 4 people, including HDM modeling, engine implementation and development of multimedia contents. The visual design was done in about 1 month from a visual communication specialist; the second application was completed in about 4 months by 2 people. This time concerns essentially the development of multimedia contents. The structural and visual modeling was completed in 15 days.

(6)

The run time engine required only minor changes to be adapted to the second project. The database structure had few changes concerning the addition of some multimedia slots. The main changes was required from the Presentation Engine, concerning the integration of the new visual layout.

FUTURE TRENDS

It is an obvious observation the fact that we need to improve the quality of hypermedia applications, reducing at the same time the costs and the time required for their development. The adoption of structured approaches and conceptual models, such as HDM, is an important step in this direction.

CONCLUSION

In the near future the previously described engine will be extended to support more HDM primitives. The main goal is not the “fully automatic” implementation of hypermedia presentations, but an effective and sophisticated navigation support.

The construction of a reusable engine for hypermedia application, based on the HDM model, is the logical extension to the model-based approach. The reusable engine, in fact, is able to implement the needed hypermedia software in an application-independent way. The effectiveness of this approach is based on the proven ability of HDM to describe a wide range of complex hypermedia applications.

REFERENCES

Garzotto F.,& Matera M.(1997).A Systematic Method for Hypermedia Usability Inspection. In The New Review of Hypermedia and Multimedia (Vol.3).

Nielsen J., & Mack R.L (1994). Usability Inspection Methods. New York: Wiley & Sons.

Garzotto F., Matera M., & Paolini P. (1999). Abstract Tasks for Hypermedia Usability Evaluation. In Technical Report (No.03-99). Milan: Dept. of Electronics and Information, Polytechnic of Milan.

Garzotto F., Mainetti L., & Paolini P. (1995). Hypermedia Application Design: A Structured Approach. In J.W.Schuler, N.Hannemann, & N.Streitz (Vol Eds.), Designing User Interfaces for Hypermedia. Springer Verlag.

Schwabe D.,& Rossi G. (1995). The Object-Oriented Hypermedia Design Model. In Communications of the ACM (Vol. 38, N. 8, pp.45-46).

Isakowitz T., Stohr E.A., & Balasubramanian P.(1995). RMM: a methodology for structured hypermedia design. In Communications of the ACM (Vol. 38, N. 8, pp. 33-44).

Mecca G.,.Atzeni P, Masci A., Merialdo P., & Sindoni G.(1998). The Araneus Web-Based Management System. In SIGMOD Conference (pp. 544-546).

Gamma E., Helm R., Johnson R., & Vlissides J.(1996). Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley.

Garzotto F., Paolini P, Bolchini D., & Valenti S. (1999).Modeling-by-patterns of web applications. In WWWCM'99 Proceedings. Paris, France: Springer-Verlag.

Nanard M., Nanard J., & Kahn P.(1998). Pushing Reuse in Hypermedia Design: Golden Rules, Design Patterns and Constructive Templates. In Proc. of the ACM Int. Conference on Hypertext '98 (pp. 11-20). Rossi G, Schwabe D., & Lyardet F. (1999). Improving Web Information Systems with Design Patterns. In Proc. of the 8th International WWW Conference. Elsevier Science.

Garzotto F., Paolini P., & Schwabe D. (1993). HDM: A Model Based Approach to Hypermedia Application Design. In ACM Transactions on Information Systems(Vol. 11, N. 1 , pp. 1-26).

Garzotto F., Mainetti L., & Paolini P. (1994). Adding Multimedia Collections to the Dexter Model. In ECHT (pp. 70-80).

Bochicchio M.A., Paiano R., & Paolini P.(1999). JWeb: an HDM Environment for fast development of Web Applications. In Proc. of IEEE ICMCS '99 (Vol.2 pp.809-813).

Bochicchio M.A., & Paolini P.(1998). An HDM Interpreter for On-Line Tutorials. In Proc. of MMM ’98 ( pp.184-190). Lausanne, Switzerland.

References

Related documents

• Follow up with your employer each reporting period to ensure your hours are reported on a regular basis?. • Discuss your progress with

The summary resource report prepared by North Atlantic is based on a 43-101 Compliant Resource Report prepared by M. Holter, Consulting Professional Engineer,

4.1 The Select Committee is asked to consider the proposed development of the Customer Service Function, the recommended service delivery option and the investment required8. It

The encryption operation for PBES2 consists of the following steps, which encrypt a message M under a password P to produce a ciphertext C, applying a

Results suggest that the probability of under-educated employment is higher among low skilled recent migrants and that the over-education risk is higher among high skilled

Based on this new expression for Ca c , a three-regime theory is formulated to describe the interface (in)stability: (i) in Regime I, the growth rate is always negative, thus the

The contract considered in this paper is the wholesale price contract model, the wholesale price w is determined by the manufacturer and retailer jointly, and under

more than four additional runs were required, they were needed for the 2 7-3 design, which is intuitive as this design has one more factor than the 2 6-2 design