Evolving hypermedia systems: a layered software architecture

2 downloads 0 Views 402KB Size Report
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND ... KEY WORDS: software evolution; hypermedia systems; conceptual schema.
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405 (DOI: 10.1002/smr.262)

Research

Evolving hypermedia systems: a layered software architecture Lina Garc´ıa-Cabrera1 , Mar´ıa Jos´e Rodr´ıguez-F´ortiz2,∗,† and Jos´e Parets-Llorca2 1 Departamento Inform´atica, Universidad de Ja´en, EPS Avda, Madrid, 35, Ja´en, Spain 2 Departamento L.S.I., Universidad de Granada, ETSII Avda, C/Periodista Daniel Saucedo Aranda,

Granada, Spain

SUMMARY Hypermedia systems are evolutionary in nature. This paper presents SEM-HP, a model based on a semantic, systemic and evolutionary perspective, which facilitates the management of hypermedia evolution during the whole lifecycle process. Following the model the architecture of hypermedia systems can be conceived as composed of three sub-systems (conceptual, presentation and navigation) and two abstraction levels, the system level and the meta level (the first used by the reader and the second by the designer). The objective of this division is to achieve a good separation of concerns both in the development and in the evolution processes and to obtain a better understanding, thus facilitating the further development of tools. Copyright  2002 John Wiley & Sons, Ltd. KEY WORDS :

software evolution; hypermedia systems; conceptual schema

1. INTRODUCTION Hypermedia systems are a special kind of information system constructed over a conceptual domain. Because they include the knowledge captured by their designers, they are continually changing. Changes can be carried out in the concepts offered, in the relationships among concepts, in the way information is presented and in the documents (information items) that explain the concepts. With respect to the development of hypermedia systems, Bieber [1] says: ‘Currently, developers and designers must build all hypermedia representations and navigation using single-step links without

∗ Correspondence to: Mar´ıa Jos´e Rodr´ıguez-F´ortiz, Departamento L.S.I., Universidad de Granada, ETSII Avda, C/Periodista

Daniel Saucedo Aranda, Granada, Spain. † E-mail: [email protected]

Contract/grant sponsor: MEIGAS project by the Spanish MCT; contract/grant number: TIC2000-1673-C06-04 Contract/grant sponsor: DOLMEN project; contract/grant number: TIC2000-1673-C06

Copyright  2002 John Wiley & Sons, Ltd.

Received 31 January 2002 Revised 1 August 2002

390

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

semantic or behaviour typing’ and ‘Fourth-generation hypermedia features would provide sophisticated relationship management and navigation support’. Following these suggestions, two main assumptions can be considered. • The nature of hypermedia systems is evolutionary: a hypermedia system represents some aspects and relationships of a conceptual domain explained by a set of designers. Different ways of representing, structuring and browsing it have to be provided and they should be able to change through time. • The whole lifecycle of hypermedia systems must be considered [2]: evolution is a part of the process of construction. The development of a hypermedia system never finishes. Most such systems, and the web in particular, only consider the final hypermedia documents and, sometimes, the navigation performed by the reader. However, this development process is very important because it implies a structuring process that is implicit, diluted and unaffordable inside the documents [3]. How can we support such a process that is evolutionary in nature? Furthermore, how can we conceptualize it in order to provide good support tools? Our previous research into software evolution models and tools [4–6] examined some interesting issues, which can also be applied in the context of hypermedia systems. (i) The Theory of the General System [7] provides a good formulation in the conception of all kinds of systems. From this standpoint, we have conceived software systems as composed of interrelated sub-systems that collaborate between each other and carry out actions. Actions have associated restrictions, which must be verified during the action execution. These restrictions are based on the previous functioning or state of the system. (ii) Evolution should be considered as a global need and should be supported in the whole system development process. This implies that mechanisms, models and methodologies should be provided in order to facilitate the evolution task to the developer. (iii) Evolution can be conceived as the maturation of the models of a system. Evolution is focused as the dynamic of the process of conception development and can be described as: ‘a software system can be, during its development, in different stages. The change from one stage to another is determined by the intervention of a development team who modify the models of the system’ [8]. (iv) In order to provide such an evolution, the semantics of the development activity have to be made explicit and represented. From this perspective, hypermedia systems can be viewed as evolutionary systems and their development process as an evolving activity carried out by a set of developers (we will call them the designers). In addition, they should provide adequate navigation features to the users (we will call them the readers). The application of the above issues to hypermedia systems has interesting consequences. (i) Following the Theory of the General System [7], a hypermedia system can be conceived as a set of interacting systems in continuous evolution. A structure and its functioning can be distinguished. The functioning of a system is determined by its structure. If the structure changes, the system’s functioning will change. To model the change of structure, and therefore the change Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

