Correlating the effects of flow and telepresence in virtual worlds: Enhancing our understanding of user behavior in game-based learning Recent research on online learning suggests that virtual worlds are becoming an important environment to observe the experience of flow. From these simulated spaces, researchers may gather a deeper understanding of cognition in the context of game-based learning. Csikszentmihalyi (1997) describes flow as a feeling of increased psychological immersion and energized focus, with outcomes that evoke disregard for external pressures and the loss of time consciousness, issuing in a sense of pleasure. Past studies suggest that flow is encountered in an array of activities and places, including those in virtual worlds. The authors' posit that flow in virtual worlds, such as Second Life (SL), can be positively associated with degrees of the cognitive phenomenon of immersion and telepresence. Flow may also contribute to a better attitude and behavior during virtual game-based learning. This study tested three hypotheses related to flow and telepresence, using SL. Findings suggest that both flow and telepresence are experienced in SL and that there is a significant correlation between them. These findings shed light on the complex interrelationships and interactions that lead to flow experience in virtual gameplay and learning, while engendering hope that learners, who experience flow, may acquire an improved attitude of learning online. ''Flow'' or ''optimal experience'' is a highly enjoyable state of consciousness that occurs when our skills match the challenges that we are undertaking. Csikszentmihalyi (1997) describes flow as a feeling of enjoyment and psychological immersion, energized focus, and involvement, often accompanied by positive emotions or sense of pleasure. In such a state of mind, time appears to stand still, we lose our sense of self, and we enjoy engaging in an activity for its own sake. Flow's benefits relative to other states of consciousness make it a useful goal as people look to building virtual environments for online business, health care, education, and gaming. Salmon (2009) suggests that virtual space has created a context for the ''new cultural experience' ' (p. 532) . Many of the activities we currently associate with the two-dimensional Web will eventually develop into the three-dimensional (3D) Web (Manyika, Roberts, & Sprague, 1965) , including 3D applications that integrate real-life with virtual ''learning activities that enable unstructured spaces for interaction '' (Savin-Baden, 2008, p. 528) . Such environments already provide affordances, such as particular game styles, visual features, personalization, independence (ownership), and immersion that appeal to high school and college age users (Salmon, 2009) . Ultimately, what the so-called ''play-learner'' experiences is what Warburton (2009) refers to as ''experiential learning, cooperative learning, and game-based learning'' (p. 421). This has major implications for the field of education.. Virtual worlds now allow educators to extend the traditional pedagogical formula for learning well beyond both brick (traditional schools) and click (traditional educational software) paradigms currently employed. In addition to individual or personal flow experiences, students may also experience social flow while using computer games that cause them to interact with one another within a virtual learning community (Inal and Cagiltay, 2007) . In 3D space participants learn to play, establish group affiliations, and create a strong sense of presence. The small groups of users (represented by avatars) formed in these settings have the ability to learn a range of topics together (Salmon, 2009) . By applying Csikszentmihalyi and Csikszentmihalyi's (1988) flow principles to the areas of online gameplay and learning, designers can create virtual worlds that present more opportunities for flow. Early attempts at applying flow theory to such ends include investigations of online consumer behavior and marketing (Hoffman & Novak, 1996) , computer-mediated communication (Trevino & Webster, 1992) , and user intrinsic interest, curiosity and attention (Webster, Trevino, & Ryan, 1993) .. The studies described above suggest that flow experience is a significant cognitive state in online virtual community behavior that may influence serious gameplay and learning. In the future, online environments (and the functions and tasks they present to users) will need to facilitate flow experience. Hence, it is imperative that designers of virtual worlds understand the mechanisms underlying the enjoyment of virtual experiences and flow. This is argued by Finneran and Zhang (2003) , who called for further research into flow because of its important contribution to our understanding of the optimal experience.. Telepresence is also a sensation unique to online environments, which causes users feel they are part of the action (Novak, Hoffman, & Yung, 2000) . Telepresence has been shown to support exploratory behavior in online environments such as virtual communities (Finneran & Zhang, 2005) and may be a critical means of increasing the user's sense of ''being there,'' i.e., being completely immersed in virtual space. For example, video gamers often become totally absorbed in the experience of a game's flow, thereby experiencing a distorted sense of time and many positive emotions. In such a mental state, telepresence transports the player to a virtual place where their connection with real time and space slowly fade into the background of consciousness, while flow takes a prominent place. Gamers consider this an optimal experience, one that is highly valued, desired, and indicative of the ''flow experience.'' Work of several researchers who have published findings on the relationship between flow and telepresence and virtual learning and gameplay is also significant (Draper & Blair, 1996; Finneran & Zhang, 2003; Novak & Hoffman, 1997; Sheridan, 1992; Steuer, 1992) .. With the emergence of virtual worlds, such as Second Life (SL), calls for research into flow in the context of game-based learning have also increased. None of this research, however, focuses specifically on flow and telepresence as virtual phenomena that can enhance the learning experience while promoting exploration and creativity. Therefore, this paper first examines past research on flow phenomenon to better identify and understand telepresence in a virtual world and then examines its application and relevance to gameplay and virtual learning. Also, the purpose of the study described here is to determine the degree to which flow and telepresence are experienced in a virtual environment, such as SL, as well as the level of correlation between them. Finally, this paper examines the implications of the findings of the research, building on an earlier pilot study (Faiola & Smyslova, 2009) . From these findings, the authors argue that subjective levels of flow may be positively associated with degrees of immersion and telepresence. This paper represents an attempt to disentangle the complex relationship between flow and telepresence in a virtual world. This research also attempted to advance the discussion of the relationship between flow and telepresence by presenting some observations of participant responses to questions related to the experience of virtual worlds. The authors argue that substantiating the presence of flow and telepresence in virtual worlds is not merely a matter of observation. Rather, that virtual world users not only have such experiences but also lose their sense and connection with real-time. In particular, gameplayers often feel totally immersed in the interactivity of a game, losing their sense of time, while feeling a heightened sense of pleasure, or what has been considered the gamers' optimal experience. Hence, the authors conclude that for these observed phenomena to be productively harnessed for use in education, they must be more rigorously understood. For this reason, the authors asked, do users experience flow and telepresence in a virtual world, and what is the correlation between the two?. If we hope to leverage the power of flow to drive advances in commerce and education, it will be necessary to gain a new understanding of the experiences of users required to support virtual learning. Fortunately, this is an exercise that seems destined to bring its own rewards. Recent trends in research suggest that ''flow theory'' provides new insights into field of HCI. However, flow occurs under a limited set of conditions. For example, users experience flow only if their movement through a virtual space feels seamless, while at the same time their skills match available challenges. Because the study of flow can clarify the features that contribute to an optimal experience, it is a more holistic metric for understanding HCI than traditional usability and time-on-task studies. User experiences of flow online can be affected by a number of factors, such as high levels of skill, control, challenge, arousal, and focused attention. Therefore, the study of flow in new environments, such as virtual worlds, has the potential to yield effective new tools for the design of such online spaces.. Moreover, the rich variety of interactions that take place in virtual gaming and learning communities may also provide a unique opportunity to study the effect of flow, providing additional insight into HCI theory and best practice. Hence, an understanding of the mechanisms underlying the enjoyment of virtual experiences will facilitate effective virtual world design with outcomes that directly impact user pleasure.. The final consideration in all this is the implications that these findings have for the field of distance education and emerging technologies that support virtual learning spaces. The fact that we are beginning to have the first rough approximations of cause and effect in the motivation of online learning is very significant. We believe this paper outlines several very important and useful first steps in understanding the complex interrelationships between flow and telepresence as users engage in online virtual learning and gameplay. For the future, we hope gathering additional evidence will allow us to better describe a person's experience while moving within a virtual world. We also hope that such research will be of value to virtual world developers and educators, helping them to create worlds with features to significantly enhance the user's immersive experience. Traditional cognitive approaches to research in HCI (such as SOAR and ACT-R 5 ) have tended to underestimate emotion and pleasure as factors that can have a dramatic influence on user experience. As Norman (2004) asserts, affect is linked to attitudes, expectations, and motivations, and produces a level of emotional response that plays a significant role in user cognition. These emotional states can be complex and can influence and even mediate aspects of user interaction, shaping one's virtual world experience. Applying HCI design theory to the development of computermediated environments, such as virtual worlds, can facilitate the experience of flow and has the potential to increase users' pleasure. For example, Ghani and Deshpande (1994) state that flow and high levels of enjoyment are correlated with higher online experimentation and exploration. These positive experiences of online users have wide implications for serious gaming researchers and educators.. The fact that effective HCI design can lead to higher degrees of flow is important in that it indicates that Csikszentmihalyi's model is suitable for examining the quality of users' experiences with technology, in particular online experiences within virtual worlds. This is because the requirements for a flow-inducing virtual experience (such as within SL) may be exactly the same as the demands for a user interface that has a high degree of usability. Finneran and Zhang (2003) came to the same conclusion when they identified that the high-level conceptualization of Csikszentmihalyi's flow model still needs to be challenged as it applies to a range of information technology environments. Moreover, Finneran and Zhang argue that ''in order for MIS/HCI researchers to progress further in understanding the antecedents of flow, we need to re-examine the over-arching framework of the original flow work [of Csikszentmihalyi]'' (p. 493).. Our findings support recent research (Faiola & Voiskounsky, 2007; Finneran & Zhang, 2005; Pilke, 2004; Rodriguez-Sanchez & Schaufeli, 2008; Sherry, 2004; Skadberg & Kimmel, 2004 ) that suggest that flow experience is a significant cognitive state in online activities. In particular, our findings for H 1 and H 2 support our position that both flow and telepresence are experienced in measurable ways in virtual space, and that flow can be positively associated with degrees of immersion and telepresence in a 3D virtual world such as SL. More importantly, we propose that considerable evidence supports H 3 , which states that flow can be correlated with telepresence. These findings also engender hope that virtual learners who experience flow may learn more about the educational subject matter provided online, leading to changes of attitude and behavior, including taking positive actions (Skadberg & Kimmel, 2004) .. Hence, based on the correlations between several important indicators of flow, the authors can conclude that there are strong connections between flow and telepresence in SL, and that the ability to interact with the virtual environment in a natural way can enhance a feeling of being present in a virtual world. At the same time, these correlations not only improve the current understanding of the virtual reality experience, they also provide partial support for models that seek to understand these interrelationships (Csikszentmihalyi, 1990; Hoffman & Novak, 1996; Novak et al., 1998) . 5 Soar is a computational theory developed by Newell (1990) for modeling a wide variety of human cognitive activities from syllogistic reasoning (Polk & Newell, 1995) to aircraft simulations (Jones et al., 1999) . As Byrne notes, ''Soar casts all cognitive activity as occurring in a problem space, which consists of a number of states. . . transformed through the applications of operators'' (p. 100). ACT-R (Adaptive Control of Thought-Rational) is a theoretical model that can be applied to HCI related to cognitive architecture related to problem solving, learning and memory (Byrne, 2001 ).

