scispace - formally typeset
Search or ask a question

Showing papers on "Graph (abstract data type) published in 1999"


Journal ArticleDOI
09 Sep 1999-Nature
TL;DR: The World-Wide Web becomes a large directed graph whose vertices are documents and whose edges are links that point from one document to another, which determines the web's connectivity and consequently how effectively the authors can locate information on it.
Abstract: Despite its increasing role in communication, the World-Wide Web remains uncontrolled: any individual or institution can create a website with any number of documents and links. This unregulated growth leads to a huge and complex web, which becomes a large directed graph whose vertices are documents and whose edges are links (URLs) that point from one document to another. The topology of this graph determines the web's connectivity and consequently how effectively we can locate information on it. But its enormous size (estimated to be at least 8×108 documents1) and the continual changing of documents and links make it impossible to catalogue all the vertices and edges.

4,135 citations


Book ChapterDOI
26 Jul 1999
TL;DR: This paper describes two algorithms that operate on the Web graph, addressing problems from Web search and automatic community discovery, and proposes a new family of random graph models that point to a rich new sub-field of the study of random graphs, and raises questions about the analysis of graph algorithms on the Internet.
Abstract: The pages and hyperlinks of the World-Wide Web may be viewed as nodes and edges in a directed graph. This graph is a fascinating object of study: it has several hundred million nodes today, over a billion links, and appears to grow exponentially with time. There are many reasons -- mathematical, sociological, and commercial -- for studying the evolution of this graph. In this paper we begin by describing two algorithms that operate on the Web graph, addressing problems from Web search and automatic community discovery. We then report a number of measurements and properties of this graph that manifested themselves as we ran these algorithms on the Web. Finally, we observe that traditional random graph models do not explain these observations, and we propose a new family of random graph models. These models point to a rich new sub-field of the study of random graphs, and raise questions about the analysis of graph algorithms on the Web.

1,116 citations



Proceedings Article
31 Jul 1999
TL;DR: It is shown that STRIPS problems can be directly translated into SAT and efficiently solved using new randomized systematic solvers and that polynomialtime SAT simplification algorithms applied to the encoded problem instances are a powerful complement to the "mutex" propagation algorithm that works directly on the plan graph.
Abstract: The Blackbox planning system unifies the planning as satisfiability framework (Kautz and Selman 1992, 1996) with the plan graph approach to STRIPS planning (Blum and Furst 1995). We show that STRIPS problems can be directly translated into SAT and efficiently solved using new randomized systematic solvers. For certain computationally challenging benchmark problems this unified approach outperforms both SATPLAN and Graphplan alone. We also demonstrate that polynomialtime SAT simplification algorithms applied to the encoded problem instances are a powerful complement to the "mutex" propagation algorithm that works directly on the plan graph.

508 citations


01 Jan 1999
TL;DR: ONION, a user-friendly toolkit, provides a sound foundation to simplify the work of domain experts, enables integration with public semantic dictionaries, like Wordnet, and will derive ODMG-compliant mediators automatically.

337 citations


Journal ArticleDOI
TL;DR: In this article, a variant of the chip-firing game on a graph is defined and the set of configurations that are stable and recurrent for this game can be given the structure of an abelian group, and the order of the group is equal to the tree number of the graph.
Abstract: A variant of the chip-firing game on a graph is defined. It is shown that the set of configurations that are stable and recurrent for this game can be given the structure of an abelian group, and that the order of the group is equal to the tree number of the graph. In certain cases the game can be used to illuminate the structure of the group.

309 citations


Journal ArticleDOI
TL;DR: This work describes in more detail the reference model for role-based access control introduced by Nyanchama and Osborn, and the role-graph model with its accompanying algorithms, which is one way of implementing role-role relationships.
Abstract: We describe in more detail than before the reference model for role-based access control introduced by Nyanchama and Osborn, and the role-graph model with its accompanying algorithms, which is one way of implementing role-role relationships. An alternative role insertion algorithm is added, and it is shown how the role creation policies of Fernandez et al. correspond to role addition algorithms in our model. We then use our reference model to provide a taxonomy for kinds of conflict. We then go on to consider in some detail privilege-privilege and and role-role conflicts in conjunction with the role graph model. We show how role-role conflicts lead to a partitioning of the role graph into nonconflicting collections that can together be safely authorized to a given user. Finally, in an appendix, we present the role graph algorithms with additional logic to disallow roles that contain conflicting privileges.