391

of functioning, a second level is provided, the meta level, which is responsible for verifying when changes can be carried out in the system structure, analysing the impact of change and propagating the changes in the structure. In this sense, the structure of a hypermedia system is composed of sub-systems and its functioning is determined by the actions that each one can carry out (actions for creation of the conceptual domain, selection and navigation). The meta level is also divided into parts, one for each evolving sub-system according to their different structures and evolution necessities. (ii) Because of the specific activities carried out in hypermedia systems, the following elements should be provided: mechanisms for representing the information system; a representation of the conceptual domain that the information belongs to; useful ways of browsing and recovering the memorized knowledge. (iii) The evolution of hypermedia systems implies that information systems, conceptual domains, selected information and navigation routes are exposed to continual changes and updates that should be integrated into the development process. In addition, the different sub-systems that have been considered must allow evolution at different rates. (iv) A specific representation of the conceptual domain used in hypermedia systems should be provided by means of semantic representation tools like ontologies [9]. This global conception of the evolution of hypermedia systems allows us to investigate a model that includes the above considerations in order to achieve our main objective: managing and facilitating the evolution of hypermedia systems during the lifecycle. The model has been elaborated considering the usual process of hypermedia systems development in such a way that each part of the process (phase) is mapped into a different sub-system (conceptual, presentation and navigation) and into two levels (meta level and system level). This division into systems and levels allows a separation of concerns both in the development and in the evolution process. The model is described in Section 2. Section 3 presents how the sub-systems evolve using a set of formalisms, which are justified in Section 4. Finally related work, conclusions and further work are outlined.

2. SEM-HP: THREE SYSTEMS AND TWO ABSTRACTION LEVELS Traditional models [10–14] proposed for designing hypermedia systems have three fundamental drawbacks: (i) they create hyperspaces and not conceptual spaces [15,16]; therefore they do not represent the semantic structure that supports the development process and enables understandable navigation; (ii) they have no kind of mechanisms for supporting the evolution process; (iii) the structures of the proposed models and the development process do not correspond. In order to confront these problems, a proposal for a Systemic, Evolutionary, SEMantic Model for HyPermedia systems (SEM-HP) [17,18] is presented in this section. This approach facilitates the construction, maintenance and navigation of hypermedia systems in continuous evolution and makes these activities more feasible, understandable and flexible. Because of the correspondence that SEMHP proposes between the process and the architecture of the model, we will first explain the process. Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

392

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

Figure 1. Process development hypermedia systems: two levels and three sub-systems.

2.1. The development process of hypermedia systems Hypermedia systems are a special kind of information system in which the designer represents a conceptual domain taking into account his/her knowledge about it and the possible audience. The ultimate goal of a hypermedia system is to capture, present and cover the cognitive schemas of the designer about a particular issue. Therefore, in the development of hypermedia systems three interrelated phases can be distinguished (Figure 1): • Phase 1. Creation of conceptual and information worlds. • Phase 2. Selection of presentations or views of them. • Phase 3. Design of navigation through these presentations.

The designer is responsible for the design, construction and maintenance of the hypermedia during these phases, but the interaction of the reader is focused on the navigation, which should provide tools that facilitate the understanding, access and selection of the information. The development process of hypermedia systems, like any other software development process, is iterative and evolutionary. Changes can be carried out in the concepts offered (phase 1), in the relationships between concepts (phase 1), in the way the information is presented or viewed (phase 2) and in the way the information is covered (phase 3). Consequently, a hypermedia model can be based on: Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

393

Figure 2. Sub-systems of the SEM-HP model.

• three sub-systems that provide support to each phase. Each sub-system corresponds to a development phase: the conceptual sub-system (phase 1), the presentation sub-system (phase 2) and the navigation sub-system (phase 3). • each of these sub-systems has two levels of abstraction: a meta and a system level. The system level provides the functionality of the hypermedia system, determining how it is used by the readers. The meta level provides flexibility, giving actions to the designer to design and evolve the hypermedia. In addition, it analyses the impact of changes to verify the integrity and consistency of the system, at any time, and to propagate the changes. The meta level works as an authoring tool and, thus, the designer interacts with it, carrying out actions to evolve the hypermedia during each phase (Figure 1). At the same time, he/she can use the defined sub-systems in order to check their structure and functioning. Therefore, the designer also interacts with all the sub-systems and can simultaneously adopt the role of developer or user. The reader only interacts with the navigation sub-system by means of functional (non-evolving) actions.

