Hybrid models in agent-based environmental decision support Abstract: Providing informational support in decision making is one of the priority directions of research in the sphere of public health management. Modern approaches suggest wide usage of intelligent data mining methods and Web-services, but just a few enable to study a complex system from an interdisciplinary point of view. In this paper an agent-based decision support system (ADSS), which embodies the principles of the interdisciplinary approach and facilitates multi-focal view and examination of the ''Environment-Public health'' system, is introduced. The detailed design of the system with the emphasis on the roles, scenarios and its implementation is presented. The data mining procedures used for data preparation, modeling and simulation, which include statistics, methods of artificial intelligence and hybrid models in form of cascade committee machines, are described. Then, the advantages of the proposed hybrid models against ''singular'' modeling methods are demonstrated. Finally, a case study for a selected region is presented and its results are discussed. Health care decision support is faced with the challenges of complex and diverse data and knowledge, the lack of standardized terminology compared to basic sciences, the stringent performance and accuracy requirements and the prevalence of legacy systems [20] . Capturing domain knowledge has proven to be one of the largest challenges for expert systems builders [10] . It has become evident, through research into intelligent decision support systems (DSS), that expert knowledge needs to be supplemented with facts gleaned from machine learning processes to solve more difficult problems. Due to the stochastic and complex nature of most real world systems, simulation models of these systems are themselves difficult to build as well as time consuming to execute. In many cases, decision makers cannot afford to explore a large area of the decision variable space or to conduct a lengthy search for the best set of decision variables [4] . One feasible alternative is to build a meta-model [19] . So, due to the growing complexities and uncertainties in decision making situations, model-driven DSS have become increasingly important to decision makers [25] . Model-driven DSS can assist decision makers in applying quantita-tive models to support the decision-making process. The simulation model is an important type of quantitative model used in modeldriven DSS. A simulation model can imitate the behavior of an actual or anticipated human or physical system. It can capture much more detail about a specific system than algebraic models. It can capture underlying mechanism and dynamics of a system, which enables decision makers to effectively manage daily operations and make long term plans. It provides also a test-bed to assess changes in operations and managerial policies [11] . Decision making involves processing or applying information and knowledge, and the appropriate information/knowledge mix depends on the characteristics of the decision making context [38] . Intelligent data analysis may be defined as "encompassing statistical, pattern recognition, machine learning, data abstraction and visualization tools to support the analysis of data and discovery of principles that are encoded within the data" [18] . The authors state that the principal differences between intelligent data analysis and knowledge discovery in databases is that the techniques used are those of artificial intelligence [7] rather than pure traditional statistical methods. Intelligent data analysis refers to all methods that are devoted to support the transformation of data into information exploiting the knowledge available on the domain. Very recently, a novel framework for the construction of augmented fuzzy cognitive maps based on fuzzy rule-extraction methods for decisions in medical informatics has been presented [24] .. Environment is a clear example of a complex domain, composed of numerous self-organized subsystems. If interactions of humans within the environment are studied, the level of complexity of such a system greatly increases [27, 32] . A very recent paper describes the design of a fuzzy decision support system in multi-criteria analysis approach for selecting the best plan alternatives or strategies in environment watershed [5] . It is a fact that environment affects human health. Climate changes together with growing anthropogenic impact intensify interactions within the "environment-human health" system. Humans are affected by this global imbalance, and react with direct and indirect health problems, some example include "excessive heat-related illnesses, vector-and waterborne diseases, increased exposure to environmental toxins, exacerbation of cardiovascular and respiratory diseases due to declining air quality, and mental health stress. Vulnerability to these health risks will increase as elderly and urban populations increase and are less able to adapt to climate change. In addition, the level of vulnerability to certain health problems varies by location. As a result, strategies to address climate change must include health as a strategic component on a regional level. Improving health while addressing climate change will contribute to public health infrastructure today, while reducing the negative consequences of a changing climate for future generations" [36] .. This complex system can be decomposed into "Air pollutants", "Climate change", "Water", "Ecological", and "Social/economic" sub-systems. And, each of the sub-systems affects human health. The strength and dynamics of health outcomes can be measured with statistical indicators: mortality, morbidity, birth defects rate, etc. The "Health" concept represents a complex system, which includes physical, social, mental, spiritual and biological well-being, spanning across all the spheres of human lives. Environmental pollution, as one of the factors with dominant and obvious influence upon human health, causes direct and latent harmful effects, which must be evaluated in order to create a set of preventive health-preserving solutions. That is why linking all the named components in one system and studying of this system leads to the analysis of potential and present health problems, retrieval of the new ones and to working out the in-depth view of situation development, strategies, and activities oriented to situation management and control.. Numerous studies have shown an adverse relationship between environmental hazards and human health. Some research works were aimed to discover detail mechanisms of these relationships [13, 31] . For example, a known and aggressive air contaminant is ambient fine particulate matter (PM 2.5 ). It has been demonstrated that it increases cardiovascular risks, with a stronger impact on heart failure [12] and causes premature death if it is locally emitted [23] . Ref. [34] examines and proves the presence of associations between carbon monoxide (CO), nitrogen dioxide (NO 2 ), ozone (O 3 ), sulfur dioxide (SO 2 ), and particulate matter (PM 10 and PM 2.5 ), and visits for angina/myocardial infarction, heart failure, dysrhythmia/conduction disturbance, asthma, chronic obstructive pulmonary disease, and respiratory infections. Another paper [35] describes a research in which adverse respiratory health effects on children caused by the petrochemical refinery's emissions are studied. The emissions include SO 2 , particles and oxides of nitrogen as well as fugitive emissions consisting of numerous aliphatic and aromatic hydrocarbons were studied. Some studies of prenatal exposure to solvents including tetrachloroethylene have shown increases in the risk of certain congenital anomalies among exposed offspring [1] . Some of the environmental pollutants play the role of carcinogens. For example, there are two types of environmental exposures, which are related to lung cancer: radon in homes and arsenic in drinking water [2] . Also, in [22] a causal effect that leads to increased respiratory illnesses in children due to traffic pollution is studied.. In case of environmental impact assessment (EIA), all the advantages of intelligent agents become crucial. Indeed, the intelligent agent and multi-agent systems (MAS) approach is an excellent technique that can help to reduce the complexity of a system by creating modular components, which solve private subtasks that together achieve the whole goal. Every agent utilizes the most effective technique for solving the subtask and does not apply the general approach, which is often acceptable for the system in the whole, but not optimal for a concrete subtask [29] . In accordance to a recent paper [6] "the applications of agents and multi-agent systems in the health care and clinical management environments are becoming a reality. Most agent-based applications are related to the use of this technology in patient monitoring, treatment supervision and data mining." EIA is an indicator, which enables evaluation of the negative impact upon human health caused by environmental pollution. Environmental pollution, a factor with dominant and obvious influence, causes direct and latent harm, which must be evaluated and simulated in order to create a set of preventive health-preserving solutions. Large amounts of raw data describe the "Environment-Human health" system, but not all the information is used. It transforms from the initial "raw" state to the "information" state, which suggests organized data sets, models and dependencies, and, finally, to the "new information" which is represented as a set of recommendations, risk assessment and forecast values. The proposed ADSS for the study of the "Environment-Public health" complex system includes all the necessary stages of the decision making process, leaving to a user the possibility to simulate possible outputs and to take a weighted decision based on previous analysis and expert knowledge. The ADSS has a strictly organized structure which, however, can be modified and amplified by user requirements. The fundamental scenarios retrieve and fuse data, preprocess data, check environmental impact, create models, and create recommendation provide the execution of all the data mining procedures carried out by the system and facilitate reaching the aims. In other words, the proposed system may be used as a "black box" system for non-specialists in data processing, or as a "white-box" system for specialists who would modify it in agreement with their needs.. Hierarchical agents which have their teams of subordinate agents are used. This decision facilitates distributing the control all over the system. Moreover, in case there is a need to add some additional functionality to any role, often it can be solved by adding a plan o a capability to the subordinate or principal agent. The implementation is performed within the JACK Development Environment. Some plug-ins are used to code data fusion procedures when the ontology is read from the OWL-files, and neural networks models and visualized results are generated.. Practical results and some theoretical outcomes have been described from an experiment for the region of Castilla-La Mancha (Spain). Retrospective information has been fused and preprocessed. The results of data cleaning has been provided and explained in detail with graphics and numerical results. Regression, neural networks, and GMDH-models have been created and then the best model for each variable of interest has been included into committee machines. The example described in the article shows a committee machine for the "External causes of death" variable together with the simulation results obtained. The procedure of the impact assessment has helped to discover the hidden dependencies between health outcomes and environmental pollutants which ware represented by indirect indicators.. The obtained results can help in better understanding the possible hazards for regional public health, and could be used to correct and to improve politics of public health institutions.

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 B 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B I O O B I 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 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