O O O O B O B O B I O O O O O O O O O O O O B I O O B I O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O B O B I O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O B O B O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O B I O O O O O O O O B O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Dominance-Based Multiobjective Simulated Annealing Abstract-Simulated annealing is a provably convergent optimizer for single-objective problems. Previously proposed multiobjective extensions have mostly taken the form of a single-objective simulated annealer optimizing a composite function of the objectives. We propose a multiobjective simulated annealer utilizing the relative dominance of a solution as the system energy for optimization, eliminating problems associated with composite objective functions. We also propose a method for choosing perturbation scalings promoting search both towards and across the Pareto front.We illustrate the simulated annealer's performance on a suite of standard test problems and provide comparisons with another multiobjective simulated annealer and the NSGA-II genetic algorithm. The new simulated annealer is shown to promote rapid convergence to the true Pareto front with a good coverage of solutions across it comparing favorably with the other algorithms.An application of the simulated annealer to an industrial problem, the optimization of a code-division-multiple access (CDMA) mobile telecommunications network's air interface, is presented and the simulated annealer is shown to generate nondominated solutions with an even and dense coverage that outperforms single objective genetic algorithm optimizers. A POPULAR and robust algorithm for solving single-objective optimization problems (those in which the user cares only about a single dependant variable of the system) is simulated annealing (SA) [1] , [2] . Geman and Geman [3] provided a proof that SA, if annealed sufficiently slowly, converges to the global optimum, and although the required cooling rate is infeasibly slow for most purposes, SA often gives well converged results when run with a faster cooling schedule. It is frequently the case in optimization problems, however, that there are several objectives of the system which the user is interested in optimizing simultaneously. Clearly, simultaneous optimization of several objectives is usually impossible and the curve (for two objectives) or surface (for three or more objectives) that describes the tradeoff between objectives is known as the Pareto-front. Although there are several well developed genetic algorithms and evolutionary schemes to address such multiobjective problems (see [4] and [5] for recent reviews), SA does not, in its usual formulation, provide a method for optimizing more than a single objective. SA has been adapted to multiobjective problems by combining the objectives into a single-objective function [6] - [10] ; however, these methods either damage the proof of convergence, or are limited (potentially severely) in their ability to fully explore the tradeoff surface.. We propose a modified SA algorithm which maps the optimization of multiple objectives to a single-objective optimization using the true tradeoff surface, maintaining the convergence properties of the single-objective annealer, while encouraging exploration of the full tradeoff surface. A method of practical implementation is also described, using the available nondominated data points from the current optimization to overcome the limitation that the true tradeoff surface is unavailable for most real-world problems.. In this paper, following some introductory material in Section II, we start by briefly discussing methods that combine objectives into a single composite objective. In Section III, we describe our dominance-based SA algorithm and, in Section IV, methods are described for improving the quality of the optimization energy measure when the available data points are few. Choosing an efficient scale for perturbations is an important component of scalar SA algorithms. The issue is further complicated in multiobjective algorithms because a perturbation may not only move the current state closer to or further from the Pareto front, but also transversally (i.e., across the front). In Section VI, we describe a method for setting the scale of perturbations and other runtime parameters. Results showing that the algorithm converges on a range of standard test problems are given in Section VII, and we show that the algorithm compares favorably with both the popular NSGA-II multiobjective genetic algorithm [11] and a multiobjective simulated annealer suggested by Nam and Park [8] . In Section VIII, we present results demonstrating the simulated annealer's performance on the optimization of the air interface of a code-division multiple-access (CDMA) network in the mobile telecommunications domain. We draw conclusions in Section IX. A preliminary report on this work appeared in [12] ; here, we provide additional detail on the theoretical foundations of the algorithm and present extensive empirical results comparing the algorithm with the NSGA-II genetic algorithm and the Nam and Park simulated annealer, together with the application to CDMA networks. We have presented an energy measure for use in multiobjective SA, which is based on the fundamental notion of dominance, rather than employing a weighted combination of the objectives. Simulated annealers employing this measure were shown to have good convergence properties on the first seven DTLZ test functions [29] , [33] . An extensive comparison with the evolutionary algorithm NSGA-II and the multiobjective annealer proposed by Nam and Park [8] on these problems shows that the annealer consistently generates archives closer to the true front than NSGA-II and Nam and Park's annealer and that in all but one case produces a significantly better coverage (on DTLZ7 NSGA-II generates fronts with a fuller coverage of the front, possibly due to the more specialized multiple point perturbations used).. We emphasize that the MOSA algorithm was not "tuned" for each of these problems, but run from a randomly chosen initial condition. More rapid convergence on many of these problems can be achieved by careful tuning of the annealing schedule but, of course, this requires many runs to discover a reasonable schedule; while tuning the annealing schedule is important in industrial applications where the annealer is to be run many times on similar problems (e.g., CDMA network optimization), we have refrained from tuning the annealer to particular test problems; here we simply limit all the algorithms to an evaluation count approximately at which the first algorithm converges on the true front. The only instance in which it was necessary to alter the annealers was for DTLZ7, for which single-point perturbations of solutions close to the Pareto front result in infeasible proposals, however, it should be noted that the problem with single-point perturbations will afflict all stochastic searches (evolutionary algorithms, GAs, etc.) that perturb a solution to generate a new candidate solution and that in this problem, MOSA performed almost as well with a very basic multiple-point perturbation scheme as NSGA-II did, which uses a more advanced scheme.. One possible limitation of the MOSA scheme is that the repeated perturbation of the single solution might make it difficult to explore a Pareto front which corresponds to several disjoint regions of parameter space (cf DTLZ6 in Section VII-G). However, work on schemes that permit perturbations across the front suggests that, in general, they do not converge more rapidly [43] .. An advantage of the dominance based energy measure is that it is not a priori biased towards any part of the front. Weighted sum optimizers implicitly use distance information in objective space, which renders them sensitive to the relative scalings of the objectives, whereas our algorithm is robust to rescalings of the objectives. Indeed, if the relative importance or scales of the objectives were known in advance it might be more straightforward to optimize a single, appropriately weighted, sum of the objectives. Notions of dominance and Pareto optimality are well suited to handling competing objectives whose relative importance is a priori unknown, and it is therefore natural to eschew metric information in favor of dominance concepts in order to guide the search. Indeed, we have argued that the dominancebased energy tends to promote exploration in sparsely populated regions and, in practice, we have shown that estimated fronts evenly and widely cover the true front. An area of current investigation is to use the singular values and vectors of the Jacobian matrix to guide the search on the front towards areas that would otherwise be sparsely populated.. Determining an efficient scale on which to make proposals is more complicated in the multiobjective case than the uniobjective case, because some proposals work to advance the front, while others traverse the front. We have proposed simple heuristics to adapt the perturbation scales and future work involves applying machine learning techniques to learn the local mapping between parameter and objective space in order to more sensitively control the search direction.. When applied to the optimization of a CDMA network, the annealer is successful in generating a front with a large number of mutually nondominating solutions, the vast majority of which are superior to the single solution located by a genetic algorithm optimizing a composite objective function. This allows a network engineer to make an informed decision regarding network configurations with additional knowledge of the costs of the tradeoffs involved. Further work in this direction will be focused on optimizations involving both more parameters, such as antenna azimuths and downtilts, and additional objectives relating to the quality of service for subscribers.. Our is a measure of a portion of the dominating set, namely, , which is a close relation to Fleischer's recently proposed measure [21] ; loosely, our measure deals with the area of the dominating surface-the attainment surface-while Fleischer's considers the dominated volume. It would be interesting to investigate the convergence of an annealer based on Fleischer's measure but, as shown in [44] , the complexity of the calculation is polynomial in the number of archived solutions and exponential in the number of objectives; this makes calculation for even three objectives infeasibly slow for use as the energy calculation for an annealer. Although a proof of convergence for simulated annealers based on our measure remains to be completed, this is an area of current work, together with the application of the annealer to other large scale problems.