2.2. The sub-systems of the SEM-HP model Figure 2 shows how each sub-system level can be defined by: (a) one or more artefacts that characterize the components of the sub-system and represent its structure; and (b) a set of restrictions (RT) that control the construction and guarantee the consistency of these artefacts. RT verifies system integrity during hypermedia functioning and evolution in three ways: by carrying out only actions that hold RT, by propagating the changes inside the sub-system itself (to the rest of the artefacts) and by propagating the changes outside (to the other sub-systems). The meta level is defined by: (a) a set of evolving actions (ACe ) that allow the production and propagation of changes in the hypermedia system; and (b) a set of meta-restrictions (M-RT) that control the modification of the restrictions, guaranteeing their consistency. The designer carries out ACe to design and construct the conceptual and information worlds, the presentations and the navigation routes. Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

394

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

In the following subsections the different sub-systems and their structures (artefacts and restrictions) are defined and described. The example in Figures 3–5 is used to illustrate and clarify the sub-systems’ descriptions, the evolution process and the use of formalisms to specify them. The syntax used is explained with more detail in [4]. Different parts of this example are referred to below. 2.3. The conceptual sub-system The conceptual sub-system, MS, allows the storage of selected knowledge for each information domain. It memorizes information concerning the whole conceptual domain, which is managed in a particular information system. The conceptual domain is represented by means of a directed graph, in which nodes and links are labelled with semantic meanings (a semantic net). The graph represents the concepts and relationships between concepts of the information system, called conceptual structure (CS). The different information items (documents) can be associated with one or more concepts of the CS. These items are also nodes of the CS. In order to allow provisional and incomplete development, items that are not related to any concept can also be included. CS is defined as: CS = (C, II, Ac , Ai ), where C is the set of concepts, II is the set of information items, Ac is the set of labelled conceptual associations and Ai is the set of labelled associations between concepts and information items. In order to provide more flexibility, the designer can define concept labels and association labels without assigning them to a particular CS. The conceptual sub-system consists of another component, the Dictionaries (D), which store the concept and association labels. Figure 3 shows an example on the Solar system. In this conceptual structure, Earth ∈ C, ‘Earth’ ∈ D, M1 ∈ II, Sun, rotate, Earth ∈ Ac and Moon, photos, M1 ∈ Ai . The complete graph can be defined by: • C = {SolarSystem, Planets, InnerPlanets, OuterPlanets, Stars, Nova, SuperNova, Earth, Jupiter, Sun, Moon, Countries, Oceans, Portugal}; • II = {P 1, IP1, IP2, OP1, OP2, E1, J 1, M1, C1, C2, P o1, P o2, O1, Su1, Su2, S1, N1, Sn1}; • Ac = {Earth, rotate, Moon, Earth, PartOf , Countries, Earth, PartOf , Oceans, Sun, rotate, Earth, Sun, rotate, Jupiter, Countries, IsA, Portugal, SolarSystem, PartOf , Planets, SolarSystem, PartOf , Sun, Stars, IsA, Sun, Stars, PartOf , SolarSystem, Stars, aKindOf , Nova, Stars, aKindOf , SuperNova, Planets, IsA, Earth, Planets, IsA, Jupiter, Planets, aKindOf , InnerPlanets, Planets, aKindOf , OuterPlanets, OuterPlanets, IsA, Jupiter}; • Ai = {Earth, map, E1, Moon, photos, M1, Countries, list, C1, Countries, cities, C2, Portugal, map, P o2, Portugal, history, P o1, Oceans, list, O1, Sun, photos, Su1, Sun, chemicalcomposition, Su2, Jupiter, photos, J 1, Planets, definition, P 1, InnerPlanets, definition, IP1, InnerPlanets, enumeration, IP2, OuterPlanets, definition, OP1, OuterPlanets, enumeration, OP2, Stars, definition, S1, Nova, photos, N1, Supernova, definition, Sn1}. Because the CS is constructed by the designers in a dynamic way, some evolution actions, such as add-concept, delete-association, modify-association, add-item, etc., have been included. The actions must conform to a set of restrictions (RT) in order to maintain the consistency of the CS. These restrictions can be primitive, defined as a functional part of the conceptual sub-system, or can be defined by the designer. Some examples of primitive restrictions are: Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

395

Figure 3. The conceptual structure CS from a Solar system hypermedia.