304 citations


Proceedings ArticleDOI
01 Nov 1999
TL;DR: This paper introduces a state transition graph called Customer Behavior Model Graph (CBMG), that is used to describe the behavior of groups of customers who exhibit similar navigational patterns, and proposes a clustering algorithm to characterize workloads of e-commerce sites in terms of CBMGs.
Abstract: Performance analysis and capacity planning for e-commerce sites poses an interesting problem: how to best characterize the workload of these sites. Tradition al workload characterization methods, based on hits/set, page views/set, or visits/set, are not appropriate for e-commerce sites. In these environments, customers interact with the site through a series of consecutive and related requests, called sessions. Different navigational patterns can be observed for different groups of customers. In this paper, we propose a methodology for characterizing and generating e-commerce workload models. First, we introduce a state transition graph called Customer Behavior Model Graph (CBMG), that is used to describe the behavior of groups of customers who exhibit similar navigational patterns. A set of useful metrics, analytically derived from the analysis of the CBMG, is presented. Next, we define a workload model and show the steps required to obtain its parameters. We then propose a clustering algorithm to characterize workloads of e-commerce sites in terms of CBMGs. Finally, we present and discuss experimental results of the use of proposed methodology.

301 citations


Journal ArticleDOI
01 Oct 1999
TL;DR: This work investigates the ability of a group of robots, that communicate by leaving traces, to perform the task of cleaning the floor of an un-mapped building, or any task that requires the traversal of an unknown region.
Abstract: We investigate the ability of a group of robots, that communicate by leaving traces, to perform the task of cleaning the floor of an un-mapped building, or any task that requires the traversal of an unknown region. More specifically, we consider robots which leave chemical odour traces that evaporate with time, and are able to evaluate the strength of smell at every point they reach, with some measurement error. Our abstract model is a decentralized multi-agent adaptive system with a shared memory, moving on a graph whose vertices are the floor-tiles. We describe three methods of covering a graph in a distributed fashion, using smell traces that gradually vanish with time, and show that they all result in eventual task completion, two of them in a time polynomial in the number of tiles. Our algorithms can complete the traversal of the graph even if some of the agents die or the graph changes during the execution, as long as the graph stays connected. Another advantage of our agent interaction processes is the ability of agents to use noisy information at the cost of longer cover time.

301 citations


01 Jan 1999
TL;DR: This thesis develops efficient combinatorial optimization algorithms for several important classes of energy functions which incorporate everywhere smooth, piecewise constant, and piecewise smooth priors, and demonstrates the effectiveness of the approach on image restoration, stereo, and motion.
Abstract: Energy minimization is an elegant approach to computer vision. Vision problems usually have many solutions due to uncertainties in the imaging process and ambiguities in visual interpretation. The energy function encodes the problem constraints, and its minimum gives the optimal solution. Despite numerous advantages, this approach is severely limited by the high computational cost. The main contribution of my thesis lies in developing efficient combinatorial optimization algorithms for several important classes of energy functions which incorporate everywhere smooth, piecewise constant, and piecewise smooth priors. These priors assume, respectively, that the quantity to be estimated varies smoothly over its domain, consist of several pieces with constant values, or consist of several pieces with smoothly varying values. The algorithms rely on graph cuts as a powerful optimization technique. For a certain everywhere smooth prior we develop an algorithm which finds the exact minimum by computing a single graph cut. This method is most suitable to estimate quantities without discontinuities. But even when discontinuities exist, the method produces good results in certain cases. The running time is low order polynomial. For several wide classes of piecewise smooth priors we develop two approximation algorithms (we show that exact minimization in NP-hard in these cases). These algorithms produce a local minimum in interesting large move spaces. Furthermore, one of them finds a solution within a known factor from the optimum. The algorithms are iterative and compute several graph cuts at each iteration. The running time at each iteration is effectively linear due to the special graph structure. In practice it takes just a few iterations to converge. Moreover most of the progress happens during the first iteration. For a certain piecewise constant prior we adapt the algorithms developed for the piecewise smooth prior. One of them finds a solution within a factor of two from the optimum. In addition we develop a third algorithm which finds a local minimum in yet another move space. We demonstrate the effectiveness of our approach on image restoration, stereo, and motion. For the data with ground truth, our methods significantly outperform standard methods.