O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


An integrity constraints driven system for updating spatial databases This paper describes a prototypal system which has been implemented in order to explore the possibility of using topological integrity constraints as interactive drivers to support spatial database updates. The idea of using constraints to drive updates is applied also in traditional (non-spatial) databases; for example, in order to preserve referential integrity, the user can be forced to select a value in a given set, instead of permitting him to write an arbitrary value and then checking that the value satisfies the constraint. This idea seems to be much more relevant in spatial databases, both because spatial data possesses a much richer set of constraints, and because spatial updates are more complex and error-prone than traditional, alphanumeric updates. The paper first defines formally a rather general spatial database environment with integrity constraints, then describes a prototypal system which has been built in order to explore the practical effectiveness of the general idea (the feasibility includes performance, because the constraints are used during the interaction with the user). The prototype which has been implemented is capable of driving updates on simple polygons and uses a restricted class of integrity constraints; however, it is sufficiently powerful to demonstrate the feasibility of the approach. Categories and Subject DescriptorsDesign, Theory.Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice end the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or e fee. 8 th ACM Symposium on GIS Geographical information systems (GIS) are nowadays a widely used tool in many application fields that manipulate data describing phenomena or human activities that occur on the earth surface. The data sources that feed the spatial database of a GIS at the beginning of its life are mainly surveys from aerial photographs, topographic surveys, maps digitizing, etc. However, after the initial startup, other dataflows guarantee the update of the spatial and non-spatial information of a GIS.. As in traditional information systems also in GIS a frequent update activity is strategic for system availability and user confidence. Thus, it is important to design applications that support the user in this important task.. In traditional databases the update operations have to guarantee that the user's modifications/inputs satisfy the integrity constraints. Integrity constraints define the consistent states of the database. Notice that, some integrity constraints are not an obstacle for the update procedures, but, on the opposite, they can help the user to modify correctly the database. For example, in order to preserve referential integrity, the user can be forced to select a value in a given set, instead of permitting him to write an arbitrary value and then checking that the value satisfies the constraint. Here, we can say that the integrity constraint has somehow driven the update. This idea seems to be much more relevant in spatial databases, both because spatial data possesses a much richer set of constraints, and because spatial updates are more complex and error-prone than traditional, alphanumeric updates. In this paper we aim to investigate the possibility of applying integrity driven updates to geographical databases.. Spatial integrity constraints have been classified in [3] . In this taxonomy Cockcroft identifies also the (sub)class of topological integrity constraints, emphasizing their role as basic constraints for the integrity of geographical data. Topological integrity constraints are based on topological relations. These relations have been formally defined first in [6] .. In this paper we focus on topological integrity constraints In this paper we have presented a framework for the specification of topological integrity constraints and have shown that a subset of these constraints (Simple Topological Integrity Constraint) can be used to drive the update activity of the user, thus maintaining database integrity. Moreover, the implemented system has demonstrated that the approach is feasible.. Future work includes: the removal of some of the limitations to STICs discussed in Section 3; the extension of the update environment to include also polylines and points. The system has been implemented using the development tools of Geomedia Professional TM of Intergraph. The implementation details are described in [16] .. The following two issues which have been encountered during system implementation are worth mentioning.. 1. In order to reduce the cardinality of the set ISTIC the 4-tuples of the form (e0, el, Disjoint, REI,Ej ) are not stored in the data structure implementing ISTIC. During the update operations this structure is completed with the subset of 4-tuples representing the disjoint relations that are necessary to check the satisfaction of the integrity rules for the modifying feature ~. The choice of the disjoint relation is not casual, since, considering a geographical database, the only topological relation that can produce sets of topological relation instances of high cardinality is the disjoint one as it does not require that the spatial objects have common points.. 2. Before opening an update session, the user is requested to define a working area, which is a rectangle embedded in the reference space that contains the chosen feature ei to be updated (deleted) or that will contains the new feature ei in case of insertion. In this way, the size of the temporary structure Tempseg can be reduced.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Writeback-aware partitioning and replacement for last-level caches in phase change main memory systems Phase-Change Memory (PCM) has emerged as a promising low-power main memory candidate to replace DRAM. The main problems of PCM are that writes are much slower and more power hungry than reads, write bandwidth is much lower than read bandwidth, and limited write endurance. Adding an extra layer of cache, which is logically the last-level cache (LLC), can mitigate the drawbacks of PCM. However, writebacks from the LLC might (a) overwhelm the limited PCM write bandwidth and stall the application, (b) shorten lifetime, and (c) increase energy consumption. Cache partitioning and replacement schemes are important to achieve high throughput for multi-core systems. However, we noted that no existing partitioning and replacement policy takes into account the writeback information.This paper proposes two writeback-aware schemes to manage the LLC for PCM main memory systems. Writeback-aware Cache Partitioning (WCP) is a runtime mechanism that partitions a shared LLC among multiple applications. Unlike past partitioning schemes, our scheme considers the reduction in cache misses as well as writebacks. Write Queue Balancing (WQB) replacement policy manages the cache partition of each application intelligently so that the writebacks are distributed evenly among PCM write queues. In this way, applications rarely stall due to unbalanced PCM write traffic among write queues. Our evaluation shows that WCP and WQB result in, on average, 21% improvement in throughput, 49% reduction in PCM writes, and 14% reduction in energy over a state-of-the-art cache partitioning scheme. Energy efficiency is one of the most important considerations in designing computer systems. The expected annual energy cost for data centers is $7.4 billion in 2011 [U.S. Environmental Protection Agency 2007]. Reducing energy consumption for processors and memory systems are two ways to improve energy efficiency. Modern processors have lowered energy/power demand by implementing either dynamic voltage and frequency scaling (DVFS) for sets of cores or by allowing systems to turn cores on and off independently [Kim et al. 2008] . With increasingly energy efficient processors, reducing the energy consumption of memory is critical to the design of energy efficient computers.. In past decades, DRAM has been the best candidate for main memory due to its low cost per bit. However, the memory capacity of data centers and servers has increased tremendously due to the large footprints of modern applications and the advent of multi-core systems. In these systems, DRAM static power accounts for a substantial portion of energy. As a result, the memory subsystem has become a major consumer of power, which has fueled research in alternative memory technologies. Phase-Change Memory (PCM) [Lee et al. 2008; Kang et al 2006; Pellizzer et al. 2006 ] is proposed as a replacement for DRAM or in addition to DRAM (using a smaller DRAM as a cache for the larger PCM). PCM is a desirable technology because it is non-volatile, scales better than DRAM, has low power for reads and very low idle power.. PCM, nevertheless, faces important challenges. It is wearable such that only about 10 7 or 10 8 writes can be performed. A PCM system would fail in days or even hours without wear-leveling or write minimization [Zhou et al. 2009; Qureshi et al. 2009; Cho and Lee 2009; Ferreira et al. 2010b] . PCM is slower and consumes more energy on writes than DRAM.. To mitigate these shortcomings, researchers organize PCM main memory with a small cache Ferreira et al. 2010a; Qureshi et al. 2009a ]. The cache could be an on-chip cache or an off-chip DRAM cache. Logically, it is the last-level cache (LLC) of the PCM main memory. The LLC improves performance by caching highly accessed data, extends PCM lifetime, and reduces energy consumption by filtering a large portion of writes. The system we study has a shared on-chip LLC and a PCM main memory. Efficiently using the LLC is crucial for PCM main memory.. In this paper, we investigate writeback-aware cache partitioning and replacement for the LLC that are beneficial to PCM main memory. Many existing policies focus on minimizing total misses and do not account for writebacks. These policies are suitable for traditional main memory because DRAM reads and writes have the same latency and power consumption, and writebacks are not on the critical path.. Taking into account writebacks is essential due to PCM's unique asymmetric characteristics. PCM writes are much slower and more power hungry than reads. PCM write bandwidth is much lower than read bandwidth. Lastly, PCM has limited write endurance. As a result, too many writebacks from the LLC are likely to overwhelm the limited PCM write bandwidth and stall the application. In addition, each writeback causes a write to the PCM device, which wears the device and consumes a large amount of energy. These negative impacts on throughput, lifetime and energy are shown to be mitigated by adopting writeback-aware cache partitioning and replacement policies.. We study the effects of two techniques on writebacks: reducing writebacks and distributing writebacks evenly among write queues of the PCM device. We propose two writeback-aware schemes to manage the LLC. Writeback-aware Cache Partitioning (WCP) partitions a shared LLC between applications to reduce cache misses and writebacks. Write Queue Balancing (WQB) replacement ensures that the writebacks are distributed evenly among write queues. By reducing writebacks and avoiding congested write queues, WCP and WQB improve application performance and overall throughput. Our evaluation shows that WCP and WQB result in an average 21% improvement in performance, 49% reduction in PCM writes and 14% reduction in energy over the state-of-the-art Utility-based Cache Partitioning (UCP) .. In this paper, we make the following contributions.. -We introduce the concept of writeback-aware cache partitioning and cache replacement for the shared last-level cache in PCM main memory. The remainder of this paper is organized as follows. Section 2 provides background on PCM and motivates this work. Sections 3 and 4 describe WCP and WQB. Section 5 explains the experimental methodology. Section 6 presents evaluation results and analysis. Section 7 discusses related work and Section 8 concludes the paper. Traditional cache partitioning and replacement do not consider writebacks, which we show to be important to achieve high throughput for phase change main memory systems. Towards that end, this paper describes an efficient mechanism to monitor and gather information about writebacks. We propose two writeback-aware cache management policies that require low hardware overhead. Writeback-Aware Cache Partitioning (WCP) divides the cache among competing applications such that the number of misses and writebacks are reduced. Write Queue Balancing (WQB) replacement spreads writeback traffic among write queues. Evaluation results show that, on average, WCP and WQB improve throughput by 21%, reduce PCM writes by 49%, and save energy by 14% over a state-of-the-art cache partitioning scheme (UCP). We also show that our schemes are beneficial to a range of multi-core systems and improve the throughput of a 2-, 4-, 8-, and 16-core system by 18%, 21%, 20%, and 19%, respectively. Efficiently using the LLC is crucial to improve throughput. For DRAM systems, show that a reduction in LLC miss rate correlates with an improvement in IPC. In their work, they classify applications as low utility, high utility and saturating utility depending on whether and how much an application benefits from a larger cache. A low-overhead circuit named UMON is introduced to monitor the utility information of each application. They propose Utility-based Cache Partitioning (UCP) to partition the LLC in a way that applications with high utility are given more cache quota, while applications with low utility get a small portion of the LLC. In this way, UCP outperforms LRU. For phase change main memory, however, reducing miss rate is insufficient to achieve high throughput. Reducing the number of LLC writebacks is also important due to the asymmetric property of PCM. PCM writes are much slower than reads, and PCM write bandwidth is much lower than read bandwidth. These characteristics make it likely that the write queues will become congested. Once the write queues are full, the application stalls when a writeback from the LLC occurs. In this case, a writeback is more harmful than a cache miss because a PCM write is much slower than a read.. Writebacks can also negatively affect PCM lifetime and energy consumption. PCM has limited write endurance, and PCM writes are more power hungry than reads. As a result, too many writebacks from the LLC shorten lifetime and consume more energy.. To the best of our knowledge, no existing cache partitioning and replacement scheme accounts for writeback information. Figure 2 shows the architectural overview of our approach to support writeback-aware cache partitioning and replacement. We present four major architectural components (gray colored in Figure 2 ), as follows. The extended utility monitor (E-UMON) is an extension of UMON that tracks hit and writeback information about an application. The memory monitor (MMON) tracks information about the write queues of the PCM device. The writeback-aware cache partitioning logic uses information collected by E-UMON and MMON to select a cache partitioning configuration. It includes two modules: partition selection and weight computation. The write queue balancing replacement logic uses information from MMON to pick a victim entry when a cache miss occurs. Section 3.2 describes E-UMON. Section 3.3 explains the partition selection scheme. Section 3.4 describes MMON and the weight computation. WQB replacement is described in Section 4.