• each association of the CS must connect two concepts or a concept and an item; • each arc and node of the CS must be labelled; • two nodes in a CS cannot have the same label. The designer can also include additional restrictions that determine what associations between concepts are possible. In order to represent these restrictions, formulae in temporal logic are used. This formalism also allows us to check that the CS is valid at every moment. Some examples are: • ‘concept-A can be connected with concept-B by means of the relationship-A’; • ‘relationship-B must be acyclic’; • ‘concept-C can be connected with concept-G if concept-C is reached from concept-B’. Figure 4 shows two designer restrictions RT over the association rotate in Example A, 2m. The system level of the conceptual sub-system is defined as MS = (CS, D, RT), where CS is the previously defined directed and labelled graph that is weakly connected and that represents the conceptual domain, D, the dictionaries, and RT is the set of restrictions. The meaning of c, rotate, c1 ← not  c1, rotate, c is: ‘rotate association is not recursive’. c, rotate, Sun ←  c, IsA, Planets says: ‘if an IsA association exists previously between any concept and the Planets concept, an association rotate must be added relating that concept with the Sun concept (every planet must rotate around the sun)’. Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

396

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

Figure 4. Two examples of evolving actions.

2.4. The presentation sub-system The presentation sub-system, PS, determines the set of possible views of a specific conceptual and information domain. To some extent it establishes the possible views of the hypermedia documents, which can be built using the items of the conceptual sub-system. The presentation sub-system, using as its basis the conceptual structure of the conceptual sub-system, allows the selection of a subset of the concepts and associations included in the conceptual structure, creating a new graph CSp . Of course, the subgraph must conform to the restrictions RT p that characterize the conceptual associations selected. If this presentation contains too many concepts, a simplification is useful. The presentation subsystem offers the possibility of determining one or more virtual structures CSiv that summarize the earlier CSp . Graph theory allows us to calculate them by means of strong components and by the condensed graph [19]. Therefore, the system level of the presentation sub-system is defined as Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

397

Figure 5. A presentation, Petri net and navigation tree example.

PS = (CSp , CSiv , RT p ), where CSp is a subset of the original CS, CSiv are the virtual conceptual structures and RT p is the set of the restrictions that characterize the selected conceptual associations. Figure 5(a) shows a presentation graph example. In this case, the designer has selected only the concepts related to the Earth concept. 2.5. The navigation sub-system The navigation sub-system, NS, helps the reader to interact with the information system. Using the conceptual base and the reader’s activity over time in a dynamic way, this sub-system determines, firstly, the accessible information and, secondly, its interaction possibilities. The navigation sub-system, using as its basis the CSp of the presentation sub-system, allows us to add some navigation restrictions in order to follow more restricted routes in the subgraph. These restrictions are expressed using temporal logic as navigation rules. For example Countries.list ←  Earth.map and PartOf in Example A of Figure 3 is a navigation rule. It means that the item Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

398

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

Figure 6. Ways of navigation in the prototype.

Countries.list can be visited if previously () the item Earth.map had been visited and if the PartOf relationship had been selected to navigate from the Earth to Countries concepts. Considering the CSp and the navigation rules, a Petri net is automatically constructed, following the algorithm presented in [4]. The Petri net is used to follow the navigation routes. Finally, the navigation sub-system provides another component; from a Petri net it is possible to calculate its reachability tree or guided navigation tree (NT), which provides two benefits: (a) a tour navigation; and (b) the generation of printable documents. Petri net and navigation tree examples are shown in Figures 5(b) and 5(c). We have implemented a prototype of the interfaces of the SEM-HP. Figure 6 shows the navigator, which allows two different types of navigation: (a) the conceptual structure; and (b) the ordinary way. A third form, the navigation tree, is also used in the prototype to navigate. In short, the navigation sub-system is defined as NS = (CSp , RT n , PN, NT), where RT n is the set of restrictions specified by the designer, PN is the Petri net and NT is the navigation tree.

3. EVOLUTION PROCESS IN SEM-HP From the meta level of each sub-system, the designer can construct a structure (artefacts and designer restrictions) by means of evolving actions (adding, deleting or modifying artefacts and restrictions). Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

399

Figure 7. The evolution process in SEM-HP.

