Modelling hypermedia and web applications: the Ariadne ... - UC3M

6 downloads 19719 Views 772KB Size Report
The development process of hypermedia and web systems poses very ... systematic, flexible, integrative and platform-independent process to specify and evaluate hypermedia and web ..... among phases, letting developers decide the best.
ARTICLE IN PRESS

Information Systems 30 (2005) 649–673 www.elsevier.com/locate/infosys

Modelling hypermedia and web applications: the Ariadne Development Method$, $$ Paloma Dı´ az, Susana Montero, Ignacio Aedo Laboratorio DEI. Departamento de Informa´tica,Universidad Carlos III de Madrid, Avda. de la Universidad 30, 28911 Legane´s (Madrid), Spain Received 25 June 2003; received in revised form 30 August 2004; accepted 13 September 2004

Abstract The development process of hypermedia and web systems poses very specific problems that do not appear in other software applications, such as the need for mechanisms to model sophisticated navigational structures, interactive behaviors, interfaces with external applications, security constraints and multimedia compositions. Even though experience, modelling skills and abstractions can be borrowed from existing software design methods, such as objectoriented modelling, hypermedia developers need specific mechanisms to analyze and design using entities that belong to the hypermedia domain (such as nodes, links, anchors and space and time-based relationships). Moreover, hypermedia methods should provide mechanisms to deal with all the aforementioned features in a progressive and integrated way. In this paper, we present the Ariadne Development Method (ADM), a software engineering method that proposes a systematic, flexible, integrative and platform-independent process to specify and evaluate hypermedia and web applications. ADM has been shown particularly useful in complex systems involving a huge number of users with different abilities to access information, with a complex structure where a huge number of nodes have to be organized in a clear way to produce specifications that are discussed by people with an heterogeneous background. This is the case of ARCE, a Latin American project where 21 countries are cooperating to produce a web platform to improve assistance in disaster mitigation situations. r 2004 Elsevier B.V. All rights reserved. Keywords: Hypermedia development; Software engineering methods; Authoring-in-the-large; Authoring-in-the-small; Evaluation; User-centered development; User interfaces; Hypermedia security

$

Recommended by Masatoshi Yoshikawa. Ariadne (TIC2000-0402) is partly funded by MCT (Spain). ARCE is supported by an agreement between Universidad Carlos III de Madrid and ‘‘Direccio´n General de Proteccio´n Civil del Ministerio del Interior de Espan˜a’’. Corresponding author. Tel.: +34 91 624 9456. E-mail addresses: [email protected] (P. Dı´ az), [email protected] (S. Montero), [email protected] (I. Aedo). URL: http://dei.inf.uc3m.es. $$

0306-4379/$ - see front matter r 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.is.2004.09.001

ARTICLE IN PRESS 650

P. Dı´az et al. / Information Systems 30 (2005) 649–673

1. Introduction The hypermedia paradigm relies on the idea of organizing information as a net of interrelated nodes that can be freely browsed by users selecting links and making use of other advanced navigation tools, such as indexes or maps. From the point of view of the application level, web sites can be considered as a subclass of hypermedia systems that use a specific technology to manage and deploy information but that share the same access philosophy. Throughout this paper we will use hypermedia as a generic term embracing all those applications that embed multimedia items in a hypertext structure, whether they are implemented using a web platform or not. Hypermedia research has been addressed in different areas, including hypermedia construction, usability evaluation and metrics, navigation strategies or adaptive hypermedia. Significant efforts have been oriented toward applying software engineering methods that face up to the development of large and dynamic systems by applying a number of stages that give place to some products or artifacts. There is no doubt that software engineering methods are widely accepted in industrial as well as in academic environments in order to design software applications with a view to improve quality, reusability and maintenance. The experience gained in years of research in the software engineering field about modelling techniques, methods and methodologies can help to improve hypermedia development as suggested by Lowe and Webby [1]. In fact, most hypermedia methods use the notation of well-known data models, like the Entity-Relationship model [2] or OMT [3], in order to represent the system structure. However, these approaches cannot be used to model all the requirements of hypermedia systems since their development is much more incremental and iterative than in the rest of software systems [1] and, moreover, as Nanard and Nanard point out, software engineering lacks elements and mechanisms to model aesthetic and cognitive aspects which are a basic concern in hypermedia development [4]. In particular, the hypermedia development process poses rather specific problems that do

not appear in other software disciplines [5,6], such as the need for mechanisms to model: (1) sophisticated navigational structures, some of which can be ephemeral and adapted to the user needs; (2) interactive behaviors such as responses to specific events that occur or processes started when a specific status is achieved; (3) interfaces with external applications, such as databases; (4) multimedia compositions which have to be usable and aesthetic at the same time; and (5) security and access issues, which are becoming a key feature to be taken into account as most hypermedia applications, and particularly those implemented as web sites are often accessed by different users with different purposes, responsibilities [7,8] and requirements. Specific design mechanisms based on abstractions of the hypermedia domain (such as nodes, links, anchors and space and time-based relationships) are required to produce high-quality applications. Such hypermedia methods should provide mechanisms to deal with all the aforementioned features in a progressive and integrated way. In the last years several, methods for hypermedia design have been proposed, including RMM [9], OOHDM [10,11], WSDM [12], WebML [13] and the OO-H method [14], but as demonstrated in [15] there are some modelling requirements that need still to be properly addressed. In this paper, we introduce the Ariadne Development Method (ADM) that has two distinguishing features as a software engineering method: firstly, ADM considers six different design views: structure, navigation, presentation, behavior, processes and security, each of which is faced from different abstraction levels by means of a number of design artifacts; secondly, ADM proposes a systematic, flexible, integrative and platform-independent process to specify and evaluate hypermedia and web applications. Moreover, as a hypermedia-oriented method, four contributions of ADM can be highlighted: (1) It offers a powerful mechanism to specify multimedia compositions which not only considers the definition of presentation features for multimedia items but also the specification of space and time-based relationships among

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

information items. These relationships appear in most interactive systems, whether to settle constraints among the positions of certain objects (e.g., video a starts after video b) or to define system reactions (e.g., when the file icon overlaps the trash icon, the file icon disappears). (2) It supports the modelling of functional requirements, so that not only navigation options and browsing semantics can be specified but also other complex services such as database access, information retrieval facilities or communication mechanisms. (3) It supports user modelling. Users are most relevant component of interactive systems and they have to be analyzed to understand their requirements and preferences. (4) It supports security and access policies specification. ADM assumes a high-level security model that makes possible to specify rolebased access policies (RBAC) simpler and easier to maintain than group-based policies [7]. Such mechanism is used to specify both access and security rules, so that developers can determine which information and services are offered to each kind of user. ADM has been shown particularly useful in the design and evaluation of complex systems involving a huge number of users with different abilities to access information, with a complex structure where multiple nodes have to be organized in a clear way to produce specifications that have to be discussed by people with an heterogeneous background (web programmers, stakeholders, graphical designers or content providers) and most of which are dynamically created. This is the case of the application example presented in this paper to illustrate the use of ADM: ARCE (‘‘Aplicacio´n en Red para Casos de Emergencia’’). ARCE is a web system developed as a Latin American project where 21 countries are cooperating to produce a web-based platform to improve assistance in disaster mitigation situations [16]. According to the authors’ experience, ADM makes possible both to discipline developers, offering them a flexible but detailed development process to specify and evaluate all the hypermedia system

651

features, and to involve stakeholders not only in the evaluation of prototypes but also in the assessment of conceptual models regarding system features such as navigation, presentation, structure, behavior, processes and security. ADM has little use in developing small hypermedia systems where no multimedia items are included and where no access rules are applied. The rest of the paper is organized as follows. First some issues concerning hypermedia modelling are discussed in Section 2. Section 3 analyzes the most relevant features of ADM from two perspectives: as a software engineering method (Subsection 3.1) and as a hypermedia-oriented method (Subsection 3.2). Section 4 provides a detailed description of ADM and its application in a specific development project: ARCE. Section 5 is devoted to discussing the main ADM contributions compared to similar works and, finally, Section 6 summarizes some conclusions and ongoing works.

