An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or...

44
SPATIAL COGNITION AND COMPUTATION, vol(issue), start–end Copyright © YYYY, Lawrence Erlbaum Associates, Inc An Analysis of the "Navigation" Metaphor and Why it Works for the World Wide Web Hartwig H. Hochmair * and Klaus Lüttich ** *St. Cloud State University, Department of Geography **University of Bremen, Faculty 3: Mathematics/Computer Science Abstract. People use spatial metaphors when they talk about activities on the World Wide Web, such as navigating the Web, reaching one’s goal, visiting a Web site, or moving back to a previous Web page. These expressions are mappings from the physical world to an application domain. We analyze why Web users conceptualize clicking on a sequence of Web links as navigation. The semantics of an object or an activity in its source domain can be defined over its behavior with a set of axioms. We propose that these axioms must also be satisfied in the target domain for an object or activity to yield a sound metaphor. We use a first-order algebraic specification language to define the semantics of “navigation” in the real world as a set of axioms, specify a Web navigating agent as algebra, and demonstrate that there exists a morphism between both specifications, which means that the Web agent behaves according to the set of wayfinding axioms. This suggested method is another step towards a formally grounded explanation of metaphorical mappings. Keywords: Metaphor, Web navigation, algebraic specification, agent model Correspondence concerning this article should be addressed to Hartwig H. Hochmair, St. Cloud State University, Department of Geography, 720 Fourth Ave South, St. Cloud, MN-56301, USA; email: [email protected]

Transcript of An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or...

Page 1: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

SPATIAL COGNITION AND COMPUTATION, vol(issue), start–end Copyright © YYYY, Lawrence Erlbaum Associates, Inc

An Analysis of the "Navigation" Metaphor − and Why it Works for the World Wide Web

Hartwig H. Hochmair* and Klaus Lüttich**

*St. Cloud State University, Department of Geography **University of Bremen, Faculty 3: Mathematics/Computer

Science Abstract. People use spatial metaphors when they talk about activities on the World Wide Web, such as navigating the Web, reaching one’s goal, visiting a Web site, or moving back to a previous Web page. These expressions are mappings from the physical world to an application domain. We analyze why Web users conceptualize clicking on a sequence of Web links as navigation. The semantics of an object or an activity in its source domain can be defined over its behavior with a set of axioms. We propose that these axioms must also be satisfied in the target domain for an object or activity to yield a sound metaphor. We use a first-order algebraic specification language to define the semantics of “navigation” in the real world as a set of axioms, specify a Web navigating agent as algebra, and demonstrate that there exists a morphism between both specifications, which means that the Web agent behaves according to the set of wayfinding axioms. This suggested method is another step towards a formally grounded explanation of metaphorical mappings.

Keywords: Metaphor, Web navigation, algebraic specification, agent model

Correspondence concerning this article should be addressed to Hartwig H. Hochmair, St. Cloud State University, Department of Geography, 720 Fourth Ave South, St. Cloud, MN-56301, USA; email: [email protected]

Page 2: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

2 HOCHMAIR, LÜTTICH

1 Introduction Metaphors have become a key idea especially in human-computer interaction (Carroll et al. 1988; Kuhn 1995). This holds specifically for spatial metaphors (Dieberger 1994; Sorrows & Hirtle 1999; Fabrikant 2000). Metaphors map features of the physical space to an abstract computational domain and allow the user to apply previously experienced concepts in the target domain. Maglio & Matlock (1998) found that Web users think of the Web as a kind of physical space in which they move, although the Web is not physical and Web users do not locomote. This result can be concluded from an extensive use of spatial metaphors when people talk about the Web. Physical navigation is often used as a metaphor for traversing hypertext documents or electronic databases (Marchionini 1995). Navigation as a goal-directed movement is a versatile concept and applicable in many domains, including many that are not literally spatial (Montello 2005). The same holds for wayfinding, which is similar to navigation in many respects. So, we can speak of "navigating through a math problem", "making one's way through one's studies", "finding one's way back to the stage", or "navigating the World Wide Web". However, like all metaphors, the navigation metaphor has some limitations and sounds strange when mapped to inappropriate activities, e.g. "navigating through a tournament" or "navigating through a book". This work tries to explain why examples such as the first four mentioned are good metaphors, whereas the latter two examples cause problems in their use.

A Geographic Information System (GIS) is one of several application areas where metaphors will play an important role in the future − once remaining challenges are overcome. Through the increasing influence of the successful Macintosh user interface, advanced considerations about Human Computer Interface (HCI) for GISs have been discussed (Kuhn & Frank 1991), including object oriented approaches and graphical user interface (GUI) design. Since then, the GUI functions have been extended through direct manipulation from pure display of data to processing and analysis of geographic data, as tested for overlay functions in (Richards & Egenhofer 1995; Tsou & Buttenfield 1997). However, in GIS a comprehensive approach as found with the Star User Interface (Smith et al. 1983) is still a challenge, and GIS designers have not yet found generic user interfaces that support widely varying tasks of treating spatially referenced data. A problem is that metaphors don't scale very well. A metaphor that works well for a simple process in a simple program will often fail to work well as that process grows in size or complexity (Kuhn 1995). In general, the abstract nature of information technology creates a need for metaphors in GUIs so that users can conceptualize and understand software without having to master its technical workings. Moreover, various applications show the usability of graphical metaphors for data exploration tools, such as the clock or coil metaphor (MacEachren et al. 1999), or transparencies, folders, and push-pins (Elvins & Jain 1998).

Page 3: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 3

1.1 Research Objective Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain (Kuhn 1995). The research objective of this paper is to apply a new approach − describing why metaphors work, and how metaphors can be formalized. This approach is demonstrated for the navigation metaphor in particular. That is we try to give an explanation of why the metaphor of information seekers that navigate an information space (Nielsen 1990) is widely used and so easy to understand, and why moving the mouse pointer on hyperlinks and clicking the mouse button is referred to as navigation.

We hypothesize that the semantics of a concept in the source domain can be defined through a set of axioms. Such concept would only then be comprehended as metaphor if these axioms are also satisfied in the target domain for that term, i.e., if the concept "behaves" in a similar way to how it does in the source domain. The constraints imposed on the behavior of the concept are widely independent of physical attributes. We claim that the navigation axioms are satisfied by all types of navigation in both the physical world and the Web, and we furthermore demonstrate this for one strategy in the physical world and another one in the Web space. It should be noted that these two strategies serve only as showcases, any other strategies could be chosen. Therefore, we do neither claim that the two presented strategies are similar in each respect, nor that they represent the most similar pair of strategies between the Web and the physical world. We restrict the description of mappings to behavioral patterns that are necessary to classify the described strategies and processes as navigation. All other mappings, if they exist, are irrelevant for the purpose of this work.

1.2 Research Method The approach to achieving the research objective is sketched in Figure 1. We derive the semantics for navigation in the physical world, and define a set of axioms that capture those semantics. These axioms are formalized as algebraic specification in first-order logic, shown in the left part of the dashed area in Figure 1. In a next step we describe an arbitrary Web navigation strategy in the target domain, i.e., the Web space, and abstract this behavior as executable algebraic specification, namely as a formal model. This is indicated in the right part of the dashed area. With the help of a formal language (CASL) and some software tools (HETS and Isabelle) for this language we will try to prove that the set of formalized navigation axioms, and the formal model of the Web navigation strategy, exhibit a specification morphism.

Page 4: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

4 HOCHMAIR, LÜTTICH

Figure 1. Formal approach to explain the “navigation” metaphor

Besides this, we implement a real world navigation instance as a formal model. Although this is not required for the formal explanation of the metaphor, it demonstrates that the navigation axioms are also satisfied in the formal model describing navigation in the physical world. It will also help to clarify the commonalities and differences between navigating the Web space and the physical world.

1.3 Navigation Scenarios and Strategies for Both Environments The formal specification of the navigation agents with their strategies is motivated by two wayfinding scenarios, one in the Web space and one in the real world respectively. The two scenarios have been used in previous work and have been slightly adopted for the task of this paper. The first scenario (Hochmair & Frank 2001; Hochmair 2002) describes a Web navigating agent that moves in an internet directory to a Web page with a desired content, whereas the second scenario describes a navigating agent that acts in an unknown street network and uses the vector based least-angle strategy to reach its destination (Hochmair & Frank 2002; Hochmair 2005).

Again, we point out here that for the purpose of this paper, namely to prove that both real world navigation and Web navigation behavior satisfy the set of navigation axioms, it is irrelevant which strategies are used in both environments, because all variations of navigation tasks and behaviors (e.g., using a map, commuting, following signs, etc.) would satisfy these axioms. A metaphor maps only analogies from its source to its target, but not all features. As a consequence, we will not attempt to map all features from the least-angle strategy to the Web strategy or the other way round. For example, it is irrelevant for the navigation process, whether the agent knows landmarks in its environment or not. Some strategies, such as piloting, may require such knowledge, where other strategies, such as following route instructions given by a GPS device, can cope without that knowledge. Inclusion of specific concepts in the comparison of strategies may be of interest when discussing the analogies between strategies, which is, however, not the focus of this paper. The strategies described in this paper are strong simplifications of real navigation behavior, but they serve the purpose of the paper. More realistic strategies would require more explanations and formalizations, but would not further contribute to the chosen explanation of the navigation metaphor. The following two subsections

Page 5: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 5

summarize the wayfinding scenarios with their strategies. The strategies are described in the context of other navigation tasks found in the literature.