All sub-systems must always guarantee the consistency of these changes (in the modified component, inside the sub-system and outside the sub-system). Although the evolution of each sub-system is explained in detail in [20], Figures 4, 5 and 7 and the following subsections summarize the whole evolution process. 3.1. The conceptual sub-system During the development process, three aspects of this sub-system can be changed: the graph, (CS), the dictionaries (D) and the restrictions defined by the designer. Graph theory is used to represent the evolutionary actions of the graph and their associated restrictions. When the designer changes the CS (by adding, deleting or modifying a concept, an item or an association) the meta level must check the following. (i) The CS conforms to the restrictions defined by the sub-system and its associations satisfy the set of primitive restrictions and designer restrictions (1m, 2m). The RT acts as a set of restrictions for the actions, in such way that only if the action matches the restrictions will it be carried out. (ii) If the designer adds a new concept or association label (1m), an internal propagation of changes will be necessary. This label must be added to the Dictionaries (3m). (iii) The subgraph used by the presentation sub-system, CSp , is consistent with changes in the CS (1). If a concept or relationship has been deleted from the CS, the presentation sub-system must also delete this concept or relationship from the CSp (external propagation of changes). For instance, in Example A of Figure 4 (1m), the designer adds a new association (add concept assoc) Earth, rotate, Moon. The conceptual sub-system must check its restrictions. As the restrictions (2m) hold (the association does not belong to the conceptual associations set, the association is not recursive and Earth is a Planet), then Earth, rotate, Moon can be a new association. In this evolving action, a new concept has been added, so the conceptual sub-system must carry out an Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

400

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

internal propagation (1m)(3m), it must add this concept to the concept set and if it does not belong to the dictionary set, it will add this label to it. Finally, the sub-system must perform an external propagation of the change if there exists a presentation based on this conceptual structure (1). Figures 3 and 5 show the result of applying this evolving action. When the designer changes D (adding, deleting or modifying a concept or an association label) the sub-system should only check duplication in order to guarantee the consistency. Finally, when the designer redefines (adds, deletes or modifies) a designer restriction, the meta level must check the following. (i) The set of axioms on associations is valid. That is, the restrictions must conform to the meta-restrictions (4m). meta-restrictions are expressed using Predicate temporal logic. (ii) The CS verifies the new set of restrictions (5m). Associations that do not satisfy one or more restrictions should be detected and deleted (1m) (internal propagation of changes). (iii) The CSp verifies the new set of restrictions (2p). The sub-system must detect the associations that do not satisfy these restrictions and delete them (1, 1p) (external propagation of changes). Meta-restrictions over the graph are expressed as properties of the graph using graph theory. 3.2. The presentation sub-system Using this sub-system, the designer selects a particular subgraph, CSp , from a conceptual structure. In a similar way to the conceptual sub-system, the consistency must be guaranteed during the evolution of the presentation sub-system. Changes in this sub-system can be produced in the subgraph selected, CSp . When the CSp is changed, the designer selects another set of concepts and associations, and the meta level must check that: (i) The CSp verifies the restrictions defined by the sub-system and the associations satisfy the set of restrictions defined by the designer (1p, 2p). These restrictions are a subset of those of the conceptual sub-system because the CSp is a subgraph of the CS. (ii) If the designer has defined virtual conceptual structures CSiv , from CSp (4p), these structures must conform to the restrictions (5p) and an internal propagation will be necessary. The subsystem must again calculate the CSiv (3p). (iii) A new view or presentation is defined. In this case, the designer must again define the navigation restrictions (external propagation of changes) (2). 3.3. The navigation sub-system This sub-system is composed of a specific presentation offered by the presentation sub-system, a set of navigation restrictions defined by the designer, a Petri net based on these components and, finally, a navigation tree based on the Petri net. The meta level of the navigation sub-system must again guarantee consistency. When the designer redefines (by adding, deleting or modifying) a navigation restriction, the sub-system must check the following. Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

401

(i) The set of restrictions that establishes the order of navigation is consistent. Predicate temporal logic is used in specifying the evolution actions over the restrictions, and their associated metarestrictions (1n, 2n). (ii) The navigation restrictions have changed. Changes in a restriction can imply the modification of other restrictions (2n). The Petri net based on the navigation restrictions must again be automatically generated (3n) (internal propagation of changes). Finally, the navigation tree must automatically be reconstructed according to the new Petri net obtained (4n). Example B of Figure 4 shows several meta-restrictions (2n) for the action evolution delRTn (1n). A navigation restriction can be modified or deleted if the items it references are referenced in other restrictions because, otherwise, these items will be unreachable. For example, some metarestrictions in the example must verify that the items (Portugal.map and Portugal.history) could be visited by navigating by other paths in the case of deletion. In this way, integrity is maintained. The two navigation restrictions can be deleted because there are another two: Portugal.map ←  Countries.cities and IsA & Portugal.history ←  Countries.cities and IsA, which permit us to reach the two items (Portugal.map & Portugal.history) and navigate by the relationship IsA. As the navigation restrictions have changed, the Petri net must be modified to delete the transition IsA, as must the arcs, which link Countries.list with Portugal.map and Portugal.history (see Figures 4 and 5).