2. Principles of hypermedia modelling Hypermedia modelling involves several complementary perspectives that have to be properly addressed by a development method [17] including: navigation, presentation, structure, behavior, process and security. All these views can be faced from different abstraction layers as discussed below. 2.1. Navigation design Writing a hypertext consists of superceding sequential discourses by associative structures that can be freely browsed by their users following different paths. Consequently, one of the most important tasks in hypermedia modelling is the design of this browsing structure made up of nodes and referential links, which should not be confused with structural relationships such as a part–whole relation. The design of such a structure, which we will call throughout this paper the hypertext structure, requires very specific methods for defining navigation paths.

ARTICLE IN PRESS 652

P. Dı´az et al. / Information Systems 30 (2005) 649–673

As this associative structure becomes larger, users tend to get lost when browsing the hyperspace. To try to avoid the disorientation problem, hypermedia systems and applications incorporate some navigation tools, including such mechanisms as visual maps, active indexes, guided tours, marks, footprints and backtracking mechanisms [18], and, therefore, hypermedia methods should also provide elements to model such navigation aids. Moreover, navigation modelling has to deal not only with declarative but also with event-based or programmable specifications. Indeed, some navigation tools, for instance the spatial structure representing a user session, whether implemented as a list of visited nodes or as a map, cannot be specified in a declarative way as far as they are created at runtime. Browsing semantics have to be also specified in a procedural or programmable way to increase the hypertext responsiveness to factors such as the users characteristics (e.g., age, language, disabilities, skills, etc.), the users’ actions, the software and hardware operation platform, the real-word environment, the interaction with other users or some external policies [19]. 2.2. Presentation design Another basic feature of hypermedia systems is presentation, since nodes include multimedia items that need to be organized and harmonized in different dimensions such as the time and the twoor three-dimensional space. In fact, the form and rhythm used to deliver the contents to the user determine to a great extent the hyperdocument usefulness. At first sight, presentation information could seem too concrete to be specified during the design stage without violating the conceptualization principle. The purpose of modelling presentation features from a conceptual level is not to define physical characteristics of multimedia items (e.g., fonts, colors, volumes or pitches) but to outline some logical characteristics of the interface. Indeed, designers can perform the following activities maintaining a reasonable level of abstraction: creating templates or interface mock-ups placing types of contents into nodes; defining visual clues or human–computer interaction rules

to increase the system usability; and setting space and time-based relationships among contents to create multimedia compositions. Specifying such presentation features permits to produce a conceptual model of the interface that can help graphical designers and multimedia developers to pay attention to the interface consistency and usability as well as to the aesthetic nature of hyperdocuments as claimed by Nanard and Nanard [4]. 2.3. Structure design Data design methods describe the system in terms of data entities and structural relationships. Although hypermedia nodes need not be structured, some hyperdocuments such as books, dictionaries, digital libraries and so on, have an intrinsic hierarchical structure which can be defined using abstractions borrowed from data models. Moreover, the use of data models can help to analyze the universe of discourse and to acquire a deeper knowledge on it. Abstraction mechanisms of semantic and object-oriented modelling are quite similar to those managed in hypermedia systems, including concepts such as objects, attributes, aggregation, association, generalization and so on. In fact, some hypermedia methods propose structural models based on paradigms like entity-relationship [20], semantic modelling [21] and object-oriented modelling [5,22,23]. 2.4. Behavior design Behavior design provides a procedural perspective describing how the system reacts when a particular event occurs. Hypermedia systems are highly interactive and, therefore, modelling such a reaction is a quite relevant design concern [17]. Moreover, design methods have to take into account that such behaviors can be triggered by a non-persistent occurrence (e.g., if the user clicks in a video, it is played/stopped) or by a thing that persists and we observe in the world (e.g., whenever two objects that are moving in the screen meet, a beep sounds). Interaction modelling can be tackled from a conceptual point of view, creating high-level

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

descriptions of the system reactions and completing their specifications in a further detailed design or authoring-in-the-small phase. In fact, control models such as Petri Nets have already been used for representing in a formal way the browsing semantics of hypermedia systems in [24,25]. However, control design can be used to model more complex interactive behaviors including access to external applications (e.g., inference engines to support adaptive hypermedia, databases to dynamically create nodes and contents) or the inclusion of virtual objects and structures that are created or modified at runtime. 2.5. Processes design This view is oriented toward specifying how the system works. The main function of a hypermedia system is the navigation through the hypertext structure, which cannot be represented by means of process models. However, complex hypermedia systems include more and more non-navigation functions that can profit from the use of such process-oriented methods. For instance, Java applets can be included in web pages or search engines can be specified using an appropriate processing modelling technique such as statechart, interaction or activity diagrams. 2.6. Security design The increasing popularity of hypermedia systems, mainly due to the proliferation of web applications, has put stress on the need for preserving the security of the information they hold [8]. It is noteworthy to emphasize here that security is not only related to confidentiality or privacy, as commonly believed, but also to integrity and availability. While confidentiality is aimed at preventing information disclosure, integrity is concerned with mechanisms to avoid the improper modification of information [26] and availability deals with the ability to perform safe operations [27]. If security is relaxed and there is no control on who can modify a hypertext structure or the contents of a node, the hyperdocument can become damaged and lose its value as a consequence of the users’ actions, whether

653

deliberate or not. With this purpose, security rules have to be analyzed and formally specified in terms of entities of the domain, for which high-level models are required [8,28]. A security model for hypermedia makes possible to formalize security policies using components and services of the hypermedia domain. In this way, designers will be able to decide and discuss security issues such as which contents should be delivered to which users, who can modify the structure of the hyperdocument, who can personalize items or which constraints have to applied when creating or modifying a link. Such models allow designers to use the same semantic and contextual elements for the design of the structure and navigation services than for the specification of security issues. In the web arena, where the number of users becomes unmanageable, Role-Based Access Control (RBAC) mechanisms [7] become a most convenient approach to deal with security rules in an efficient way, since permissions are granted in terms of responsibilities (represented by means of roles) which are quite more stable than users. In turn, users are allocated one or more roles so that they will exercise the rights specified for their roles.

3. Features of the ADM ADM proposes a process to specify and evaluate hypermedia and web applications. Before describing the method itself, we will go deeper into the aspects that constitute the nitty-gritty of this method. First, Subsection 3.1 describes some features of ADM as a software engineering method and, then, Subsection 3.2 describes the main contributions of ADM as a hypermediaoriented method. 3.1. Characteristics of ADM as a software engineering method In this subsection, we introduce some of the most relevant features of the method here proposed considering it as a software engineering tool. Such features can be summarized in the following points: (1) it establishes a systematic process; (2) it establishes a flexible process; (3) it is an integrative

ARTICLE IN PRESS 654

P. Dı´az et al. / Information Systems 30 (2005) 649–673

method and (4) it is a platform-independent method. Thus, the ADM method offers a fully specified process that helps to discipline developers without constraining their creativity and that can be used to specify and evaluate all the requirements of hypermedia systems irrespective of the implementation and distribution platform. 3.1.1. ADM establishes a systematic process The development process proposed in ADM is systematic being composed by the three phases,

Fig. 1. ADM process: phases are the three boxes with a light background. Arrows do not represent the process sequence but relationships among phases.

Conceptual Design, Detailed Design and Evaluation (see Fig. 1), each of which proposes a number of activities to be carried out in order to generate a number of design products or artifacts. Each development phase faces hypermedia development from a different but complementary abstraction perspective.  Conceptual Design is focused on identifying abstract types of components, relationships and functions.  Detailed Design is concerned with specifying the system features, processes and behaviors in enough detail to be semi-automatically generated.  Evaluation is concerned with using prototypes and specifications to assess the system usability in terms of a number of well-defined criteria with a view to improve the design, whether conceptual or detailed. Each phase is decomposed into a number of activities each of which will produce a number of artifacts or products related to a specific design view from a specific abstraction level (see Table 1). In order to check completeness, consistency and

Table 1 Phases, activities and products of ADM Phase

Activity

Product

Conceptual Design

Definition of the logical structure Study of the system function