282 citations


Proceedings ArticleDOI
23 Jun 1999
TL;DR: The proposed tracker allows to deal with partial occlusions, stop and go motion in very challenging situations and demonstrates results on a number of different real sequences.
Abstract: We address the problem of detection and tracking of moving objects in a video stream obtained from a moving airborne platform. The proposed method relies on a graph representation of moving objects which allows to derive and maintain a dynamic template of each moving object by enforcing their temporal coherence. This inferred template along with the graph representation used in our approach allows us to characterize objects trajectories as an optimal path in a graph. The proposed tracker allows to deal with partial occlusions, stop and go motion in very challenging situations. We demonstrate results on a number of different real sequences. We then define an evaluation methodology to quantify our results and show how tracking overcome detection errors.

Journal ArticleDOI
TL;DR: It is argued that far from ignoring geometric and metric properties the ‘line graph’ internalises them into its structure of the graph and in doing so allows the graph analysis to pick up the nonlocal, or extrinsic, properties of spaces that are critical to the movement dynamics through which a city evolves its essential structures.
Abstract: A common objection to the space syntax analysis of cities is that even in its own terms the technique of using a nonuniform line representation of space and analysing it by measures that are essentially topological ignores too much geometric and metric detail to be credible. In this paper it is argued that far from ignoring geometric and metric properties the 'line graph' internalises them into its structure of the graph and in doing so allows the graph analysis to pick up the nonlocal, or extrinsic, properties of spaces that are critical to the movement dynamics through which a city evolves its essential structures. Nonlocal properties are those which are defined by the relation of elements to all others in the system, rather than those which are intrinsic to the element itself. The method also leads to a powerful anslysis of urban stuctures because cities are essentially nonlocal systems.

Patent
18 Aug 1999
TL;DR: In this article, a directed graph called an object dependence graph is used to represent the data dependencies between objects, and the update can include either storing a new version of the object in the cache; or deleting an object from the cache.
Abstract: A determination can be made of bow changes to underlying data affect the value of objects. Examples of applications are: caching dynamic Web pages; client-server applications whereby a server sending objects (which are changing all the time) to multiple clients can track which versions are sent to which clients and how obsolete the versions are; and any situation where it is necessary to maintain and uniquely identify several versions of objects, update obsolete objects, quantitatively assess how different two versions of the same object are, and/or maintain consistency among a set of objects. A directed graph called an object dependence graph, may be used to represent the data dependencies between objects. Another aspect is constructing and maintaining objects to associate changes in remote data with cached objects. If data in a remote data source changes, database change notifications are used to “trigger” a dynamic rebuild of associated objects. Thus, obsolete objects can be dynamically replaced with fresh objects. The objects can be complex objects, such as dynamic Web pages or compound-complex objects, and the data can be underlying data in a database. The update can include either storing a new version of the object in the cache; or deleting an object from the cache. Caches on multiple servers can also be synchronized with the data in a single common database. Updated information, whether new pages or delete orders, can be broadcast to a set of server nodes, permitting many systems to simultaneously benefit from the advantages of prefetching and providing a high degree of scaleability.

Patent
Jennifer Rexford1, Anees Shaikh1
24 Jun 1999
TL;DR: In this paper, the authors present a data structure for storing minimum-cost routes to each destination node in a network, in particular, the routes are stored using a directed acyclic graph representing at least one minimum cost pre-computed route for each node in the network.
Abstract: The present invention provides a method and system for computing and storing minimum-cost routes to all destination nodes in a network. According to one embodiment, the present invention is applied in the context of computing quality of service routes using a source-directed connection-oriented routing environment. The route computation scheme employs an extension to Dijkstra's algorithm coupled with discretized link costs to generate a shortest-path graph with one or more routes to each destination. The present invention provides a compact data structure for storing at least one minimum-cost route to each destination node in a network. In particular, the routes are stored using a directed acyclic graph representing at least one minimum-cost pre-computed route for each destination node in the network. Each destination node in the network is associated with one or more parent pointers pointing to an upstream node in network that lies along a minimum-cost route. Routes are retained in the data structure and not extracted until connection arrival. Upon connection arrival, a route is extracted from the data structure by performing a depth-first search of the acyclic graph, which returns the first route in the common case. As part of the route extraction process, the feasibility of each link in the route is determined based upon a recent link-state. Links that are infeasible are excluded from the extracted route. In addition, according to one embodiment, promising routes are re-ranked in the data structure to provide computational benefits for future route extractions.