Cross-language linking of news stories on the web using interlingual topic modelling We have studied the problem of linking event information across different languages without the use of translation systems or dictionaries. The linking is based on interlingua information obtained through probabilistic topic models trained on comparable corpora written in two languages (in our case English and Dutch). The achieve this, we expand the Latent Dirichlet Allocation model to process documents in two languages. We demonstrate the validity of the learned interlingual topics in a document clustering task, where the evaluation is performed on Google News. Finding related documents across different languages is a valuable information retrieval task. For many languages we might not have access to translation dictionaries or a full translation system, or their use might be computationally too expensive to apply in an online search. In such situations it is useful to make use of only a limited translation of the documents, for instance by finding correspondences with regard to the topics discussed. In this case, it would be interesting to automatically learn topics cross-lingually from parallel or comparable corpora, the latter being available for many language pairs. In a parallel bilingual corpus, each document has an exact translation in the other language. A comparable corpus consists of pairs of documents that are not exact translations of each other, but that contain similar content.. In one example of an information retrieval task, namely processing news stories, it is often relevant to determine whether two stories report on the same event. An event is defined here as a well-specified happening at a certain moment in time (a single day or a short period) which deals with a certain set of topics (e.g., a hurricane and inundations, an earthquake and lack of drinking water) and involving some named entities. Those entities are, for instance, the actors (such as the names of the leading persons or companies) and the location where the event occurred.. In this article we focus on the clustering of Google News stories coming from different language sources (we use the words "story" and "document" interchangeably). Probabilistic topic models such as Latent Dirichlet Allocation (LDA) [5] allow for describing a document in terms of a probabilistic distribution over topics, and these topic in terms of distributions over words. The original LDA setting creates word distributions in a single language. An initial idea is to train two topic models separately, one for each language in the corpus. However, an important property of LDA is exchangeability, which dictates that the ordering of topics in a topic model can be permutated without affecting the validity of the model. Therefore, when learning two models independently, we cannot guarantee that the topic representations will be comparable. As a solution, we extended the algorithm to learn two sets of topics, each for a different language, simultaneously. This way, we can create topic distributions for documents in both languages that can be compared.. In our experiments we consider two languages, i.e. English and Dutch. We train the word distributions of the bilingual topics based on a bilingual corpus. Next, we show that using the bilingual topics and the extracted named entities, we can cluster documents on the same event across the two languages without the use of any translation system or dictionary.. The contributions of the paper are the expansion of the Latent Dirichlet Allocation model with regard to the computation of interlingual topic models, and the cross-language clustering of events using the interlingual topics together with entity names.. The remainder of this paper is organized as follows. Section 2 discusses related work. Section 3 describes our methodology. We report on results, their evaluation and discussion in section 4. In section 5, we present our conclusions and aims for future research. In this paper we have presented a model for interlingual probabilistic topics by expanding the Latent Dirichlet Allocation model of [5] . We have successfully applied the model in the task of cross-language event detection in Google News. We demonstrated that the model contributes to the event clustering task without relying on a machine translation system or bilingual dictionaries, in a realistic situation where the model is trained on a bilingual comparable corpus.. In future work, we want to consider additional languages when training the interlingual probabilistic topic model and use the model in cross-language information retrieval. Also, translation of named entities should prove useful in disambiguating stories. We will first give details on the datasets used in the evaluation of the event clustering. Then follows a short section on our clustering algorithms and cluster evaluation techniques. After that, we present results and their discussion. In this section, we first present a short description of the original LDA algorithm. Then, we adapt it to our bilingual needs. Finally, we present the setting in which we apply our adapted LDA-model, namely bilingual event detection.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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 O O O O B I