1.4 Web Scenario and Strategy The simulated Web agent is given the task to find an online shop that offers women’s “Adidas” sneakers of size 7 1/2 for $80 to $90. For the scenario we arbitrarily locate the agent on the top page of the Yahoo! search directories (http://www.yahoo.com/). Each Web page consists of hyperlinks with a label naming the category of the Web page behind it. By "clicking" on one of the available hyperlinks, the agent can reach a new Web page (Figure 2a). To make a decision, the agent matches the perceived link information with its knowledge about the world, i.e., with concepts in its cognitive map (Figure 2b).

(a) (b)

Figure 2. Simulated Web agent: “Clicking through” the Web directories (a) upon perceived link information that is matched with concepts in the cognitive map (b)

The agent’s cognitive map is abstracted as a collection of taxonomies through undirected graphs, which we call fields. Each field contains concepts that are related to the content the agent wants to find on a Web page, i.e., the goal. For our scenario the fields necessary to embed the agent's goal within its knowledge are: user intended actions (what you can do on a Web page), internet location (online shop, directories, chat room, etc.), physical object hierarchy (superclasses of shoes), cost, size and brand of shoe, and gender (shoes for women or men). The agent’s cognitive map contains implicitly the navigation goal, which is the combination of all concepts that are on the lowest hierarchical rank in any field. Within decision making the agent distinguishes between mandatory goal components, which are shown in boxes with bold continuous lines (Figure 2b), and preferred components, indicated with a dashed box. For example shoe is a mandatory part of the goal definition whereas the prize range of $80-$90 is only a preference. The agent keeps track of the content of the

Page 6: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

6 HOCHMAIR, LÜTTICH

current Web page through remembering which concept in each field is currently reachable. This defines the agent's mental position and allows the agent to assess its distance from the goal. After perceiving a set of links, the agent matches each link with one of the concepts in its cognitive map. For each matched concept, the agent can assess its semantic distance to the goal in the cognitive map, in our model simply by counting the number of elements in-between. From this set of link-distance tuples, the agent selects that link for the next step that reveals the smallest semantic distance from any of the goal components, and also causes a change in the agent's mental position. This process is iterated until all mandatory goal features are reached in the agent’s mental position.

The Yahoo-search example can be related to other navigation tasks in the World Wide Web reported in literature. Furnas (1997) and Shneiderman & Plaisant (2004) distinguish between two tasks in electronic spaces, namely searching and browsing. Whereas the searching task implies looking for a known target, the browsing task involves exploring the space without a pre-defined destination. The authors distinguish further between two tactics to accomplish those tasks, namely querying and navigation. Querying is defined as the submission of search terms in a search engine, and navigation means moving oneself sequentially around an environment, making a decision at each step based on the task. Based on this, the Yahoo scenario can be classified as search task using the navigation tactics. Marchionini (1995) defines four browsing strategies: scanning, observing, navigating, and monitoring. With the navigation strategy, the user would follow some of the possible routes that are provided by the environment. Dieberger (1998) explains some social navigation strategies for Web environment, which encompass activities where at least two users of an information system collaborate directly or indirectly in a navigational task. Strategies comprise among others the consideration of a Web page hit counter or read wear (Hill & Hollan 1992) in one’s decision. Pirolli et al. (2002) create an activation-based model of how users interact with the World Wide Web. The agent's declarative knowledge is based on taxonomies, which include the user's goal, task, and associated concepts involved in the task, similar to our approach. The user's goal is made up of several concepts that activate a set of chunks in the user's memory. Text on the screen activates another set of chunks. The agent makes its decision based on the highest mutual relevance between both chunks.

1.5 Real World Scenario and Strategy The simulated real world agent applies the least-angle strategy. When facing an intersection, the agent selects the street segment for the next step that it believes to be most “inline” with the target direction. Thus, the street segments originating in an intersection are evaluated in terms of deviation angles. The magnitude of the deviation angle is a measure for cost that the agent wants to minimize in each decision. All street-angle pairs are mapped to the agent’s state-graph − similar to the Web agent, from which the segment with the smallest cost is chosen. Figure 3a shows the initial decision situation of the navigation

Page 7: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 7

scenario: The navigator is located at intersection N1 perceiving three incident streets segments which lead to P’, N2, and P’’, and the distal target T (a steeple). According to the least-angle strategy, the navigator selects the street to N2 for the next step as this street is most inline with the target direction (Figure 3b). This process is repeated recursively.

(a) (b)

Figure 3. Least angle strategy: Decision situation in agent's perspective (a) and bird's eye view (b)

Allen (1999) categorizes wayfinding tasks into (1) travel with the goal of reaching a familiar destination, (2) exploratory travel with the goal of returning to the point of origin, and (3) travel to a novel destination. The least-angle strategy will be employed mostly for the latter two tasks. The method of using a target vector that describes bearing and distance from the actual position or from a landmark to define a target is called vector encoding (McNaughton et al. 1991). Making a decision at an intersection using the least-angle strategy requires the navigator to maintain its orientation with respect to the destination as it moves and to update its target vector. The deviation angle between the navigator's course and some other location, such as the destination, is called course-relative bearing (Beall & Loomis 1996). In an open space, the navigator would only have to null the course-relative bearing, and the result would be rectilinear. This is not possible in built environments. The updating of the heading during navigation can be accomplished in two ways, namely through direct sensing and dead reckoning processes (Loomis & Klatzky 1999). For our scenario we assume that the agent lacks knowledge about any other landmarks, has no external representations, such as maps, that its view is limited to the buildings along the streets, and that it therefore relies on dead reckoning. Dead reckoning suffers from error accumulation over time (Loomis et al. 1993), which is irrelevant for the purpose of this work and therefore neglected in the agent's perception. Dead reckoning requires a known start location to establish

Page 8: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

8 HOCHMAIR, LÜTTICH

relative orientation to that point. As the navigator can see the destination at the beginning of its trip, the start location can be defined in terms of distance and a null-orientation to the destination. Therefore, the agent’s initial orientation matches the azimuth from the initial position to the destination, where an azimuth is defined as the angle between north and the direction of another arbitrary line. The least-angle strategy does not request a specific method of updating one's course, as long as the agent is able to guess the direction of the destination. The internal representation underlying path integration is different from route knowledge which describes a sequence of operations to reach a destination. As the least-angle agent makes its decisions based on directions only, it does not require route knowledge.

All navigators have to a certain degree incomplete knowledge about the environment and their relative position and orientation concerning that environment (Montello 2005). Each strategy is prone to other types of errors. Whether an agent makes errors in its decisions on the way to her destination, or whether the agent reaches its goal, is not relevant for the process to be classified as navigation. Therefore we will exclude a discussion of potential navigation errors for the two used strategies in this work.

1.6 Structure of the Paper The remainder of the paper is structured as follows: Section 2 reviews existing work that discusses how metaphors work, and introduces the approach we use to explain the navigation metaphor. Section 3 derives the meaning of navigation from various sources and presents a set of axioms that catch this meaning. Section 4 gives a brief introduction to the specification language CASL, which is used to develop a formal specification of the navigation axioms in section 5. Section 6 is the formal core of this work. It formalizes the navigating agent for the Web and the real world in CASL, and points out the similarities in structure and behavioral patterns between them. As the case scenarios introduced before are formalized as executable Haskell models, this section shows also the shared semantics of sub-processes between the CASL specification of the agents and the Haskell models. Section 7 proves the formal model and runs the simulation for the two scenarios. Although the navigation metaphor can be applied for the Web space, differences in navigating between the physical world and the Web space remain. Section 8 highlights some of these differences for the two proposed strategies and for navigation in general. It is also shown how other metaphors can be explained through the approach chosen in this work. Section 9 summarizes the findings and presents potential applications of the proposed approach.

2 Metaphors Johnson (1987, p. xiv) characterizes a metaphor as “…a pervasive mode of understanding by which we project patterns from one domain of experience in

Page 9: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 9

order to structure another domain of a different kind.” Metaphors by and large are conceived and grasped with the same facility as our ordinary literal vocabulary. However, research on metaphors deals with a number of obvious problems, for example, how to determine the truth value of metaphors (literally, metaphors are almost always false), how to recognize an expression as a metaphor (metaphors have no consistent syntactic form) (Scaruffi 2001), or how to explain how we understand them (Grey 2000). This section gives an overview of previous work related to these questions and problems.

2.1 Concepts for Metaphors The human interpretation of metaphors is discussed in several competing models reported in the literature. In the similarity or comparison view (Ortony 1979) preexisting similarities between the constituent terms of a metaphorical sentence are an important source of information for generating figurative meaning. If we take the example "Life is a journey", the features of the vehicle-concept journey in the source domain are compared to features of the tenor-concept life in the target domain in order to identify common features. In the given example, the person is a traveler, purposes are destinations, difficulties are obstacles, means are routes, or choices are crossroads. In contrast to the comparison view, the interaction approach (Black 1979) claims that similarity is not antecedent but a product of comprehension. Thus, metaphorical meanings would be constructed by means of emergent features that appear when the representations of source and target as well as their corresponding domains are brought into interaction. For example, in "Hercules is a lion", a feature that is neither characteristic of the source nor of the destination, but surfaces only in the interpretation, is mythical feature (Nückles & Janetzko 1997).

Traditional theories, i.e., the objectivistic view, treat a metaphor chiefly as a theoretical or artistic figure of speech, whereas contemporary theories stress the cognitive role of metaphor and its roots in the human conceptual architecture. Meaning is not subservient to syntax, and metaphor is not considered as a superficial phenomenon of language (Lakoff 1993). Other theories suggest that mapping principles are conventionalized linguistically but not conceptualized a priori (Ahrens et al. 2003), and that each source-target domain pairing has a prototypical instance of mapping as evidenced by an individual lexical term.

It is not yet clear which parts of a source concept are to be mapped for a successful metaphor. Take the example “Theories are buildings” which maps ‘foundation’ and ‘support’ to the target domain “theories”, whereas concepts relating to the position and the exterior of the building, such as doors and windows, are not mapped. Various theories have attempted to solve this open question, for example by introducing several types of metaphors, such as primitive and compound1 (Grady et al. 1996; Grady 1997), or by presuming

1 Grady suggests that "theories are buildings" is comprised of the primary metaphors

"persistent is remaining errect", and "organization is physical structure".

Page 10: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

10 HOCHMAIR, LÜTTICH

lexical correspondences between source and target domain (Ahrens 2002). The Conceptual Mapping Model (Ahrens 2002) presumes structured shared source domain knowledge a priori known by speakers that can for example be instantiated with a shared upper ontology, such as SUMO2. There is a subset of linguistic expressions with a particular source domain that map to a target domain. In "Economy is a person", the mapping is postulated to be based on a person's lifecycle, because of the frequent occurrence of the lexical item "growth" with "economy" and "person" in the used Corpora Data. "Economy is a building" is assumed to be based on construction or structure, whereas "Economy is a competition" maps physical and mental strength between both domains (Ahrens et al. 2003).

Human experience with space is a fundamental part of human cognition and therefore a uniquely qualified domain as a metaphor source. Consequently, a key to good metaphors in user interface design is using spatial concepts (Kuhn 1996). Image schemata (Johnson 1987) are believed to be invariant parts in metaphorical mappings (Kuhn & Frank 1991). They can be enriched to specifications of physical objects and actions and can be combined to create more complex metaphors, such as the desktop metaphor (Smith et al. 1983). Spatial image schemata are unconsciously used in the Web jargon (Matlock & Maglio 1996), such going to a web site (Trajectory image schema), or to be at Alta Vista (Platform image schema). Kuipers (1982, p. 202) claims that a metaphor is correctly used if the behavior of operations in both domains is preserved: “The ‘Map in the Head’ metaphor states that knowledge of large-scale is isomorphic to the information stored in a graphical map: That is, corresponding operations are used to store and retrieve information”.

2.2 Formalization of Metaphors with Algebraic Specifications Besides fuzzy systems (MacCormac 1985) or structure mapping theories (Gentner 1983), algebraic specifications (Ehrich et al. 1989) have become one of the favored frameworks for the formalization of user interfaces, sign systems, and metaphors over the last years (Kuhn & Frank 1991; Goguen 1999; Hochmair 2002). An algebra consists of three parts, namely a collection of carrier sets, the operations between these sets, and the axioms defining the behavior of the operations. Strictly speaking, algebraic specifications are language independent, but they require a formal language which is capable of expressing algebraic style specifications. An algebraic specification consists of a syntactic part (signature), and a semantic part (axioms).

Previous work (Kuhn & Frank 1991) demonstrates the practicability of algebraic specifications for formalizing structure preserving morphisms, i.e., metaphorical mappings, between the real world domain and the electronic domain using the image schemata for desktops and clipboards. Frank & Raubal

2 http://ontology.teknowledge.com/

Page 11: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 11

(1999) provide a specification of spatial relations that captures the semantics of spatial operations with respect to human every-day life experience.

For the mapping tasks demonstrated in this paper, we use the specification language CASL and the functional programming language Haskell (Figure 4). Both languages support an algebraic specification style. We assume that algebras are useful to represent the structure of a navigation process on an abstract level. As opposed to most examples of metaphors discussed in literature, which use nouns, we map a human activity from source to target within the navigation metaphor. CASL (Bidoit & Mosses 2003) is a non-executable, first-order algebraic specification language, which we use to formulate the constructive and non-constructive axioms of the navigation concept algebraically (Figure 4, upper left part). Independent of these axioms, an executable prototype, called a computational model, is programmed in the functional programming language Haskell (Thompson 1999) (Figure 4, upper right part). A computational model consists of a specification, a representation, and an implementation. The prototype simulates the navigation process and consists of executable functions that correspond to the operations defined by the specification. Thus, the correspondence of a Haskell program to the part of reality it represents can be tested. Finally, a view in CASL formally demonstrates a specification morphism between the "navigation" specification and the specifications of the Web and least-angle agent (Figure 4, bottom left part). The latter two specifications are informally derived from the Haskell computational model, as CASL is not an executable language.

Figure 4. Concept, specification, and computational models of “navigate” as used in

the CASL and Haskell environment

Although functional languages that are based on classes, such as Haskell, provide most of the properties that algebraic specifications require (Frank & Kuhn 1998), Haskell lacks a formal tool that demonstrates a signature or specification morphism between modules. Moreover, CASL provides loose specifications, e.g. under-specified carrier sets for sorts, which is not possible in

Page 12: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

12 HOCHMAIR, LÜTTICH

Haskell. This shortcoming can be overcome by using both Haskell and CASL as in our approach.

3 The Semantics of “Navigation” and “Wayfinding” As both "navigation" and "wayfinding" are often considered as interrelated processes in goal-directed movement through the environment, it seems useful to review the meaning of both terms for the task of this paper. Highlighting the differences between both terms helps in addition to clarify the meaning for each of the two concepts. This section captures some characterizing features of both terms, and some of their differences.

3.1 Lexical Definitions Though “navigation” and “wayfinding” are part of our everyday language “…it is suggested that an attempt to find or coin a single definition of wayfinding that is acceptable to a range of academic disciplines may be an impossible task” (Dalton 2001, p. 24). This statements seems to be true when reviewing the large number of definitions for "navigation" and "wayfinding" in the related literature. There exist two distinct views about the nature of "navigation" and "wayfinding" and their interrelation.

The first view treats navigation and wayfinding as independent processes. In this view, one outstanding difference is the structure of the environment. Wayfinding is often considered as the process of selecting path segments from an existing path network and following that route (Bovy & Stern 1990; Blades 1991; Golledge 1999; Cornell & Heth 2000; Golledge et al. 2000), whereas navigation describes the process of following a given course in open space (Golledge 1999), as used in controlling a ship or navigating an aircraft. As people "navigate" and do not "wayfind" the Web, the component of open, unstructured space seems to dominate Web users' perception of the Web environment as opposed to the perception of constraints through pre-defined paths caused by discrete hyperlinks.

The second view suggests a part-of relation between the two concepts, and considers navigation to consist of locomotion and wayfinding. Whereas locomotion is the movement of one's body in an environment, wayfinding is a cognitive element "that involves issues such as mental representations, route planning, and distance estimation" (Darken et al. 1999, p. iii). Most acts of navigation involve both locomotion and wayfinding components to different degrees. This interdependence is pointed out by (Elvins 1997): "Without wayfinding, a navigator won't know in which direction to steer and without navigating, a wayfinder will not have the means to move toward their destination." However, in some cases these two components are separable literally. For example a passenger in a bus locomotes without wayfinding, except when she makes decisions as to which bus to board and where to get off (Montello 2005). Jul & Furnas (1997) identify the same four basic aspects of

Page 13: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 13

navigation, namely locomotion, decision-making, the process that comprises both locomotion and decision-making, and a particular (electronic) environment.

Some definitions found in the literature refer to more specific tasks and modes of navigation and wayfinding. These definitions mention additional abilities of the navigator, such as path integration, communication, or creating shortcuts, or environmental features, such as landmarks. These features and abilities are not required for all modes of navigation, and will therefore not be considered for defining the semantics of navigation in our approach.

3.2 The "Navigation" Concept in Electronic Dictionaries WordNet (Miller 1995) is an on-line lexical reference system3 in which English nouns, verbs, adjectives, and adverbs are organized into synonym sets called synsets, each representing one underlying lexical concept. The synsets are connected by a number of relations. Unlike in a thesaurus, the relations between concepts and words in WordNet are made explicit and labeled. Users select the relation that guides them from one concept to the next. In the WordNet jargon, a hyponym is a specific term to designate a subclass, whereas a hypernym is the generic term used to designate a superclass. Relations in WordNet are partly ontological (such as part_of or kind_of), and partly lexical in nature (such as antonymy).

An ontology is similar to a thesaurus, but with greater detail and structure that enables computers to process its content. An ontology is a formal, explicit specification of a shared conceptualization (Gruber 1993) and consists of a set of concepts, relations, and axioms that formalize a field of interest. SUMO is a shared upper ontology developed by the IEEE Standard Upper Ontology Working Group in KIF (Knowledge Interchange Format). SUMO consists of about 3000 terms and 6000 axioms, and provides several domain ontologies (e.g., government, or transportation). Axioms help to constraint interpretation of concepts, and provide guidelines for automated reasoning systems that process knowledge bases conforming to the SUMO ontology. The transportation domain includes the “navigation” concept. It is documented as “the determination of course or position”, categorized as subclass of guiding (as with WordNet), and considered as human skill that for example an aircraft navigator exhibits.

As the main purposes of WordNet is to map conceptualizations of our world into natural language terms, whereas SUMO organizes them into a logical structure, it makes sense to create mappings between them. SUMO authors have developed such mappings from WordNet to the SUMO. See (Niles & Pease 2003; Sevcenko 2003) for some examples. The OntoWordNet project (Gangemi et al. 2003) is an initiative to produce a formal specification of WordNet as an axiomatic theory, i.e., an ontology. Herewith, the inventory of semantics of relations in WordNet is selected or specialized from the foundational ontology DOLCE (Descriptive Ontology for Linguistic and Cognitive Engineering),

3 www.cogsci.princeton.edu/cgi-bin/webwn

Page 14: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

14 HOCHMAIR, LÜTTICH

which requires the re-link for at least some of the higher level nodes in WordNet with the DOLCE upper ontology using the OntoClean methodology. In 2003, 809 synsets have been relinked to DOLCE Lite+ in order to harmonize (“sweeten”) WordNet taxonomies with DOLCE Lite+.

3.3 The Navigation Axioms Based on the WordNet taxonomy and previous definitions in literature we derive a hierarchy of superclasses of navigate (Figure 5). Starting from human activity as the most general superclass, the refinement for each hyponym is defined over a set of axioms, which will be formalized as CASL specifications in section 5. Each of the hierarchical concepts included is therefore of different generality. The bracketed terms in Figure 5 describe in natural language the additional constraints for the behavior of a sub-class term, i.e., the semantics of the additional axiom. The behavior of navigation is inherited to all kinds of navigation, which can take place in any environment and which are expected to satisfy the navigation axioms. Some kinds of navigation are listed at the bottom of Figure 5. We select two of them for the formalization in CASL and Haskell, namely navigating a street environment using the least-angle strategy, and navigating the Web based on concepts in the agent's cognitive map. All kinds of navigation can be defined over additional sets of constraints beyond the axioms needed for navigation. For example, navigating in a text adventure game would require an additional axiom that stresses the user's interaction with the system using text based commands.

Figure 5. Refinement of concepts through extended set of axioms

Page 15: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 15

We explore the hierarchies in WordNet in search for hypernyms of “navigation” which yields the following result:

Sense 1 (hypernyms for “navigation”) navigation, pilotage, piloting (the guidance of ships or airplanes from place to place) => steering, guidance, direction (the act of setting and holding a course) => control (the activity of managing or exerting control over something) => activity (any specific activity; "they avoided all recreational activity") => act, human activity (sg. that people do or cause to happen)

The result shows that navigation is a human activity. WordNet does not explicitly mention that animals or robots, would navigate. For our context where we refer to human navigation in the real world and the Web, this matches our intention. We ground the activity of navigation in an agent that exhibits human behavior (axiom #1). The list of hypernyms reveals that WordNet assigns only the planning and steering part to navigation, neglecting locomotion. It is only the gloss that provides some hint on movement ("from place to place"). According to definitions in literature (Darken et al. 1999; Montello 2005), navigation can be considered to be a kind of movement. Movement can be self-directed or guided, i.e., active or passive. Both types of movement can be summarized in an axiom which expresses that the agent must experience some kind of movement or change of location (axiom #2). Below it is shown that WordNet considers movement as a hypernym of exploration, thus exploration is a kind of movement. Although exploration has some purpose, namely gathering information, it is less goal-directed than navigation. Due to the first characteristics, we consider exploration as an active, self-triggered movement (axiom #3).

Sense 3 (hypernyms for "exploration") exploration, geographic expedition (to travel for the purpose of discovery) => journey, journeying (the act of traveling from one place to another) => travel, traveling, travelling (the act of going from one place to another)

=> motion, movement, move (act of changing location from one place…)

As navigation and wayfinding are considered to be goal-directed processes (Mark et al. 1999; Golledge et al. 2000; Montello 2005) we add one axiom on top of exploration to define the meaning of navigation. It claims that all steps of the self-triggered movement must be guided by the agent's intention to reach a destination (axiom #4). All terms in the hierarchy (human activity, move, explore, navigate) are applicable the real world and the Web, as we can find processes in both environments that satisfy all hierarchically nested axioms, the most constrained one being navigation.

Page 16: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

16 HOCHMAIR, LÜTTICH

4 The Specification Language CASL This section introduces the Common Algebraic Specification Language (CASL) and the development tools for CASL. It explains the concepts and the standard terminology regarding specification language constructs, and the CASL syntax as far as this is needed for an understanding of the formalization of the navigation concept. Most of this section is based on (Bidoit & Mosses 2003).

Specifications written in CASL can be parsed and checked for static well-formedness with the Heterogeneous Tool Set (HETS). HETS also displays and manages proof obligations. Current initiatives under development, such as HASCASL (Schröder & Mossakowski 2002), aim at extending first order specification languages by features of higher order concepts such as function types, polymorphism, and type constructors, so that a Haskell program closely corresponds to a HASCASL subset. HETS also provides the encoding of CASL into higher-order logic for the use in the theorem prover Isabelle (Nipkow et al. 2002). And HETS is also equipped with a connection to the automated theorem prover SPASS (Weidenbach et al. 2002). There are numerous functions within HETS under development, such as automated translation from CASL into Haskell. A current version of HETS can be downloaded from http://www.informatik.uni-bremen.de/cofi/hets/ .

4.1 The Semantics of a CASL Specification CASL is based on standard concepts of algebraic specification. The major parts of CASL are concerned with basic specifications, structured specifications, and specification libraries. Basic specifications consist of two parts, namely a signature, and a class of models corresponding to those interpretations of the signature that satisfy the axioms of the specification. A CASL signature comprises declarations of sorts, subsorts, operations (functions), and predicates. Sorts are interpreted as carrier sets, and compound sort identifiers, such as List[Int], are possible. CASL provides the creation of various datatypes, such as the free datatype. These types allow sorts and value constructors to be specified as in functional programming languages. They enforce that only values for a given sort are built by the constructor terms. Selectors, such as n and a in the code example below, are abbreviated definitions of partial observer functions yielding the respective arguments of the constructor.

An operation declaration consists of the name of the identifier together with its profile, which indicates the types of the arguments, and the result type. Predicates are similar to boolean-valued operations. A declared predicate symbol is interpreted as a relation on the Cartesian product of the carrier sets of the argument sorts. Operation and predicate names can be declared with different profiles in the same specification, which is called overloading. Basic specifications can be extended by new declarations and sentences using the keyword ‘then’. Such an extension yields a structured specification. A library is a named collection of named specifications. We name our collection of

Page 17: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 17

specifications Navigatelib. The following code example provides a part of our specification of the least-angle agent and demonstrates the concepts described earlier.

library Navigatelib version 0.1 %% define local library … spec LeastAngleAgent = %% declare specification sorts Angle, Node, Azimuth; %% declare sorts Azimuth = Angle; Goal = Node ... then free types AgentPos ::= AgentPos(n: Node; a: Azimuth); %% types, selectors StateGraph ::= StateGraph(List[Dec]; List[Dec]); EnvLA ::= EnvLA(EnvGraph; AgentPos); AgentLA ::= AgentLA(AId; StateGraph; Perc; Dec; Goal) ... then ops move : AgentLA * EnvLA -> EnvLA; %% declare operations physAction : EnvLA * AgentLA -> EnvLA; ... pred match : Node * Node %% declare predicate

CASL axioms are first-order logic axioms and they do not specify an exact model, but a model class and the required properties. Axioms are introduced by the ‘.’ character. The interpretation of quantification (universal, existential, unique-existential) and logical connectives (negation, conjunction, disjunction) in CASL axioms are standard.

forall e:EnvLA; a:AgentLA; goal:Goal; aNode:Node %% universal quantifier . physAction(e, a) = move(a, turn(e, a)) %% axioms . match(goal, aNode) <=> goal = aNode …

4.2 Morphisms in CASL Structured specifications in CASL involve, among others, extension of specifications and hiding of symbols. The interpretation of these constructs involves mapping between signatures Σ, called signature morphisms, and corresponding mappings between models M, called reducts, along morphisms. A signature morphism σ from Σ to Σ’ consists of a mapping which gives

- for each sort of Σ a corresponding sort of Σ’, preserving any subsort relationships

- for each operation or predicate symbol whose profile has sorts in Σ, a corresponding symbol in Σ’ whose profile has the corresponding sorts, preserving any overloading.

Hiding a set of symbols that occur in the signature Σ of a specification SP to give a subsignature Σ’ determines a signature morphism σ which includes Σ’ in Σ. The construct ‘reveal’ can be used to explicitly list the symbols to be exported

Page 18: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

18 HOCHMAIR, LÜTTICH

by a specification. Thus ‘hide’ and ‘reveal’ are two symmetric constructs to achieve the same effect. Given two specifications SP with a signature Σ and SP’ with signature Σ’, a signature morphism σ from Σ to Σ’ is said to be a specification morphism from SP to SP’ when the reduct along σ of each model of SP’ is a model of SP.

Generic specifications emphasize the intended genericity of the specification by making explicit, in a distinguished parameter part, the piece of specification that is intended to vary in the derived specifications. Any specification can be used as the parameter of a specification. Commonly, the parameter is a trivial specification that consists merely of a single sort declaration. A fitting argument specification has to be provided for each parameter of a generic specification whenever it is referenced, which is called instantiation of the generic specification. The intended fitting of the parameter symbols to the argument symbols may have to be specified explicitly, but can be left implicit when it is not ambiguous. In the example below, a fitting symbol map (‘|->’) between some sorts of the argument specification AbsEnvAgent and the target specification LeastAngleAgent needs to be explicitly defined, for example between AbsAgent and AgentLA. A (fitting) signature morphism from the signature of the parameter part to the signature of the argument specification is automatically deduced. The specifications listed after the keyword ‘given’ are called imports. They denote the ‘fixed’ parts which are not intended to be specialized within the instantiation.

spec AbsEnvAgent = sorts AbsEnv, AbsAgent, AbsMPos … spec WorldImpl [AbsEnvAgent] given Nat = … %% declare generic specification spec WorldLA = WorldImpl %% instantiation [ LeastAngleAgent fit AbsAgent |-> AgentLA, AbsEnv |-> EnvLA, AbsMPos |-> Node, Nat |-> Nat] end

Views are named fitting maps and a convenient way to name a specification morphism. Since a view is defined only when the given symbol map induces a specification morphism, one can use a view to explicitly document the existence of some specification morphism, even when these are not intended to be used in any instantiation. We use a view to document the specification morphism between the Navigate specification with its four sets of navigation axioms, and the specification of the abstract worlds with the Least-Angle agent (WorldLAObserver) and the Web agent (WorldWWWObserver).

view Navigate_in_WorldLA : Navigate to WorldLAObserver = sorts World |-> World, Agent |-> AgentLA, Environment |-> EnvLA, Transition |-> AbsTransition, StateGraph |-> StateGraph,… end

Page 19: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 19

view Navigate_in_WorldWWW : Navigate to WorldWWWObserver = sorts World |-> World, Agent |-> AgentWeb, Environment |-> EnvWeb, Transition |-> AbsTransition, StateGraph |-> StateGraph,… end

5 Specification of the Wayfinding Axioms This section formalizes the navigation concept as CASL specification with its superclass concepts (see Figure 5 and Figure 1, middle-left). We describe the conceptual framework used for the modeling of the agent’s basic behavior, as well as the necessary abstractions and simplifications of human cognitive processes for the formalization.

5.1 Obeyed Paradigms We use the term agent (Russell & Norvig 2003) as a conceptual paradigm to model the human navigator. This allows us to elaborate the navigation process on a more abstract and theoretical level, and to reduce the complexity of human navigation in the computational model.

Centuries ago, Immanuel Kant (Kant 1781 / 1991) discussed the principle of epistemological dualism. Kant reasoned that we cannot actually experience the objective world itself as it is, but only get an internal perceptual replica of the world, called the phenomenal world. This dualism is used in the AI tradition, where the term belief stresses the differences between reality and the agent’s possibly erroneous beliefs about reality (Davis 1990). In the specification and implementation of both navigating agents we use a two-tiered reality and beliefs computational model (Frank 2000) which distinguishes between the representations of the environment and the agent, and the agent’s knowledge about itself and the environment.

A dominant view in the AI community concerning reactive architectures in the 1980s was a decomposition of an agent’s control system into three functional elements: a sensing system, a planning system, and an execution system (Nilsson 1980). In the Sense-Plan-Act (SPA) approach (Figure 6), the flow of information among the components is unidirectional and linear. Information flows from sensors to the computing unit which plans the actions of the effectors. All the specified operations of the agent fall into one of two categories, namely external and internal operations. External operations directly involve the agent’s environment and include perception operations and action operations. Internal operations, such as planning, are performed on the agent’s beliefs inside its mind and may require information gained through perception. They lead to decisions and subsequent external operations. Internal operations do not have an immediate effect on the environment but change the state of the agent.

Page 20: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

20 HOCHMAIR, LÜTTICH

Figure 6. Basic operations of an agent system that follows the Sense-Plan-Act-paradigm

5.2 Axiom #1: Specification of Human Activity We model human activity as a changing worldstate caused by a SPA cycle. Changes can impact environment, agent, or both. The objects in the axioms have no semantics but are formal stand-ins, i.e., they describe the flow of information. The perception function maps the environment and the internal state (StateGraph) to the agent’s perception. The internal state is needed for the interpretation and evaluation of percepts with respect to the agent’s destination. Thus, strictly said, perception also comprises a cognitive component. The plan function maps percepts and internal state to a decision, which is transformed into a physical action (physicalAction) in the environment (1) and yields an update of the agent's internal state (updateState). Besides agent-triggered actions, agent independent actions (environmentalAction) may occur in the environment, such as an earthquake, and be recognized by the agent. Both types of actions can occur in arbitrary order within a single SPA cycle, i.e., a physical action followed by an environmental action (2) or the other way round (3).

spec HumanActivity = sorts Environment, Perception, Decision, Agent, StateGraph type World ::= World(Environment; Agent) ops updateState : Decision * Agent -> Agent; perception : Environment * StateGraph -> Perception; plan : Perception * StateGraph -> Decision; physicalAction : Decision * Environment -> Environment; environmentalAction : Environment -> Environment; worldStep : World -> World %% declare SPA cycle graph : Agent -> StateGraph; %% declare observer function forall a1, a2:Agent; e1, e2:Environment . worldStep(World(e1, a1)) = World(e2, a2) <=> %% Axiom #1 (a2 = updateState(plan(perception(e1, graph(a1)), graph(a1)), a1) /\ e2 = physicalAction(plan(perception(e1, graph(a1)), graph(a1)), e1)) %%(1)

Page 21: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 21

\/ (a2 = updateState(plan(perception(e1, graph(a1)), graph(a1)), a1) /\ e2 = environmentalAction %%(2) (physicalAction(plan(perception(e1,graph(a1)), graph(a1)), e1))) \/ (a2 = updateState(plan(perception(e1, graph(a1)), graph(a1)), a1) /\ e2 = physicalAction %%(3) (plan(perception(e1, graph(a1)), graph(a1)), environmentalAction(e1))) end

5.3 Axiom #2: Specification of Move We define the ”move” concept as an extension of human activity through an additional axiom. The axiom claims that the agent experiences movement within each SPA cycle. To formalize the agent’s cognition of movement, we model the agent to store its beliefs about the world in an internal state-graph.

We formalize a transition type between two states of the state-graph that are caused by spatial movement as predicate isMoveTransition. The abstract agent experiences movement if its current and previous state-graph position are connected by such move-transition. In Figure 7, edges in the environmental graph denote potential moves for an agent. The mapping of these edges to transitions in the agent's state-graph are partial and are indicated with dashed rows. An edge in the environment will be mapped to a move transition in the agent’s state-graph if the agent knows about its existence in the environment. The edge will, however, not be mapped, if the agent is not aware of the edge (error of omission), as demonstrated for edge B-E. The partial mapping holds also for the inverse, as the mapping of other than spatial moves from the state-graph to the environmental graph is undefined. Examples of non-spatial transitions are ‘turn on the light’ or ‘read a map’.

Figure 7. Partial mapping between the environmental graph and the agent’s state-

graph. Capital letters are labels for spatial locations.

Page 22: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

22 HOCHMAIR, LÜTTICH

To specify the state-graph and the environmental graph as algebra we re-use (download) a pre-defined graph specification from the CASL library GraphToSet. We construct the generic specification RichGraph2, by extending GraphToSet with some additional operations (getEdge, getOutgoingEdges) and reveal only the symbols that will be needed for the specification morphism later on.

from Basic/Graphs get GraphToSet %% download specification spec RichGraph2 [sort Node] [sort Edge] given Nat = %%generic specification { List [sort Edge fit sort Elem |-> Edge] then %% extension with GraphToSet GraphToSet [sort Node] [sort Edge] with outDegree |-> getDegree then ops getEdge : Graph * Node * Node -> Edge; %% declare operations getOutgoingEdges : Node * Graph -> List[Edge] forall n1, n2, n:Node; e:Edge; g:Graph; le:List[Edge] . getEdge(g, n1, n2) = e <=> e :: n1 --> n2 isIn g %% axioms for new operations . getOutgoingEdges(n, g) = le <=> forall e:Edge . e eps le <=> e eps outEdges(n, g) } reveal Graph, getEdge, getDegree, getOutgoingEdges end

The Move specification extends the HumanActivity specification with an instantiation of the generic RichGraph2 specification, where sort Node is mapped to MentalPos, and sort Edge is mapped to Transition. The semantics of the predicate hasMoved is defined within axiom #2.

spec Move = HumanActivity hide environmentalAction then RichGraph2 %% instantiation [sort MentalPos fit sort Node |-> MentalPos] [sort Transition fit sort Edge |-> Transition] with Graph |-> StateGraph then ops mpos : Agent -> MentalPos; %% observer function preds hasMoved : World * World; %% predicates isMoveTransition : Transition forall a1, a2:Agent; e1, e2:Environment . hasMoved(World(e1, a1), World(e2, a2)) <=> %% axiom #2 worldStep(World(e1, a1)) = World(e2, a2) /\ isMoveTransition(getEdge(graph(a2), mpos(a1), mpos(a2))) end

Page 23: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 23

5.4 Axiom #3: Specification of Explore For the formalization of “explore" we define another type of state transition as predicate, namely isSelfMoveTransition. It denotes the agent’s experience of self triggered, active movement between two neighboring states in the state-graph. The axiom states that the transition between two successive agent states must be of this new type.

spec Explore = Move then preds hasExplored : World * World; isSelfMoveTransition : Transition forall t:Transition . isSelfMoveTransition(t) => isMoveTransition(t) forall a1, a2:Agent;e1, e2: Environment . hasExplored(World(e1, a1), World(e2, a2)) <=> %% axiom #3 worldStep(World(e1, a1)) = World(e2, a2) /\ hasMoved(World(e1, a1), World(e2, a2)) /\ isSelfMoveTransition(getEdge(graph(a2), mpos(a1), mpos(a2)))

5.5 Axiom #4: Specification of Navigate The predicate isDecisionPoint defines a decision point as a mental node in the state-graph with an outdegree greater than one. Within the Navigate axiom the agent’s mental position is defined as a decision point. Therefore the agent must always experience the possibility to select between two, not necessarily spatial, choice options. The semantics of the predicate approach demands that the agent’s mental distance between the current state and the goal state decreases with each SPA cycle. The navigate axiom states that the approach and hasExplored constraints need to be true only if the agent can actually move in the environment. This is the case if the outdegree (getEDegree) of each node in the environmental graph amounts to a value greater than zero.

spec Navigate = { Explore then ops goal : Agent -> MentalPos; %% observer operations shortestDist : MentalPos * MentalPos * StateGraph -> Nat; getEDegree : Environment -> Nat preds isdecisionPoint : MentalPos * StateGraph; %% predicates approach : World * World pred navigate : World * World forall a1, a2:Agent; e1, e2:Environment; i1, i2:MentalPos; s1, s2:StateGraph . isdecisionPoint(i1, s1) <=> getDegree(i1, s1) >1 . approach(World(e1, a1), World(e2, a2)) <=>

Page 24: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

24 HOCHMAIR, LÜTTICH

shortestDist(mpos(a1), goal(a1), graph(a1)) > shortestDist(mpos(a2), goal(a2), graph(a2)) . navigate(World(e1, a1), World(e2, a2)) <=> %% axiom #4 worldStep(World(e1, a1)) = World(e2, a2) /\ (hasExplored(World(e1, a1), World(e2, a2)) if getEDegree (e1) > 0) /\ isdecisionPoint(mpos(a1), graph(a1)) /\ (approach(World(e1, a1), World(e2, a2)) if getEDegree (e1) > 0) } hide … end

Note that neither the destination actually needs to be reached, nor must the planned actions yield the expected results after their execution. Thus, the axioms allow the agent to make errors in its planning and the execution of the planned actions.

6 Specifying the World in CASL Whereas the previous section defined the semantics of navigation independent from any particular strategy or environment, this section formalizes the agent's interaction with its simulated environment, namely the street network and Web space. The simulation of the navigation behavior is achieved with a prototype in Haskell, from which the CASL specifications will be derived. Therefore, this section will also exemplarily demonstrate the similarities between the Haskell models and CASL specifications concerning data types and semantics of specified behavior. Some of the shared processes of the agent's behavior in the Web and physical world in CASL are demonstrated through specifying an abstract world which is later on populated by both types of agents and environments. This section refers to the right two branches in Figure 4.

6.1 Abstracting from the Real World Before starting with the world and agent specification in CASL, we summarize our assumptions about the abstraction mechanism between the real world and the abstract world model in the specifications. The agent is modeled to update simulated beliefs through simulated percepts from the simulated environmental world. Accordingly, a human action in the environment is mapped to a simulated action (act’) which is followed by the execution of a simulated decision (decide’). The environment is represented as a graph. Table 1 lists some relevant features and operations for a simulated navigation process that are mapped to the abstract domains.

Page 25: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 25

Reality Specification and Simulation Physical environment or WWW Graph Person Agent World containing person and environment

Simulated world with agent moving on graph

Belief Simulated belief (belief’) Percept Simulated percept (perceive’) Decide Simulated decision (decide’) Action Simulation action (action’)

Table 1. Mapping features and operations from the physical world and the Web to the abstract model

We assume that the effects of human activities correspond to the effects of the simulated activities in the abstract computer model. Taking this into account the mapping from the real world domain, i.e., the behavior in the physical environment and the WWW space, to the abstract domains is assumed to be homomorphic. These homomorphisms are independent of wayfinding axioms. Abstract functions are a simplification of the agent's interaction with its real environment. For example, the Web agent's perceptions are abstracted as a list of hyperlink strings, neglecting potential graphics on a browser interface.

6.2 Relations Between Used CASL Specifications Among the several CASL specifications formalized, we focus on three specifications that demonstrate the shared operations between the instantiated “Web world” and “Least-angle world”, and that demonstrate further the agent’s navigation behavior. These three specifications are underlined in Figure 8. The included functions and predicates appear as polymorph operations in the Haskell algebra. The first specification, AbsEnvAgent, declares the profiles of some of the agent's basic interactions with the environment on an abstract level. The second, generic WorldImpl specification uses AbsEnvAgent as parameter specification and defines the semantics of the SPA cycle. The third, generic NavigateSig specification declares the profiles of operations and predicates according to the signature of the Navigate specification.

Further, these named specifications are used: The LeastAngleAgent and WWWAgent specifications which are informally derived from the two agent specifications in Haskell. WorldImpl is then instantiated with these two agent specifications using a fitting morphism, which yields the WorldLA and WorldWWW signatures (see first line in dashed boxes). NavigateSig will be instantiated with the WorldWWW and WorldLA specifications within the WorldWWWObserver and WorldLAObserver specification. Finally, a view is defined between the latter two specifications and the Navigate specification to demonstrate a specification morphism between them.

Page 26: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

26 HOCHMAIR, LÜTTICH

Figure 8. CASL Specifications used to demonstrate navigation behavior in the real

world and the WWW.

6.3 Shared Features Between the Least-angle and WWW Concepts in CASL

The following code demonstrates shared operations and predicates between both worlds. The behavior of the worldStep operation corresponds exactly to axiom #1 (sense 1) introduced in section 5. Sense (2) and (3) of the axiom are excluded from the worldStep behavior as we consider non-triggered environmental actions as non-prototypical for the wayfinding concept. The recursive operation iterateWorldStep calls the worldStep operation until the agent’s mental position matches the goal.

spec AbsEnvAgent = sorts AbsEnv, AbsAgent, AbsMPos %% shared sorts ops plan : AbsAgent -> AbsAgent; %% shared operations perceive : AbsEnv * AbsAgent -> AbsAgent; physAction : AbsEnv * AbsAgent -> AbsEnv; … pred match : AbsMPos * AbsMPos %% goal reached? end spec WorldImpl [AbsEnvAgent] given Nat = %% generic World spec free type World ::= World(AbsEnv; AbsAgent) op worldStep : World -> World forall w2:World; e1, e2:AbsEnv; a1, a2:AbsAgent . worldStep(World(e1, a1)) = World(e2, a2) <=> %% axiom for SPA cycle e2 = physAction(e1, plan(perceive(e1, a1))) %% update environment /\ a2 = updateHistStateGraph(plan(perceive(e1, a1))) %% update history then op iterateWorldStep : World -> List[World] forall a:AbsAgent; e:AbsEnv . iterateWorldStep(World(e, a)) = %% axiom for SPA iteration worldStep(World(e, a)) :: iterateWorldStep(worldStep(World(e, a))) when not match(goal(a), mPos(a)) else [ ] %% until goal is reached end

Page 27: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 27

6.4 Comparing the Sense-Plan-Act Cycle Between CASL and Haskell

A homomorphism is a family of mappings between two algebras where the behavior of operations is preserved. We show that the mapping of the SPA cycle from the CASL specification in section 6.3 to the Haskell model below is homomorphic. It includes a mapping of sorts and operations. There is only one mapping of sorts required, namely World(AbsEnv; AbsAgent) in CASL is mapped to the type constructor function (World e a). Also, the mapping of functions is straightforward. Names for functions are the same in both specifications. The abstract agent’s CASL profiles in the AbsEnvAgent specification match the Haskell profiles of both agent operations, which refers to functions, such as plan, perceive, or physAction. That is, these functions take the same number of arguments and have the same result in both specifications. The profiles of the functions on the abstract worlds are also the same in CASL and Haskell, which are worldStep and iterateWorldStep.

The semantics of these two functions is identical in CASL and Haskell, which means that they include the same equation on the right side of the axioms. In Haskell both axioms are formalized as derived functions, which describe their semantics independently from instantiations, whereas CASL uses explicit sorts, such as World or AbsEnv. As opposed to CASL, the worldStep axiom in Haskell uses function composition − a higher order function − which is denoted by the dot (‘.’) symbol. Function composition expresses functions in a point-free style without reference to specific data values. A look at the worldStep axiom in both specifications shows that this function takes a world as argument and returns a world. The function lets the agent perceive the environment, plan its next step, and execute the planned step. Within this step, the history state-graph is updated. A comparison of the iterateWorldStep function shows that the worldStep function is called iteratively, and that the resulting world is added to the list of worlds. The iteration is terminated once the agent's goal matches the agent's mental position. Therefore, these two axioms between the CASL and Haskell specification are identical up to isomorphism. This is made possible as both axioms are constructive and thus can be specified in Haskell. Behavior that cannot be explained as constructive axioms could be stated as testable theorems in Haskell.

module AgentClass where class ExternalOps env agent where perceive :: env -> agent -> agent physAction :: env -> agent -> env class InternalOps agent where plan :: agent -> agent decide :: agent -> agent updatePercStateGraph :: agent -> agent updateHistStateGraph :: agent -> agent

Page 28: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

28 HOCHMAIR, LÜTTICH

module WorldClass where … data World e a = World e a -- data type definition class (…) => WorldClass e a where worldStep :: World e a -> World e a -- profile for SPA cycle iterateWorldStep :: World e a -> [World e a] -- profile for iteration worldStep (World e a) = -- axiom for SPA cycle World (physAction e.plan.perceive e $ a) (updateHistStateGraph.plan.perceive e $ a) iterateWorldStep (World e a) -- axiom for iteration | not (matches (goal a) (pos a)) = worldStep (World e a): iterateWorldStep (worldStep (World e a)) | otherwise = []

6.5 Formalizing the Web Agent in CASL The CASL specifications of both agents are informally derived from the computational Haskell model. The specifications are built independently from the axiomatized wayfinding behavior in section 5 but then formally checked for a specification morphism with the Navigate specification. Because of differences in the strategies and environments of the least-angle navigation and the Web navigation, the operations applied on the sorts of agent and environment vary between both corresponding CASL specifications. One example of difference is the destination type which is abstracted as one single node with polar coordinates for the LA navigating agent, whereas for the Web agent the goal is more complex. It is derived from the agent's mental map as a list of edges, where edge contains a node labeled with the name of field and another node labeled with the name of the goal term in this field. Further differences are presented in section 8.1.

The CASL code below shows a part of the WWWAgent specification with its data type definitions for agent and environment, and the profiles of operations applied on these data types. The type NodeMD relates an agent’s mental node of the cognitive map, such as “clothing”, to a semantic distance value, which is the distance of the mental node to the goal in that field. All percepts of Web link information are mapped to a list of concept-distance tuples in the state-graph (List[NodeMD]). According to the decision strategy, the agent selects from this list the link with the smallest assigned semantic distance. Therefore, the result type of a decision (Dec) is equal to NodeMD. The state-graph also contains a list of history graphs (List[HiGraph]), where each history graph stores a snapshot of the mental position in all fields of the cognitive map for each SPA cycle. A percept (Perc) consists of the currently perceived Web position (NodeW) and a list of perceived links (List[Link]). A webgraph (WebGraph) is an instantiation of RichGraph2 with Web nodes and links. The Web (EnvWeb) is abstracted as a tuple consisting of the webgraph and the agent’s current position.

Page 29: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 29

spec WWWAgent = sorts NodeW, Link, AId, EdgeM, MentalDist, MentalMap,NodeM, FieldName then type NodeMD ::= NodeMD(MentalDist; NodeM) sort Dec = NodeMD … then free types %% agent parts StateGraph ::= StateGraph(List[HiGraph]; List[NodeMD]); Perc ::= Perc(NodeW; List[Link]); AgentWeb ::= AgentWeb(AId; StateGraph; Perc; Dec; MentalMap) %%agent then RichGraph2 [sort NodeW fit sort Node |-> NodeW] [sort Link fit sort Edge |-> Link] with Graph |-> WebGraph then free type EnvWeb ::= EnvWeb(WebGraph; NodeW) %% Web environment ops physAction : EnvWeb * AgentWeb -> EnvWeb; %% agent operations updateHistStateGraph : AgentWeb -> AgentWeb; nextNode : NodeW * Dec * WebGraph -> NodeW; replaceMPos : Dec * HiGraph * MentalMap -> HiGraph; …

The axioms below describe the behavior of two selected agent operations. The external operation physAction demands that the agent’s move on the web graph (gr), from the current position (aNode) to the next position (next), is based on the decision outcome (dec). The internal operation updateHistStateGraph inserts a new state (new) to the history, which is derived from the decision outcome (dec), the current state (hgOld), and the mental map (mm).

forall gr: WebGraph; aNode, next:NodeW; id:AId; s : StateGraph; p:Perc; dec:Dec; mm:MentalMap; new, hgOld:HiGraph; hg:List[HiGraph]; pg:List[NodeMD] . physAction(EnvWeb(gr, aNode), AgentWeb(id, s, p1, dec, mm)) = EnvWeb(gr, next) <=> next = nextNode(aNode, dec, gr) . updateHistStateGraph(AgentWeb(id, StateGraph(hgOld :: hg, pg), p, dec, mm)) = AgentWeb(id, StateGraph(new :: hgOld :: hg, pg), p, dec, mm) /\ new = replaceMPos(dec, hgOld, mm) … end

6.6 Comparing Agent Operations Between CASL and Haskell Again, the similarity for the operations between the CASL specification and the Haskell model at this level can be read from the code. Besides the fact that one Web link may carry several strings, which has been simplified in the CASL

Page 30: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

30 HOCHMAIR, LÜTTICH

specification before, the following Haskell profiles of the operations are identical to those in the CASL specification.

type NodeMD = (Dist,NodeM) type AId = String data StateGraph = StateG [HiGraph] [[NodeMD]] data Perc = Perc NodeW [[Link]] type Dec = [NodeMD] data AgentWeb = AgentWeb AId StateGraph Perc Dec MentalMap data EnvWeb = EnvWeb WebGraph NodeW class ExternalOps env agent where physAction :: env -> agent -> env … class InternalOps agent where updateHistStateGraph :: agent -> agent … class ReplaceC dec ghi m where replaceMPos :: dec -> ghi -> m -> ghi …

The axioms for the declared operations are formalized as instances. They are identical to those in the CASL specification, except for an additional observer function (contentN) that is mapped to all mental nodes of a decision.

instance ExternalOps EnvWeb AgentWeb where physAction (EnvWeb web pos) (AgentWeb i s p d m) = EnvWeb web next where next = nextNode pos links web links = map (contentN . snd) d instance InternalOps AgentWeb where updateHistStateGraph (AgentWeb i (StateG (hgOld :hg) pg) p dec m) = AgentWeb i (StateG (new:hgOld:hg) pg) p dec mm where new = replaceMPos dec hgOld mm

6.7 Instantiation of the Worlds As the navigation axioms are defined upon a world step that denotes a SPA cycle (section 5.5), the agent needs to be embedded in an abstract world framework. This is achieved by instantiating the generic WorldImpl specification (see section 6.3) with the Web agent and LA agent using fitting symbol maps (see Figure 8), which fit the parameter symbols of AbsEnvAgent to the argument symbols of the Web agent (WWWAgent).

spec WorldWWW = %% instantiation for Web world WorldImpl [WWWAgent fit Nat |-> Nat, AbsAgent |-> AgentWeb,

AbsEnv |-> EnvWeb, AbsMPos |-> APosM] end

Page 31: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 31

spec WorldLA = %% instantiation for Least-angle world WorldImpl [LeastAngleAgent fit Nat |-> Nat, AbsAgent |-> AgentLA,

AbsEnv |-> EnvLA, AbsMPos |-> Node] end

In Haskell, the corresponding concept of inheritance is modeled within the context of a class, which lists constraints for its parameters. The context in the class definition ensures that for each implementation of the class WorldClass an implementation of ExternalOps and InternalOps exists:

class (ExternalOps e a, InternalOps a,…) => WorldClass e a where worldStep :: World e a -> World e a iterateWorldStep :: World e a -> [World e a]

6.8 Adding the Wayfinding Semantics to the Worlds NavigateSig contains the profile of all operations and predicates of the Navigate specification, using sorts of AbsEnvAgent (section 6.3) as parameter specification. Extensions specify predicates, such as hasMoved, which are part of the Navigate specification but not of AbsEnvAgent.

spec NavigateSig [AbsEnvAgent %% generic signature spec then sorts World, AbsStateGraph, AbsPerc, AbsDec, AbsGraph] = … then ops perception : AbsEnv * AbsStateGraph -> AbsPerc; %% adopted profiles plan : AbsPerc * AbsStateGraph -> AbsDec; graph : AbsAgent -> AbsStateGraph; … preds hasMoved : World * World; navigate : World * World … end

The instantiated worlds need to be related to the navigation axioms to show that the operations in the world specification exhibit navigation behavior. This is done by instantiating the generic NavigateSig specification with the world instantiations WorldWWW and WorldLA. Symbols that are not explicitly used in the CASL agent instantiations specifications, but which have been derived from the Haskell model, are specified as extensions in the NavigateSig instantiation behind the keyword 'then'. An example is the observer function for the agent’s mental state-graph (op mentalGraph).

We restrict the demonstration of the matching process to four operations, namely perception, physicalAction, plan, and observation. The first operation in each axiom uses the profile from NavigateSig, the second one from WWWAgent. The navigation predicates are defined in terms of the operations used in

Page 32: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

32 HOCHMAIR, LÜTTICH

WWWAgent. One such example is the definition of a decision point. Finally, a view documents the specification morphism between Navigate and WorldWWWObserver. Views have been described in section 4.2.

spec WorldWWWObserver = NavigateSig %% declare instantiation [WorldWWW fit AbsAgent |-> AgentWeb, AbsEnv |-> EnvWeb , AbsMPos |-> APosM,...] then %def ops mentalGraph : AgentWeb -> StateGraph; … forall e1: EnvWeb; a1: AgentWeb; s1,s2: StateGraph; gr: WebGraph; mm: MentalMap;dec1,dec2: Dec;p,perc: Perc; id: AId; pos1,pos2: NodeW . perception (e1,s1) = perc <=> %% matched axioms perceive (e1, AgentWeb (id,s1,p,dec1,mm)) = AgentWeb (id,s1,perc,dec1,mm) . physicalAction(dec1, EnvWeb(gr,pos1)) = EnvWeb(gr,pos2) <=> physAction(EnvWeb(gr,pos1), AgentWeb(id, s1, p, dec1, mm)) = EnvWeb(gr,pos2) . plan(p, s1) = dec2 <=> plan(AgentWeb(id, s1, p, dec1, mm)) = AgentWeb(id, s2, p, dec2, mm) /\ not s1 = s2 /\ not dec1 = dec2 . graph(a1) = mentalGraph(a1) forall i:APosM; s:StateGraph %% axioms for predicates . isdecisionPoint(i, s) <=> getDegree(i, s) > 1 …

7 Verifying the Models We check two things. Firstly, we formally check the match between the instantiated worlds and the navigate axioms in CASL. Secondly, the behavior of the Haskell models are informally tested by running two simulations.

7.1 Proof Obligations HETS checks both the correctness of a library with respect to the CASL syntax and the static semantics. In addition, HETS also displays and manages proof obligations. By selecting an additional option flag, HETS displays a so called development graph using the tool uDrawGraph, which shows the structure of the specifications in the library Navigatelib (Figure 9).

Page 33: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 33

Figure 9. Development graph for the specifications in the ‘Navigatelib’ library

Nodes in a development graph denote CASL specifications, and arrows show how specifications are linked via the structuring constructs. A solid arrow denotes an ordinary import of specifications generated by extensions, whereas a dashed arrow denotes a proof obligation. This proof obligation needs to be discharged in order to show that the view is well-formed. By clicking on the nodes, one can inspect the signature of the related specification (Table 2). Doing so for Navigate and WorldWWWObserver, one can see that the Navigate signature (Table 2a) can be mapped to the signatures of WorldWWWObserver (Table 2b). That means that each sort, operation, and predicate on the left can be mapped to a corresponding symbol on the right. In this direction the mapping is total, whereas it is partial from the right to left. This is due to the fact that the WorldWWWObserver (and also the WorldLAObserver) specification is richer than the Navigate specification. Some profiles on the right denote overloaded operations and predicates. The signature morphism between the parameter and argument specification can also be shown automatically by clicking on the connecting arrow in the uDrawGraph interface.

Page 34: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

34 HOCHMAIR, LÜTTICH

sorts Agent, Decision, Environment, List[Transition], MentalPos, Nat, Perception, Pos, StateGraph, Transition, World

sorts Pos < Nat …

op World : Environment * Agent -> World op getDegree : MentalPos * StateGraph -> Nat op getEDegree : Environment -> Nat op perception : Environment * StateGraph ->

Perception op physicalAction : Decision * Environment ->

Environment op plan : Perception * StateGraph -> Decision op updateState : Decision * Agent -> Agent op worldStep : World -> World pred __<__ : Nat * Nat pred approach : World * World pred hasMoved : World * World pred hasExplored : World * World

Sorts AId, APosM, AbsTransition, AgentWeb, Dec, EdgeM, EnvWeb, FieldName, Field_Node, Goal, HiGraph, Int, Link, List[AbsTransition], List[Dec],…

sorts APosM < APosM, Goal Dec < Dec, NodeMD Goal < APosM, Goal … op World : EnvWeb * AgentWeb -> World op getDegree : APosM * StateGraph -> Nat op getDegree : NodeW * WebGraph -> Nat op getEDegree : EnvWeb -> Nat op perception : EnvWeb * StateGraph -> Perc op physAction : EnvWeb * AgentWeb -> EnvWeb op physicalAction : Dec * EnvWeb -> EnvWeb op plan : AgentWeb -> AgentWeb op plan : Perc * StateGraph -> Dec op updateHistStateGraph : AgentWeb -> AgentWeb op updatePercStateGraph : AgentWeb -> AgentWeb op updateState : Dec * AgentWeb -> AgentWeb op worldStep : World -> World … pred __<__ : Int * Int pred __<__ : Nat * Nat pred __<__ : Rat * Rat pred approach : World * World pred hasMoved : World * World pred hasExplored : World * World

(a) (b)

Table 2. Signature parts of the Navigate (a) and the WorldWWWObserver (b) specifications

Due to the signature morphism it is legal to add a ‘view’, which we already added to the library Navigatelib. The view leads among others to a proof obligation between Navigate and WorldLAObserver, and Navigate and WorldWWWObserver (Figure 9). Trivial proof obligations can be discharged by HETS alone using the proofs menu. More complex proof obligations require the application of a theorem prover, such as Isabelle or SPASS. As HETS is still under development, it could not yet be utilized for discharging the complex proof obligations caused by the view in our library. For the moment, however, a specification morphism could be formally demonstrated between the Navigate specification (with its four wayfind axioms) and the instantiated WWW and LA worlds.

7.2 Testing the Behavior of the Simulated Navigation Process Although executable specifications in Haskell do not provide a formal tool for checking the intended agent behavior, they can be used to observe whether a specified model shows the correct behavior using a test data set. The simulation results of the navigating Web and Least-angle agent demonstrate that the implementation is executable without run-time errors. It further gives evidence that the navigation axioms are satisfied for both implementations. In addition to the path traversed within the simulations (Figure 10), more details about the

Page 35: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 35

agent behavior, such as the processing of percepts, can be read from textual output of successive world states for each time slot, which is not shown here.

(a) (b)

Figure 10. Simulation results for the Web agent (a) and the Least-angle agent (b)

8 Discussion One characteristic of a metaphor is that the target domain is like the source domain, but that there is not exact mapping between the two. Therefore it is an interesting endeavor to identify which of the characteristics do map well, and which do not. This section does so for the least-angle and Web navigation strategy. Some other metaphors are also discussed under the light of the suggested axiom-based approach.

8.1 Mapping Characteristics Between the Two Implemented Wayfinding Strategies

As mentioned in section 3.3, goal-directed search behavior can be achieved with various strategies in different types of environments. We have shown that the processes involving the least-angle strategy and the ontology based Web strategy exhibit navigation. Both the street network and the hyperlinks in the browser support the navigating agent during navigation. The objects in these environments have a meaning to the agent, so that they can be utilized in the navigation context. Both the environmental features, and the agents' processing structure make the demonstrated instances satisfy the navigation axioms. Table

Page 36: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

36 HOCHMAIR, LÜTTICH

3 lists some of the objects in the abstract environments, and how these objects are reflected in the agent's behavior and beliefs, i.e., the agent's world view.

Object in the abstract environment Agent’s epistemology node decision point edge possibility to move to destination edge information indicates distance and/or "direction"

with respect to destination graph network to navigate destination node decision point that provides guidance

for decision making

Table 3. Agent’s epistemology of objects in the simulated environment

Other abstract concepts are used in the navigation axioms, such as distance or destination. Each wayfinding strategy uses other features and processes to express these concepts. Therefore, not all features and sub-processes can be mapped between both discussed strategies. For example, it is not possible to match the hierarchical structure of Web directories to a street environment. This is not necessary and does not make sense, as the least-angle strategy does not consider hierarchies in the decision making process. However, all general concepts that are part of the wayfinding axioms have an instantiation in each strategy. And these concepts as a whole can be mapped between the real world and the Web, such as the concept of environment. Table 4 shows how terms included in the navigation axioms are instantiated in the least-angle strategy and Web navigation respectively.

Many other navigation related concepts, features, and strategies can be mapped from the physical world to the Web, such as use of landmarks (Sorrows & Hirtle 1999) or social navigation (Dieberger 1998). These specific types of navigation could be defined through additional axioms, and they would also be satisfied in the Web space.

Besides, there are numerous features which do not match between both strategies and environments. This is not a problem concerning the purpose of this work, which was not to find a real world strategy that is as analogous as possible to Web navigation. Rather the purpose was to demonstrate that both instantiations in the real world and the Web denote a navigation process. Some differences between both strategies and environments, besides the lack of hierarchies in the street network that was mentioned before, are listed in Table 5.

Page 37: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 37

Concept Instantiation in LA navigation Instantiation in Web navigation perceive sense streets neighboring the

agent's position read labels of all hyperlinks on current Web page

decide select street with smallest deviation angle from all perceived streets

select link from state-graph that yields smallest distance from goal

active self-movement

change of course-relative bearing with respect to destination through traversing chosen street segment

change position in Web graph through clicking on chosen link

experience movement

add new position to agent's history list of visited nodes

add updated state-graph with current mental positions to history list

destination defined through distance and direction in agent's egocentric reference frame

Web node exhibiting mandatory and preferred concepts in agent's mental map

agent's initial position

coordinates in local reference system which is aligned with destination direction

displayed Web page with hyperlinks in Web browser

decision criterion

minimize deviation angle between direction to destination and next node

minimize graph distance between perceived terms and goal concepts

approach reduce Euclidean distance between agent’s position and destination

reduce graph distance between current mental position and goal concepts of all fields

environment graph with edges which connect nodes with Euclidean coordinates

graph with labeled edges, where labels show content of Web pages

Table 4. Concepts used for navigation, and their instantiation in different strategies

Least-angle navigation Web navigation continuous update of (believed) distance and course-relative bearing to destination

update of believed position in discrete steps, after clicking hyperlink

sense of direction, orientation and distance

only sense of semantic distance

agent can move and turn agent can move only Euclidean distance used between position and destination

Mental distance used between position and destination

use of path integration to update distance and course-relative bearing to destination

use of semantic information on hyperlinks to assess distance to destination

destination (landmark) may be perceived initially

Web page with desired features is only imagined, except when previously visited

only one destination exists per navigation instance

many Web pages may satisfy the navigator's needs

Table 5: Differences between the Least-angle strategy and the Web navigation strategy

Page 38: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

38 HOCHMAIR, LÜTTICH

8.2 Navigation in the Physical World and the Web Referring to the hypotheses in section 1, we showed that it is possible to define the meaning of the navigation concept in the source domain through a set of axioms. If this set is also satisfied in the target domain, the concept can be used as a metaphorical term. An activity in the physical world that is related to navigation and that causes problems with the mapping to the Web is for example "hiking". According to WordNet, hiking is a kind of walk, which implies using one's feet to advance step by step. This constraint of utilizing one's physical body parts, i.e., feet (or hands) to carry one's body around, can be axiomatized for the hiking activity. This axiom can however not be satisfied in the Web, as the Web is not a physical environment. This is a possible explanation of why "hiking" in the Internet is not a sound expression.

Although in general physical constraints, metric lengths and angles cannot be mapped to the Web space, this is obviously not a hindrance for the navigation metaphor to be applied to the Web space. For this reason the navigation axioms are not related to a physical or metric space. An example for concepts that do not map well to the Web space are found in the instruction "turn right after 200 meters". This instruction requires a navigator's egocentric reference frame and a metric distance measure between locations, both of which do not exist in the Web. Further, selection criteria of preferred paths cannot be matched if they include physical or metric constraints, such as "avoid steep slopes".

The approach presented in this work can be used to explain why some of the phrases mentioned in section 1 sound somewhat awkward and, why the navigation concept cannot be mapped to arbitrary spaces. The fact that a tournament does not have decision points, interferes with axiom #4, and makes the phrases "navigating" or "finding one's way" through a tournament sound strange. Navigating through a book sounds strange for the same reason: Reading text is generally not associated with movement, which also interferes with axiom #2.

8.3 Other Metaphors The proposed method is not restricted to the navigation metaphor. Defining the behavior of nouns or actions can be extended to other concepts as well. We review some of the metaphors listed in section 2.1 in the context of the axiom based approach. For “Life is a journey”, the constraints that make a process a journey could be axiomatized, once the constraints are known. For this metaphor, traveler, destination, obstacles, routes, and intersections and their role within a journey would need to be defined. A thesaurus will only provide partial help in determining these ingredients and constraints. WordNet considers a subset hierarchy of journey ⊆ travel ⊆ motion ⊆ human action. Thus axioms need to be found that define these refined hierarchical levels. In fact, some freedom is left to the designer in adding additional axioms to any layers. Difficulties of a journey, for example, could be added to the definition of the motion concept with an axiom that says that some external force may detain the

Page 39: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 39

agent from traveling along its planned path. Crossroads can be axiomatized as discrete choices that need to be made during approaching the destination, either for motion or for traveling. Destination can, as with navigation, be defined as a desirable state of the agent that drives each decision. Routes can be axiomatized as connected segments on the agent's planned path.

For the metaphor "theories are buildings", the meaning of a building can be defined through its behavior rather than through its physical attributes. Some examples of useful axioms: A building must be stable, it is an assemblage of parts, it must be man-made, and it must be extensible. WordNet can again be used as a framework for the hierarchy of objects, such as building ⊆ construction ⊆ artifact ⊆ unit. Axioms need to be added for these layers. "Theories" would satisfy these axioms. In addition, buildings are objects which usually can be accessed by persons. This behavior is however not mapped to the target domain, which shows that using behavior only is not a flawless approach to that particular metaphor.

A problem with metaphors is that the target domain adapts sometimes only very particular behavioral traits of the source domain. This is for example true for "Economy is a person" and "Economy is a competition". Both the growth of a person within her life-cycle, and the two parties in a competition, can be defined as axioms to specify the source domain, once the relevance of these behavioral traits is known.

9 Conclusions This paper suggested an explanation of why the “navigation” metaphor can be successfully applied for the Web space. It could be shown that it is sufficient to define the semantics of the source concept through behavioral constraints, neglecting physical properties. Axioms can be used to specify, formalize, and refine such behavior in a hierarchical structure. Whereas instantiations of the navigation act in the physical world may require consideration of features and concepts accessible in metric space only, such as a Euclidean coordinate system, an egocentric reference frame, direction, rotation, bearing, etc., not all of these features are mapped into the abstract space as such. What is however mapped are the operations that include these features, as long as these operations are required to satisfy the navigation axioms. An example is the agent's "walk" and "turn" concepts in the physical world, which are an essential part of movement in the lest-angle strategy. These concepts are mapped to "visiting a new web page" in the Web domain, which is a single process.

In this work we explored the use of the specification language CASL and its toolset HETS, which is still under development. We demonstrated a potential analysis method for checking the correctness of using metaphorical concepts in various target domains. Further development of HETS will hopefully allow for a strict formal proof of the morphism between source and target domain. Once

Page 40: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

40 HOCHMAIR, LÜTTICH

HETS is extended with full support of HASCASL, Haskell programs can be specified within HASCASL and exported as executable Haskell.

The goal for future work is to examine how the proposed method can be used for the correctness of metaphors in human-computer-interaction. This refers to both graphical and textual metaphors, as "changing from a textual user interface to a menu driven one, or a graphical one, does not alone substantially improve the usability of a system if the command set is still using baroque terminology" (Frank 1993, p.13). For example, Riedeman (2005) revealed shortcomings in terminology of overlay operations in current GIS software. When users were asked to describe depictions of topologic operators, most of the terms users selected did not match the name that was used in the GIS for that operator. This means that the user interface of the GIS does not clearly convey the concepts implemented in the software. Therefore it seems that axioms of behavior in the source domain, such as "overlap" in the physical world, are partly violated in the target domain, i.e., the canon of GIS operations. WordNet, for example defines the verb "touch" as "make physical contact with, come in contact with". Whereas testing subjects consider touch as something that happens between two disjoint objects that are moved closer to each other, touch in the GIS software also includes all those cases where one object is within the boundaries of the other, yet touching the outer object from inside. This may be fine with expert users, but for laymen this is not commonsense knowledge. This example shows that the axioms describing the behavior of "touch" in the physical world are not perfectly mapped into the abstract domain. The method proposed in this paper may be a possible approach to discovering such deficiencies in a more systematic manner.

Another interesting goal for the future is to analyze together with linguists if there are similarities between different languages regarding the use of geographical metaphors for the Web, because we only investigated English in this paper.

Acknowledgements This research has been partly conducted in the framework of the I2-MapSpace project and the I4-SPIN project within the Transregional Collaborative Spatial Cognition Research Center (SFB/TR8) funded by the German Research Foundation (DFG). Furthermore, we thank Robert Ross for helpful comments.

References Ahrens, K. (2002). When Love is not Digested: Underlying Reasons for Source to Target

Domain Pairing in the Contemporary Theory of Metaphor. In Y. E. Hsiao (Ed.), Proceedings of the First Cognitive Linguistics Conference (pp. 273-302). Taipei: Cheng-Chi University.

Page 41: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 41

Ahrens, K., Chung, S. F., & Huang, C. (2003). Conceptual Metaphors: Ontology-based Representation and Corpora Driven Mapping Principles. Proceedings of the ACL Workshop on the Lexicon and Figurative Language.

Allen, G. L. (1999). Spatial Abilities, Cognitive Maps, and Wayfinding. In R. G. Golledge (Ed.), Wayfinding Behavior: Cognitive Mapping and Other Spatial Processes (pp. 46-80). Baltimore, MD: Johns Hopkins Press.

Beall, A. C. & Loomis, J. M. (1996). Visual control of steering without course information. Perception, 25, 481-494.

Bidoit, M. & Mosses, P. (2003). CASL User Manual (LNCS 2900). Berlin: Springer. Black, M. (1979). More about metaphor. In A. Ortony (Ed.), Metaphor and Thought (pp.

19-43). New York: Cambridge University Press. Blades, M. (1991). Wayfinding Theory and Research: The Need for a New Approach. In

D. Mark & A. Frank (Eds.), Cognitive and Linguistic Aspects of Geographic Space (63, pp. 137-165). Dordrecht, The Netherlands: Kluwer Academic Publishers.

Bovy, P. H. L. & Stern, E. (1990). Route choice: Wayfinding in transport networks. Dordrecht: Kluwer Academic.

Carroll, J. M., Mack, R. L., & Kellogg, W. A. (1988). Interface Metaphors and User Interface Design. In M. Helander (Ed.), Handbook of Human-Computer Interaction (pp. 67-85). Amsterdam, Holland: Elsevier.

Cornell, E. & Heth, C. (2000). Route learning and wayfinding. In R. Kitchin & S. Freundschuh (Eds.), Cognitive Mapping - Past, Present and Future (pp. 66-83). London: Routledge.

Dalton, R. C. (2001). Virtual Navigation in Immersive Virtual Environments (Ph.D. Thesis, Department of Architecture, University College London, London, UK).

Darken, R. P., Allard, T., & Achille, L. B. (1999). Spatial Orientation and Wayfinding in Large-Scale Virtual Spaces: Guest Editors' Introduction. Presence: Teleoperators and Virtual Environments, 8 (6), iii-vi.

Davis, E. (1990). Representations of Commonsense Knowledge. San Mateo, California: Morgan Kaufmann Publishers.

Dieberger, A. (1994). Navigation in Textual Virtual Environments using a City Metaphor (Ph.D. Thesis, Department for Design and Assessment of Technology, Technical University of Vienna, Vienna).

Dieberger, A. (1998). Social Connotations of Spatial Metaphors and Their Influence on (Direct) Social Navigation. In K. Hook, A. Munro & D. Benyon (Eds.), Workshop on Personalized and Social Navigation in Information Space (pp. 5-14). Kista, Sweden: Swedish Institute of Computer Science.

Ehrich, H.-D., Gogolla, M., & Lipeck, U. W. (1989). Algebraische Spezifikation abstrakter Datentypen. Stuttgart: B.G. Teubner.

Elvins, T. T. (1997). VisFiles, Wayfinding 2: The Lost Worlds. Computer Graphics, 31 (4).

Elvins, T. T. & Jain, R. (1998). Engineering a Human Factor-Based Geographic User Interface. IEEE Computer Graphics and Applications, 18 (3, May/June).

Fabrikant, S. (2000). Spatial Metaphors for Browsing Large Data Archieves (Ph.D. Thesis, Department of Geography, University of Colorado, Boulder, CO).

Frank, A. U. (1993). The Use of Geographical Information Systems: The User Interface Is the System. In D. Medyckyj-Scott & H. M. Hearnshaw (Eds.), Human Factors in Geographical Information Systems (pp. 15-31). London: Belhaven Press.

Page 42: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

42 HOCHMAIR, LÜTTICH

Frank, A. U. (2000). Spatial Communication with Maps: Defining the Correctness of Maps Using Multi-Agent Simulation. In C. Freksa, W. Brauer & K. F. Wender (Eds.), Spatial Cognition 2 (LNCS 1849, pp. 80-99). Berlin: Springer.

Frank, A. U. & Kuhn, W. (1998). A Specification Language for Interoperable GIS. In M. Goodchild, M. Egenhofer, R. Fegeas & C. Kottman (Eds.), Interoperating Geographic Information Systems (pp. 23-132). Norwell, MA: Kluwer.

Frank, A. U. & Raubal, M. (1999). Formal Specifications of Image Schemata - A Step to Interoperability in Geographic Information Systems. Spatial Cognition and Computation, 1 (1), 67-101.

Furnas, G. (1997). Effective View-Navigation, Human Factors in Computing Systems CHI '97 (pp. 367-374). Atlanta, Georgia: ACM Press.

Gangemi, A., Navigli, R., & Velardi, P. (2003). The OntoWordNet Project: extension and axiomatization of conceptual relations in WordNet. International Conference on Ontologies, Databases and Applications of Semantics (ODBASE 2003), Catania, Italy.

Gentner, D. (1983). Structure-Mapping: A Theoretical Framework for Analogy. Cognitive Science, 7, 155-170.

Goguen, J. (1999). An Introduction to Algebraic Semiotics, with Applications to User Interface Design. In C. Nehaniv (Ed.), Computation for Metaphor, Analogy and Agents (LNAI 1562, pp. 242-291). Berlin: Springer.

Golledge, R. G. (1999). Human wayfinding and cognitive maps. In R. G. Golledge (Ed.), Wayfinding Behavior: Cognitive Mapping and Other Spatial Processes (pp. 5-45). Baltimore, MD: Johns Hopkins Press.

Golledge, R. G., Jacobson, R. D., Kitchin, R., & Blades, M. (2000). Cognitive Maps, Spatial Abilities, and Human Wayfinding. Geographical Review of Japan, 73 (Ser. B) (2), 93-104.

Grady, J. (1997). Theories are buildings revisited. Cognitive Linguistics, 4 (4), 267-290. Grady, J., Taub, S., & Morgan, P. (1996). Primitive and compound metaphors. In A.

Goldberg (Ed.), Conceptual structure, discourse, and language (pp. 177-187). Stanford: CSLI Publications.

Grey, W. (2000). Metaphor and Meaning. Minerva - An Internet Journal of Philosophy, 4 (November 2000).

Gruber, T. R. (1993). A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition, 5, 199-220.

Hill, W. C. & Hollan, J. D. (1992). Edit Wear and Read Wear, CHI'92 (pp. 3-9). Monterey, CA: ACM Press.

Hochmair, H. H. (2002). The wayfinding metaphor - comparing the semantics of wayfinding in the physical world and the WWW (Ph.D. Thesis, Institute for Geoinformation, Technical University of Vienna, Vienna).

Hochmair, H. H. (2005). Investigating the Effectiveness of the Least-angle Strategy for Wayfinding in Unknown Street Networks. Environment and Planning B, Planning and Design, 32 (5), 673-691.

Hochmair, H. H. & Frank, A. U. (2001). A Semantic Map as Basis for the Decision Process in the WWW Navigation. In D. R. Montello (Ed.), Conference on Spatial Information Theory (COSIT'01) (LNCS 2205, pp. 173-188). Berlin: Springer.

Hochmair, H. H. & Frank, A. U. (2002). Influence of estimation errors on wayfinding-decisions in unknown street networks - analyzing the least-angle strategy. Spatial Cognition and Computation, 2 (4), 283-313.

Page 43: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

AN ANALYSIS OF THE “NAVIGATION” METAPHOR 43

Johnson, M. (1987). The Body in the Mind: The Bodily Basis of Meaning, Imagination, and Reason. Chicago: University of Chicago Press.

Jul, S. & Furnas, G. (1997). Navigation in Electronic Worlds. CHI Workshop, 29 (4), 44-49.

Kant, I. (1781 / 1991). Critique of Pure Reason. In V. Politis (Ed.) London: Dent. Kuhn, W. (1995). 7+/-2 Questions and Answers about Metaphors for GIS User

Interfaces. In T. L. Nyerges (Ed.), Cognitive Aspects of Human-Computer Interaction for Geographic Information Systems (83, pp. 113-122). Dordrecht: Kluwer.

Kuhn, W. (1996). Handling Data Spatially: Spatializing User Interfaces. 7th Int. Symposium on Spatial Data Handling, SDH'96, Delft, The Netherlands. Faculty of Geodetic Engineering, Delft University of Technology.

Kuhn, W. & Frank, A. U. (1991). A Formalization of Metaphors and Image-Schemas in User Interfaces. In D. M. Mark & A. U. Frank (Eds.), Cognitive and Linguistic Aspects of Geographic Space (pp. 419-434). Dordrecht, The Netherlands: Kluwer Academic Press.

Kuipers, B. (1982). The 'Map in the Head' Metaphor. Environment and Behavior, 14, 202-220.

Lakoff, G. (1993). The Contemporary Theory of Metaphor. In A. Ortony (Ed.), Metaphor and Thought (2nd Edition) (pp. 202-251). New York: Cambridge University Press.

Loomis, J. M. & Klatzky, R. L. (1999). Human Navigation by Path Integration. In R. G. Golledge (Ed.), Wayfinding Behavior: Cognitive Mapping and Other Spatial Processes (pp. 125-151). Baltimore, MD: Johns Hopkins Press.

Loomis, J. M., Klatzky, R. L., Golledge, R. G., Cicinelli, J. G., Pellegrino, J. W., & Fry, P. A. (1993). Nonvisual navigation by blind and sighted: Assessment of path integration ability. Journal of Experimental Psychology: General, 122 (1), 73-91.

MacCormac, E. R. (1985). A Cognitive Theory of Metaphor. Cambridge, MA: MIT Press. MacEachren, A. M., Edsall, R., Haug, D., Baxter, R., Otto, G., Masters, R., Fuhrmann,

S., & Qian, L. (1999). Virtual Environments for Geographic Visualization: Potential and Challenges. ACM Workshop on New Paradigms for Information Visualization and Manipulation, Kansas City, MO.

Maglio, P. & Matlock, T. (1998). Construcing Social Spaces in Virtual Environments: Mataphors We Surf the Web By. In K. Höök, A. Munro & D. Benyon (Eds.), Workshop on Personalized and Social Navigation in Information Space (pp. 138-147). Kista, Sweden: Swedish Institute of Computer Science.

Marchionini, G. M. (1995). Information Seeking in Electronic Environments. Cambridge, England: Cambridge University Press.

Mark, D., Freksa, C., Hirtle, S., Lloyd, R., & Tversky, B. (1999). Cognitive models of geographical space. International Journal of Geographic Information Science, 13 (8), 747-774.

Matlock, T. & Maglio, P. (1996). Apparent motion in the World Wide Web. 18th Annual Conference of the Cognitive Science Society, Mahwah, NJ.

McNaughton, B., Chen, L., & Markus, E. (1991). 'Dead Reckoning', Landmark Learning, and the Sense of Direction: A Neorophysiological and Computational Hypothesis. Journal of the Cognitive Neuroscience, 3 (2), 190-202.

Miller, G. A. (1995). WordNet: A Lexical Database for English. Communications of the ACM, 38 (11), 39-41.

Montello, D. R. (2005). Navigation. In P. Shah & A. Miyake (Eds.), The Cambridge handbook of visuospatial thinking (pp. 257-294). Cambridge: Cambridge University Press.

Page 44: An Analysis of the Navigation Metaphor and Why it Works ...Metaphors, such as “chatroom” or “internet library”, map a familiar source concept to a more abstract target domain

44 HOCHMAIR, LÜTTICH

Nielsen, J. (1990). The art of navigating hypertext. Communications of the ACM, 33 (3), 297-310.

Niles, I. & Pease, A. (2003). Linking Lexicons and Ontologies: Mapping WordNet to the Suggested Upper Merged Ontology. International Conference on Information and Knowledge Engineering (IKE ’03), Las Vegas, Nevada.

Nilsson, N. J. (1980). Principles of Artificial Intelligence. San Francisco, CA: Morgan Kaufmann Publishers Inc.

Nipkow, T., Paulson, L. C., & Wenzel, M. (2002). Isabelle/HOL: A Proof Assistant for Higher-Order Logic (LNCS 2283). Berlin: Springer.

Nückles, M. & Janetzko, D. (1997). The role of semantic similarity in the comprehension of metaphor. Nineteenth Annual Conference of the Cognitive Science Society, Stanford, CA. Erlbaum.

Ortony, A. (1979). Beyond Literal Similarity. Psychological Review, 86, 161-180. Pirolli, P., Fu, W.-T., Reeder, R., & Card, S. K. (2002). A User-Tracing Architecture for

Modeling Interaction with the World Wide Web. Advanced Visual Interfaces, Trento, Italy.

Richards, J. & Egenhofer, M. (1995). A Comparison of Two Direct-Manipulation GIS User Interfaces for Map Overlay. Geographical Systems, 2 (4), 267-290.

Riedeman, C. (2005). Matching Names and Definitions of Topological Operators. In A. G. Cohn & D. M. Mark (Eds.), Conference on Spatial Information Theory (COSIT'05) (LNCS 3693, pp. 49-66). Berlin: Springer.

Russell, S. J. & Norvig, P. (2003). Artificial Intelligence - A Modern Approach. London: Prentice-Hall International, Inc.

Scaruffi, P. (2001). Thinking About Thought. 2001. Retrieved 02/24/06 from http://www.thymos.com/tat/metaphor.html

Schröder, L. & Mossakowski, T. (2002). HASCASL: Towards Integrated Specification and Development of Functional Programs. In H. Kirchner & C. Ringeissen (Eds.), Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology (LNCS 2422, pp. 99-116). Berlin: Springer.

Sevcenko, M. (2003). Online Presentation of an Upper Ontology. Proceedings of Znalosti, Ostrava, Czech Republic.

Shneiderman, B. & Plaisant, C. (2004). Designing the User Interface: Strategies for Effective Human-Computer Interaction. Boston: Pearson Education, Inc.

Smith, D. C., Irby, C., Kimball, R., Verplank, B., & Harslem, E. (1983). Designing the Star User Interface. In P. Degano & E. Sandewall (Eds.), Integrated Interactive Computing Systems (pp. 297-313). Amsterdam: North-Holland.

Sorrows, M. E. & Hirtle, S. C. (1999). The Nature of Landmarks for Real and Electronic Spaces. In C. Freksa & D. Mark (Eds.), Conference on Spatial Information Theory (COSIT'99) (LNCS 1661, pp. 37-50). Berlin: Springer.

Thompson, S. (1999). Haskell: The Craft of Functional Programming. Harlow, England: Addison-Wesley.

Tsou, M.-H. & Buttenfield, B. P. (1997). A Direct Manipulation Interface for Geographical Information Processing. In M. J. Kraak & M. Molenaar (Eds.), Advances in GIS Research II: Proceedings of the 7th International Symposium on Spatial Data Handling (pp. 13B.37-13B.47). Delft: Taylor and Francis.

Weidenbach, C., Brahm, U., Hillenbrand, T., Keen, E., Theobalt, C., & Topic, D. (2002). SPASS Version 2.0. In A. Voronkov (Ed.), Proceedings of the 18th International Conference on Automated Deduction (LNCS 2392, pp. 275-279). Berlin: Springer.