Proceedings ArticleDOI
01 May 1999
TL;DR: In this article, the hardness versus randomness trade-offs for a broad class of randomized procedures are established for graph nonisomorphism and bounded round Arthur-Merlin games.
Abstract: We establish hardness versus randomness trade-offs for a broad class of randomized procedures. In particular, we create efficient nondeterministic simulations of bounded round Arthur-Merlin games using a language in exponential time that cannot be decided by polynomial size oracle circuits with access to satisfiability. We show that every language with a bounded round Arthur-Merlin game has subexponential size membership proofs for infinitely many input lengths unless the polynomial-time hierarchy collapses. This provides the first strong evidence that graph nonisomorphism has subexponential size proofs. We set up a general framework for derandomization which encompasses more than the traditional model of randomized computation. For a randomized procedure to fit within this framework, we only require that for any fixed input the complexity of checking whether the procedure succeeds on a given random bit sequence is not too high. We then apply our derandomization technique to four fundamental complexity theoretic constructions: The Valiant-Vazirani random hashing technique which prunes the number of satisfying assignments of a Boolean formula to one, and related procedures like computing satisfying assignments to Boolean formulas non-adaptively given access to an oracle for satisfiability. The algorithm of Bshouty et al. for learning Boolean circuits. Constructing matrices with high rigidity. Constructing polynomial-size universal traversal sequences. We also show that if linear space requires exponential size circuits, then space bounded randomized computations can be simulated deterministically with only a constant factor overhead in space.

Patent
Natalie S. Glance1
14 Dec 1999
TL;DR: In this paper, a node-link graph of all queries submitted to a data collection within a given period of time is constructed, where each node is a query and a link made between two nodes whenever the two queries are judged to be related.
Abstract: A method and system to facilitate searching a data collection, such as the World Wide Web, that takes advantage of the collective ability of all users to create queries to the data collection. First, a node-link graph of all queries submitted to a data collection within a given period of time is constructed. In the case of the World Wide Web, the queries would be to a particular search engine. In the graph, each node is a query. There is a link made between two nodes whenever the two queries are judged to be related. A first key idea is that the determination of relatedness depends on the documents returned by the queries, not on the actual terms in the queries themselves. For example, a criterion for relatedness could be that of the top ten documents returned for each query, the two lists have at least one document in common. The invention also describes a way to allow the user to peruse the network of related queries in an ordered way: following a path from a first cousin, to a second cousin to a third cousin, etc. to a set of results. By doing this, the user is exposed to related documents that were not returned as a result of their query. A second key idea is that the construction of the query graph transforms single user usage of the data collection (e.g. search) into collaborative usage: all users can tap into the knowledge base of queries submitted by others. This is because each of the related queries represents the knowledge of the user who submitted the query.

Journal ArticleDOI
TL;DR: An exploration algorithm whose penalty is O(|V(G)|) for every graph is given and it is shown that some natural exploration algorithms cannot achieve this efficiency.

Patent
15 Apr 1999
TL;DR: In this paper, a method for generating a tree structure representation of a generalized graph structure for display includes the more important links in the representation, where usage parameters are referenced in generating the tree structure from the generalized graph.
Abstract: A method for generating a tree structure representation of a generalized graph structure for display includes the more important links in the representation. Usage parameters are referenced in generating the tree structure from the generalized graph structure. Frequency, recency, spacing of accesses, and path information are exemplary types of usage parameters. A breadth-first or depth-first traversal of the graph references usage parameters associated with each node or link. The usage parameters which are associated with each node are referenced in order to determine the visitation order. The visitation order is determined by visiting the highest used nodes or links first. A method of displaying the tree structure references the usage parameters to determine the positioning of the nodes in the layout of the tree structure. In a preferred embodiment, the root node is positioned in the center of the layout. In one example, sibling nodes are spread out on links which emanate radially about their parent. The highest-used sibling nodes can be placed farthest apart from each other so as to achieve optimal separation so that they have the most growth space. The lowest-used nodes are then placed in the remaining space between the high-usage nodes. In another example, sibling nodes are positioned at the same radius from the root node. Each leaf node in the hierarchy is assigned the same amount of angular space. The layout angle of each node is a function of the ranking of the node's usage parameter relative to its siblings. Derived usage parameters such as need probability, cocitation clustering, or functions of both node and link usages can alternatively be referenced.