O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O


On the Application of Software Metrics to UML Models Abstract. In this position paper we discuss a number of issues relating to model metrics, with particular emphasis on metrics for UML models. Our discussion is presented as a series of nine observations where we examine some of the existing work on applying metrics to UML models, present some of our own work in this area, and specify some topics for future research that we regard as important. Furthermore, we identify three categories of challeges for model metrics and describe how our nine observations can be partitioned into these categories. Many object-oriented metrics have been proposed specifically for the purpose of assessing the design of a software system. However, most of the existing approaches to measuring these metrics involve the analysis of source code. As a result, it is not always clear how to apply existing metrics at the early stages of the software development process. With the increasing use of the Unified Modelling Language (UML) to model object-oriented systems at the early stages of the software development process, research is required to investigate how the metrics can be measured from UML models and prior to the implementation of the system.. Being able to measure the metrics accurately from both UML models and source code is important for several reasons:. -The quality of the system can be assessed in the early stages of the software life-cycle when it is still cost effective to make changes to the system. -The implementation can be assessed to determine where it deviates from its design. This can be achieved by applying metrics to both the UML and source code and comparing the results. Variations in the metric values may help to identify parts of the implementation that do not conform to its design. -Evaluation of the correctness of round trip engineering tools can be performed. Again, applying the same metrics to both the UML and source code may help in identifying parts of the system that have been incorrectly forward or reverse engineered.. In this position paper we review some of the existing work on applying metrics to UML models, present some of our own work in this area, and outline some topics for future research that we regard as important. However, in order to serve as a basis for discussion, we have chosen to present this position paper as a series of nine observations. In this position paper we have discussed a number of issues relating to model metrics, with particular emphasis on metrics for UML models. We have structured our discussion around nine observations, which we can also partition into three levels of challenges for model metrics:. -The technical challenge of defining, comparing and reusing metrics over different descriptions of the same software system (Observations 1, 6, 7) -The conceptual challenge of defining how to measure metrics from partial descriptions of models, and of the change in metrics between different representations of the software (Observations 3, 5, 8) -The practical challenge of gathering, comparing and interpreting new and existing metrics (Observations 2, 4, 9). Our own work in this area, as cited above, is concentrated on addressing the technical challenges of defining reusable metrics at the meta-level.