Structural Diagram Navigation Diagram Functional Specifications Internal Diagrams Attributes Catalogue Events Catalogue Users Diagram Categorizations Catalogue Access Table Diagram of Nodes Instances Instanced Users Diagram Specifications of Access Structures Detailed Specification of Functions Detailed Internal Diagrams Authorization Rules Users Assignment Presentation Specifications Prototype Evaluation Document Conclusions Report

Specification of entities

Users modelling Definition of the security policy Detailed Design

Identification of instances Specification of functions Specification of instances

Evaluation

Definition of the presentation features Development of a prototype Evaluation

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

integrity among the various design artifacts (diagrams, catalogues and specifications) proposed in these three phases, a number of validation and verification rules are provided, both at the intra-phase level and at the inter-phases level [17]. While the former will chiefly check conformance with respect to a number of syntactical rules established in ADM (e.g., a hierarchical structure does not contain cycles), the later will be in charge of testing if hypermedia elements are completely and well-defined using different ADM products. 3.1.2. ADM establishes a flexible process The method does not impose any sequence among phases, letting developers decide the best way to proceed according to their needs, resources and other external constraints of the development. Throughout this paper we will describe ADM as if it were applied following a top–down approach: Conceptual Design, Detailed Design and Evaluation, as a possible but not unique model process. If, for instance, rapid prototyping [29] is being applied, the development will start instead in the Evaluation phase, postponing the other phases until they can be afforded. The same philosophy of flexibility is adopted for the different activities proposed in each phase (see Table 1), relying on the validation and verification rules to check the completeness and correctness of the different products generated for a specific software development project.

655

3.1.3. ADM is an integrative method By integrative we mean the method provides artifacts to deal with all the six design views described in Section 2 from different abstraction levels. Thus, developers will be able to use ADM to specify the logical structure, navigation capabilities, interface features, interactive behaviors, processes and security requirements of their applications in a progressive and integrated way. For example, navigation is specified at different phases and using several products as shown in Fig. 2, where both the top–down and the bottom–up approaches are depicted. During the Conceptual Design (upper area in Fig. 2), and at the highest level of abstraction, we propose to use Navigation Diagram where the abstract links and abstract navigation tools of the hypermedia system are established. At a less conceptual level, abstract links are converted into anchors settled into nodes and contents in the Internal Diagrams. Access rights for the links, including the ability to see and activate them, to personalize them or to modify them, are associated to types of users (called roles in ADM) in the Access Table. During the Detailed Design phase (lower area in the figure), more specific information is provided. Thus navigation tools, if any, are completely specified including the procedure to create them if they are dynamic by means of the Specification of Access Structures and anchors are associated to concrete contents in their corresponding Detailed Internal Diagrams. Authorization Rules determine which specific users can

Fig. 2. Incremental specification of navigation paths and tools in ADM. Lines represent the top–down approach and dashed lines represent a bottom–up approach.

ARTICLE IN PRESS 656

P. Dı´az et al. / Information Systems 30 (2005) 649–673

see, personalize or modify the links and navigation tools. Presentation features, such as link colors, shapes used in the maps and so on, are specified in the Presentation Specifications. 3.1.4. ADM is a platform-independent method ADM is not oriented toward supporting only a specific implementation technology, but toward offering general design products that can be translated to different implementation environments. Thus ADM-based applications can be implemented using any authoring tool or language, accessing any kind of external system (such as a database or an intelligent engine) and distributed using any platform. Indeed, ADM has been used for the design of applications with different requirements and implemented in rather distinct platforms, such as Now-Graduado [30] an educational CD-ROM developed using Macromedia Director and ARCE [16], a web system to deal with disaster mitigation, such as a hurricane or an earthquake described in Section 4. With this purpose, we propose a design framework consisting of a two-level hierarchy of design entities:  Low-level entities. These represent the core components of any hypermedia system (e.g., nodes, contents, links, anchors, events, users and so on) offering a common language for different platforms. At this level, the elements of the Labyrinth reference model are used [31,32]. According to Labyrinth, a hypermedia system is defined by means of a Basic Hyperdocument, where the components of the application as well as their structural and semantic relationships and the presentation features are defined, and a number of Personalized Hyperdocuments, which allow for the definition of private work spaces managed by users and groups. Some relevant contributions of Labyrinth include: (1) composition mechanisms for nodes, contents and users by means of two relationships, aggregation and generalization can be modelled; (2) space and time-based constraints among contents can be specified; (3) user models and security policies can be specified; (4) metadata can be associated to the elements to increase their semantic

through attributes and (5) procedural specification of objects is supported by means of events.  High-level entities. These are abstractions of these low-level entities to make up design products (see Table 1) that can be discussed among the members of the development team and stakeholders to produce the most appropriate design [17]. These products are general enough as to be implemented in different environments and using different tools, since technical constraints are postponed until the very end of the development process, where the prototype is built. 3.2. Main contributions of ADM as a hypermedia method ADM is devoted to specifying and evaluating hypermedia and web systems. From a hypermedia modelling perspective, the most relevant contributions of this method are: (1) support for multimedia modelling; (2) support for functional requirements modelling; (3) support for users modelling and (4) support for security policies specification. 3.2.1. Support for multimedia modelling The effective inclusion of multimedia items does not only result in being able to deal with different data formats but also in taking into account aesthetic aspects and presentation issues. ADM makes possible to design presentation templates where not only multimedia items can be placed in several spaces (2D space and time) but also space and time-based constraints can be established among multimedia contents to create more harmonic and dynamic presentations. This specification is done at two levels of abstraction: conceptual and detailed. Each node in the system has its own Internal Diagram where designers specify: the type of contents that are delivered to the user in such a node (e.g., name, description, price and reviews for a product); the attributes or properties that increase the node semantics (e.g., keywords or metadata); the events that model its behavior (e.g., the process that generates a dynamic index) and the anchors that make up the links coming/leaving

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

to/from the node. This Internal Diagram not only refers to the spatial dimension; it consists of two diagrams where contents, anchors and events can be placed: the Spatial Diagram, which is a twodimensional space representing the node visualization area, and the Timeline, which represents how the node evolves throughout a time interval. At the conceptual stage, specific positions cannot be defined, but it is possible to logically specify the appearance of a node by placing some ‘‘holes’’ that will contain kinds of contents. Positions both in the Spatial Diagram and in the Timeline can be defined using logical units of space/time that represent the place and the moment when a specific content is conveyed to the user. However, to create more harmonic and dynamic presentations, space and time-based relationships can be set among contents, called alignments and synchronizations, respectively (see UML representation in Fig. 3). Both relationships are represented using directed 1 to n arcs which are labelled to describe the constraint that has to be fulfilled.

657

In the case of alignments, that label is a triple of values (topology, direction, distance) the latter being a pair representing displacements in the X and Y axes [17,32]. Synchronizations are labelled with a temporal operator for which the values proposed in [33] are used, including before(t), equal(), meets(), overlaps(t), during(t), starts() and finishes(). The value of the delay t used in some operators can be a unit of time (whether abstract or not) or a predefined value (such as content duration or its startTime). For instance, to model the following situation, ‘‘the photo is initially shown, two units after it is replaced by an animation and when the animation ends the photo returns to its initial position’’, several relationships are defined. First an alignment in the Spatial Diagram has to set that both contents are placed in the same hole for which the equals topological relationship is used. Three synchronization arcs appear in the Timeline: ‘‘photo before(2) animation’’, which implies that animation will be shown two units after the photo is first deployed; ‘‘photo meets() animation’’, which

Fig. 3. UML representation of the space and time-based relationships in ADM.

ARTICLE IN PRESS 658

P. Dı´az et al. / Information Systems 30 (2005) 649–673