Journal ArticleDOI
TL;DR: A very simple obstruction to small tree-width is proposed, showing that a graph has small Tree-width if and only if it contains no large highly connected set of vertices.


Patent
Shyh-Kwei Chen1, Jen-Yao Chung1, Mitchell A. Cohen1, Shiwa S. Fu1, Vibby Gottemukkala1 
05 Jan 1999
TL;DR: In this article, a system for automatically generating a style sheet includes a parser for generating a document type graph in accordance with an input structure, a graphical user interface tool for interactively mapping the graph to form a display template, and a script generator for generating and storing the style sheet.
Abstract: A system for automatically generating a style sheet includes a parser for generating a document type graph in accordance with an input structure, a graphical user interface tool for interactively mapping the document type graph to form a display template in accordance with user requirements and a script generator for generating and storing the style sheet in accordance with the graphical user interface and the design template.

Journal ArticleDOI
TL;DR: A new procedure for automatically generating test data that incorporates ideas from symbolic evaluation, constraint-based testing, and dynamic test data generation, and incorporates an intelligent search technique based on bisection is presented.
Abstract: Test data generation is one of the most technically challenging steps of testing software, but most commercial systems currently incorporate very little automation for this step. This paper presents results from a project that is trying to find ways to incorporate test data generation into practical test processes. The results include a new procedure for automatically generating test data that incorporates ideas from symbolic evaluation, constraint-based testing, and dynamic test data generation. It takes an initial set of values for each input, and dynamically ‘pushes’ the values through the control-flow graph of the program, modifying the sets of values as branches in the program are taken. The result is usually a set of values for each input parameter that has the property that any choice from the sets will cause the path to be traversed. This procedure uses new analysis techniques, offers improvements over previous research results in constraint-based testing, and combines several steps into one coherent process. The dynamic nature of this procedure yields several benefits. Moving through the control flow graph dynamically allows path constraints to be resolved immediately, which is more efficient both in space and time, and more often successful than constraint-based testing. This new procedure also incorporates an intelligent search technique based on bisection. The dynamic nature of this procedure also allows certain improvements to be made in the handling of arrays, loops, and expressions; language features that are traditionally difficult to handle in test data generation systems. The paper presents the test data generation procedure, examples to explain the working of the procedure, and results from a proof-of-concept implementation. Copyright © 1999 John Wiley & Sons, Ltd.

Journal ArticleDOI
TL;DR: The concepts of a constructor graph and covalent distance matrix have been developed to aid in the generation of a qualitative descriptor for the straightforward, consistent and ultimately automatic definition of patterns.
Abstract: To provide a foundation for further theoretical and software development of the application of graph sets to patterns of hydrogen bonding and other intermolecular interactions a number of mathematical concepts and tools are defined, developed and demonstrated. Following a review of the basic definitions and uses of graph sets, the directional properties of hydrogen bonds are now included in the treatment. The concepts of a constructor graph and covalent distance matrix have been developed to aid in the generation of a qualitative descriptor for the straightforward, consistent and ultimately automatic (with appropriate software) definition of patterns. An additional mathematical tool, the arrowed T-labeling, has been developed to deal with situations in which pattern-forming moieties are located on crystallographic special positions. To demonstrate the utility and various features of these concepts they are applied in detail to two particular structures, polymorphic iminodiacetic acid [N-(carboxymethyl)glycine] and trans-tetraamminedinitrocobalt(III) acetate. To facilitate the application and use of graph sets many of these developments have already been incorporated into the software of the Cambridge Structural Database, as described in the accompanying paper.