O O O O B I O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Timed grid routing (TIGR) bites off energy Energy efficiency and collisions avoidance are both critical properties to increase the lifetime and effectiveness of wireless networks. This paper proposes a family of algorithms for reducing both energy consumption and packets collisions in ad-hoc networks. In particular, this family of protocols offers a tradeoff between bandwidth utilization and power consumption. The proposed algorithms are based on geographic knowledge to form a virtual grid and on synchronized clocks in order to achieve a collision free locally computable transmission schedule.As an added benefit to the proposed approach, a new efficient location service that is adjusted to the grid oriented geo-routing is also presented. The paper analyzes the proposed family of algorithms for their induced latency and the energy vs. latency tradeoffs they provide. The use of the deterministic f (k,p,n,m) described in Section 4.2 presents a tradeoff between network utilization and energy consumption. The network utilization for the deterministic scheduling function is given by Figure 12 : Network Utilization vs. Energy Consumption are transmitted vertically. This function defines a transmission cycle that repeats itself every 2(k · n + p · m) time slot, out of which k are for horizontal advancements and p for vertical. We define the overall network utilization as the fraction of cells for which the scheduling function evaluates to ACTIVE. From this, we get a utilization factor of. . If we assign n=m=1 and k=p=3, for example, we get a utilization factor of 1 3 ( Figure 6 ).. Measurements of WaveLan radios [22] have shown that the energy consumption ratios between listening for messages to receiving a message to sending a message are are 1:1.05:1.4, respectively.. 2 As can be seen, the different between listening for a message and receiving in terms of energy consumption is negligible. This ratio implies a clear linear connection between the total energy consumption and network utilization, as showed in figure 12 . Also, in the case of a mesh, the best that can be hoped for is a ratio of 1 2 , which is attainable using the Back to Back function that is given in Figure 7 . Table 1 compares the three scheduling functions we presented in terms of complexity, the maximal network utilization they offer, and the latency they incur when using greedy routing. The computational complexity of Random is O(n) due to the need to ensure the validity property. On the other hand, the other two functions are easily computable in O(1) time.. Both the Random and Deterministic methods can obtain maximum network utilization of 1/3 (i.e., 1/3 of the nodes are transmitting in each time slot), whereas Back-to-Back can reach 1/2. Yet, notice that when a 1/3 of the nodes are transmitting, another 1/3 are sleeping, thereby saving energy. On the other hand, when 1/2 of the nodes are transmitting, all others are listening. Of course, it is possible to reduce the network utilization of Back-to-Back to 1/3 (or event lower) and increase its power efficiency proportionally, but in such cases is has no advantage over the Deterministic function. On the other hand, the Deterministic function is more intuitive. Moreover, unless all nodes constantly generate messages, Back-to-Back is more likely to suffer from unused time slots (in which some nodes are in active mode, but in fact they have nothing to send). Finally, recall that the latency was analyzed in Section 6. The purpose of this work was to demonstrate that by dividing the area of an ad-hoc network into a logical grid, we can devise simple locally computable transmission schedules that avoid collisions and enable energy savings by allowing some nodes to sleep. This is even when the network is multiple hop, and even when message are multicast. As mentioned before, all these results rely on each node knowing its position and assuming well synchronized clocks (both properties are satisfied when using a GPS). 3 We have presented specific scheduling functions and routing algorithms that demonstrates this ability. Moreover, the scheduling functions we presented are parameterized in a way that enables trading off network utilization levels vs. power saving and latency.. As an artifact, we have also shown that the use of a logical grid structure enables devising a highly efficient location service. In such a service, other than the initial publishing of a node, movement either does not generate any update messages, or generate O( (n)) messages. Furthermore, lookup is completely local, meaning that the routing protocol can react to movement as it happens at no extra cost.. The load in networks in general, and in sensor networks in particular, is often imbalanced. By the nature of sensor networks, local events can create local network overloads. It might be possible to better handle such cases with random scheduling functions. Specifically, such scheduling functions would give priority to loaded areas until they return to normal operation. Yet, one needs to ensure that such functions will not create routing deadlocks.. In case of deterministic scheduling functions, nodes failure or empty grid cells can turn much of the network disconnected. Handling these cases is left for future work. It involves devising adaptable scheduling functions and modifications to the routing algorithm to overcome such failures.. As a final comment, we assumed the unit-disk model for wireless transmissions and interference, which is a common assumption in many MANET papers. However, a more accurate model is the Signal to Interference and Noise Ratio (SINR). That is, rather than having a fixed interference range, when a message is received, it can be interpreted correctly and delivered if the ratio of the signal to interference and noise is below some threshold. Incorporating the SINR model into our work presents several interesting challenges. For example, consider the situation in which each grid cell is populated by more than one node. Here, picking the representative node can be done based on which node has the best chances of getting all its messages transmitted correctly to all devices in adjacent cells. Another option is to analyze the way various cells interfere with each other, and include this knowledge in order to obtain schedules that minimize the expected interference. Finally, as radio propagation is variable, it is hard, or even impossible, to pick an interference range, even under conservative estimations, that ensures that there will be no interference at all. In order to overcome such potential occasional interferences, the scheduling mechanism should also allocate short phases for acknowledges. Alternatively, if the representatives of every pair of adjacent cells know the identity of each other, messages could be sent point-to-point among such representatives, thereby relying on the integral acknowledgement mechanism of WiFi. A good survey of geographic ad-hoc routing protocols appears in [14] . Three link reversal routing algorithms are analyzed with respect to how the algorithms behave on different classes of networks in [19] . Greedy geographic routing algorithms were studied in [25] in an important class of wireless sensor networks that provide sensing coverage over a geographic area (e.g., surveillance or object tracking systems). That paper demonstrates that existing greedy geographic routing algorithms can successfully find short routing paths based on local states in sensing-covered networks. They have also proposed a new greedy geographic routing algorithm called Bounded Voronoi Greedy Forwarding (BVGF). These works as well as most of what is mentioned below, however, ignore collision and energy saving issues, yet are asynchronous.. A solution for two fundamental problems of geographic routing is presented in [8] . Specifically, geographic routing requires that all nodes know their locations, and it has trouble routing around local dead-ends. The solution offered in [8] is based on utilizing a nearby location aware node that act as a proxy for geographic forwarding.. The Location-Aided Routing (LAR) route discovery algorithm is based on limited flooding in a certain angle [10] , which greatly reduces the number of nodes to whome a route request is propagated. Rooftop networks [4] is a good example of static ad hoc networks. In such networks, the position of a node may not change once it has become part of the network.. Many proactive unicast routing protocols have been studied in the literature. Examples include Distance-Vector routing (DSDV) [17] , Optimized Link State Routing (OLSR) [7] and Topology Broadcast Based on Reverse-Path Forwarding (TBRPF) [16] .. GLS [12] is a distributed location service that when combined with geographic forwarding allows the construction of ad hoc mobile networks that scale to a large number of nodes. Each node sends its position updates to its location servers without knowing their actual identities, assisted by a predefined ordering of node identifiers and a predefined geographic hierarchy.. The Virtual Grid Architecture Protocol (VGAP), introduced in [1, 2] , operates on a fixed virtual rectilinear architecture (virtual grid), which is devised by using location information obtained from Global Positioning System (GPS). The virtual grid consists of a few, but possibly more powerful, mobile nodes known as ClusterHeads (CHs) that are elected periodically.. Our work can be seen as a generalization some concepts of TDMA to multiple hop networks. Differently, some contentionfree MAC protocols for sensor and ad-hoc networks are presented in [5, 9] . These protocols do not rely on global time and are self-stabilizing. This is achieved by allocating dynamically transmission time slots for each node. But these algorithms do not allocate any sleeping time, which forces each node to be in either listen or transmit state. The concept of turning off nodes in order conserve energy is also explored in the literature. For example, PAMAS [21] presents a MAC protocol that conserves energy by turning off radios overhearing cross traffic. An Adaptive Fidelity Energy-Conservation Algorithm (AFECA) that gives a trade off between energy dissipation and data delivery quality according to application requirements is presented in [26] . Using the observation that in densely-populated network many nodes are interchangeable for routing purposes, nodes can sleep while other nodes are available. But, due to the fact that this algorithm is based on estimation on the network density, messages can get lost and retransmitting is still needed once in a while.. Another work that addresses power saving is GAF [27] , in which a sensor field is divided into small squared cells such that any two nodes in two neighboring cells are connected.. One node in each cell will be active while all others are in idle mode. Active nodes are supposed to communicate data among themselves. This scheme increases the lifetime of the network by allowing excessive idle of the non-active nodes. However, if GAF the only power saving comes from the fact that in each grid cell only one node needs to be active all the time. In contrast, our scheme allows entire cells to sleep, and also eliminates message collisions, which is not addressed at all in GAF.. SPAN [6] is a yet another distributed, randomized algorithm where nodes make local decisions on whether to sleep, or to join a forwarding backbone as a coordinator. With SPAN, the system lifetime increases as the ratio of idle-tosleep energy consumption grows, and increases as the network becomes more dense. Unlike our mechanism, SPAN does not avoid collisions, and only gives probabilistic guarantees, yet SPAN is asynchronous.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Distributed Quantum Computation Architecture Using Semiconductor Nanophotonics In a large-scale quantum computer, the cost of communications will dominate the performance and resource requirements, place many severe demands on the technology, and constrain the architecture. Unfortunately, fault-tolerant computers based entirely on photons with probabilistic gates, though equipped with "built-in" communication, have very large resource overheads; likewise, computers with reliable probabilistic gates between photons or quantum memories may lack sufficient communication resources in the presence of realistic optical losses. Here, we consider a compromise architecture, in which semiconductor spin qubits are coupled by bright laser pulses through nanophotonic waveguides and cavities using a combination of frequent probabilistic and sparse determinstic entanglement mechanisms. The large photonic resource requirements incurred by the use of probabilistic gates for quantum communication are mitigated in part by the potential high-speed operation of the semiconductor nanophotonic hardware. The system employs topological cluster-state quantum error correction for achieving fault-tolerance. Our results suggest that such an architecture/technology combination has the potential to scale to a system capable of attacking classically intractable computational problems. Small quantum computers are not easy to build, but are certainly possible. For these, it is sufficient to consider the five basic DiVincenco criteria 1,2 : ability to add qubits, highfidelity initialization and measurement, low decoherence, and a universal set of quantum gates. However, these criteria are insufficient for a large-scale quantum computer. DiVincenzo's added two communications criteria -the ability to convert between stationary and mobile qubit representations, and to faithfully transport the mobile ones from one location to another and convert back to the stationary representation -are also critical, but so is gate speed ("clock rate"), the parallel execution of gates, the necessity for feasible large-scale classical control systems and feed-forward control, and the overriding issues of manufacturing, including the reproducibility of structures that affect key tuning parameters 3,4 . In light of these considerations, the prospects for large-scale quantum computing are less certain.. Advances in understanding what constitutes an attractive technology for a quantum computer are married to advances in quantum error correction. These improvements include the theoretical thresholds below which the application of quantum error correction actually improves the error rate of the system 5 , increases in the applicability of known classical techniques 6, 7, 8, 9 , understanding of feasible implementation of error correcting codes 10, 11, 12, 13, 14, 15, 16 , design of error suppression techniques suited to particular technologies or error models 17, 18, 19, 20, 21, 22, 23, 24 , advances in purification techniques 25, 26, 27, 21, 28, 29, 30 , and experimental advances toward implementation 31,32,33 . Among the most important, and radical, new ideas in quantum error correction is topological quantum error correction (tQEC), for example surface codes 34, 35, 36, 37, 38 . These codes are attracting attention due to their high error thresholds and their minimal demands on interconnect geometries, but work has just begun on understanding the impact of tQEC on quantum computer architecture, including determining the hardware resources necessary and the performance to be expected 39, 40, 41, 42 .. The effective fault tolerance threshold in tQEC depends critically on the microarchitecture of a system, principally the set of qubits which can be regarded as direct neighbors of each qubit. As connectivity between qubits increases, both the operations required to execute error correction and the opportunities for "crosstalk" as sensitive qubits are directly exchanged decline, allowing the system to more closely approach theoretical limits.. Here, we argue that even for tQEC schemes that require only nearest-neighbor quantum gates in a two-dimensional lattice geometry, communication resources will continue to be critical. We present an architecture sketch in which efficient quantum communication is used to compensate for architecture inhomogenities, such as physical qubits which must be separated by large effective distances due to hardware constraints, but also due to qubits missing from the lattice due to manufacturing defects. Assuming a homogeneous architecture may be acceptable for small-scale systems, but in order to create a system that will grow to solve practical, real-world problems, distributed computation and a focus on the necessary communications is required. Further, our design explicitly recognizes that not all communications channels are identical; they vary in the fidelity of created entanglement and physical and temporal resources required. This philosophy borrows heavily from established principles in classical computer architecture 43 . Classically, satisfying the demands of data communication is one of the key activities of system architects 44 . Our design process incorporates this philosophy.. No computing system can be designed without first considering its target workload and performance goals 43, 45 . The level of imperfection we allow for quantum operations depends heavily on the application workload of the computer. Our goal is the detailed design (and ultimately implementation) of a large-scale system: more than ten thousand logical qubits capable of running 10 11 Toffoli gates within a reasonable time (days or at most a few months). For example, such a system could factor a 2,000-bit number using Shor's algorithm 46 . This choice of scale affects the amount of error in quantum operations that we can tolerate. Steane analyzes the strength of error resilience in a system in terms of KQ, the product of the number of logical qubits in an application (Q) and the depth (execution time, measured in Toffoli gate times) of the application (K) 10 . Our goal is to tune the error management system of our computer to achieve a logical error per Toffoli gate executed of p L ≪ 1/KQ, with KQ ∼ 10 15 47 . Under most realistic technological assumptions, the resources required to reach adequate KQ values are huge. Nearly all proposed matter qubits are at least microns in size, when control hardware is included. For chip-based systems, a simple counting argument demonstrates that more qubits are required than will fit in a single die, or even a single wafer. This argument forces the implementation to adopt a distributed architecture, and so we require that a useful technology have the ability to entangle qubits between chips 47,48 .. As an example architecture supporting rich communications, we are designing a device based on semiconductor nanophotonics, using the spin of an unpaired electron in a semiconductor quantum dot as our qubit, with two-qubit interactions mediated via cavity QED. We plan to use tQEC to manage run-time, soft faults, and to design the architecture to be inherently tolerant of fabricated and grown defects in most components.. Our overall architecture is a quantum multicomputer, a distributed-memory system with a large number of nodes that communicate through a multi-level interconnect. The distributed nature will allow the system to scale, circumventing a number of issues that would otherwise place severe constraints on the maximum size and speed of the system, hence limiting problems for which the system will be suitable.. Within this idiom, many designs will be possible. The work we present here represents a solid step toward a complete design, giving a framework for moving from the overall multicomputer architecture toward detailed node design. We can now begin to estimate the actual hardware resources required, as well as establish goals (such as the necessary gate fidelity and memory lifetimes) for the development of the underlying technology.. Section 2 presents background on the techniques for handling of errors in a quantum computer that we propose to use. Section 3 qualitatively presents our hardware building blocks: semiconductor quantum dots, nanophotonic cavities and waveguides, and the optical schemes for executing gates. Section 4 presents a qualitative description of the resources employed in the complete system. In particular, it describes how some quantum dots, used for communication, are arranged for deterministic quantum logic mediated by coupled cavity modes, while other quantum dots are indirectly coupled via straight, cavitycoupled waveguides for purification-enhanced entanglement creation. Long columns of these basic building blocks span the surface of a chip, and many chips are coupled together to create the complete multicomputer. Preliminary quantitative resource counts appear in section 5. Our design focuses on the communications within a quantum computer, building on a natural hierarchy of connectivity ranging from direct coupling of neighbors on one physical axis of our chip through medium-fidelity, waveguide-based purification coupling on the other axis, to distant, switched connections requiring substantial purification. Thus, while we refer to our design as a quantum multicomputer with each node consisting of a single chip, it is more accurate to regard the connections between qubits as occurring on a set of levels rather than a simple internal/external distinction. Founded on quantum dots connected via cavity QED and nanophotonic waveguides and using topological error correction, this proposal represents progress toward a practical quantum computer architecture. The physical technologies are maturing rapidly, and tQEC offers both operational flexibility and a high threshold on realistic architectures such as ours.. While the overall architecture (multicomputer) and the system building blocks (tQEC, purification circuits, etc.) have been established, much work remains to be done. The most important pending decision is the actual choice of semiconductor and quantum dot type. The cavity Q and memory lifetime, which dramatically affect our ability to build and maintain the lattice cluster state, will be critical factors in this decision. The yield of functional qubits will ultimately drive the types of experiments that are feasible.. With the decision of semiconductor and the key technical parameters in hand, it will become possible to more quantitatively analyze the mid-level design choices of node size, layout tradeoffs, and the numbers of required lasers and photodiodes. The control system for managing the qubits and cavity coupling will be a large engineering effort involving optics, electronic circuits, and possibly micromechanical elements. Finally, application algorithms need to be implemented and optimized and run-time systems deployed, which will require the creation of large software tool suites.. One of our goals in this work is to establish target values for experimental parameters that must be achieved for such a large system to work. For the chip design and system configuration we present here, we estimate that the yield of functional quantum dots must be at least 40%, the local optical loss must be better than 0.02%, the adjusted gate error rate better than 0.2%, and the memory coherence time about 50 milliseconds or more. The exact values of these goals depend on the architecture, system scale, and application; the entire system is summarized in Table 2 .. As a final comment, the physical resources demanded by this architecture are daunting. Other architectures for quantum computers are comparably daunting. The current work is intended in large part to reveal the scope of the problem. With realistic resources such as lossy waveguides, finite-yield qubits, and finite chip-sizes, the added overhead for error correction makes quantum computers very expensive by current standards. We must rely on engineering advancements to improve nanophotonic and quantum dot devices as well as VLSI-like manufacturing capabilities to realize a quantum computer with a realistic cost. Indeed, our current understanding of how to make very large quantum computers is often likened to classical computers before VLSI techniques were developed. The successful technologies enabling practical approaches to building large computers are likely yet to be discovered, but architectures such as the one we have presented and the defect-tolerant, communication-oriented design principles we have used are expected to provide the guiding context for these new technologies.