implies that the photo presentation ends as soon as the animation starts and, finally, ‘‘animation meets() photo’’, which implies that the photo appears when the animation ends. The use of spatial and temporal operators provides a powerful and semantic mechanism to specify space and time-based constraints, which can be used also to enable events. This approach is richer than the one proposed in the Amsterdam Hypermedia Model [34] in two ways. First, Amsterdam does not provide a space-based relationship model itself but a mechanism to place contents into channels by means of relative positions where aspects like topological or directional relationships are not considered. Second, Allen’s temporal model, which is assumed in ADM, is semantically richer than the one proposed in Amsterdam where relations such as during(t) or equal() are not supported directly. In addition, ADM space and time-based relationships can be used not only to establish the position of a multimedia item but also to trigger events when two items accomplish a specific spatial or time-based relationship. More details on the alignment and synchronization mechanisms of ADM can be found in [17,32]. This conceptual definition is specified completely in the Detailed Design phase using the Detailed Internal Diagrams. Moreover, presentation features for each piece of content are provided through the Presentation Specifications. ADM multimedia specifications can be translated into SMIL specifications [35]. This feature has made it possible to automatically generate SMIL prototypes based on ADM designs using AriadneTool [36], which is the CASE tool automating ADM. 3.2.2. Support for functional requirements modelling Hypermedia systems include two kinds of functions: navigation services and non-navigation services. Navigation modelling in ADM is done as described in Subsection 3.1 by defining referential links and other navigation aids. Concerning nonnavigation services, such as operations of ecommerce sites like basket management, item selection, payment and so on, ADM supplies several products. At the highest abstraction level,

Functional Specifications consists of a top–down description of processes. Each process is decomposed into a number of subprocesses until the lowest level of definition, made up of Labyrinth events [31,32], is achieved. A Functional Specification document is generated for each process and subprocess, including:  a unique process identifier;  a descriptive name;  a type of function which can be bound to five values depending on the process objective: personalization, if it is concerned with the definition of adaptations for a group or user; edition, if it deals with the creation, update or deletion of hyperdocument elements; communication, if it is in charge of providing communication mechanisms among users; presentation if it deals with interface issues; or unclassified, in any other case;  a description of the actions performed by the process, which can be expressed using any process-oriented or control-oriented modelling technique (e.g., Data Flow Diagrams, State Transition Diagrams, Petri Nets, etc.); and  references to related functions and events, which provide both a forward and a backward traceability mechanism. Events are tied to links and other hypermedia objects, and they are held in a repository, the Events Catalogue, that includes for each event an entry with the event identifier; the condition that enables the event; the actions performed or the rules activated by the event; and the list of elements the event is tied to and the list of Functional Specifications that describe the event from a higher level of abstraction. The specification of functional requirements is performed at a lower level of abstraction closer to implementation units through the products called Detailed Specification of Functions and Specification of Access Structures in the Detailed Design phase. 3.2.3. Support for user modelling ADM includes as a key activity user modelling, since studying the kind of expected users, their

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

features and needs is a basic requirement in interaction design [29]. During the Conceptual Design phase, developers are requested to identify the expected types of users of the system and, consequently, no individual users are identified but rather two abstractions: roles and teams (see Fig. 4). A role represents a job function or responsibility (e.g., a customer or a provider in e-commerce). Roles can be specified as hierarchical structures, where specific roles are grouped into more general roles by means of generalization relationships. Roles can also be grouped into teams that work together. In this case, composition reflects an aggregation relationship. While a role identifies a job function or responsibility, a team is a group of roles or users which will have some common goal without functional implications. Teams can be used to provide cooperating users with private work spaces. Abstract users, that is roles and teams, are assigned concrete users during the Detailed Design phase by means of the design artifact called Users Allocation. 3.2.4. Support for security policies specification User structures can be used to define personalization, adaptation or security rules. For that purpose, a high-level security model [8] is assumed, a model which uses the same design entities than

659

the rest of the products in order to specify the security and access requirements. ADM conceives a hypermedia system as a software environment that can be browsed, modified by some users, adapted or personalized for some users or groups of users (stereotypes). Fig. 5 represents the concept of hyperdocument assumed in this method. To specify access and security rules, an RBAC model for hypermedia is used [8,37]. According to this model, access rights are assigned in terms of hypermedia objects (nodes and contents) and subjects (teams and roles) as shown in Fig. 6. The ADM products Categorization Catalogue and Access Table are used to define which operations are permitted to each kind of user during the Conceptual Design phase.  Categorization Catalogue. In this product, each hypermedia object is assigned a security category (Browsing, Personalizing and Editing) defining the most permissive kind of operation the object can undergo.  Access Table. This implements the security model underlying ADM. This model uses security categories (Browsing, Personalizing and Editing) to control the kind of actions users can perform and it assumes an RBAC approach [7]. Each role is allocated a manipulation category for each node and content although a default value can be used to simplify the design task. Access permissions are inherited from

Fig. 4. UML representation of the ADM users structure.

ARTICLE IN PRESS 660

P. Dı´az et al. / Information Systems 30 (2005) 649–673

Fig. 5. UML representation of an ADM hypermedia system.

Fig. 6. UML representation of the access policy specification in ADM.

general roles and their values can be overridden. Private views of the system can also be defined for each user role using an additional mechanism of explicit denial of access. These access rules are rewritten into concrete rules in the Detailed Design phase through the Authorization rules.

Design, Detailed Design and Evaluation (see Fig. 1). To illustrate the use of ADM as well as some of its products, the ARCE [16] development is introduced in this section. The ARCE web system is the main outcome of a Latin American project where 21 countries are cooperating to produce a platform to improve assistance in disaster mitigation situations. 4.1. Overview of ARCE

4. Developing hypermedia with ADM: the ARCE experience In this section, we describe the focus, activities and products of each ADM phase: Conceptual

ARCE is a web-based system oriented toward enhancing the management of multinational disaster response within the scope of the Latin-American Association of Governmental

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

Organisms of Civil Defence and Protection, and it is being developed as a Latin American project under the coordination of the Spanish Civil Protection Department along with the DEI research group at Carlos III University of Madrid. The system is aimed at becoming a platform to share updated and reliable information among the associates in order to orchestrate an integrated and efficient response, respecting at the same time the peculiarities and autonomies of each member. This system provides mechanisms to notify an emergency, to ask for resources and to offer assistance. In a few words, when an emergency happens the country or countries affected (emergency owners) can use the system to keep the other associates (potential assistance suppliers) informed. If assistance is required, the emergency owner can ask for resources which are classified according to a multilingual catalogue included in the system. Whenever an assistance request is received in ARCE, the rest of the associates are notified by e-mail, so that they can access the application to see what the emergency owner is asking for and how they can help. If mail is not available, alternative means are used to contact users (sms messages or fax).

661

For each emergency, the application will provide updated information about requested resources, quantity originally needed and quantity already supplied. Thus, each associate can decide what to contribute, taking into account what the others are providing. However, assistance is always subject to a negotiation process among the emergency owner and the assistance suppliers which is held in the system for reporting purposes. The system also makes it possible to create a number of reports and it can be used in routine mode (see Fig. 7) as a communication channel among the associates and other related institutions or external organizations (e.g., NGOs). Communications among users assumes a control flow policy that determines the kind of messages each user can send to each destination according to the role the user plays. 4.2. Using ADM in the ARCE project From the very beginning of the ARCE project, the assumption of a well-defined development method emerged as a basic requirement, not only due to the complexity of the system to be developed but also due to the need for counting

Fig. 7. ARCE web site appearance in routine mode.

ARTICLE IN PRESS 662

P. Dı´az et al. / Information Systems 30 (2005) 649–673

on design products that could be discussed by the members of the development team, some of whom did not have a technical background as they were experts on civil defence issues. Some issues were considered to select the development method:  The amount of information included in the system is huge but abstract entities can be first identified (e.g., country, emergency, national and supranational users and so on) to create concrete instances afterwards, so that consistency is reinforced. Then, a method supporting specification at different levels of abstraction was required.  ARCE is accessed by different users with different responsibilities. This implies that each user has to be allowed to perform or not an operation (e.g., create an emergency, offer assistance, accept assistance) according to the role played in a specific organism. Each user will be assigned one or more roles. This role along with the country or organism the user belongs to determines the information flow among users as well as the tasks users can perform on the system. Therefore, the system has to provide mechanisms to model a complex users structure and to specify access control rules based on roles.  Most nodes and contents are dynamically created to keep information updated and reliable. Indeed, the system architecture relies upon an Apache server running over a number of modules developed on Zope, a platform to generate dynamic HTML pages. A number of modules have been built on Zope to deal with ARCE functions and information is held on a PostgreSQL relational database. Consequently, the method has to deal with procedural specification of components.  The diversity of countries requires a multilingual support at least in the two languages spoken in the Latin-American community (Spanish and Portuguese) that have to be supported both in the user interface and in the glossary of terms that was introduced in order to unify terminology concerning emergencies to improve communication in a multicultural community. Thus, the development method has to be able to