Journal ArticleDOI
TL;DR: The auditorium visualization, augmented with drill-down capabilities to explore site profile data, helps users to find high-quality sites as well as sites that serve a particular function.
Abstract: For many purposes, the Web page is too small a unit of interaction and analysis. Web sites are structured multimedia documents consisting of many pages, and users often are interested in obtaining and evaluating entire collections of topically related sites. Once such a collection is obtained, users face the challenge of exploring, comprehending and organizing the items. We report four innovations that address these user needs: (1) we replaced the Web page with the Web site as the basic unit of interaction and analysis;(2) we defined a new informationstructure, the clan graph, that groups together sets of related sites; (3) we augment the representation of a site with a site profile, information about site structure and content that helps inform user evaluation of a site; and (4) we invented a new graph visualization, the auditorium visualization, that reveals important structural and content properties of sites within a clan graph. Detailed analysis and user studies document the utility of this approach. The clan graph construction algorithm tends to filter out irrelevant sites and discover additional relevant items. The auditorium visualization, augmented with drill-down capabilities to explore site profile data, helps users to find high-quality sites as well as sites that serve a particular function.

Patent
23 Feb 1999
TL;DR: In this article, the authors present a system and method of monitoring and analyzing the performance of a computer system and its components in a data processing network and for proposing changes to the network to improve the performance.
Abstract: A system and method of monitoring and analyzing the performance of a computer system and its components in a data processing network and for proposing changes to the network to improve the performance. The system involves identifying undesirable conditions (sometimes called bottlenecks) in the system, determining which bottlenecks are the most severe in affecting the performance of the system and in proposing changes to the components of the system to improve performance of the network. The present invention uses historical data and forecasting techniques to predict bottlenecks which have not occurred yet but which can be expected, so that further bottlenecks can be projected, along with a prediction interval to indicate the confidence of the prediction. The further projections and the prediction interval are provided in a graph which is available to the user over the Internet, if desired, using HTML and hot links.

Journal ArticleDOI
TL;DR: The main result states that ?(Gn) is shellable, in particular, Cohen?Macaulay, which can be further translated to say that the Stanley?Reisner ring of ?

Patent
17 Aug 1999
TL;DR: In this article, a user interface is implemented as an ActiveX control having a viewer component for displaying and navigating graph structure (hierarchy or network) which has application for displaying a system of interconnected nodes such as a graph, a network, an organizational chart, a flowchart etc.
Abstract: Method and apparatus for displaying and navigating data organized in the form of a graph structure (hierarchy or network) is presented. The invention has application for displaying a system of interconnected nodes such as a graph, a network, an organizational chart, a flowchart etc. wherein data or information is associated with nodes of the system. A user interface is implemented as an ActiveX control having a viewer component for displaying and navigating graph structure (for example a data mining model over data records or a directory structure over a set of files). The viewer component updates the contents of related windows that display different aspects of the components (nodes) of the data structure. A thumbnail window presents the user with an overview of the data structure. A layout window presents a more detailed view of part of the graph structure. Other windows display context and detailed properties associated with particular selected nodes. One instance of the invention is used for displaying structure of a database classifier which organizes data in a tree. A tree viewer maintains a depiction of the entire graph (or tree) in the Thumbnail window and depicts a detailed portion of the graph in a larger layout window. The user can move the mouse pointer over either the thumbnail or the layout window and by mouse actuated inputs can control the manner in which the window depicts the tree structure. Color coding of properties of the structure being displayed, along with auxiliary detail windows for displaying values and histograms, can be used to quickly navigate a large structure and locates zones of interest within it.

Journal ArticleDOI
TL;DR: This work proves that CQDDs allow to compute the exact effect of the repeated execution of any fixed cycle in the transition graph of a system and defines a generic reachability analysis semi-algorithm parametrized by a set of cycles Θ.

Journal ArticleDOI
TL;DR: The results of performance assessment support the robustness of the approach developed and it was shown that the use of graph structure could simplify the problem of building detection in a great deal.