Achieving Oblivious Transfer Capacity of Generalized Erasure Channels in the Malicious Model Abstract-Information-theoretically secure string oblivious transfer (OT) can be constructed based on discrete memoryless channel (DMC). The oblivious transfer capacity of a channel characterizes-similarly to the (standard) information capacity-how efficiently it can be exploited for secure oblivious transfer of strings. The OT capacity of a generalized erasure channel (GEC)-which is a combination of a (general) DMC with the erasure channel-has been established by Ahlswede and Csizar at ISIT'07 in the case of passive adversaries. In this paper, we present the protocol that achieves this capacity against malicious adversaries for GEC with erasure probability at least 1/2. Our construction is based on the protocol of Crépeau and Savvides from Eurocrypt'06 which uses interactive hashing (IH). We solve an open question posed by the above paper, by basing it upon a constant round IH scheme (previously proposed by Ding et al. at TCC'04). As a side result, we show that the Ding et al. IH protocol can deal with transmission errors.Index Terms-Generalized erasure channel, information-theoretic security, interactive hashing, oblivious transfer, oblivious transfer capacity. O BLIVIOUS transfer (OT) is one of the central cryptographic primitives, since it implies secure two-party (and multiparty) computation [12] , [19] , [24] . It was initially proposed in different flavors by Wiesner [33] and Rabin [29] , but both flavors were later shown to be equivalent by Crépeau [9] . In this work, we will consider the one-out-of-two string oblivious transfer, string-OT, in which Alice transmits two input strings and Bob uses a choice bit to choose the string that he will receive. This protocol ensures that a dishonest Alice cannot learn , while a dishonest Bob cannot learn both and .. The potential of noisy channels for implementing information-theoretically secure cryptographic protocols was first noted by the pioneering work of Wyner [34] , with respect to secret key agreement. Crépeau and Kilian proved that noisy channels can be used to implement oblivious transfer [11] . This result was later improved in [10] , [13] , [25] , [26] , and [32] .. The question of determining the optimal rate at which oblivious transfer can be implemented using a noisy channel (i.e., the oblivious transfer capacity of the channel) was raised by Nascimento and Winter in [26] . They also characterized the noise resources that provide strictly positive oblivious transfer capacity. Imai et al. [21] obtained the oblivious transfer capacity of the erasure channels. Ahlswede and Csiszár [1] proved new bounds on those capacities and also obtained the oblivious transfer capacity of the generalized erasure channels (GECs) in the passive adversary model (where the players always follow the protocol). The related notion of commitment capacity was proposed by Imai et al. in [22] .. Our Contribution: In this paper, we show that the rates achieved in [1] against passive players can actually be achieved even against malicious ones (i.e., those that can arbitrarily deviate from the protocol). As the upper bounds proved in [1] for the case of passive players still hold against active ones, we thus establish the oblivious transfer capacity of the generalized erasure channels [1] in the malicious adversary model. Moreover, we prove security of our protocols using definitions by Crépeau and Wullschleger [15] , which are known to imply sequential composability.. The main tool for obtaining our results is interactive hashing (IH), originally introduced by Ostrovsky et al. [28] . Our solution is based on the protocol proposed by Savvides [31] (building on the results of [14] ) for oblivious transfer from erasure channels that employs information-theoretic interactive hashing [5] as a subprotocol. However, instead of directly adapting Savvides' solution to our scenario, we show that it is possible to use the constant round interactive hashing protocol by Ding et al. [17] . Hereby, we obtain the constant round oblivious transfer protocol, thus answering an open question posed by [31] .. Outline of the Paper: The paper is organized as follows: In Section II, we establish our notation, provide some facts that we use in the remaining part of this paper and introduce the constant round interactive hashing protocol that we used. In Section III, we present definitions of the generalized erasure channel and oblivious transfer security. We also state our main result about the oblivious transfer capacity of those channels. Finally, in Section IV, we present our protocol, its security proof and show that it achieves the oblivious transfer capacity.. 0018-9448/$26.00 © 2011 IEEE

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 B I 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 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 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 B I B I B I 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 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 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 B I 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 B I 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 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 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 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 B I 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 B I 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 B I O O O O O O O O O O O O B I I O B I 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 I O O O O O


Ensuring Termination by Typability A term terminates if all its reduction sequences are of finite length. We show four type systems that ensure termination of well-typed -calculus processes. The systems are obtained by successive refinements of the types of the simply typed -calculus. For all (but one of) the type systems we also present upper bounds to the number of steps well-typed processes take to terminate. The termination proofs use techniques from term rewriting systems.We show the usefulness of the type systems on some non-trivial examples: the encodings of primitive recursive functions, the protocol for encoding separate choice in terms of parallel composition, a symbol table implemented as a dynamic chain of cells. A term terminates if all its reduction sequences are of finite length. As far as programming languages are concerned, termination means that computation in programs will eventually stop. In computer science termination has been extensively investigated in term rewriting systems [5, 3] and -calculi [7, 2] (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the -calculus [12, 17] , a formalism widely used to address issues related to concurrency.. Indeed, termination is interesting in concurrency. For instance, if we interrogate a process, we may want to know that an answer is eventually produced (termination alone does not guarantee this, but termination would be the main ingredient in a proof). Similarly, when we load an applet we would like to know that the applet will not run for ever on our machine, possibly absorbing all the computing resources (a 'denial of service' attack). In general, if the lifetime of a process can be infinite, we may want to know that the process does not remain alive simply because of non-terminating internal activity, and that, therefore, the process will eventually accept interactions with the environment.. Languages of terminating processes are proposed in [19] and [16] . In both cases, the proofs of termination make use of logical relations, a well-known technique from functional languages. The languages of terminating processes so obtained are however rather 'functional', in that the structures allowed are similar to those derived when encoding functions as processes. In particular, the languages are very restrictive on nested inputs (that is, the possibility of having free inputs underneath other inputs), and recursive inputs (that is, replications ´Üµ È in which the body È can recursively call the guard of the replication). Such patterns are entirely forbidden in [19] ; nested inputs are allowed in [16] but in a very restricted form. For example, the process ´Üµ Ü (1) is legal neither for [19] nor for [16] . The restrictions in [19, 16] actually rule out also useful functional processes, for instance ´Ò µ Ò ½ Ø Ò ½ Ð× ´ Ò ½ ´Ñµ Ñ £Ò µ (2) which represents the factorial function.. In this paper, we consider several type systems and well-typed processes under each system are ensured to terminate. First, in Section 3, we present a core type system, which adds level information to the types of the simply typed -calculus. Then, in Sections 4 to 6 we show three refinements of the core system. Nested inputs and recursive inputs are the main patterns we focus on. For all the type systems (except for the second one, which can capture primitive recursive functions) we also present upper bounds to the number of steps welltyped processes take to terminate. Such bounds depend on the structures of the processes and on the types of the names in the processes. We show the usefulness of the type systems on some non-trivial examples: the encodings of primitive recursive functions, the protocol for encoding separate choice in terms of parallel composition from [13, 17] , a symbol table implemented as a dynamic chain of cells from [8, 15] .. Roughly, for each type system to prove termination we choose a measure which decreases after finite steps of reductions. To compare two measures, we exploit lexicographic and multiset orderings, well-known techniques in term rewriting systems [5, 4] . For the core type system, the measure is just a vector recording, for each level, the number of outputs (unguarded by replicated inputs) at channels with that level in the type. For the extended type systems, the ideas are similar, but the measures become more sophisticated since we allow them to decrease after some finite (unknown and variable) number of reductions, up-to some commutativities of reductions and process manipulations.

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 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 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 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 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 O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


The Linux Kernel as a Case Study in Software Evolution We use 810 versions of the Linux kernel, released over a period of 14 years, to characterize the system's evolution, using Lehman's laws of software evolution as a basis. We investigate different possible interpretations of these laws, as reflected by different metrics that can be used to quantify them. For example, system growth has traditionally been quantified using lines of code or number of functions, but functional growth of an operating system like Linux can also be quantified using the number of system calls. In addition we use the availability of the source code to track metrics, such as McCabe's cyclomatic complexity, that have not been tracked across so many versions previously. We find that the data supports several of Lehman's laws, mainly those concerned with growth and with the stability of the process. We also make some novel observations, e.g. that the average complexity of functions is decreasing with time, but this is mainly due to the addition of many small functions. Software engineering textbooks typically focus on the initial development of new software products. However, at least for some such products, the initial development is but a progenitor of additional development to come. The Linux kernel is a large-scale and long-lived software system that is enjoying widespread use throughout the world. More than 800 releases have been made since version 1.0 was released in March 1994, and thousands of developers have contributed to the code base. The project is open source, and all the code of all the releases is freely available on the Internet (from www.kernel.org and numerous mirrors). This provides data for the study of software evolution of a nature and scale that is impossible with other, especially closed source, systems.. Operating systems such as Linux are examples of what Lehman has called E-type programs [28, 11] . They are part of the infrastructure of the world in which they are used. At the same time, they are modified in response to new requirements and change requests from users, evolving in ways that cannot be anticipated or specified in advance [15] . They thus undergo what we call perpetual development, with new releases of production versions occurring from time to time [45, 14] . While such development may of course come to an end when use of the system is discontinued, the mindset of the developers at any given time is that it will continue indefinitely.. Lehman's study of the evolution of E-type systems led to the formulation of a set of "laws" of software evolution. These include observations such as that software that is in constant use inevitably continues to grow, to be adapted to its environment [28, 30] . Importantly, it was claimed that these laws are general and do not depend on the specific process being used to develop the studied software. The laws were validated by analyzing the evolution of size metrics of large-scale commercial systems such as the IBM OS/360. However, additional research has been hampered by the difficulty in obtaining high-quality data regarding large-scale commercial systems [23] .. Today we can get data from open source products (e.g. [38, 7, 36] ). While there is some debate on whether this also reflects the behavior of closed-source software, there are indications that it indeed does [44] . At the same time, the growth of the open source movement and the resulting importance of open source software to the industry as a whole mean that studying the evolution of open source is important in its own right, even if it does not reflect closed-source as well.. In this study we will use the Linux kernel. Our objective is to examine whether Lehman's laws are reflected in the development of the Linux kernel. A restricted version of this was done in the past by Godfrey and Tu [16] , who examined the growth of the Linux kernel over its first six years (1994) (1995) (1996) (1997) (1998) (1999) (2000) , and found that at the system level its growth was superlinear. This result deviated from previous results obtained by Lehman using closed-source products [34, 32] . We want to verify this result using a much larger data set, and extend it to the other laws. Given the availability of the source code, we also use additional metrics that have not been used before in this context.. Linux is undoubtedly a successful open source system, which has been used for data in many previous studies (e.g. [3, 16, 51, 44, 64, 48, 20, 56, 58] ). Specifically, we will analyze the progress made in hundreds of versions of Linux, released between March 1994 and August 2008, each containing thousands of source files and millions of lines of code. Such an analysis can serve as a basis for comparison with other systems. Linux is also interesting and important enough to be studied for its own sake.. The organization of this paper is as follows. Section 2 provides background regarding the Linux kernel and Lehman's laws of software evolution. In Section 3 we present our interpretation of these laws in the context of the Linux system, and derive quantitative data in their support. Section 4 concludes and includes a discussion of threats to validity and future work. The Linux kernel is one of the most successful open-source software projects in the world. Over the last 14 years it has continued to evolve in order to satisfy the needs of its users. We have presented a detailed characterization of this process, including over 800 versions which represent new developments, major production releases, and minor updates. Many interesting phenomena are only seen at this fine resolution, and would be lost if using the traditional approach of studying only major production releases.. The study presented here was based on Lehman's Laws of software evolution. We found obvious support for continuing growth and change, and probable support for invariant work rate. Conservation of familiarity seems to be combined with large changes when new production versions are released. The practice of preventative maintenance seems to support the increasing complexity and declining quality laws, which note the possibility of work being done to prevent them. The hardest laws to justify are the self regulation and feedback system laws, for which we find only some anecdotal evidence (but there is a good case and justification for further investigation). The laws and our results are summarized in Table 1 .. Taking a more global view of Linux's evolution, we find it to be a prime example of perpetual development -a system that is developed continuously in collaboration with its users, without elaborate specifications and planning. This is seen in the continuous trends observed along the backbone of development versions, and in the relative stability of production versions that branch out from this backbone.. The above observations are based on our interpretations of the results of an automatic analysis of the code. In particular, in many cases we suggest novel quantifications of Lehman's laws. Other quantifications are possible, representing a potential internal threat to the validity of our results. In some cases it is hard to arrive at a conclusion regarding what were the forces motivating the observed behavior. A further investigation of supplementary data, such as change logs and developer forums, is required in order to resolve those issues and give sufficient explanations to the phenomena. Also, the study of the code itself can be improved with the help of tools to comprehend and analyze the code structure [2, 46] .. Our results are of course specific to Linux, thus representing an external threat to validity. But some observations may generalize to other software systems as well. The applicability and generality of our results can be assessed by replicating the study for other operating system kernels and for other large software (as in [56] ), and by comparing the trends and the qualitative results of each. It might also be relevant to perform this comparison for open and closed source software in order to understand the differences in the development (as in [44] This study can also be extended by following additional metrics, such as the various types of common coupling [41, 64] , the indirect metrics developed by Yu [63] , the shape of the code tree [7] , and more process-related metrics such the time spent, the number of people involved, and how many developers participate in each type of activity (some preliminary data is available in [25] ). As the Linux kernel is very big, it would also be beneficial to perform a more detailed study of specific subsystems independently. This might allow us to better characterize and quantify the different laws of evolution, and arrive at more precise formulations. For example, the laws regarding increasing complexity and reduced quality beg for deeper study, and in particular the widespread identification and characterization of maintenance activity intended to reduce complexity and improve quality.. On a different trajectory, it would be interesting to complement the empirical characterization with more theoretical reasoning, in an attempt to uncover the forces at work. This is in fact the basis for some of Lehman's laws, e.g. self regulation, feedback system, and conservation of familiarity.. An example requiring additional study is the idea that invariant work rate implies that at each step in the evolution, the system will either grow or undergo some reorganization, but not both at once [12] . Our analysis is based on measuring the different properties and metrics of the Linux kernel as described in [19] . For completeness, we repeat this here.

O B I O O O O O B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 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 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 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 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 B I O O O O O O O O O O O


Detection and Prediction of Errors in EPCs of the SAP Reference Model Up to now there is neither data available on how many errors can be expected in process model collections, nor is it understood why errors are introduced. In this article, we provide empirical evidence for these questions based on the SAP reference model. This model collection contains about 600 process models expressed as Eventdriven Process Chains (EPCs). We translated these EPCs into YAWL models, and analyzed them using the verification tool WofYAWL. We discovered that at least 34 of these EPCs contain errors. Moreover, we used logistic regression to show that complexity of EPCs has a significant impact on error probability. There has been extensive work on formal foundations of conceptual process 2 modeling and respective languages. However, little quantitative research has 3 been reported on the actual use of conceptual modeling in practice [1] . over, literature typically discusses and analyses languages rather than evalu- 5 ating enterprise models at a larger scale (i.e., beyond "toy examples"). A fun-6 damental problem in this context is that large enterprise models are in general 7 not accessible for research as they represent valuable company knowledge that 8 enterprises do not want to reveal. In particular, this problem affects research 9 on reference models, i.e., models that capture generic design that is meant 10 to be reused as best practice recommendation in future modeling projects.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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


Capacity Pre-Log of Noncoherent SIMO Channels Via Hironaka's Theorem We find the capacity pre-log of a temporally correlated Rayleigh block-fading single-input multiple-output (SIMO) channel in the noncoherent setting. It is well known that for blocklength and rank of the channel covariance matrix equal to , the capacity pre-log in the single-input single-output (SISO) case is given by . Here, can be interpreted as the pre-log penalty incurred by channel uncertainty. Our main result reveals that, by adding only one receive antenna, this penalty can be reduced to and can, hence, be made to vanish for the blocklength , even if remains constant as . Intuitively, even though the SISO channels between the transmit antenna and the two receive antennas are statistically independent, the transmit signal induces enough statistical dependence between the corresponding receive signals for the second receive antenna to be able to resolve the uncertainty associated with the first receive antenna's channel and thereby make the overall system appear coherent. The proof of our main theorem is based on a deep result from algebraic geometry known as Hironaka's Theorem on the Resolution of Singularities.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Provably Secure Steganography Steganography is the problem of hiding secret messages in "innocent-looking" public communication so that the presence of the secret messages cannot be detected. This paper introduces a cryptographic formalization of steganographic security in terms of computational indistinguishability from a channel, an indexed family of probability distributions on cover messages. We use cryptographic and complexity-theoretic proof techniques to show that the existence of one-way functions and the ability to sample from the channel are necessary conditions for secure steganography. We then construct a steganographic protocol, based on rejection sampling from the channel, that is provably secure and has nearly optimal bandwidth under these conditions. This is the first known example of a general provably secure steganographic protocol. We also give the first formalization of "robust" steganography, where an adversary attempts to remove any hidden messages without unduly disrupting the cover channel. We give a necessary condition on the amount of disruption the adversary is allowed in terms of a worst case measure of mutual information. We give a construction that is provably secure and computationally efficient and has nearly optimal bandwidth, assuming repeatable access to the channel distribution. A classic problem of computer security is the mitigation of covert channels. First introduced by Lampson [1] , a covert channel in a (single-host or distributed) computer system can be roughly defined as any means by which two processes or users can exchange information in violation of security policy. While the exact detection of usable covert channels in a system is undecidable, many conservative approaches exist to detect and eliminate all potential covert channels; for example, the US Department of Defense "Light Pink Book" [2] on covert channel analysis includes detailed procedures to find and eliminate covert channels. Unfortunately, the cost of such elimination is often prohibitive; in this case, the Light Pink Book recommends techniques to limit the bandwidth of covert channels and requires auditing to detect any use of the covert channel. A natural question that arises from this suggestion is whether it is feasible for an auditor to do so. This paper focuses on the dual problem of steganography: How can two communicating entities send secret messages over a public or audited channel so that a third party such as the reference monitor cannot detect the presence of the secret messages? Notice how the goal of steganography is different from classical encryption, which seeks to conceal the content of secret messages: Steganography is about hiding the very existence of the secret messages.. Steganographic "protocols" have a long and intriguing history that predates covert channels, stretching back to antiquity. For example, Kahn [3] relates stories of World War II prisoners, spies, and soldiers sending secret messages-written in invisible ink, hidden in love letters (e.g., hiding the message in the first character of each sentence), or using other "physical" steganographic techniques-to circumvent inspections by both the Allied and Axis governments. In response, postal censors crossed out anything that looked like sensitive information (e.g., long strings of digits) and they prosecuted individuals whose mail seemed suspicious. In many cases, censors even randomly deleted innocent-looking sentences or entire paragraphs in order to prevent secret messages from being delivered.. More recently, there has been a great deal of interest in digital steganography, that is, in hiding secret messages in communications between computers. This interest is apparently fueled by the increased amount of communication that is mediated by computers and by connections to potential commercial applications: Hidden information could potentially be used to detect or limit the unauthorized propagation of the innocent-looking "carrier" data. Because of this, there have been numerous proposals for protocols to hide data in channels containing pictures [4] , [5] , video [5] , [6] , [7] , audio [8] , [9] , and even typeset text [10] . Many of these protocols are extremely clever and rely heavily on domain-specific properties of these channels. On the other hand, the literature on steganography also contains many clever attacks that detect the use of such protocols. As a result, it is unclear from this body of work whether secure steganography is possible at all.. In this paper, we use techniques from cryptography and complexity theory to answer the question "under what conditions is (secure) steganography possible?" We give cryptographic definitions for symmetric-key stegosystems and steganographic secrecy against a passive adversary in terms of indistinguishability from a probabilistic channel process. We show that a widely believed complexitytheoretic assumption (the existence of a one-way function) and access to a channel oracle are both necessary and sufficient conditions for the existence of secure steganography relative to any channel. We furthermore give a construction that has essentially optimal bandwidth when compared with known provably secure constructions. Finally, we consider the question of robust steganography that resists attempts to censor the use of a covert channel; we prove necessary and sufficient conditions for the existence of a secure robust stegosystem and give a provably robust stegosystem with nearly optimal bandwidth under attack. The scientific study of steganography in the open literature began in 1983 when Simmons [11] stated the problem in terms of communication in a prison. In his formulation, two inmates, Alice and Bob, are trying to hatch an escape plan. The only way they can communicate with each other is through a public channel, which is carefully monitored by the warden of the prison, Ward. If Ward detects any encrypted messages or codes, he will throw both Alice and Bob into solitary confinement. The problem of steganography is then: How can Alice and Bob cook up an escape plan by communicating over the public channel in such a way that Ward does not suspect that anything "unusual" is going on?. Anderson and Petitcolas [12] , [13] posed many of the open problems resolved in this article. In particular, they pointed out that it was unclear how to prove the security of a steganographic protocol and gave an example that is similar to the protocol we present in Section 4 but noted that it was not clear what properties were necessary to prove its security. They also posed the open question of bounding the bandwidth that can be securely achieved over a given cover channel.. Since then, several works [14] , [15] , [16] , [17] have addressed information-theoretic definitions of steganography. Cachin [14] , [18] defines security by requiring that the relative entropy between stegotexts, which encode hidden information, and independent identically distributed samples from some innocent-looking covertext probability distribution, is small. He also gives a construction that is provably secure but relies critically on the assumption that all orderings of covertexts are equally likely. Cachin points out several flaws in other published information-theoretic formulations of steganography. In addition to requiring arbitrarily long shared secrets, all of these works assume a more restrictive model of innocent communication and do not address bandwidth, robustness, or the necessary conditions for steganography.. Subsequent to the announcements of our results [19] , [20] , several extensions have been investigated. Reyzin and Russell [21] were the first to show that construction 1 (see Fig. 1 ) could be securely extended to multiple-bit hiddentexts for high-entropy channels, but their construction is still less efficient than construction 2 (see Fig. 2 ) in terms of bits per symbol. Independent of our bandwidth upper and lower bounds, Dedi c et al. [22] proved the security of a stegosystem similar to our construction 2 and gave an upper bound on the bandwidth per query of a universal stegosystem. Their bound is weaker than ours (in terms of bits per oracle query) by a factor of log 2 2e but applies to a more general class of stegosystems and is proved using techniques of independent interest. Van Le and Kurosawa [23] proposed a stegosystem based on arithmetic coding that uses specialized knowledge of a channel to achieve higher bandwidth per symbol in some cases. Lysyanskaya and Meyerovich [24] considered the effects of an imperfect channel sampling procedure on universal stegosystems. Backes and Cachin [25] introduced a notion of "active attacks" that use a decoding oracle to detect the presence of hidden messages in a special "challenge" cover message.

O O B 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 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 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 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 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 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 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 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 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A complete distance field representation senting empty space, have been developed in [11] [13] [14] . These methods are practical and commonly used nowadays. Surface shapes, however, are infinitely thin in space. To sample this thin shape, one needs infinitely high sampling rates. To avoid such a difficulty, Kaufman's algorithm [13] [14] increases the thickness of a surface, and therefore, to some extent, band limits the frequency spectrum before the sampling, or scan-conversion, process. Huang et. al [11] discovered and proved the sufficient and necessary thickness of the surface shape that guarantees a correct discrete topology in the resulting volume representation. Unfortunately, all these methods are based on binary volume representations, which are highly susceptible to aliasing artifacts. To address this issue, Sramek and Kaufman initiated data representations in non-binary formats [21] . In their paper, they show one has to use higher order smoothing functions to pre-filter and band limit the spectrum of the volume. Later, an incremental voxelization method for nonbinary volume is reported in [5] .Over the years, in addition to the search for optimal voxelization, the community has also been exploring other representations of surfaces. Distance fields are scalar fields, with each element in the 3D volume representing the minimal distance to a certain shape. It is common practice to use signed values to distinguish between interior and exterior of the shape. Compared to the surface shapes that correspond to impulses in 3D space, distance fields are much smoother. For shapes without sharp corners and edges, both the surface position and gradient can be reconstructed relatively accurately using a distance field [1] [9] . When corners and sharp edges are introduced, high frequency components are also brought into the spectrum. To preserve such details, supersampling with exceptionally high volume resolution, as well as low-pass filtering, is necessary to achieve an alias-free representation.In this paper, we present a novel scheme for representing distance fields. We build our volumetric representation of distance fields based on a complete distance definition. Our approach is disparate from the theory of linear sampling. We name our distance field representation a "complete distance field representation (CDFR)", because once the distance volume is constructed, we can extract any distance contour to any requirement of accuracy. As a comparison, conventional approaches based on a single valued distance field can only achieve higher accuracy by re-building the whole distance volume at an increased resolution. However, in most cases building a high resolution distance volume is non-trivial both in computational time and storage space. A recent work We also demonstrate applying CDFR to a cutting edge design for manufacturing application involving high-complexity parts at un-precedented accuracy using only commonly available computational resources.A Complete Distance Field Representation A voxel-based volume, as a 3D raster, holds discrete sample points representing a certain multi-dimensional entity. In an aliasfree volume discretization, only frequency components below half the Nyquist sampling rate would be stored. As a natural description of solid physical entities, volume representations have found applications in a variety of areas, including medicine, mechanical engineering, scientific computing and simulations. In order to utilize volume technologies, it has been common to convert surface models, such as a polygonal mesh exported by a CAD package, to a volume representation. In this process, first, one needs to voxelize the surface model into a hollow volume representing the surface shape [11] [13] [14] . Second, a distance transform is computed to construct a solid volume that encompasses a distance or thickness field recording distances to the surface. Euclidean distance has not been commonly used due to both efficiency concerns and the fact that accuracy is already compromised in the binary surface volume model. Instead, most applications use less accurate distance heuristics such as Manhattan or chessboard distance, or a Chamfer distance [3] .. Voxelization techniques that convert surface shapes into binary volumes, with 1's representing occupancy and 0's repre-Hierarchical data structures applied to represent distance fields efficiently have been reported in [7] , where adaptively sampled distance fields (ADF) are introduced. ADFs help in reducing volume storage size when fewer details are locally present. The specific ADF implementation described in [7] relies on a single valued distance representation, therefore that implementation still depends on a band-limited spectrum that discards all details beyond the cut-off bandwidth supported by the leaf level in the tree structure. Our CDFR algorithm can be embedded into the ADF structure for an exact distance field representation that is efficient both in terms of storage and processing time.. Conventionally, distance fields are most often rendered with ray-casting approaches [1] [5] [7] [9] . High interactive rates are often not attainable. CDFR can also be rendered with a slightly modified ray-casting scheme. However, for efficient rendering of distance contours, we also discuss a method to reconstruct a point-based contour of any distance value from CDFR. Such sparse point-based models can be efficiently rendered with splatting [12] .. The paper is organized in the following way. We give a brief introduction to single valued distance fields and the limitations of such representations in Section2. In Section3, we present a complete distance definition (CDD) and complete distance field representation (CDFR) based on CDD. We prove the correctness of our schemes in constructing CDFRs and extracting point-based contours from CDFRs in Section4. Results on a variety of data sets are shown in Section5. Finally, we conclude and discuss future work in Section6.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B I 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 B I 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 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 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 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


Development of a Mandarin-English Bilingual Speech Recognition System for Real World Music Retrieval SUMMARY In recent decades, there has been a great deal of research into the problem of bilingual speech recognition -to develop a recognizer that can handle inter-and intea-sentential language switching between two languages. This paper presents our recent work on the development of a grammar-constrained, Mandarin-English bilingual Speech Recognition System (MESRS) for real world music retrieval. Two of the main difficult issues in handling the bilingual speech recognition systems for real world applications are tackled in this paper. One is to balance the performance and the complexity of the bilingual speech recognition system; the other is to effectively deal with the matrix language accents in embedded language**. In order to process the intra-sentential language switching and reduce the amount of data required to robustly estimate statistical models, a compact single set of bilingual acoustic models derived by phone set merging and clustering is developed instead of using two separate monolingual models for each language. In our study, a novel Two-pass phone clustering method based on Confusion Matrix (TCM) is presented and compared with the log-likelihood measure method. Experiments testify that TCM can achieve better performance. Since potential system users' native language is Mandarin which is regarded as a matrix language in our application, their pronunciations of English as the embedded language usually contain Mandarin accents. In order to deal with the matrix language accents in embedded language, different non-native adaptation approaches are investigated. Experiments show that model retraining method outperforms the other common adaptation methods such as Maximum A Posteriori (MAP). With the effective incorporation of approaches on phone clustering and non-native adaptation, the Phrase Error Rate (PER) of MESRS for English utterances was reduced by 24.47% relatively compared to the baseline monolingual English system while the PER on Mandarin utterances was comparable to that of the baseline monolingual Mandarin system. The performance for bilingual utterances achieved 22.37% relative PER reduction. With the globalization in modern society, bilingual or multilingual communication becomes a common phenomenon. This presents a new challenge to the real world applications of speech recognition technology. In recent years, research on bilingual speech recognition has made significant progress.. [2] focused on English-German bilingual recognition and [3] described a Slovenian-Croatian weather forecast system. Similarly, [4] investigated Chinese-English speech recognition. One of the commonalities among these studies is that those test corpora used in their experiments consist of monolingual utterances spoken by corresponding native speakers. Although these bilingual systems achieved respectable performances for native monolingual speakers, their performances could degrade badly on non-native utterances. For some applications, a bilingual system has to face the fact that many users who take their native language as matrix language are not native to the embedded language. Therefore, improving performance on the nonnative embedded language is needed before these systems can be put into practical use [5] . Studies on the non-native speech recognition have focused on two basic approaches, one based on pronunciation modeling and the other based on acoustic modeling.. In pronunciation modeling approach, Livescu and Glass [6] proposed a lexical modeling technique to improve non-native speech recognition. Similarly, Amdal and Korkmazskiy [7] used joint pronunciation modeling to incorporate non-native pronunciations into the lexicon. Both methods used data driven techniques to derive a multiple pronunciation lexicon, and only achieved modest reduction in word error rate.. For acoustic modeling approach, Chan et al. [8] , [9] and Marino et al. [10] developed Cantonese-English and Spanish-Catalan bilingual speech corpora respectively. In these corpora, utterances for the embedded language were collected in regions where the matrix language was spoken, and were directly used to train the acoustic models of the embedded language. Compared to the monolingual models originally trained with native speakers' utterances, these acoustic models greatly improved the recognition performances on the embedded language. However, to obtain sufficient non-native training data is very difficult. When training data is limited, the performances of these non-native acoustic models can degrade significantly due to insufficient training.. Thus, how to improve system performance with only limited amount of data becomes an important issue. Speaker adaptation techniques such as Maximum A Pos- [12] compared the effectiveness of several adaptation techniques on non-native speech, and consistent improvements were confirmed. These activities mainly focused on solving the accent issue, and their improvements, however, were generally accompanied by the degradation of the recognition on native speech.. With globalization, China is more and more closely connected to the world. Foreign languages (particularly English) are being used more and more frequently, especially among young generations in cities. It is very common that English words are being embedded in Chinese sentences during conversations among the well-educated. This makes the Mandarin-English bilingual speech recognition a necessity for many speech recognition applications. In this paper, we will present our efforts in developing a MandarinEnglish bilingual speech recognition system for a real world application.. Our goal is to develop a system that can yield decent performance on non-native English with only limited amount of non-native English data while maintaining highest possible recognition rate on Mandarin. The novelties of our work include: (1) a single set of acoustic models that can handle both inter-and intra-sentence language switching, (2) a two-pass cross languages phone clustering approach based on confusion matrix, and (3) optimal way of merging the phone sets of English and Mandarin via extensive experiments. Although the task is domain specific, the methodologies presented in this paper can be applied to general recognition task as well.. The task domain of our MESRS is music retrieval. The system enables a user to find a song by simply saying the singer's name and the title of the song through a phone call. Since many songs are English songs (and sometimes performed by Chinese singers), thus the incoming calls may consist of songs and singers' names uttered either monolingually (Mandarin or English) or bilingually. So the system has to deal with input with inter-and intra-sentential language switching. The following are typical examples (intra-sentential language switching).. In order to process language , switching and reduce computing resource requirements for practical reasons, only one set of Mandarin-English bilingual acoustic models is developed in our study. By merging and clustering the phone sets of these two languages, a new set of monophones covering both languages are determined. Different sizes of Mandarin-English bilingual phone sets are experimented and compared. In order to deal with the accent issue with limited amount of non-native training data, different approaches are explored as well. Comparative studies were conducted, and only the most effective methods were selected. Experiment results show that encouraging advances are made compared to the baseline system. This paper presents our recent work in developing a Mandarin-English bilingual speech recognition prototype system for real world music retrieval. In addition to the requirement of handling inter-and intra-sentential language switching at the same time, the challenge also includes that only limited amount of out-of-domain accented English data is available. Since this type of recognition task has not been reported before, various cross language phone clustering methods and adaptation techniques have been investigated. A novel method named TCM is proposed. Experiment results showed that the proposed TCM outperforms existing approaches favorably. It is also shown that with limited availability of non-native adaptation data, model retraining method outperforms MAP adaptation method in our study.. The final phrase error rates of our MESRS are reduced by 24.47% and 22.37% relatively for non-native English test set (TestE) and bilingual test set (TestB) compared to the corresponding baseline single language only system, and the performance on native Mandarin test set (TestM) is comparable to the performance of the baseline Mandarin only acoustic model (Model_M). These results show the effectiveness of these proposed methods in improving bilingual recognition performance. Although the task is specific for music retrieval, we believe the research findings presented in this paper can be applicable to other multi-lingual recognition tasks as well.

O O O B 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 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 B B I I 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 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 B I O O O O O B O O O O O O B I 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 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 B I 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I I 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 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 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 B 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 B I 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 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


Distance join queries on spatial networks The result of a distance join operation on two sets of objects R, S on a spatial network G is a set P of object pairs <p, q>, p ∈ R, q ∈ S such that the distance of an object pair <p, q> is the shortest distance from p to q in G. Several variations to the distance join operation such as UnOrdered, Incremental, Top-k, Semi-Join impose additional constraints on the distance between the object pairs in P , the ordering of object pairs in P , and on the cardinality of P . A distance join algorithm on spatial networks is proposed that works in conjunction with the SILC framework, which is a new approach to query processing on spatial networks. Experimental results demonstrate up to an order of magnitude speed up when compared with a prominent existing technique. The distance join operation computes a subset of the Cartesian product R × S of two sets R and S of a specified order and is based on the distance [10] . The result of a distance join operation is a set P of ordered pairs of objects <p, q>, such that p ∈ R and q ∈ S. In this paper, we propose distance join operations on a spatial network G, where R and S are sets of objects in G and the distance of an object pair <p, q> in P is the shortest distance dN (p, q) from p to q in G. Additionally, spatial and non-spatial constraints could be further imposed either on P , on the object pairs in P , or on both. This results in many different variants of the distance join operation, some of which are discussed below.. The first variant deals with the order in which pairs of objects in P are reported. The result of an Ordered distance join operation is a set P of object pairs that is obtained and reported in an increasing (or decreasing) order of the distance between the pairs i.e., the first pair in P is the closest object pair in R × S, while the last element in P is the farthest object pair in R × S. A distance join operation is said to be UnOrdered if an ordering of P is not specified.. Distance join operations may generate a very large number of object pairs even for sets of objects R, S of a modest size. For example, R and S both containing 50, 000 objects may generate up to 2.5 billion object pairs. However, in practice, we may be only interested in a small number of pairs in the result set. Hence, computing all the possible pairs in R × S may result in wasted work. The Top-k distance join operation computes the first k pairs of objects in P of a distance join operation. Note that the Top-k constraint implicitly assumes that a distance ordering of the objects in P is specified. Hence, we slightly modify the effect of the Top-k constraint on Ordered and UnOrdered distance join operations. An UnOrdered Top-k distance join operation computes the "Top-k" object pairs of R × S, although the object pairs in P are still unordered, i.e., we do not establish a total ordering of the k object pairs in P . In contrast, the "Top-k" constraint applied to an Ordered distance join operation results in an ordered set of object pairs in P containing k object pairs. Such a join operation has interesting applications to GIS. For example, given a set of locations corresponding to exits R on a highway and a set of restaurants S, we may wish to determine the k closest pairs containing an exit on the highway and a restaurant. Incidentally, such a query is a variant of the "in-route" query proposed in [17] . Figure 1c illustrates the top-10 pairs of an Ordered distance operation on a road network of Washington, DC.. Instead of limiting the cardinality of the result set P using a Top-k constraint, the distance join operation may be constrained to report only those object pairs that are within a specified minimum d − and maximum d + distance values Figure 1a . When R is an object, b) an Ordered distance operation is an incremental nearest neighbor search on S. c) an UnOrdered distance join with a distance restriction is a range search on S.. For example, given a set of locations R on a road network corresponding to where employees of a chain store reside, and the set of stores S, we can find the set of stores that each employee can reach within distance, or alternatively within time when the time taken to travel an edges of the road network is provided. Figure 1b is an illustration of a distance join operation when the minimum and maximum distance between the object pairs is specified.. An interesting variant of the distance join is the distance Semi-Join, which restricts the number of occurrences of any object p ∈ R in P . The result of a distance Semi-Join operation computes a set P of object pairs, such that for all p ∈ R, there exists exactly one pair <p, qi >, qi ∈ S in P . The result of an Ordered distance semi-join operation pairs is an ordered set of object pairs, such that each object in R is paired with its closest object in S. Incidentally, the result of an Ordered distance semi-join is equivalent to the ANN join [5] . For example, given a set of stores R and a set of warehouses S on a spatial network, the Ordered distance semi-join associates each store with its closest warehouse. Figure 2a is an illustration of a distance Semi-Join operation on a road network.. Incidentally, an Ordered distance join operation can also be Incremental -that is, each invocation of the join only computes the next object pair in the result set. For simplicity sake, we assume that all Ordered distance join operations are also Incremental, although this need not always be the case.. In this paper, we present an algorithm that can perform a variety of distance join operations on spatial networks. The inputs to the algorithm determine the nature of the distance join, i.e., the user can choose between Ordered versus UnOrdered, Join versus Semi-Join, and distance pruning versus Top-k. However, it should be clear that not all combinations of these operations yield meaningful results.. The rest of the paper is organized as follows. Section 2 discusses related work. A brief introduction to the SILC framework is provided in Section 3. Our join algorithm is presented in Section 4. Experimental results are discussed in Section 5, while concluding remarks are drawn in Section 6. An algorithm has been presented that can perform a variety of distance join operations on spatial networks. Some possible directions for future work include the study of other join algorithms (e.g., kNN join [5, 19] ) on spatial networks and improvements to the SILC framework. In particular, we plan to extend the capabilities of SILC to be able to efficiently compute the network distance interval between two blocks, and between a block and an object. One possible solution that would allow the computation of the network distance interval between a block and an object is to compute an inverse SILC map for each vertex in a spatial network G, where an inverse SILC map of a vertex w is a region quadtree on the spatial positions of the vertices in G, such that the shortest paths from all the vertices contained in a block of the region quadtree to w share the same last link. Computing such an inverse SILC map would enable the computation of the network distance interval between a block and an object, although this does incur a considerable investment of additional disk storage. Performing spatial queries on transportation networks, also known as spatial networks, is an application that is of great interest to the GIS community [15, 16, 17] . Transportation networks form an integral part of GIS applications like location-based services and locational analysis. Moving object databases [16, 20] and trip-planning [17] are closely related to location-based services. The join algorithm proposed in this paper is based on the SILC framework [15] which is a new approach to query processing on spatial networks.. In our earlier work [15] , we proposed an incremental nearest neighbor algorithm using the SILC framework. Given a query object q and a set of objects P on a spatial network, our algorithm incrementally obtains the nearest neighbors to q from objects in P . On the other hand, the related IER and INE techniques of Papadias et al. [13] , and the subsequent improvements to the INE technique by Cho and Chung [4] , use a technique that is based on Dijkstra's shortest path algorithm to find the k-nearest neighbors to a query object q on a spatial network. However, their methods are not incremental. Kolahdouzan and Shahabi [12] speed-up the process of finding the k-nearest neighbors by precomputing the Voronoi diagram for a set of locations P on a spatial network from which the k neighbors to q are drawn. The landmark approach is another method which is used by Jing et al. [11] , and Goldberg and Harrelson [7] to speed up Dijkstra's algorithm.. There are two key differences between our approach which is based on the SILC framework and the above approaches. First, our technique requires precomputation of the shortest path between every pair of vertices in a spatial network. Although this can be quite expensive for large spatial networks, it can be achieved with a sufficient investment of time and hardware resources. Our method enables storing the shortest paths compactly and makes provision for retrieving them efficiently. A compact representation of the shortest paths of a spatial network G is termed the path encoding of G.. The second difference is that our method has an advantage when multiple datasets share the path encoding to perform queries on spatial networks. For example, a path encoding of Manhattan, NY can potentially be shared by several datasets of landmarks pertaining to postal addresses in Manhattan for query processing. Moreover, spatial networks are usually static structures, while datasets of objects may be updated frequently. For example, when dealing with a set of mobile hosts on a road network, the current positions of the objects are frequently updated, while the road network in itself would largely remain static. Moreover, the datasets and the network can be updated independently of each other. In effect, what we have done is to decouple the data from the underlying domain. In this respect, our work is distinguished from the work of Papadias et al. [13] and Kolahdouzan et al. [12] who perform path and distance queries at run-time, while making no provisions to reuse such computations across queries and across datasets. For example, the network Voronoi diagram in [12] computed for a set of restaurants in Manhattan cannot be used for another dataset of post offices in Manhattan.. In this paper, we introduce several distance join operations on a spatial network. Our algorithm is based on earlier work in [2, 10, 14, 18] which has now been applied to spatial networks. The "Top-k" operator is based on the work of Carey and Kossmann in [3] . The distance semi-join operation of R and S, computes the first nearest neighbor to each object in R with neighbors drawn from S. Hence, it is related to the all nearest neighbor join (ANN join) query in [5, 19] , although both [5, 19] deal with the problem in an Euclidean space. Moreover, as the first object pair in the result of an incremental distance join is the closest (or farthest) object pair drawn from R×S, our work is also related to the "closest pair" queries introduced in [1] .. The only techniques that directly compete with our work are the Join Euclidean Restriction (JER) and Join Network Expansion (JNE) techniques of Papadias et al. [13] , which are both based on Dijkstra's algorithm. Given two sets of objects R and S on a spatial network and a distance , the JER and JRE algorithms compute pairs of object pairs <p, q>, p ∈ S, q ∈ R, such that the network distance between p and q is less than or equal to . Note however that both these algorithms are limited in their capabilities. Neither JER nor JRE can compute distance joins incrementally. Moreover, neither JER nor JRE can perform Semi-Join operations. Finally, a distance join operation that specifies both a lower and an upper limit on distance between the object pairs that are reported cannot be handled efficiently by either the JER or JRE techniques. To perform such a query using JER or JRE would require obtaining all the object pairs that satisfy the upper bound on the distance between the object pairs and then pruning the result against the lower bound distance.

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 B I O O O O O O O O B I O O O O O O B I 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 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 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 B I 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 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 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 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 B I O O O O O O O B I 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 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 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 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 B I 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 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