consider the adaptation of contents to some user features.  Help will consist of a number of multimedia nodes where video, text and audio are combined and synchronized to show how to use ARCE. As a consequence, a method providing advanced multimedia modelling features was advisable.  In order to increase the system usability, designers have to pay special attention to usability and consistency issues. In order to improve this collaborative environment, an iterative and user-centered development methodology has to be adopted. In the next subsections we describe how ADM was used in the development project of this web-based system. ADM has been applied in several cycles, each of which has followed a different approach. Thus, the first cycle was a bottom–up process where prototypes were built to discuss with the project stakeholders. Afterwards, a top–down approach was adopted to go deeper into the conceptual features of the system. 4.2.1. Conceptual Design phase At this point, the design is approached from a high level of abstraction corresponding to what is usually referred to as authoring-in-the-large and, therefore, solutions are expressed in terms of expected types of elements that will be translated into concrete entities in the next phase. In the development process of ARCE, ADM Conceptual Design has been shown as a most useful phase to establish a coherent structure and function, since it provides a number of products readable enough to be discussed with user representatives after a short explanation on the notation. Moreover, compared to the use of prototypes, Conceptual Design hides details that can deviate the users’ attention to issues, such as colors, backgrounds and so on, which are not relevant when trying to define generic and abstract features of the system. The activities to carry out during this phase (see Table 1) are the following: Definition of the logical structure, Study of the system function, Users Modelling and Definition of the security policy. Since this phase is supported by AriadneTool [38], this tool has been used to

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

create the ADM products shown in the remainder of this paper. Definition of the Logical Structure. The objective of this activity is to define structural relationships appearing in the domain of the application by means of the Structural Diagram. This product includes the abstract nodes of the system as well as their structural relationships (see Fig. 8 where the logical structure of ARCE is shown). Abstract nodes can be simple (see nodes with a single border like ‘‘Message’’) or composite (see nodes with the double border like ‘‘ARCE-web site’’). Composite nodes are connected to their components (simple or composite nodes) by means of two possible structural relationships: aggregation and generalization [39].  Aggregation is a composition relation used as a mechanism to refer to a set of nodes as a whole. For instance, an ‘‘Emergency’’ is defined as an aggregation of an ‘‘Info’’ node, where some details of the disaster are given, and an

663

‘‘Assistance’’ composite which aggregates the three basic nodes used in any assistance negotiation process: the ‘‘Summary’’, where information on the assistance is presented in a nutshell; the ‘‘First’’ node, where the first request for assistance which should be attended within the following 24 h is defined; and finally, the ‘‘Detailed’’ node, where more detailed help is requested.  Generalization is an inclusion relation involving inheritance mechanisms. Such a relation, which appears in the domain of application, can be exploited to make specializations more consistent by inheriting from the general concept a number of features including links, behaviors, security constraints as well as presentation issues. For example, ARCE routine operation is represented by means of a general composite, ‘‘Routine’’, which is specialized into ‘‘Communication’’ and ‘‘News’’, the two processes that are performed always. In turn, ‘‘News’’ is another general composite whose specializations

Fig. 8. ARCE Structural Diagram. UML notation is used for aggregations and generalizations. Composite nodes are those with a double border and the icon of a structure, while simple nodes have a single border and the icon of some unstructured items representing the contents a node might have.

ARTICLE IN PRESS 664

P. Dı´az et al. / Information Systems 30 (2005) 649–673

include press releases (‘‘P. Release’’), breaking news (‘‘Breaking’’), a historic of news (‘‘Historic’’) and news concerning the Latin-American association (‘‘AIGO News’’). Study of the System Services. This activity is oriented toward describing the main services of the application. Two products are generated to specify different kinds of functions: the Navigation Diagram, which represents the navigation options offered to the users; and the Functional Specifications, which gather information concerning other services. In the Navigation Diagram, navigation paths and tools offered to the users are specified. This product makes it possible to establish generic navigation paths and tools in a clear and consistent way. Virtual links, whose source or target is procedurally defined, are depicted but at this stage they are not different from other links since anchors are not established yet. In the Internal Diagrams of nodes and contents (see below), virtual links are associated with an event to calculate their source or target. Fig. 9 is an excerpt of the actual Navigation Diagram produced for ARCE which will help us to illustrate

Fig. 9. Example of Navigation Diagram. Navigation Tools are labelled with a specific tag (‘‘NT’’) and external elements are depicted using a hexagonal icon.

some of the advantages of using this product during the Conceptual Design. Navigation paths are set among nodes using tagged links which can have attributes to increase their semantics and support different types of links [40]. It is possible to define unidirectional links (see ‘‘Address’’, ‘‘Glossary’’, ‘‘Closed Emergency’’, ‘‘Help’’, ‘‘Rotu/Emer’’ or ‘‘AIGO’’ in the figure) or bidirectional (see link ‘‘Version’’) as well as nary links, introduced in Tompa’s hypertext model [41]. The ability to define inherited links by making use of general composites was proven quite useful to produce cleaner and more consistent diagrams. For example, in the Diagram shown in Fig. 9, the link reaching the composite ‘‘Section’’ is inherited by its components (‘‘Routine’’ and ‘‘Emergency’’) which means that all nodes included in these two components can be reached from the source of this link without setting specific links. Moreover, links to external web sites or systems are included using external nodes like the ‘‘AIGO web site’’. Finally, version links [31] were also quite useful to simplify this diagram. For example, to specify that a first request for assistance might have many versions and that navigation by version is supported, just a reflexive link is set up in the corresponding node. The same was done for the nodes ‘‘Summary’’ and ‘‘Detailed’’. Navigation tools are represented in this product as nodes tagged with an ‘‘NT’’. Navigation tools can correspond to aggregations already identified in the Structural Diagram (see the node ‘‘Function’’ in Figs. 8 and 9) or they can be new access structures with no structural correspondence (e.g., a search engine). Behaviors and appearances are defined in their corresponding Internal Diagrams (see the description of this product below). The other product of this activity is the set of Functional Specifications, which consists of a series of processes specifications generated using a top–down approach as mentioned before. For instance, ARCE includes such processes as accessing the database to create nodes, providing a communication mechanism among users or updating the database with the information included in the nodes. Specification of entities. In this step, more information about types of nodes is provided in their corresponding Internal Diagrams.

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

An Internal Diagram is created for each node, in the Structural and Navigation Diagrams, that consists of two diagrams where contents, anchors and events can be placed using explicit positions or alignments and synchronizations as discussed in Subsection 3.2: the Spatial Diagram and the Timeline. Therefore, two interface templates are created. Contents that act as anchors are identified and the corresponding link is associated to them. Virtual links are associated with an event and the corresponding entry to derive their source or target is added to the Events Catalogue (see below). Contents placed in the nodes can have their own Internal Diagrams where anchors, events and attributes are identified for them. Composite contents can also be defined. For instance, an icons toolbar is an aggregated content that can be referred to using a unique element: the composite ‘‘Icons bar’’. By placing this aggregation at the top and at the bottom of each node, all the icons will

665

be presented in the same way they are organized in the composite content. Attributes associated with the nodes, contents and links in the Internal Diagrams are fully specified in the Attributes Catalogue, a repository maintained for reusability purposes. Similarly, events associated with the nodes and contents are fully specified in the Events Catalogues so that they can be reused. Most of the ARCE nodes depicted in diagram in Fig. 8 are created at runtime (basically all the nodes within the substructures that start at nodes ‘‘Emergency’’ and ‘‘Routine’’) which implies that they have an event or function to procedurally specify how to access the ARCE database to generate them. Users modelling. The users’ structure is represented by means of the Users Diagram in this step. Such a structure sets the basis of the security policy (see below) and makes it possible to define userdependent presentations as well as personalized hyperdocuments as in [42].