4. FORMALISMS USED IN SEM-HP The designer organizes the information of the conceptual sub-system according to his/her particular interpretation of the conceptual domain. Therefore, it is possible to offer more than one structure (perspective) of the same information. In addition, the model can provide different views of the source CS by means of the presentation sub-system and different routes of navigation over the same subset of information using the navigation sub-system. The conceptual sub-system contains the semantic structure, determining how knowledge is organized and, therefore, labelled graphs are the most suitable mechanism for representing it. Because restrictions should also be represented, indicating what associations are valid in the CS depending on the previous state of the hypermedia system, temporal logic is a natural way to formulate them. Graph theory is also used in specifying the presentation sub-system in order to select the conceptual substructure. In the navigation sub-system, the main objective is the restriction of possible paths that can be followed when information is navigated. Temporal logic enables the specification of order relationships and Petri nets offer an operational formalism that can be executed in order to show these paths and analyse their properties [2,4,21]. Graph theory and predicate temporal logic formalisms are used at the meta level in order to evolve the sub-systems because they easily support changes and their propagation. Changes in the items, the CS and in the Petri net are possible independently; but, at the same time, these changes must be propagated in order to maintain the overall consistency. In particular, graph theory is based on set theory, and so evolutionary actions can be expressed using simple set operations. Predicate temporal logic allows us to consistently modify the restrictions expressed in propositional temporal logic. Predicate temporal logic manages the meta-restrictions, Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

402

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

treating the propositions of the restrictions as variables, modifying them and, therefore, changing the restrictions. The use of so many formalisms has one main objective: to represent each evolution problem using the formalism that best fits the evolution possibilities. Obviously these formalisms are hidden and the designer does not have to know them. These formalisms are hidden inside the tools that implement the conceptual, the presentation and the navigation sub-systems. The designer defines the CS and restrictions using a visual (graph) representation of them.

5. RELATED WORK A lot of work has been done in providing software engineering approaches to the development of hypermedia systems. Lowe and Hall [22] provide a good review of the proposed approaches, most of which consider the development process as an iterative process with an important maintenance phase. However, the evolutionary perspective, as proposed by Lehman and Ramil [23], has not been widely discussed, probably due to the novelty of the evolutionary perspective, both in software systems and in hypermedia systems. Our approach, which is intended to be evolutionary in nature because hypermedia systems are very dynamic systems, has antecedents in three important contributions to hypermedia models. The Reusable Intelligent Collaborative hypermedia system (RICH) proposed by Wang and Rada [24] was designed to write and reuse scientific-technical documents. Wang and Rada used semantic nets in order to represent hyperdocuments. Although semantic nets comprise the cornerstone of our model, we try to distinguish clearly between conceptual and information domains and provide semantic rules that are more complex and flexible than those proposed in RICH. In addition we believe that the whole lifecycle of hypermedia systems should be considered in the application of the model. The Adaptive Hypermedia Application Model (AHAM) [25] has been proposed as the reference model for adaptive hypermedia. This kind of hypermedia system reflects important features of the user in the user model and applies this model to adapt various visible aspects of the system to the user. AHAM proposes different models (domain model, user model and adaptive model) in order to manage the different concerns of adaptive hypermedia. The AHAM model represents together the document structure and the navigation restrictions, and specifies the edition structure. We have tried to improve on this approach by considering different presentations of the same conceptual structure that can be adapted to the users and by providing meta-restrictions, which guarantee the consistency of the adaptation rules. Like Stotts et al. [26], we also consider that a hyperdocument is an interactive document, which has a dynamic structure. These authors introduce temporal logic to check navigation properties and Petri nets to model the hypermedia structure. Using their work as a basis, we also allow the evolution of navigation restrictions and automatically generate Petri nets from temporal logic. In this way the evolution of the conceptual structure and navigation restrictions is directly and automatically propagated to the resulting Petri net. Although our model is mainly based on these models, its most important novelty is probably the provision of mechanisms of evolution, previously applied to software systems, to the development process of the hypermedia system. Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

403