Book
01 Dec 1999
TL;DR: The following subsections explain in more detail how graph grammars may be used to distinguish correct visual sentences from incorrect ones and to keep the ASG and SRG derivation histories and the underlying graphs in a consistent state.
Abstract: Syntax Graph (ASG) Derivation Spatial Relations Graph (SRG) Derivation translation syntax-directed editor interpreter/compiler layout algorithm graphics editor scanning rendering parsing Figure 3.1: Three levels of visual sentence representation. Please note that the derivation histories of SRGs and ASGs have to be modeled as separate data structures. A usual syntax-directed editor for ASGs or SRGs manipulates thereby the explicitly represented derivation history of a graph together with the graph itself. We will see later on in Section 3.4 that it is often possible to replace the graph grammar de nition of a visual language by a graph transformation system, which de nes all legal syntax-directed editor operations for a language of graphs without maintaining any derivation histories. It is then no longer possible to manipulate SRGs using a low-level graphics editor and to use a parser for regenerating the corresponding derivation history as well as the related ASG as shown in Figure 3.2. Abstract Syntax Graph (ASG) Spatial Relations Graph (SRG) translation structure-oriented editor interpreter layout algorithm layout editor rendering compiler Figure 3.2: A simpli ed visual sentence representation approach. Until now, we did not explain how ASGs and SRGs are related to each other, i.e., how an update of one graph is translated into an update of the related 120 CHAPTER 3. APPLICATION TO VISUAL LANGUAGES graph. In the most general case the relationships between ASGs and SRGs are modeled as coupled graph grammars as introduced in [80,93]. Assuming that any ASG graph grammar production is related to a single SRG graph grammar production and vice versa, it is a straightforward task to keep the ASG and SRG derivation histories and thereby the underlying graphs in a consistent state. In the absence of explicitly represented derivation histories a more primitive procedure has to be used to translate directly any ASG or SRG update into an update of the corresponding graph (as sketched in Figure 3.2.) The following subsections explain in more detail how graph grammars may be used to de ne the syntax of visual sentences in order to distinguish correct visual sentences from incorrect ones and to de ne their structure. Graph grammars are brie y introduced in the following Subsection 3.3.2. Subsections 3.3.3 and 3.3.4 then present two di erent approaches how to represent visual sentences by graphs. Subsection 3.3.3 uses hypergraphs, whereas Subsection 3.3.4 uses graph structures. For each of these approaches, di erent types of graph grammars used for describing VL syntax are discussed, too. These subsections as well as the following Section 3.5 about graph grammar parsers disregard the distinction between ASGs and SRGs to a certain extent. The discussion related to Figure 3.1 and Figure 3.2 will be resumed later on in Section 3.4. There we will see that all presented graph-based VL environment (editor) generators realize only subsets of the conceptual VL representation model of Figure 3.1. 3.3.2 Graph Grammars A visual language with a set of valid visual sentences that are represented by some kind of graphs (hypergraphs in Subsection 3.3.3 and graph structures in Subsection 3.3.4) corresponds with the language of the visual sentences' representations. Now we will brie y introduce general graph and hypergraph grammars. In the following subsections, we will then de ne several classes of grammars|context-free (CF) hypergraph grammars, context-free hypergraph grammars with embeddings (CFe), and unrestricted graph grammars|which are apt to de ne such languages of graph representations. For these grammars, we will present parsing algorithms in Section 3.5. Such a parser is necessary for distinguishing correct visual sentences from incorrect ones and for constructing the logical structure of correct diagrams. A graph grammar is similar to a string grammar in the sense that the grammar consists of nite sets of labels for nodes and edges, an axiom, i.e., an initial graph, and a nite set of productions. Each node, respectively edge, can be equipped with an element of the label set. These elements can be used as types or as terminal or nonterminal symbols. Each production consists of a 3.3. DEFINING THE SYNTAX OF VISUAL LANGUAGES 121 left-hand-side graph (LHS) and a right-hand-side graph (RHS). It describes how an occurrence of the LHS in a graph can be replaced by the RHS; the resulting graph is said to be derived from the previous one by a rewrite step. The language of a graph grammar is the set of all graphs which can be derived in a nite sequence of rewrite steps from the initial graph. A hypergraph grammar is a graph grammar with hypergraphs instead of graphs and hyperedges instead of edges. The axiom of a hypergraph grammar is a graph consisting of a single hyperedge that visits each of the axioms nodes and that has a nonterminal label (\axiom label"). Similar to string grammars certain types of graph grammars with di erent generative power are distinguished. Each type is de ned by imposing certain restrictions on their productions and permitted derivation sequences. In Subsections 3.3.3 and 3.3.4 we will discuss three grammar types. The reason for restricting grammars is that the existence of parsers for a grammar and their e ciency highly depend on these restrictions. To motivate and illustrate the need for di erent graph grammar types we will use Nassi-Shneiderman diagrams (NSDs), Message Sequence Charts (MSCs), and a speci c kind of UML class diagrams as running examples. NSDs are a VL for representing structured programs [76] by attaching boxes to obtain rectangular diagrams. MSC is a language for the description of interaction between entities [57]. A diagram in MSC describes which messages are interchanged between process instances, and what internal actions they perform. UML [82] o ers a comprehensive VL for system modelling. It contains, e.g., class diagrams for describing object-oriented classes and their relationships. In our example we restrict class diagrams to classes represented by boxes and associations represented by arrows between classes. Associations may be augmented by association classes; this is visualized by a box representing the association class connected to the association with a dashed line. Figure 3.3 shows sample diagrams for NSD, MSC, and UML class diagrams. Also similar to string grammars, graph grammars can make use of attributes. As described in the following, we extend nodes and edges by attributes which may be used to represent actual positions and sizes of pictorial objects. E.g., for the NSD example, we will use two node attributes x and y for the coordinates of the box vertex represented by this node. Of course, other information like color and texture can also be represented by attributes. Among other things, the next subsection and Section 3.4 brie y discuss how attributed graph grammars may be used to de ne the syntax of VL sentences. Attributed graph grammars may process attributes quite similar as attributed string grammars [62]: each node and each (hyper)edge with the same label has to carry attributes of the 122 CHAPTER 3. APPLICATION TO VISUAL LANGUAGES input x while x>1 x := 3x-1 x := x/2 y n x even ? i1 i2 m0 m1 msc simple a works_for Job Tasks Employee Company (b) (c) (a) Figure 3.3: Instance of a Nassi-Shneiderman diagram (a), of a Message Sequence Chart (b), and of a UML class diagram (c). same types. Each production describes relationships between attributes which are used by the production. Whenever a production is going to be applied, i.e., when the LHS is matched with a host subgraph, matching attributes are identi ed. The relationships between the production's attributes either restrict application of the production (if the attributes of the matched subgraph do not satisfy required relations) or they contain information how to compute attribute values which were yet unknown. 3.3.3 Hypergraph Representation of Visual Sentences This subsection explains how hypergraphs and hypergraph grammars can be used to model visual sentences. Primarily, we will discuss graphs which are closely related to the visual appearance of a VL sentence, i.e., the sentence's SRG. Of course, the same graph concepts can be used for the ASG. However, the structure of ASGs is less determined by the sentence's visual appearance, but more by its logical structure and how the sentence is further processed within the VL environment. Since we focus on VLs as such but less on their use within VL environments, we emphasize SRGs. We will rst describe how hypergraphs may be used as a representation of visual sentences. We will then discuss how the syntax of certain VLs can be expressed by context-free hypergraph grammars. A more expressive grammar approach that allows to describe a less restricted syntax is discussed afterwards. Even more general kinds of hypergraph grammars may be used in this context, but we restrict our discussion to these kinds of syntax since they allow for more or less e cient parsing which is described in Section 3.5. Subsection 3.3.4 will continue with a di erent approach for representing visual sentences. Since parsing is not an issue of this approach, a more general kind of syntax is described there. 3.3. DEFINING THE SYNTAX OF VISUAL LANGUAGES 123 Hypergraph Model There are two ways to use graphs for modeling visual sentences: Pictorial objects are either represented by nodes and relationships between them by edges, or pictorial objects are represented by edges and nodes are used for connections between related objects. A variant of this rst approach is discussed in detail in Subsection 3.3.4. This subsection explains the second approach in detail. It is an appropriate means for representing visual sentences in a uniform way. In particular, free-hand editing as used by DiaGen (cf. Subsection 3.4.3) bene ts from this approach. However, it requires hypergraphs instead of graphs as in