Fig. 10. Example of Users Diagram. Roles are represented with the single-face icon, whereas Teams have a multiple-face icon. UML notation is adopted to represent aggregations and generalizations.

ARTICLE IN PRESS 666

P. Dı´az et al. / Information Systems 30 (2005) 649–673

This was a basic product in ARCE where a structure that is general and flexible enough to fit within organizations having different needs and requirements was proposed (see Fig. 10). For instance, the ‘‘National’’ and ‘‘Supranational’’ roles are introduced to provide some autonomy to each associate while maintaining certain services at a centralized level. Thus, each country within the Association can decide which users will assume each role under the ‘‘National’’ structure as well as which roles can be assumed by the same user. At the ‘‘Supranational’’ level, users representing the Association will be in charge of central administration processes. Definition of the security policy. This step is intended for defining which actions are permitted for each subject, that is, for each role or team. In this step, two products are generated: the Categorization Catalogue and the Access Table. This latter product makes it possible to assign access rights at the content level, so that users holding different roles can have different manipulation abilities for the components of a node. Figs. 11 and 12 show two distinct views of the same node (a ‘‘Detailed’’ request for assistance from Portugal) for two

different users: an emergency owner and an assistance supplier. The emergency owner can edit the destination where assistance must be sent (see the first three pop-ups in the upper screen) and is shown for each item the quantity that has been already supplied (column ‘‘Aportado’’), the quantity that is pending to be approved (column ‘‘Pendiente’’) and the quantity that has been requested (column ‘‘Cantidad’’), which can be modified at any time. The assistance supplier can see the information concerning the destination of the assistance and select one of the possible destinations, and the supplier is shown for each item the quantity requested by the emergency owner (column ‘‘Solicitado’’), the quantity that has been already received from any country (‘‘Aportado’’), the quantity that has been supplied by her country (column ‘‘Aprobado’’) and finally the quantity which is still required (column ‘‘Pendiente’’). Modifying this last field the assistance supplier makes an offer to the emergency owner to supply some required assistance. As the figures show, information is hidden, reordered or presented using a different form component depending on the user role.

Fig. 11. Access policies in ADM: emergency owner view.

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

667

Fig. 12. Access policies in ADM: assistance supplier view.

4.3. ADM Detailed Design This is an authoring-in-the-small activity where the hypermedia system that will be delivered to the users is fully specified. If the information given in this phase is more concrete, the relation between design and implementation will be made more explicit to the developer. Thus, during the Detailed Design phase, the abstract entities and functions specified in the previous phase are instanced into concrete elements. Such specific elements can be identified in a declarative way (e.g., using an identifier, url or uri) or in a procedural one (e.g., by means of scripts or database queries). Indeed, most instances of nodes and contents in ARCE were defined in a procedural way. For example, all items concerning an emergency are created at runtime accessing a PostgreSQL database. The activities performed during this phase (see Table 1) are: Identification of instances, Specification of functions, Specification of instances and Definition of the users structure. Identification of instances. Instances of the abstract elements defined in the Structural Diagram are created in the Diagram of Nodes Instances. Instances can correspond both to composites and to simple nodes. In this way,

structures can be replicated and reused in different contexts. Moreover, user structures can also be replicated for the same purposes using the Instanced Users Diagram. Its worth noting that users instances are not specific users of the hypermedia system but concrete roles and teams that appear in the domain of the application. For instance, the ARCE Users Diagram (see Fig. 10) was adapted to the structure of each organism taking part in the Association. Specification of functions. Both the Navigation Diagram and the Functional Specifications created in the Conceptual Design are here fully specified. In the first case, a Specification of Access Structures is created for each navigation tool to determine which kind of navigation aid it implements. For instance, the navigation tool called ‘‘Function’’ in the Navigation Diagram of Fig. 9 can be defined in this phase through two different instances: a static list or an adaptive list. No navigation functions are also specified in the Detailed Specification of Functions where a lowlevel description of each function is provided. Specification of instances. All the nodes and contents of the hypermedia application are fully specified using their Detailed Internal Diagrams. The objective is to gather more detailed

ARTICLE IN PRESS 668

P. Dı´az et al. / Information Systems 30 (2005) 649–673

information which can help to create a prototype and even to fully or partly automate this process. For example, in each instance of the ‘‘Info’’ node in Fig. 8, the holes put in its Internal Diagram representing types of contents are now associated with a concrete content, whether as a text (e.g., tags), a reference to a file (e.g., a logo) or a procedural specification (e.g., access to the database to fill the abstract ‘‘holes’’ corresponding to information of such specific emergency situation). Multimedia help was designed in ARCE by putting the corresponding time and space-based constraints among items for each topic (video, text and audio explanations) in the Detailed Internal Diagrams. The Access Table expressed in terms of abstract contents, nodes, roles and teams in the Conceptual Design phase is translated into concrete access rights for the specific instances identified during this phase by means of the Authorization Rules. Finally, concerning users modelling, the teams and roles identified in the Instanced Users Diagram have to be assigned to specific users producing the Users Allocation. Thus, users will be able to exercise the abilities specified for the roles they belong to according to the principles of RBAC models. A user can be associated with more than one role to increase flexibility. In this case, the most permissive authorization is assigned during a session since currently no separation of duties is considered in ADM. Definition of the presentation features. Contents and nodes are also tied to their Presentation Specifications where details on how to convey information to the user is established. For instance, nodes can be assigned a size or they can be associated to a kind of window (full-screen, pop-up, etc.). Contents will have presentation properties that depend on their nature (e.g., pitch or volume for a sound; size, font, style or color for a text; color or size for an anchor and so on). Different Presentation Specifications can be defined for the same node or content, so that the most appropriate one can be selected for each user if adaptive or personalized interface features are supported by the hypermedia systems. For instance, in ARCE Presentation Specifications were quite useful to provide multilingual support,

specifying that all contents are presented in two languages (Portuguese and Spanish) and selecting the language according to a user attribute: nationality. A step further would be to implement adaptive interface. In this case, the rules that derive the best presentation for each user profile have to be defined by the designer since no specific support is given by the method. An extension to the reference model underlying ADM to deal with adaptive hypermedia systems supporting information imprecision is introduced in [43]. 4.4. ADM evaluation Since hypermedia systems are highly interactive, the development method has to be a user-centered process where the different interface solutions have to be evaluated. Thus, prototyping and evaluation become two key activities within the hypermedia development process. Development of a prototype. Prototypes can be easily generated from the detailed design products created in the previous phase, whether using authoring tools (e.g., ToolBook, Authorware, Hypercard), mark-up languages (e.g., HTML, XML) or programming languages (e.g., Java). The best practice in this process is to apply an incremental approach. The first prototype can be a very simple interface mock-up with very few functions implemented, and, as the iterative design evolves, more complex services are added. Evaluation. Evaluation is primarily aimed at providing information about the potential usability of a system in order either to improve features and interaction mechanisms of an interface or to assess a completed interface. Usability defines how well users can use a system to meet their goals [44]. The first step is to prepare an Evaluation Document including the following sections: (1) Evaluation Objective. Precise, accurate, clear and measurable goals are established. (2) Evaluation Method. An appropriate evaluation technique depending on the available resources and the development stage is selected [29]. (3) Evaluators profile. Another step is to select the people who will take part in the evaluation, for

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

(4)

(5)

(6)

(7)

which developers should take into account the objectives, the selected evaluation method and the available resources. Evaluators can be real users, potential users or experts and they can have different backgrounds. Data to be collected. To select the data that will be collected, criteria like those proposed in [45] can be used, establishing which criteria and which parameters for each criteria make sense according to the evaluation goals as well as a metric for each parameter and criteria. Tasks. Developers should establish a set of tasks to be performed to be sure that evaluators will analyze all the features and tools of the hypermedia system. Different sets of tasks can be proposed for evaluators playing different roles. Moreover, it has to be tested that tasks make possible to collect information on the criteria that have to be assessed. Recording Mechanisms. Recording mechanisms are required to collect data. Data can be obtained from each task execution using, for example, log mechanisms and interviews and questionnaires. Evaluation planning. Evaluation has to be carefully prepared and planned since its results are used to better gather the users’ needs. Therefore, developers should establish a plan to conduct evaluation and obtain useful results. For example, biased data can be obtained just because evaluation sessions took too long and evaluators were tired and did not put attention when answering to the last questions or performing the last tasks.