6. CONCLUSIONS AND FURTHER WORK The main cause of evolution in hypermedia systems is the modification of the concepts and of the information base represented in the hypermedia. Another important cause is the modification of the relationships between the information items, and therefore in the navigation order. These changes usually have to be managed by the designer alone, with little support. In order to provide a conceptual perspective on these changes, a hypermedia model (SEM-HP) has been proposed. The model integrates three different sub-systems corresponding to the different phases of the development process. The sub-systems (their components and restrictions) can evolve, and therefore two levels of abstraction have been presented, to allow a separation of concerns between the activity (the system level) and the management of changes (the meta level). In addition, some formalisms have been proposed in order to specify the structure and the evolution actions at each sub-system and level. An example about the Solar system has been used for validating the model. It illustrates the evolution operations and the use of formalisms. The proposed approach seeks to be independent of the technological platform; it presents a general architecture that facilitates the separation of concerns in constructing hypermedia systems. This approach has various advantages: from a conceptual perspective, the separation of sub-systems and levels allows the clarification of the development process and the automatic verification of changes and their propagation. From the implementation point of view it can be used for hypermedia systems constructed from scratch or from a Web-based system. Obviously, this implies that the conceptual structure should be elaborated in order to provide a complete possibility of evolution. We are currently implementing a tool that allows the elaboration of a conceptual structure from scratch and from real-world Web pages. Up to now, the main problem that we have is the creation of the conceptual structure from the information offered in the existent pages (in the majority of cases, the information is not well-structured and is redundant). Anyway, the application of our ideas in the evolution of realworld systems is an essential topic of our future work. Moreover, although our initial aim was to clarify the architecture of authoring-based tools for educational purposes, we believe that the proposed architecture and formalisms are general enough for a wide variety of hypermedia systems. At present our research is based on the consideration that the hypermedia system should learn from the reader’s navigation. Several aspects could be considered in order to modify the hypermedia system and to adapt it to the user, for instance, the reader’s age or education level, the kind of information selected or the navigation routes followed by the user in a work session, etc. These aspects of navigation should be reflected in a model of the user, which should help in adapting navigation. In this sense, a new sub-system should be included in SEM-HP: the Learning sub-system. An initial version of this was presented in [21,27]. A more complete set of its relationships with the other sub-systems and its two-abstraction level structure will be specified in the near future. Hypermedia systems could be designed and modified by multiple authors (this is normal in Web page maintenance). This is also an important topic in adaptive hypermedia and is part of our future work, in which aspects such as control of versions, management of the history of changes and concurrency will be taken into account. ACKNOWLEDGEMENTS

This research is supported by the MEIGAS project by the Spanish MCT (TIC2000-1673-C06-04), a subproject of the DOLMEN project (TIC2000-1673-C06).

Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

404

´ L. GARC´IA-CABRERA, M. J. RODR´IGUEZ-FORTIZ AND J. PARETS-LLORCA