B I I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Error Detection, Error Correction and Performance Evaluation in On-line MATHEMATICAL EXPRESSION RECOGNITION Automatic recognition of on-line mathematical expressions is di$cult especially when there exist errors. In this paper, we incorporate an error detection and correction mechanism into a parser developed previously by us based on de"nite clause grammar (DCG). The resulting system can handle lexical, syntactic and some semantic errors. The recognition speed for 600 commonly seen expressions is quite acceptable, ranging from 0.73 to 6 s per expression on a modest workstation. In addition, we propose a performance evaluation scheme which can be used to demonstrate the e!ectiveness of both the symbol recognition and structural analysis stages by a single measure. With the recent advances in pen-based computing technologies, we already have all the necessary hardware to provide an input device for entering mathematical expressions into computers in a natural way, i.e., we simply write the expressions on an electronic tablet for the computer to recognize automatically. The key problem that remains is the automatic recognition of mathematical expressions, which is more on the software side.. Mathematical expressions are in general two-dimensionally structured patterns. Typically, they consist of special symbols and Greek letters in addition to English letters and digits. Moreover, characters and symbols may appear in various positions, possibly of di!erent sizes. All these together make the recognition process very complicated even when all the individual characters and symbols can be recognized correctly.. However, in practice, we cannot expect that all the input expressions contain no errors. Error detection and correction are important steps, especially in parsing. A good error handler should report the presence of errors clearly and accurately. After recovering from each error, it should still be able to detect subsequent errors. At the same time, it should not signi"cantly slow down the processing of correct expressions. Ideally some errors should even be corrected. Moreover, correct parts should not be treated mistakenly as errors and altered improperly.. With errors taken into consideration, di!erent existing mathematical expression recognition systems may have very di!erent performance. How should we rate a system as good? What criteria should we use to evaluate its performance?. Both symbol recognition and structural analysis have been extensively studied for decades. Mathematical expression recognition, which features both of them as the two major stages of the process, is a good subject for studying the integration of the two areas. However, the research area had not attracted too much attention in the past. It is only until recently that more researchers have started to pay more attention to this area. Detailed review of the literature can be found in Refs. [1, 2] .. In this paper, we will mainly focus on issues related to error detection, error correction and performance evaluation in on-line mathematical expression recognition. First, we will describe the di!erent types of common errors that usually occur in mathematical expressions. Then, we will show how the errors can be detected and corrected. Afterwards, we will discuss some existing schemes and propose some new schemes for evaluating the performance of mathematical expression recognition systems. Finally, we will provide and discuss some experimental results which will then be followed by some concluding remarks.. 2. An e7cient syntactic approach to structural analysis of on-line handwritten mathematical expressions Due to the complexity of mathematical expressions, systems used for recognizing them are better built based on some explicit grammar rules so that a clear and concise form is available for formal veri"cation as well as subsequent extension. In addition, to ensure that a mathematical expression recognition system is useful in practice, its recognition speed is also an important factor to consider.. In Ref. [3] , an approach, called hierarchical decomposition parsing, was proposed for obtaining the syntactic structures of mathematical expressions automatically. Hierarchical decomposition parsing is implemented in de"nite clause grammar (DCG), in terms of a set of replacement rules for parsing mathematical expressions. With DCG, we are not only able to de"ne the replacement rules concisely, but their de"nitions are also in a readily executable form. Besides, the proposed method uses three major ideas, namely, left-factoring, binding symbol preprocessing, and hierarchical decomposition, to make parsing more e$cient. Experiments done on some commonly seen error-free mathematical expressions show that the method can achieve quite satisfactory speedup.. In the following section, we will extend the parser developed by us in Ref. [3] to handle erroneous mathematical expressions as well. In particular, we will show how error detection and correction can be performed easily and e!ectively during parsing. Most importantly, all the procedures are clearly de"ned in the form of formal replacement rules. Recognition of handwritten mathematical expressions is not trivial as characters and symbols of di!erent sizes and with subtle spatial relationships are often found in such expressions. The task becomes even more di$cult when there exist errors.. In this paper, we incorporate some error detection and correction mechanism into an existing parser. It helps us to minimize the chance of parsing failure for erroneous input and at the same time increase the overall accuracy. Besides handling some lexical and syntactic errors, our system, in some cases, can also perform error correction after parsing to correct semantic errors. As a result, it can achieve fairly high recognition rates on some neatly written expressions. At the same time, the recognition speed for 600 commonly seen expressions is also quite acceptable, ranging from 0.73 to 6 s on a modest workstation by today's standard.. In addition, we propose a simple performance evaluation scheme which can show the e!ectiveness of both the symbol recognition and structural analysis stages by a single measure.. Although our current system only works on on-line mathematical expressions, it is not hard to modify the system to handle o!-line data as well. However, some issues in mathematical expression recognition have not yet been addressed in this paper, such as resolving ambiguities, using more contextual information in error detection and correction, handling logical errors, etc. These are topics of our future research.

O O O O O B I O B I I I O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O