Once evaluation has been performed, the results are analyzed to derive conclusions to improve the system. These conclusions, which are summarized in the Conclusions Report, can imply modifications in the products generated throughout the design, whether Conceptual or Detailed, or just in the prototype itself. The Evaluation phase in the ARCE project has provided very useful information to improve the system. The first evaluation process was carried out in the last meeting of the Latin-American Association held in Cartagena de Indias (Colombia) in February 2002. In this meeting, representatives of 13 countries took part

669

in a disaster simulation exercise and they used the current version of ARCE to coordinate a multinational response. Results on this evaluation are reported in [16]. This process completed a first cycle in an iterative development process and since then, similar exercises are periodically performed to test the system requirements and the design decisions. The assumption of this iterative process has been considered quite useful both for developers, who can test their ideas and solutions in a realistic situation, and for users, who have adopted a quite positive attitude due to their active involvement in the development process.

5. Discussion In this section, some methods proposed for the development of hypermedia systems are compared to ADM, including RMM [9], OOHDM [10,11], WSDM [12], WebML [13] and the OO-H method [14]. The Hypermedia Design Model (HDM) [5] is not included in this study since it defines primitives to specify hypermedia systems, but it does not provide a development process, made up of stages or phases producing some artifacts and, therefore, it cannot be considered as method but as a reference model. From a software engineering point of view, the most relevant features of ADM are: (1) the integration of different design views (navigation, presentation, structure, behavior, processes and security) to cope with different specification requirements; (2) the assumption of a usercentered and flexible process in order to improve usability; (3) the provision of general design artifacts (such as diagrams, catalogues or other kinds of specifications) that can be implemented in different platforms, and (4) the existence of a fully specified method where validation and verification rules among phases and products are provided. Most hypermedia methods define a sequence of steps to show how to proceed through the design phase. For example, it is usual to establish that conceptual design goes before implementation and not vice versa or that within conceptual design there is also a procedure to follow (e.g., to define first the logic structure of the application, next the

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

670

navigation and finally the presentation). ADM does not impose any model process for the phases or their activities, on the assumption that hypermedia development is not a rigid process and that it depends on many internal and external factors (e.g., development team skills, available resources, schedules, user’s needs and so on). In fact, most web developments go through a rapid prototyping phase to capture user needs. ADM can be applied in a more ‘‘conservative’’ way, starting from Conceptual Design and ending at Evaluation, as well as in more flexible one starting from any phase and always using Evaluation as key activity, implementing the star life cycle proposed in [29]. This is possible because ADM provides different artifacts to deal with each design view defined in

Fig. 13. Design views for hypermedia and web systems.

Section 2 and summarized in Fig. 13 in an independent way. Compared to the aforementioned hypermedia design methods, ADM shares a number of similarities concerning the specification of the logical structure, navigation and interface layouts, but it also improves or introduces mechanisms to deal with the six design views in an integrated way. A summary of the artifacts covering the six perspectives of hypermedia modelling in different hypermedia methods is provided in Table 2. All the methods including ADM provide mechanisms to model the perspectives of navigation, presentation and structure that distinguish hypermedia applications from other kinds of software applications. However, there are some ADM contributions that are worth mentioning as discussed in Subsection 3.2, including:  Support for multimedia modelling. Although most hypermedia methods have a specific product to deal with the presentation design, they do not offer a mechanism to organize and harmonize multimedia contents in different dimensions such as time and space.  Support for functional requirements modelling. Except for WebML, no other hypermedia method provides specific products to model non-navigation functions.  Support for user modelling. Similar to WSDM and WebML, ADM provides the product Users

Table 2 Modelling support of different hypermedia methods Methods

Navigation

ERMM

Slice Diagram OOHDM Navigation Model WSDM Conceptual Navigation Model WebML Hypertext Model OO-H Navigational Access Diagram ADM

Navigation Diagram

Presentation

Structure

Behavior

Processes

Security

Slice Diagram Abstract Interface Model Implementation Model Presentation Model Abstract Presentation Diagram Internal Diagram

E-R Diagram Conceptual Model User Object Model Structural Model UML-compliant class diagram







Abstract Interface — Model — —



Hypertext Model UML-compliant class diagram

Operation Units —



Catalogue of Events

Functional Users Diagram, Specifications Categories Catalogue, Access Table

Structural Diagram





ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673

Diagram to identify the expected types of users of the application which makes it possible to define user-dependent presentations. However, the ADM approach is based on roles instead of users, which makes it more flexible and easy to reuse and maintain as far as roles are more stable than people [7]. Moreover, this users’ structure can also be used with other purposes such as understanding the user needs or implementing security policies.  Support for security policies specification. Hypermedia methods do not take into account security issues, the most outstanding feature of ADM. For that, a high-level security model [8] is assumed, a model which uses the same design entities than the rest of the products in order to specify the security and access requirements.

6. Conclusions and future work Hypermedia development requires very specific methods dealing with a number of design views, including navigation, presentation, data or structure, processes or function, control or interaction and security. Knowledge and experience can be borrowed from data, processes and event models but specific tools to specify navigation paths and tools and multimedia presentation are needed. In this paper, we did analyze the requirements of a hypermedia design method and we introduced ADM, a method aimed at gathering the peculiarities of hypermedia applications. ADM, which is based on a user-centered process where design decisions are evaluated by means of prototypes, improves four significant aspects compared to similar methods: it provides a mechanism to define time- and space-based constraints among contents; it support the specification of different kinds of services; it offers products to model the users structure based on the use or roles and teams; and it includes a security model to define the policy that will be applied during the hyperdocument operation. ADM deals with the six design views presented in this paper (navigation, presentation, structure, behavior, security and processes) by providing design products related to the domain of application.

671

Moreover, to increase its usage a CASE tool is being developed. At this moment, AriadneTool fully supports Conceptual Design and part of the Detailed Design; it makes it possible to generate documentation about the project, automatically created as web pages, as well as prototypes of the system in XML and SMIL. To increase the method utility, its support to specific application domains is being considered. Thus, the extension to deal with the semantic web is being studied. In particular, the integration of ontologies and design patterns is being considered with this purpose as reported in [46]. Other ongoing works include the inclusion of templates for specific domains such as tele-education or virtual environments.

References [1] D. Lowe, R. Webby, The impact process modelling project work in progress, in: First International Workshop on Hypermedia Development Held in conjunction with Hypertext’98, Pittsburgh, PA, USA, 20–24 June, 1998. [2] P. Chen, The entity-relationship model—toward a unified view of data, ACM Trans. Database Systems (1976) 9–36. [3] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Object Oriented Modelling and Design, Prentice-Hall Inc., Englewood Cliffs, NJ, 1991. [4] J. Nanard, M. Nanard, Hypertext design environments and the hypertext design process, Comm. ACM 38 (8) (1995) 49–56. [5] F. Garzotto, P. Paolini, D. Schwbe, HDM—a modelbased approach to hypertext application design, ACM Trans. Inform. Systems 11 (1) (1993) 1–26. [6] P. Dı´ az, I. Aedo, S. Montero, Ariadne, a development method for hypermedia, in: Proceedings of Dexa 2001, Vol. 2113, Lecture Notes in Computer Science, 2001, pp. 764–774. [7] D.F. Ferraiolo, J.F. Barkley, D.R. Kuhn, A role-based access control model and reference implementation within a corporate intranet, ACM Trans. Inform. Systems Secur. 2 (1) (1999) 34–64. [8] P. Dı´ az, I. Aedo, F. Panetsos, Modelling security policies in hypermedia and web-based applications, in: S. Murugesan, Y. Deshpande (Eds.), Web Engineering: Managing Diversity and Complexity of Web Application Development, Lecture Notes in Computer Science, Vol. 2016, Springer, Berlin, 2001 pp. 90–104. [9] T. Isakowitz, A. Kamis, M. Koufaris, The extended RMM methodology for web publishing, Technical Report Working Paper IS98-18, Center for Research on Information Systems, 1998.