REFERENCES 1. Bieber M, Vitali F. Toward support for hypermedia on the World Wide Web. IEEE Computer 1997; 30(1):62–70. 2. Schnase JL, Leggett JJ, Hicks DL, Szabo RL. Data modelling of hypermedia associations. ACM Transactions on Information Systems 1993; 11(1):27–50. 3. N¨urnberg M, Leggett JJ, Schneider ER. As we should have thought. Proceedings of Hypertext’97. ACM Press: New York NY, 1997; 96–101. 4. Rodr´ıguez-F´ortiz MJ, Parets-Llorca J. Using predicate temporal logic and coloured Petri nets to specifying integrity restrictions in the structural evolution of temporal active systems. ISPSE 2000. International Symposium on Principles of Software Evolution. IEEE Computer Society Press: Los Alamitos CA, 2000; 81–85. 5. Parets J, Anaya A, Rodr´ıguez MJ, Paderewski P. A Representation of Software System Evolution Based on the Theory of the General System (Lecture Notes in Computer Science, vol. 763). Springer: Berlin, 1994; 96–109. 6. Paderewski P, Parets-Llorca J, Anaya A, Rodr´ıguez MJ, S´anchez G, Torres J, Hurtado MV. A software development tool for evolutionary prototyping of information systems. Computer and Computational Engineering in Control—1999 (Electric and Computer Engineering Series). World Scientific and Engineering Society Press, 1999; 347–352. 7. Le Moigne JL. La th´eorie du syst`eme g´en´eral. Th´eorie de la mod´elisation. Presse Universitaires de France: Paris, 1990. 8. Banerjee J, Kim W, Kim HJ, Korth HF. Semantics and implementation of schema evolution in object-oriented databases. Proceedings of ACM–SIGMOD International Conference of Management of Data, San Francisco CA, 1987; 311–322. 9. Uschold M, Gruninger M. Ontologies: Principles, methods and applications. Knowledge Engineering Review 1996; 11(2):93–155. 10. Campbell B, Goodman J. HAM: A general purpose hypermedia abstract machine. Communications of the ACM 1988; 31(7):856–861. 11. Furuta R, Stotts PD. The trellis hypertext reference model. Proceeding of NIST Hypertext Standardization Workshop. NIST: Gaithersburg MD, 1990; 83–93. 12. Halasz F, Schwartz M. The dexter hypertext reference model. Proceedings of the Hypermedia Standardization Workshop (NIST Special Publication SP500-178), Gaithersburg MD, 1990; 95–133. 13. Lange DB. A formal model of hypertext. Proceedings of the Hypertext Standardization Workshop. NIST: Gaithersburg MD, 1990; 145–166. 14. De Bra P, Houben GJ, Kornatzky Y. An extensible data model for hyperdocuments. 4th ACM Conference on Hypermedia, Milano, Italy, 1992; 222–231. 15. Kibby A, Mayes JT, Anderson A. Learning about learning from Hypertext. NATO Conference Designing Hypertext for Learning, Jonassen DH, Mandel H (eds.). Springer: Berlin, 1990; 227–250. 16. Mayes M. A method for evaluating the efficiency of presenting information in a hypermedia environment. Computer in Education 1994; 18(1):179–182. 17. Garc´ıa-Cabrera L, Parets-Llorca J. A cognitive model for adaptive hypermedia aystems. The 1st International Conference on Web Information Systems Engineering, Workshop on WWW Semantics. IEEE Press: Los Alamitos CA, 2000; 29–33. 18. Garc´ıa-Cabrera L, Rodr´ıguez-F´ortiz MJ, Parets-Llorca J. Toward a Formalisation of Evolutionary Hypermedia Systems Based on System Theory (Lecture Notes in Computer Science, vol. 2178). Springer: Berlin, 2001; 270–284. 19. Christofides N. Graph Theory: An Algorithmic Approach. Academic Press: London, 1975. 20. Garc´ıa-Cabrera L, Rodr´ıguez-F´ortiz MJ, Parets-Llorca J. Formal foundations for the evolution of hypermedia systems. 5th European Conference on Software Maintenance and Reengineering, Workshop on FFSE. IEEE Computer Society: Los Alamitos CA, 2001; 5–12. 21. Medina-Medina N, Garc´ıa-Cabrera L, Rodr´ıguez-Fortiz MJ, Parets-Llorca J. Adaptation in an evolutionary hyperpedia system: Using semantic and Petri nets. Second International Conference AH2002 (Lecture Notes in Computer Science, vol. 2347). Springer: Berlin, 2002; 284–295. 22. Lowe D, Hall W. Hypermedia and the Web. An Engineering Approach. Wiley, 1999. 23. Lehman MM, Ramil JF. Software evolution. International Workshop on Principles of Software Evolution. ACM Press: New York NY, 2001; 1–13. 24. Wang W, Rada R. Structured hypertext with domain semantics. ACM Transactions on Information Systems 1998; 16(4):372–412. 25. Wu H, De Kort E, De Bra P. Desing issues for general-purpose adaptive hypermedia systems. Proceedings of the ACM Conference of Hypertext and Hypermedia. ACM Press: New York NY, 2001; 141–150. 26. Stotts PD, Furuta R, Ruiz-Cabarrus C. Hyperdocuments as automata: Verification of trace-based browsing properties by model checking. ACM Transactions on Information Systems 1998; 16(1):1–30. 27. Medina-Medina N, Garc´ıa-Cabrera L, Torres-Carbonell JJ, Parets-Llorca J. Evolution in adaptative hypermedia systems. First International Workshop on Principles of Software Evolution, IWPSE 2002, Orlando FL. ACM Press: New York NY, 2002; 34–38.

Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405

EVOLVING HYPERMEDIA SYSTEMS

405

AUTHORS’ BIOGRAPHIES

Lina Garc´ıa-Cabrera is a professor in the Departamento de Inform´atica at the University of Ja´en (Spain). She is also a member of the group on Software Development and Evolution at the Departament of Lenguajes y Sistemas Inform´aticos (University of Granada, Spain). She received her PhD from this University. Her publications and research have been in the areas of software systems evolution models and their application to the elaboration of authoring hypermedia tools for educational purposes.

Mar´ıa Jos´e Rodr´ıguez-F´ortiz is an associate professor in the Departamento de Lenguajes y Sistemas Inform´aticos at the University of Granada (Spain). Her research publications are in the areas of software systems evolution models, formal methods for specification, object-oriented methods, tools and languages. She received her PhD from the University of Granada. She is a reviewer for the Information and Management Journal (NorthHolland).

Jos´e Parets-Llorca is a full professor in the Departamento de Lenguajes y Sistemas Inform´aticos at the University of Granada (Spain). He is also the Research Director of the group on Software Development and Evolution at the same department. He received his PhD from the University of Granada. Project experience and publications have been in the areas of object-oriented development methods and tools, software systems evolution models and applications and evolution paradigms from different disciplines (biology, sociology and psychology).

Copyright  2002 John Wiley & Sons, Ltd.

J. Softw. Maint. Evol.: Res. Pract. 2002; 14:389–405