ARTICLE IN PRESS 672

P. Dı´az et al. / Information Systems 30 (2005) 649–673

[10] D. Schwabe, G. Rossi, An object oriented approach to web-based application design, Theory Pract. Object Systems 4 (4) (1998) 207–225. [11] D. Schwabe, R. Pontes, I. Moura, OOHDM-Web: an environment for implementation of hypermedia applications in the www, ACM SigWEB Newslett. 8 (2) (1999). [12] O. De Troyer, C. Leune, WSDM: a user centered design method for web sites, Comput. Networks ISDN Systems 30 (1–7) (1998) 85–94. [13] S. Ceri, P. Fraternali, A. Bongio, Web modelling language (WebML): a modelling language for designing web sites, WWW9/Comput. Networks 33 (1–6) (2000) 137–157. [14] J. Go´mez, C. Cachero, O. Pastor, Conceptual modelling of device-independent web applications, IEEE MultiMedia 8 (2) (2001) 26–39. [15] S. Montero, P. Dı´ az, I. Aedo, A framework for the analysis and comparison of hypermedia design methods, in: Proceedings of The IASTED International Conference on Software Engineering (SE’2003), 2003, pp. 1053–1058. [16] I. Aedo, P. Dı´ az, C. Ferna´ndez, J. de Castro, Supporting efficient multinational disaster response through a webbased system, in: Electronic Government, First International Conference EGOV 2002, Aix-en-Provence, France, September 2002, Lecture Notes in Computer Science, Vol. 2456, Springer, Berlin, 2002, pp. 215–222. [17] P. Dı´ az, I. Aedo, F. Panetsos, A methodological framework for the conceptual design of hypermedia systems, in: Proceedings of the Fifth Conference on Hypertexts and Hypermedia: Products, Tools and Methods (H2PTM 99), Paris, France, September 1999, pp. 213–228. [18] J. Nielsen, Hypertext and Hypermedia: The Internet and Beyond, Academic Press, New York, 1995. [19] R. Furuta, J. Na, Applying programmable browsing semantics within the context of the world-wide web, in: Proceedings of Hypertext’02, University of Maryland, 11–15 June, ACM Press, New York, 2002, pp. 23–24. [20] T. Isakowitz, E.A. Stohr, P. Balasubramanian, RMM: a methodology for structured hypermedia design, Comm. ACM 38 (8) (1995) 34–44. [21] J.L. Schnase, J.J. Leggett, D.L. Hicks, R.L. Szabo, Semantic data modelling of hypermedia associations, ACM TOIS 11 (1) (1994) 27–50. [22] D. Schwabe, G. Rossi, The object-oriented hypermedia design model, Comm. ACM 38 (8) (1995) 45–46. [23] D.B. Lange, An object-oriented design method for hypermedia information systems, in: Proceedings of the 27th Annual Hawaii International Conference on System Sciences, 1994, pp. 366–375. [24] P.D. Stotts, R. Furuta, Petri-net based hypertext: document structure with browsing semantics, ACM TOIS 7 (1) (1989) 3–29. [25] J. Na, R. Furuta, Dynamic documents: authoring, browsing, and analysis using a high-level petri net-based hypermedia system, in: Proceedings of the 2001 ACM Symposium on Document Engineering, ACM Press, New York, 2001, pp. 38–47.

[26] R.S. Shandu, S. Jajodia, Integrity principles and mechanisms in database management systems, Comput. Secur. 10 (1991) 413–427. [27] R.S. Shandu, Lattice-based access control models, IEEE Comput. 10 (1993) 9–19. [28] E.B. Ferna´ndez, R.N. Krishnakumar, M.M. LarrondoPetrie, Y. Xu, High-level security issues in multimedia/ hypertext systems, in: P. Horster (Ed.), Communications and Multimedia Security, IFIP Conference Proceedings, Vol. 70, Chapman & Hall, London, 1996, pp. 13–24. [29] J. Preece, Y. Rogers, H. Sharp, D. Benyon, S. Holland, T. Carey, Human Computer Interaction, The Open University, Addison Wesley, Reading, MA, 1994. [30] I. Aedo, P. Dı´ az, F. Panetsos, M. Carmona, S. Ortega, E. Huete, A hypermedia tool for teaching primary school concepts to adults, in: Proceedings of IFIP WG 3.3 Conference ‘‘Human Computer Interaction and Educational Tools’’, 1997, pp. 180–188. [31] P. Dı´ az, I. Aedo, F. Panetsos, Labyrinth, an abstract model for hypermedia applications. Description of its static components, Inf. Systems 22 (8) (1997) 447–464. [32] P. Dı´ az, I. Aedo, F. Panetsos, Modelling the dynamic behaviour of hypermedia applications, IEEE Trans. Software Eng. 27 (6) (2001) 550–572. [33] J.F. Allen, Maintaining knowledge about temporal intervals, J. ACM 26 (1983) 832–843. [34] L. Hardman, D.C.A. Bulterman, G. van Rossum, The Amsterdam hypermedia model: adding time and context to the dexter model, Commun. ACM 37 (2) (1994) 50–62. [35] M. Slowinski, T. Kennedy, T. Kennedy, SMIL: Adding Multimedia to the Web, Sams Publishing, 2001. [36] S. Montero, P. Dı´ az, J.M. Dodero, I. Aedo, Ariadnetool: a design toolkit for hypermedia applications, J. Dig. Inf. 5(2, special issue on Information Design Models and Processes) (2004). [37] I. Aedo, P. Dı´ az, S. Montero, A methodological approach for hypermedia security modelling, Inform. Software Technol. 45 (5) (2003) 229–239. [38] S. Montero, P. Dı´ az, I. Aedo, A design toolkit for hypermedia applications, in: Proceedings of the International Conference on Web Engineering (ICWE’2003), Lecture Notes in Computer Science, Vol. 2722, Springer, Berlin, 2003, pp. 214–217. [39] J.M. Smith, D.C.P. Smith, Database abstractions: aggregation and generalization, ACM Trans. Database Systems 2 (2) (1977) 105–133. [40] R. Trigg, A network-based approach to text handling for the online scientific community, Ph.D. Thesis, University of Maryland, 1995. [41] F. Tompa, A data model for flexible hypertext database systems, ACM Trans. Inf. Systems 1 (7) (1989) 85–100. [42] S. Montero, I. Aedo, P. Dı´ az, Generation of personalized web courses using RBAC: COURBA, a practical experience, in: P. De Bra, P. Brusilovsky, R. Conejo (Eds.), Adaptive Hypermedia and Adaptive Web-Based Systems, Second International Conference, AH 2002, Malaga, Spain, 29–31 May, 2002, Proceedings, Lecture Notes in

ARTICLE IN PRESS P. Dı´az et al. / Information Systems 30 (2005) 649–673 Computer Science, Vol. 2347, Springer, Berlin, 2002, pp. 419–423. [43] M.A. Sicilia, P. Dı´ az, I. Aedo, E. Garcı´ a, Fuzzy linguistic summaries in rule-based adaptive hypermedia systems, in: P. De Bra, P. Brusilovsky, R. Conejo (Eds.), Adaptive Hypermedia and Adaptive Web-Based Systems, Second International Conference, AH 2002, Malaga, Spain, 29–31 May, 2002, Proceedings, Lecture Notes in Computer Science, Vol. 2347, Springer, Berlin, 2002, pp. 317–327.

673

[44] J. Rubin, Handbook of Usability Testing, J. Wiley, New York, 1994. [45] P. Dı´ az, Usability of hypermedia educational e-books, D-Lib Mag. 9 (3) (2003). [46] S. Montero, P. Dı´ az, I. Aedo, J.M. Dodero, Toward hypermedia design methods for the semantic web, in: First International Workshop on Knowledge, Ontology, Metadata and Meaning Matters, DEXA03, 2003, pp. 762–767.

Suggest Documents