Multiscale Active Contours Abstract. We propose a new multiscale image segmentation model, based on the active contour/snake model and the Polyakov action. The concept of scale, general issue in physics and signal processing, is introduced in the active contour model, which is a well-known image segmentation model that consists of evolving a contour in images toward the boundaries of objects. The Polyakov action, introduced in image processing by Sochen-Kimmel-Malladi in Sochen et al. (1998) , provides an efficient mathematical framework to define a multiscale segmentation model because it generalizes the concept of harmonic maps embedded in higher-dimensional Riemannian manifolds such as multiscale images. Our multiscale segmentation model, unlike classical multiscale segmentations which work scale by scale to speed up the segmentation process, uses all scales simultaneously, i.e. the whole scale space, to introduce the geometry of multiscale images in the segmentation process. The extracted multiscale structures will be useful to efficiently improve the robustness and the performance of standard shape analysis techniques such as shape recognition and shape registration. Another advantage of our method is to use not only the Gaussian scale space but also many other multiscale spaces such as the Perona-Malik scale space, the curvature scale space or the Beltrami scale space. Finally, this multiscale segmentation technique is coupled with a multiscale edge detecting function based on the gradient vector flow model, which is able to extract convex and concave object boundaries independent of the initial condition. We apply our multiscale segmentation model on a synthetic image and a medical image. In this section, we apply our multiscale image segmentation model in the linear scale spaces of two images: a 64 × 64 synthetic image based on the Von Koch's picture, corrupted with additive Gaussian noise and a Morse (1994) . The fourth row of Figures 7 and 8 show the multiscale GVF. The initial vector field is chosen to be the scale space gradient of the edge detecting function (36), i.e. V(t = 0) = ∇ L SS f . The multiscale GVF, Equation (43), is implemented using central approximation schemes for spatial derivatives and the scale derivative scheme proposed by Eberly ( , 1994a . The run times are about 5 minutes for the Von Koch's picture and 15 minutes for the brain picture.. The segmentation process is given by the flow (28). It is implemeted as follows: the mean curvature K L SS , developed in Equation (30), is implemented, like GVF, using central approximation schemes for spatial derivatives and the scale derivative scheme proposed by Eberly ( , 1994a . The advection term, Equation (31), is discritized with standard upwind schemes based on hyperbolic conservation laws, see e.g. Osher (2003) or Sethian (1999) . Furthermore, the level set function is periodically re-initialized with the fast marching method of Adalsteinsson-Sethian (1995) .. First row of Figures 9 and 10 present the evolution of the active contour, which is a surface in this case, in the linear scale space and the last three rows show the evolution process of the multiscale snake at four different scales. The run times of the segmentation process are about 5 minutes for the Von Koch's picture and 15 minutes for the brain picture.

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


Highway Vehicular Delay Tolerant Networks: Information Propagation Speed Properties Abstract-In this paper, we provide a full analysis of the information propagation speed in bidirectional vehicular delay tolerant networks such as roads or highways. The provided analysis shows that a phase transition occurs concerning the information propagation speed, with respect to the vehicle densities in each direction of the highway. We prove that under a certain threshold, information propagates on average at vehicle speed, while above this threshold, information propagates dramatically faster at a speed that increases quasi-exponentially when the vehicle density increases. We provide the exact expressions of the threshold and of the average information propagation speed near the threshold, in case of finite or infinite radio propagation speed. Furthermore, we investigate in detail the way information propagates under the threshold, and we prove that delay tolerant routing using cars moving on both directions provides a gain in propagation distance, which is bounded by a sublinear power law with respect to the elapsed time, in the referential of the moving cars. Combining these results, we thus obtain a complete picture of the way information propagates in vehicular networks on roads and highways, which may help designing and evaluating appropriate vehicular ad hoc networks routing protocols. We confirm our analytical results using simulations carried out in several environments (The One and Maple). T HE limits of the performance of multihop packet radio networks have been studied for more than a decade, yielding fundamental results such as those of Gupta and Kumar [12] on the capacity of fixed ad hoc networks. These studies assume that either end-to-end paths are available or packets are dropped on the spot. Following seminal works such as [11] evaluating the potential of mobility to increase capacity, recent research studies focussed on the limits of the performance beyond the end-to-end hypothesis, i.e., when end-to-end paths may not exist and communication routes may only be available through time and mobility. In this context, nodes may carry packets for a while until advancing further toward the destination is possible. Such networks are generally referred as intermittently connected networks (ICNs) or delay tolerant networks (DTNs). Interest in DTN modeling and analysis has risen as novel network protocols and architectures are being elaborated to accommodate various forms of new, ICNs, which include vehicular ad hoc networks (VANETs), power-saving sensor networks, or even interplanetary Internet [7] .. In this paper, we study the information propagation speed in the typical case of bidirectional vehicular DTNs, such as roads or highways (e.g., about 75% of the total statute miles in the U.S. [18] ). Our objective consists in determining the maximum speed at which a packet (or beacon) of information can propagate in such a bidirectional vehicular network. Our analysis shows that a phase transition occurs concerning information propagation speed, with respect to the vehicle density. We prove that under a certain threshold, information propagates on average at vehicle speed, while above this threshold, information propagates much faster. We provide the exact expressions of the threshold and of the average propagation speed near the threshold.. With applications such as safety, ad hoc vehicular networks are receiving increasing attention (see recent surveys [6] , [17] ). Delay tolerant architectures have, thus, been considered in this context in recent studies, and various analytical models have been proposed. In [19] , the authors study vehicle traces and conclude that vehicles are very close to being exponentially distributed on highways. The authors in [5] also base themselves on traces gathered in DieselNET (the experimental vehicular network deployed by UMass) to elaborate and evaluate a novel DTN routing algorithm. In [10] , the authors provide a model for critical message dissemination in vehicular networks and derive results on the average delay in delivery of messages with respect to vehicle density. The authors in [21] propose an alternative model for vehicular DTNs and derived results on node connectivity, under the hypothesis that vehicles are exponentially distributed. The study is based on queuing theory techniques and characterizes the relationship between node connectivity and several parameters including speed distribution and traffic flow. In [20] , the authors model vehicles on a highway, and study message propagation among vehicles in the same direction, taking into account speed differences between vehicles, while in [16] , authors study message dissemination among vehicles in opposing directions and conclude that using both directions increases dissemination significantly.. Several studies focus on characterizing the packet propagation delay in DTNs: [8] which models DTNs as Erdös-Rényi random graphs to derive results concerning packet propagation delay, [22] which uses fluid limit techniques to derive relationships between buffer space, packet duplication, and dissemination delay. Other studies focus on information propagation speed in DTNs. In [15] , the authors show that when a 2-D network is not percolated, the latency scales linearly with the Euclidean distance between the sender and the receiver, while in [13] , the authors obtained analytical estimates of the constant bounds on the speed at which information can propagate in 2-D DTNs. Studies such as [1] - [3] are the closest related work, also focusing on information propagation speed in 1-D DTNs. These studies introduce a model based on space discretization to derive upper and lower bounds in the highway model under the assumption that the radio propagation speed is finite. Their bounds, although not converging, clearly indicates the existence of a phase transition phenomenon for the information propagation speed. Comparatively, we introduce a model based on Poisson point process on continuous space that allows both infinite and finite radio propagation speed, and derive more fine-grained results above and below the threshold (some of the work described in the following was presented in [4] ). Using our model, we prove and explicitly characterize the phase transition.. In this context, our contributions are as follows: 1) we develop a new vehicle-to-vehicle model for information propagation in bidirectional vehicular DTNs in Section II; 2) we show the existence of a threshold (with respect to the vehicle density), above which the information speed increases dramatically over the vehicle speed, and below which the information propagation speed is on average equal to the vehicle speed, and 3) we give the exact expression of this threshold, in Section III; 4) in Section IV, we prove that, under the threshold, even though the average propagation speed equals the vehicle speed, DTN routing using cars moving on both directions provides a gain in the propagation distance, and this gain follows a sublinear power law with respect to the elapsed time, in the referential of the moving cars; 5) we characterize information propagation speed as increasing quasi-exponentially with the vehicle density when the latter becomes large above the threshold in Section V; 6) we cover both infinite radio propagation speed cases, and then finite radio propagation speed cases in Section VI; and 7) we validate the provided analysis with simulations in multiple environments (The One and Maple) in Section VII.

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


An algorithm for the appraisal of assurance indicators for complex business processes In order to provide certified security services we must provide indicators that can measure the level of assurance that a complex business process can offer. Unfortunately the formulation of security indicators is not amenable to efficient algorithms able to evaluate the level of assurance of complex process from its components.In this paper we show an algorithm based on FD-Graphs (a variant of directed hypergraphs) that can be used to compute in polynomial time (i) the overall assurance indicator of a complex business process from its components for arbitrary monotone composition functions, (ii) the subpart of the business process that is responsible for such assurance indicator (i.e. the best security alternative). Some emerging trends are shaping the business of the future: from a technological perspective highly dynamic service-oriented architectures (SOA) with a distributed security administration have emerged as the architectures of choice.. Ý Contact author. £ This work was partly supported by the EU-IST-IP-SERENITY and IST-FET-IP-SENSORIA projects Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. from a business perspective companies and institutions are outsourcing non-core parts of their business and their IT infrastructure. Outsourcing is iterated through subcontractors.. from a standards and regulatory perspective the complexity of requirements has increased especially with respect to security, privacy, and accountability.. Due to these emerging trends, companies can neither deliver nor accept best-effort software solutions that cannot be subject to independent audits. This applies to all software components and services, but in particular to the security solutions implementing the controls that are essential for auditing. In a nutshell companies must provide certified assurance services to their customers and expect assured services from their contractors. The American Institute of Public Accountants and the International Federation of Accountants started to address problems and opportunities in this area by developing best practices for "Assurance and Trust Services" for Web and IT applications 1 (see also [9] ). In order to provide certified assurance services we must first provide indicators that can measure security state of a process or the level of assurance available to another process. In other words we must realize in the security and trust domain those notions that are universally accepted in the management and accounting community to provide certifiable assurance of financial services and sound business risk management. Looking at CoBIT, the Information Systems Audit and Control Association's framework of indicators, processes and best practices for IT governance and control in companies [13] , we find Key Goal Indicators (KGI) establishing measurable business objectives that must be reached to obtain successful services, whereas Key Performance Indicators (KPI) set up the measures on the business or technological infrastructure (such as the number of "negative" events) that allow evaluating the level of goal achievement. To account for the hierarchical structure of business processes high-level KGI/KPI can be mapped to KGI/KPI at lower business levels.. The notions that we need are the following ones [16] :. Assurance Indicator is a measurable indicator negotiated by a client and a contractor to show that the client's business assurance goals are addressed e.g. the number of attacks or breaches that affect the clients' assets.. Security Indicator measures technical security features used by contractors to achieve a high level of security, e.g. presence and quality of protection and regulatory models.. CoBIT's indicators and these indicators are dual in the same way that service engineering and security engineering are dual methodologies. Intuitively, a goal indicator points to a better business, 1 See for example http://www.webtrust.org/overview.htm thus a system with more features. Assurance indicators point to a more secure system, thus a system with less troubles. Performance indicators define events that are bad for business while a security indicator points to events that are good for security such as passing from RBAC to RBAC with separation of duty. Unfortunately, having an indicator is not enough: business processes are complex and, to scale up to industry level case studies, we must be able to derive the global indicators for a process by combining the indicator for a global business process from its components.. Further we would like to analyze several business process alternatives and choose the one which provides the best protection. In this paper we have build upon the work of [20] and shown an algorithm based on FD-Graphs (a variant of directed hyper-graphs) that can be used to compute in polynomial time (i) the overall assurance indicator of a complex business process from its components for arbitrary monotone composition functions, (ii) the subpart of the business process that is responsible for such assurance indicator (i.e. the best security alternative). In contrast to standard hyper-graph algorithms [4] the propagation functions that we support must only be monotone. In this way we can capture a larger class of methods for security appraisals.. The most difficult point in the process is the concrete determination of propagation functions. We are planning to test several sets of propagation functions for various assurance indicators analyzing data from the corresponding case study in the SERENITY project. Once these functions are determined the proposed algorithm will assess all possible system configurations and if a security service is added/changed only the information about this service has to be updated. Other input parameters (weights and values of the leaf nodes) can be taken from business process specification (e.g. average time for execution of an activity) and from statistics or agreements with the partners.. The current activity is towards the creation of a tool to support security analysis. Another direction is to adapt the algorithms for dynamic changes [4, 3] . The identification of a suitable indicator for assessment of security of a complex system is a well known problem. Some approaches suggested assigning a maturity level to the systems (e.g., the SSE-CMM), others recommended checking compliance with a security standard (e.g. ISO 17799) (e.g. [14] ), third, calculated "mean-time-to-breach" indicator using vulnerability/attack graphs [19, 23] . The most popular approach nowadays is applying risk analysis for security evaluation [6, 25] which is based on economical assessment. In our work we propose an approach which aggregates indicators of simple elements rather than assessing the whole system at once.. There is a large number of articles about access control in workflows. Bertino at al. [5] formally expressed constraints on role assignment to tasks in a workflow in order to automatically assign roles and users according to the constrains. Kang at al. [15] proposed an fine-grained and context-based access control mechanisms for inter-organizational workflows. These papers do not discuss the issue of the quality of protection that a secure workflow may achieve and only have a 0-1 notion of security.. There are few works which deal with negotiation of security indicators between clients and contractors. One of the first works claiming that security requirements must be reflected in the contract is [17] . Casola [7] et. al. building upon [11] proposed to assess security of services separately within fifteen security domain and showed an algorithm to compare security SLAs against a target SLA. A similar idea of divide-and-conquer technique was applied to evaluation of Web Service security in [26] .. The closest work to our approach is [27] . The authors proposed to choose the concrete BP among several alternatives using provided qualities as the major criterium. However they restricted themselves to sequential decompositions of BP and the functions used for aggregation of qualities are suitable for existing hypergraph algorithms. Also the authors do not consider security/assurance indicators. Jeager et. al. [21] also provided several aggregation functions for a number of service qualities (e.g. minimal execution time, cost).. A directed hypergraphs introduced in [2] is a generalization of directed graphs which allows representing many-to-one relations. Classical problem of "finding a shortest path in a hypergraph" was studied by Ausiello [4] and Gallo [10] . The algorithms proposed by the authors are quite similar and based on the algorithm of Dijkstra [8] . Unfortunately the assumptions for the used functions in the hypergraphs are to strict to be applied for our work.

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


Ranking spaces for predicting human movement in an urban environment A city can be topologically represented as a connectivity graph, consisting of nodes representing individual spaces and links if the corresponding spaces are intersected. It turns out in the space syntax literature that some defined topological metrics can capture human movement rates in individual spaces. In other words, the topological metrics are significantly correlated to human movement rates, and individual spaces can be ranked by the metrics for predicting human movement. However, this correlation has never been well justified. In this paper, we study the same issue by applying the weighted PageRank algorithm to the connectivity graph or space-space topology for ranking the individual spaces, and find surprisingly that: (1) the PageRank scores are better correlated to human movement rates than the space syntax metrics, and (2) the underlying space-space topology demonstrates small world and scale free properties. The findings provide a novel justification as to why space syntax, or topological analysis in general, can be used to predict human movement. We further conjecture that this kind of analysis is no more than predicting a drunkard's walking on a small world and scale free network. A space, in the context of this paper, refers to a small scale space that is small enough to be perceived from a single vantage point. From this point of view, a city or an urban environment being part of a city is too big to be viewed from a single vantage point, and it is constituted by many (small scale) spaces. This way a city can be abstracted as a connectivity graph or space-space topology in which nodes and links represent individual spaces and their intersections respectively. Similarly, a building complex can be abstracted as a space-space topology in which nodes represent individual rooms or corridors, and links represent the doors. The spacespace topology formed at either a city or a building level is an interconnected whole in which each space has a different topological status. For instance, some of the spaces are well connected (with a high degree of connectivity), while others are less so. This is the fundamental principle of space syntax Hanson 1984, Hillier 1996) , which consists of topological representations forming a space-space topology on the one hand and some defined space syntax metrics on the other. A major finding of space syntax has been the prediction of human movement using some space syntax metrics.. How one space is connected to other spaces in the space-space topology illustrates its status in the whole at a local level. Assuming a frog randomly jumping from one node to its neighboring nodes (or successors) in the connectivity graph, the chance that the frog will visit individual nodes appears to be decided by the connectivity of the nodes. This is simply based on the theory of Markov chains (e.g. Ching and Ng 2006) . Although human movement is not as simple as the frog's jumping, intuitively the connectivity of the nodes does show some level of correlation to pedestrian and vehicle flows. However, researchers in the space syntax community claimed, through enormous empirical studies (Hillier et al. 1993 , Penn et al. 1998 , that human movement both pedestrian and vehicle can be predicted by local integration, a node's path length within two steps, rather than the connectivity. As shown in section 2.1, local integration is a normalized closeness centrality initially developed in social network analysis (Scott 2000) .. Local integration is the default indicator for human movement, but why it can be so seems unclear. More specifically why the integration or closeness centrality can be used to predict human movement is not well explained and justified. This has been a continuous debate in the space syntax community as to why space syntax works. In response to this, Hillier (1999) argued that people tend to take paths that minimize trip length or maximize trip efficiency. However, it is still not justified as to why closeness centrality at a local level instead of a global level is to maximize trip efficiency. Turner (2007) has recently challenged the issue, and proved that betweenness centrality is a better metric for predicting human movement. Turner's work has further argued that the conventional axial representation may be better replaced by centre-line street network.. In this paper, we apply an extended PageRank algorithm, weighted PageRank (Xing and Ghorbani 2004) , to the space-space topology for ranking the individual spaces, and find surprisingly that the PageRank scores are significantly correlated to human movement both pedestrian and vehicle in four observed areas of London. The correlation is even slightly better than that of local integration. This finding provides a novel justification as to why space syntax or topological analysis can be used to predict human movement at a certain confidence level. Given another illustrated fact that the underlying topology exhibits small world and scale free properties, we conjecture that this kind of analysis is no more than predicting a drunkard's walking on a small world and scale free network. A word about PageRank. PageRank is the key technology behind the phenomenal success of Google search engine (Page and Brin 1998) . It has been proved to be efficient and effective in ranking pages of the World Wide Web. PageRank has also been used for ranking journal status (Bollen et al. 2006 ) and the importance of publications (Chen et al. 2006) . For a more comprehensive overview of PageRank and its applications, the reader may refer to the research monograph by Langville and Meyer (2006) .. The remainder of this paper is organized as follows. Section 2 introduces several metrics for ranking nodes of a graph, including space syntax metrics, small world and PageRank metrics. Section 3 presents our experiments with the aims of examining: (1) small world and scale free properties of the London axial map and four areas around central London, and (2) the correlation between the observed pedestrian and vehicle flows and the weighted PageRank scores, in comparison to the space syntax metrics. Based on the experiments, section 4 provides a justification 824 B. Jiang of our findings, i.e. a never-get-stuck-or-tired random walker who has a preference while jumping to its neighboring nodes or successors. Finally section 5 concludes the paper and points to our future work.

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


Purification of entangled coherent states We suggest an entanglement purification scheme for mixed entangled coherent states using 50-50 beam splitters and photodetectors. This scheme is directly applicable for mixed entangled coherent states of the Werner type, and can be useful for general mixed states using additional nonlinear interactions. We apply our scheme to entangled coherent states decohered in a vacuum environment and find the decay time until which they can be purified. Entanglement is an important manifestation of quantum mechanics. Highly entangled states play a key role in an efficient realization of quantum information processing including quantum teleportation [1] , cryptography [2] and computation [3] . When an entangled state prepared for quantum information processing is open to an environment, the pure entangled state becomes mixed one and the entanglement of the original state becomes inevitably degraded. To obtain highly entangled states from less entangled mixed ones, entanglement purification protocols [4, 5, 6] have been proposed.. Recently, entangled coherent states [7] have been studied for quantum information processing and nonlocality test [8, 9, 10, 11, 12, 13, 14] . Teleportation schemes via entangled coherent states [8, 9, 10] and quantum computation with coherent-state qubits [11, 15] using multimode entangled coherent states [11] have been investigated. These suggestions [8, 9, 10, 11] require highly entangled coherent states for successful realization. Even though entanglement concentration for partially entangled pure states has been studied [9] , there is a need for a purification scheme for mixed states.. In this paper, we suggest an entanglement purification scheme for mixed entangled coherent states. This scheme is based on the use of 50-50 beam splitters and photodetectors. We show that our scheme can be directly applied for entangled coherent states of the Werner form based on quasi-Bell states [16] . The scheme can also be useful for general mixed entangled coherent states using additional nonlinear interactions.. In Sec. 2, we review entangled coherent states and their characteristics with a entanglement concentration scheme for pure states. The purification scheme for mixed states is suggested and applied to a simple example in Sec. 3. We also discuss how this scheme is related to previously suggested ones [4, 6] , and we show that our scheme is applicable to any Werner-type states. The required bilateral operations for general mixed states are discussed in Sec. 4 . In Sec. 5, we apply our scheme to decohered entangled coherent states in a vacuum environment. Finally, we present an example of application for multi-mode entanglement purification. 1

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


Design of efficient Java message-passing collectives on multi-core clusters Abstract This paper presents a scalable and efficient Message-Passing in Java (MPJ) collective communication library for parallel computing on multi-core architectures. The continuous increase in the number of cores per processor underscores the need for scalable parallel solutions. Moreover, current system deployments are usually multi-core clusters, a hybrid shared/distributed memory architecture which increases the complexity of communication protocols. Here, Java represents an attractive choice for the development of communication middleware for these systems, as it provides built-in networking and multithreading support. As the gap between Java and compiled languages performance has been narrowing for the last years, Java is an emerging option for High Performance Computing (HPC).Our MPJ collective communication library increases Java HPC applications performance on multi-core clusters: (1) providing multi-core aware collective primitives; (2) implementing several algorithms (up to six) per collective operation, whereas publicly available MPJ libraries are usually restricted to one algorithm; (3) analyzing the efficiency of thread-based collective operations; (4) selecting at runtime the most efficient algorithm depending on the specific multi-core system architecture, and the number of cores and message length involved in the collective operation; (5) supporting the automatic performance tuning of the collectives depending on the system and communication parameters; and (6) allowing its integration in any MPJ implementation as it is based on MPJ point-to-point primitives. A performance eval-G.L. Taboada ( ) · S. Ramos · J. Touriño · R. Doallo Computer Architecture Group, Dept. of Electronics and Systems, University of A Coruña, A Coruña, Spain e-mail: taboada@udc.es S. Ramos e-mail: sramos@udc.es J. Touriño e-mail: juan@udc.es R. Doallo e-mail: doallo@udc.es Design of efficient MPJ collectives on multi-core clusters 127 uation on an InfiniBand and Gigabit Ethernet multi-core cluster has shown that the implemented collectives significantly outperform the original ones, as well as higher speedups when analyzing the impact of their use on collective communications intensive Java HPC applications. Finally, the presented library has been successfully integrated in MPJ Express (http://mpj-express.org), and will be distributed with the next release. This paper has presented a scalable and efficient MPJ collective communication library for parallel computing on multi-core architectures. The increase in the number of cores per system demands languages with built-in multithreading and networking support, such as Java, as well as scalable and efficient communication middleware that can take advantage of multi-core systems. The new collectives library efficiently exploits multi-core clusters through intra/inter-node awareness and providing a thread-based MPJ collectives implementation. Additionally, the developed library transparently provides Java message-passing applications with several multicore aware algorithms per collective primitive that can be selected automatically at The performance evaluation of the collective library on an InfiniBand and Gigabit Ethernet Nehalem multi-core cluster has shown that the implemented collectives present significantly higher performance than the original ones, especially the multithreaded MPJ approach, as well as higher speedups when analyzing the impact of their use on collective communication intensive Java HPC applications. Additionally, the scalability of the new collectives library has been evaluated on the Finis Terrae supercomputer, showing speedups close to those of MPI using up to 256 cores. Moreover, it has been experimentally assessed that the lower the scalability and performance provided by the communication hardware, the higher the relative performance benefits achieved by the new collective library. Thus, our collectives library can contribute significantly to bridge the performance gap between Java and native languages in HPC. As far as we know, this is the first project devoted exclusively to the optimization of MPJ collective communications, as up to now MPJ library developments have disregarded the development of scalable and efficient MPJ collective primitives. Moreover, the design and implementation of MPJ collective libraries is usually discussed in the related literature together with their corresponding MPJ projects, as the collectives are essential part of their tightly coupled designs. Therefore, few papers consider MPJ collective communications, although usually without paying enough attention to their significance and impact on Java HPC performance.. Thus, the most relevant related literature in MPJ collective communications comprises the papers that introduce MPJ/Ibis [10] , MPJava [11] , and Fast MPJ (F-MPJ) [4] projects. With respect to MPJ/Ibis, its collective library only implements one algorithm per primitive. Unfortunately, the selected algorithms are poorly scalable as they are usually based on blocking point-to-point communications (except for Alltoall/Alltoallv). Additionally, MPJava implements a subset of the MPJ collective operations, showing also poor scalability. Their performance results, presented in [11] , highlighted for the first time in the MPJ community the importance of choosing the appropriate collective communication algorithm according to the characteristics of the codes being executed and the hardware configuration employed. Finally, our own MPJ implementation F-MPJ [4] includes a scalable collective library implemented on top of point-to-point calls to a low-level communication device. Moreover, F-MPJ collective library implements up to three algorithms per primitive, selected statically (at compile-time).. With respect to the scalability of current MPJ collective libraries, several performance evaluations [4, 9, 12] have pointed out that their results are generally poor due to the use of algorithms that do not take advantage of multi-core architectures and non-blocking communications, in order to exploit data locality and overlap communications, respectively.. The collective library presented in this paper improves current MPJ collective implementations (using different techniques): (1) providing multi-core aware collective primitives; (2) implementing up to six algorithms per collective operation; (3) selecting the most scalable algorithm at runtime depending on the specific multi-core system architecture, and the number of cores and message length involved in the collective operation; (4) supporting, through a portable and transparent mechanism, the automatic performance tuning of the collectives operation depending on the system and communication parameters; and (5) allowing an easy integration with any MPJ implementation as it is based on MPJ point-to-point operations.. Most of the contributions of the implemented library have been motivated by the success of related works in native message-passing libraries, where far more research has been done. Thus, our library has adapted the research in MPI to MPJ, taking into account the specificities of Java: (1) high variations (jitter) in the communication latencies caused by the Java execution environment and not present in MPI. The impact on MPJ can be minimized reducing the synchronization points in the algorithms implemented; (2) different JVM execution modes, such as interpreted bytecode and several levels of native code generation from the JIT compiler. This issue can be addressed reusing communication methods, or exploding recursion, in order to make them eligible for further optimizations of the JIT compiler. Moreover, continuous changes in the communication protocols and algorithms, quite common in native MPI implementations, are also avoided for this reason; (3) high start-up latencies, due to the lack of efficient high-speed networks support. As a consequence of this, most of the techniques used in MPI to speed up collectives performance, such as message fragmentation and synchronous protocols, are useless. Nevertheless, new optimization techniques arise, such as message aggregation and asynchronous protocols; and (4) the limitation of being based on point-to-point operations, due to the lack of direct support in Java, unlike MPI, of collective operations implemented natively in the communication hardware or in low-level communication libraries.. With respect to the optimization of MPI collective operations, in [13] Chan et al. discuss thoroughly the design and high-performance implementation of collective communications operations on distributed-memory computer architectures. In [14] and [15] , two model-based approaches for selecting the communication strategy that better adapts to a particular scenario are presented. In [16] it is suggested the use of a number of different algorithms in order to select the most scalable for a particular message size and number of processes involved in the communication. As it is highly desirable that this selection can be made automatically, the efficiency of this process has been tackled in [17] , obtaining less than a 5% performance penalty on average.. Regarding the efficiency of collective communications on multi-core architectures, several research lines have been explored. Thus, the hierarchical approach has provided significant performance increase for the Alltoall operation [18] . An extension of this strategy is a two-level intra-node and inter-node hierarchy [19] , but this discrimination of intra-node and inter-node hierarchies scarcely increases performance. In fact, currently most of the overhead is in the inter-node communication, so the optimization of intra-node MPI collective algorithms does not improve much the overall collectives performance. However, the intra/inter-node awareness happens to be the key aspect to be taken into account in collectives performance optimization. Furthermore, the optimization based on hierarchical virtual topologies presented in [20] has achieved significant performance gains owing to the use of cache-aware intra-node communications. Another approach is the maximization of the use of shared memory and the reduction of network communications on shared/distributed memory systems. This strategy usually provides significant performance advantages [21] . Finally, the efficient placement of MPI processes in a multi-core system (runtime process attachment to specific cores) is discussed in [22] .. Additional projects involving the optimization of Java collective communications for HPC are CCJ [23] and the Java Adlib collective library [24] . CCJ is an RMI-based Java collective communication library for HPC which implements a simple low-level API. This library is intended to support collective operations in higher-level libraries, such as MPJ. Thus, MPJ/Ibis includes CCJ collective implementations. However, this library is poorly scalable, mainly due to the use of RMI, and lacks popular collective operations such as Alltoall and reduction operations. With respect to Java Adlib collective library, it is a high-level collective communication library primarily focused on HPJava, a data-parallel Java programming environment for HPC, so its applicability to message-passing communications is quite limited.

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


Capacity

of

channels

with

action-dependent

states

Abstract-We

consider

channels

with

action-dependent

states:

Given

the

message

to

be

communicated,

the

transmitter

chooses

an

action

sequence

that

affects

the

formation

of

the

channel

states,

and

then

creates

the

channel

input

sequence

based

on

the

state

sequence.

We

characterize

the

capacity

of

such

a

channel

both

for

the

case

where

the

channel

inputs

are

allowed

to

depend

non-causally

on

the

state

sequence

and

the

case

where

they

are

restricted

to

causal

dependence.

Our

setting

covers

previously

considered

scenarios

involving

transmission

over

channels

with

states

known

at

the

encoder,

as

well

as

various

new

coding

scenarios

for

channels

with

a

'rewrite'

option

that

may

arise

naturally

in

storage

for

computer

memories

with

defects

or

in

magnetic

recoding.

A

few

examples

are

worked

out

in

detail.

Communication

through

state-dependent

channels,

with

states

known

at

the

transmitter,

is

a

problem

that

has

received

much

attention

since

the

work

of

Shannon

Kusnetsov

and

Tsybakov

Gel'fand

and

Pinsker

and

Heegard

and

EI

Gamal

The

assumption

in

these

seminal

papers,

as

well

as

in

the

work

on

communication

with

state-dependent

channels

that

followed

(cf.

and

references

therein),

is

that

the

channel

states

are

generated

by

nature,

and

cannot

be

affected

or

controlled

by

the

communication

system..

In

this

work,

we

revisit

this

problem

setting

for

the

case

where

the

transmitter

can

take

actions

that

affect

the

formation

of

the

states.

Specifically,

we

consider

a

communication

system

where

encoding

is

in

two

parts:

given

the

message,

an

action

sequence

is

created.

The

actions

affect

the

formation

of

the

channel

states,

which

are

accessible

to

the

transmitter

when

producing

the

channel

input

sequence.

A

channel

with

actiondependent

states

then

is

characterized

by

two

ingredients:

the

distribution

of

state

given

an

action

PSIA

(in

lieu

of

the

distribution

of

the

state

P

s

in

the

original

setting)

and,

as

in

the

original

setting,

the

distribution

of

the

channel

output

given

the

input

and

state

PyIX,s.

We

characterize

the

capacity

of

such

a

channel

both

for

the

case

where

the

channel

inputs

are

allowed

to

depend

non-causally

on

the

state

sequence,

and

that

where

they

are

restricted

to

causal

dependence.

Our

problem

can

be

thought

of

as

the

channel

coding

dual

of

source

coding,

with

decoder

side

information,

where

the

decoder

is

allowed

to

choose

actions

that

affect

the

nature

and

quality

of

the

side

information,

as

considered

in

Beyond

merely

generalizing

previously

considered

problems

involving

coding

with

states

known

at

the

transmitter,

such

as

those

considered

in

our

framework

captures

various

new

channel

coding

scenarios

that

may

arise

naturally

in

recording

for

magnetic

storage

devices

or

coding

for

computer

memories

with

defects.

Concretely,

consider

a

procedure

for

recording

on

a

memory

with

defects.

After

writing

into

the

memory

for

the

first

time,

the

encoder

observes

a

noisy

version

of

what

the

decoder

will

see

when

it

tries

to

read

from

the

memory.

The

encoder

is

now

allowed

to

rewrite

at

whichever

memory

locations

it

chooses

before

the

decoder

attempts

to

decipher

the

information.

How

much

information

can

reliably

be

communicated

in

this

process?

Suppose

that

in

the

first

use

of

the

memory

neither

encoder

nor

decoder

know

where

the

defects

are.

Then,

in

the

second

use

(the

'rewrite'

stage),

the

encoder

will

have

some

idea

on

these

defects

according

to

the

signal

he

input

in

the

first

stage

and

the

noisy

measurement

of

the

channel

output

for

that

stage.

There

is

a

tension

between

the

amount

of

information

the

encoder

can

convey

in

the

first

pass

and

its

ability

to

learn

about

the

channel

state

to

better

communicate

in

the

second

pass.

Our

framework

quantifies

this

tension

and

yields

a

characterization

of

the

fundamental

limits

on

communication

for

such

coding

systems..

The

remainder

of

the

paper

is

organized

as

follows:

Sections

II

and

III

are

dedicated,

respectively,

to

characterizing

the

fundamental

limits

of

communication

over

channels

with

actiondependent

states

available

at

the

encoder,

when

the

states

are

available

non-causally

and

causally.

In

Section

IV

we

extend

our

results

to

the

case

of

cost

constraints,

point

out

equivalent

representations

of

our

capacity

formulae,

and

discuss

some

special

cases.

In

Section

V

we

apply

our

results

to

characterize

the

capacity

for

a

coding

scenario

involving

a

channel

'rewrite'

option.

In

Section

VI

we

look

at

a

"writing-on-clean-paperand-then-writing-on-its-corrupted

version"

channel,

which

is

an

extension

of

Costa's

dirty

paper

problem

to

our

setting.

More

details,

proofs

of

the

stated

results,

and

additional

related

results

which

space

does

not

allow

to

even

mention,

can

be

found

in

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


EgoSpaces: facilitating rapid development of context-aware mobile applications Abstract-Today's mobile applications require constant adaptation to their changing environments, or contexts. Technological advances have increased the pervasiveness of mobile computing devices such as laptops, handhelds, and embedded sensors. The sheer amount of context information available for adaptation places a heightened burden on application developers as they must manage and utilize vast amounts of data from diverse sources. Facilitating programming in this data-rich environment requires a middleware that provides context information to applications in an abstract form. In this paper, we demonstrate the feasibility of such a middleware that allows programmers to focus on high-level interactions among programs and to employ declarative abstract context specifications in settings that exhibit transient interactions with opportunistically encountered components. We also discuss the novel context-aware abstractions the middleware provides and the programming knowledge necessary to write applications using it. Finally, we provide examples demonstrating the infrastructure's ability to support differing tasks from a wide variety of application domains. W ITH the increasing popularity of mobile computing devices, users find themselves living and interacting in environments characterized by the ability to coordinate with a variety of wirelessly networked resources. Imagine a network that forms on a highway among vehicles communicating directly with one another. Such ad hoc networks form opportunistically and change rapidly in response to the movement of the devices, or mobile hosts, resulting in a network topology that is both dynamic and unpredictable. Because communicating parties may be constantly moving, their interactions are inherently transient. Routing protocols have been devised to create and maintain communication pathways among mobile hosts even as the network topology changes, but do not sufficiently abstract communication to the level of the applications' operations.. Consider an automobile network. An individual driver might first want to keep track of all cars likely to collide with him. If another car comes too close, a light warns the driver and he can attempt to avoid the collision. The driver might also monitor traffic conditions for his specified route. As a second example, imagine a building with a fixed infrastructure of sensors that provide information about the building's structural integrity, occupants' movements, etc. Engineers and inspectors carry PDAs that interact with the sensors. As an engineer moves, he wishes to see structural information determined by his task or location. He may also want to respond to events, e.g., the arrival of an inspector. As support for pervasive computing devices builds, the possibility for such applications in various domains abounds.. In this paper, we apply lessons learned within contextaware computing to the unique mobile computing challenges. With this approach, applications need not have explicit knowledge of other mobile hosts, and the application developer's level of awareness rises to an environment with which his application interacts. This abstraction of networked components as a context encompasses information that can be collected from hosts throughout the network and facilitates the provision of intuitive programming constructs.. Mobile application programming difficulties can be generalized to the need to manage large amounts of distributed and transiently available context data. This challenge motivated us to hide the details of mobility, distribution, and transient connectivity. The resulting middleware, EgoSpaces, allows an individual application to limit the portion of the context with which it interacts. An application may define different contexts that reflect diverse concurrent and changing needs and which encompass data from multiple sources. EgoSpaces manages this information for the application, relieving the developer from having to handle network connections and disconnections common in mobile environments.. This work represents a significant step in creating a context-aware computing infrastructure for simplifying adaptive mobile application development. Specifically, our contributions include: 1) a redefinition of context-awareness in mobile environments, 2) the elucidation of a conceptual model amenable to dynamic applications and tailored to a novice programmer's capabilities, and 3) the implementation of a middleware that enables simplified context-aware application development.. In this paper, we first examine the state of the art in contextaware computing. Section 3 uses this foundation to develop a novel model of emerging context-aware mobile applications. The following section demonstrates how applications operate within that model to exchange and interact with dynamic data. In Section 5, we use this model to develop a middleware specifically designed to reduce the software engineering burden in mobile ad hoc networks. Section 6 provides examples from varying application domains, while Section 7 experimentally evaluates the middleware's performance through simulation. Related work and conclusions appear in Sections 8 and 9, respectively. This paper describes a simplified application development process for programmers in mobile ad hoc networks. The investigation began with a careful study of emerging applications and the classification of these needs into a redefinition of context-awareness. Given the lessons learned from this exploration, we built a conceptual model of mobile applications. The use of context-awareness within mobile computing and for the purpose of simplifying development for novice programmers has shown significant promise. It is coupled with the introduction of asymmetric coordination (via the view construct). The need for asymmetry is based on the observation that mobile applications tend to be egocentric in that they define their needs from the environment independent of the needs of other applications. The usefulness of the EgoSpaces middleware has been demonstrated through the successful and simple construction of dynamic applications from varying domains and its performance characterized through simulation. Our experiences and the above applications have shown that EgoSpaces's programming abstractions dramatically simplify the development of mobile applications. These abstractions are founded on the observation that representing the dynamic environment through an egocentric data structure allows natural interactions for any novice programmer and reduces the need for complex and error-prone network programming.. EgoSpaces is not the first programming environment to use such abstractions for mobile computing. LIME [33] aims to simplify the software development process and has been shown to facilitate context interactions [32] . LIME enables mobile coordination by abstracting communication into a global virtual data structure, the tuple space. At any instant, a device's perception of the world is through this tuple space, which contains the data available on all connected devices. LIME requires strong assumptions about the operating environment that fail to hold as the number of devices, connections, and the degree of mobility grows. Limone [15] centers the coordination tasks around acquaintances, and knowledge of specific coordinating partners is essential to Limone's functionality. EgoSpaces, on the other hand, takes a device agnostic view, favoring complete abstraction of the network and its devices into the available context or data items.. Reactive tuple space approaches like MARS [7] , TuCSoN [34] , and TOTA [30] augment tuple spaces with reactive capabilities. Mars and TuCSoN focus on coordination among colocated mobile agents, but do not enable coordination across the network, requiring agents to move to hosts where resources are located to perform their computation. TOTA provides an alternative to EgoSpaces, but, instead of EgoSpaces's egocentric pull-based interactions, TOTA propagates tuples away from a reference node based on context properties in a manner similar to contentbased multicast [50] .. Recent middleware have been developed to enable the rapid development of pervasive or ubiquitous computing applications. GAIA [41] introduces Active Spaces as immersive computing environments for context-aware applications. Users move from one Active Space to another, seamlessly integrating into new spaces. GAIA functions in small networked environments where the available resources in the space can be centrally managed by a kernel. This approach does not map well to large-scale applications in mobile ad hoc networks that necessitate an entirely decentralized solution. CORTEX [45] proposes an infrastructure for context-awareness in nomadic mobile environments and focuses on quality of service guarantees within a region of the network. Similarly, Solar [10] provides an infrastructure to support context acquisition and operation for nomadic wireless networks. The goals of these systems are in line with our goals-to support largescale mobile computing-but the target environment differs in that the solutions apply only to nomadic networks.. While EgoSpaces abstracts all of the context as data items stored in a distributed tuple space, other context-aware middleware approaches use the service abstraction to represent available resources. Context-aware resource bindings update the connections between clients and services as processing or environment dictates [4] , [28] . Context-sensitive bindings [19] , [40] use a follow-me session to transfer a service connection from one provider to another. This approach builds on the EgoSpaces notion of an asymmetric definition of context. Service-oriented network sockets [42] provide a similar abstraction but use existing service discovery mechanisms to gather all matching services locally before deciding which services to connect to. This can incur significant amounts of overhead in environments that are highly dynamic. iMash [2] presents a dynamic application session handoff scheme that relies on a knowledgeable intermediary to handle service switches on behalf of applications. Similarly, Atlas [12] uses a central server to mediate the transfer of a service binding from one provider to another.. A complementary approach to coordination relies on event-based interactions. Context-aware publish subscribe systems [5] , [8] , [13] , [14] , [31] , [48] generate events and propagate them through the network toward matching subscriptions. EgoSpaces's event generation mechanism is analogous to these approaches, yet it allows an application to express its interest in an event based on the view concept, further restricting the network over which a subscription must be propagated.. Other middleware approaches adapt services within the infrastructure to changing context properties, allowing applications to become relatively ignorant of the restrictions their environment might impose. MobiPADS [9] employs adaptive fidelity techniques to tailor services based on a particular device's capabilities or network properties like available bandwidth. CARMEN [3] uses mobile agents that track client devices, providing customized services based on user profiles and environmental conditions. ReMMoC [17] similarly attempts to simplify the development of applications that rely on distributed services by unifying the discovery and interaction mechanisms through a single Web-services-based interface. Satin [49] uses encapsulation and component mobility to dynamically reconfigure services to adapt to applications' changing needs on demand. These approaches have a significantly different goal than our work. EgoSpaces focuses on enabling applications to adapt to changes, while these systems place the adaptation in the middleware, making the application and user experiences the same, regardless of the environment.. In addition to the differences highlighted above, EgoSpaces focuses specifically on enabling context-aware coordination through data sharing. Our approach chooses to abstract available context information into a data structure that we allow applications to access and respond to. We have explicitly favored application-awareness over transparency in an effort to enable applications to dynamically respond to their environments in manners that are tailored to the applications' instantaneous needs.

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


Integration of Information from Several Vision Systems for a Common Task of Surveillance In this paper we describe the integration of vision information obtained by a xed camera and the information obtained by a binocular active vision system. Both systems acquire images from the same environment. The information redundancy is exploited to achieve a higher degree of robustness in detecting and tracking intruders. Global information about intruders is obtained by the xed vision system whereas information about a speci c intruder (that invades a critical area, for example) is obtained by the binocular system. Several theoretical and technological developments have enabled the development of vision systems that integrate multiple sub-systems. The use of several integrated vision systems is specially relevant from the standpoint of the applications. By using several subsystems with di erent characteristics di erent types of information can be extracted from the same environment. The di erent types of information can be advantageously combined to achieve better performance, a higher degree of robustness and to extract more complex forms of data/information. In visual surveillance, and specially for the monitoring of activities, this type of systems (integrating several vision systems/modalities) is very useful. Several of these systems have been recently described 4, 11, 3, 9, 14] . This type of setups use heterogeneous sensing systems that are integrated to provide several advantages.. Surveillance applications have speci c features that depend upon the type of Preprint submitted to Elsevier Preprint Static Camera Active Vision System Critical Area Fig. 1 . Integrated Visual Surveillance System environment they are designed to operate on. The scenarios of surveillance applications are also extremely varied 8, 14, 13, 6] . Even though there are some surveillance systems using a single camera 12] most of them use multiple cameras 15]. The use of several cameras has several objectives namely to increase the reliability. Images of the environment are acquired either with static cameras with wide-angle lenses (to cover all the space), or with cameras mounted on pan and tilt devices (so that all the space is covered by using good resolution images) 7,10]. In some cases both types of images are acquired but the selection of the region to be imaged by the pan and tilt device depends on the action of a human operator. Wide-angle images have the advantage that each single image is usually enough to cover all the environment. Therefore any potential intrusion is more easily detected since no scanning is required. Systems based on active cameras usually employ longer focal length cameras and therefore provide better resolution images. Active binocular systems enable the recovery of 3D trajectories by tracking stereoscopically. Proprioceptive data from camera platform can be used to recover depth by triangulation. Trajectories in 3D can also be recovered monocularly by imposing the scene constraint that motion occurs on a plane, typically the ground plane 5].. The system described in this paper is aimed at an application in man-made environments and the detection and analysis of intrusion is one of its main characteristics. It is made up of a static camera and a binocular active system (see Fig. 1 ). The static camera acquires wide-angle images of the environment enabling the early detection of intrusion. The system associated to the xed camera can track several moving objects simultaneously using very simple techniques (image di erencing and Kalman lters). If one of the intruders approaches a critical area the active system starts its tracking. For that purpose several visual routines were implemented 3]. The active vision system uses optical ow to track binocularly the target in real-time. Simultaneously motion segmentation is performed, which enables the extraction of high quality target images. These are useful for further analysis and action understanding. The 3D trajectory of the target is also recovered by using the proprioceptive data. In this paper we describe a surveillance system that integrates the information from two di erent vision systems in order to achieve a higher degree of robustness. Since the active vision system is only able to track a single target at each instant the peripheral sensor enables the monitoring of several moving objects by acting as a supervisor. Due to the mapping of the intruders positions into a common reference plane switching of the focus of attention is possible according to some scheme for priority assignment. By cross-checking the location of the target on both systems the robustness of the system can be improved since errors introduced by partial occlusion of the target can be overcome.

O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B I 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 framework to integrate design knowledge reuse and requirements management in engineering design This paper presents a framework to integrate requirements management and design knowledge reuse. The research approach begins with a literature review in design reuse and requirements management to identify appropriate methods within each domain. A framework is proposed based on the identified requirements. The framework is then demonstrated using a case study example: vacuum pump design. Requirements are presented as a component of the integrated design knowledge framework. The proposed framework enables the application of requirements management as a dynamic process, including capture, analysis and recording of requirements. It takes account of the evolving requirements and the dynamic nature of the interaction between requirements and product structure through the various stages of product development. Engineering design in today"s global and competitive business environment is under increasing pressure to perform better in terms of low time, high quality and high value output that can provide competitive advantage for the organisation. One approach to improve engineering design is through reusing previous knowledge. Organisations in mature markets are in a special position to benefit from knowledge reuse for three key reasons: (1) they know the product well, so are able to produce high quality reusable knowledge (2) the next generation product is likely to have a significant overlap with the previous version (3) knowledge reuse allows more time for innovation, which is especially important since competitive advantage is difficult to achieve in mature domains.. Development time, product quality and customer value are all factors which effective requirements management can improve. By ensuring that the right requirements are met, customer satisfaction can be increased and development times can be reduced through less iteration. Product quality and perceived value is likely to be higher if the customer requirements are better understood and systematically addressed. In engineering design, the project team require a detailed description of the product requirement so that focused design work can take place. Various methods for gathering, analysing, selecting, documenting, verifying and managing requirements have been proposed. Most have been in the software development domain, however increasingly requirements management methods are being incorporated into engineering design as the need for requirements management is recognised.. The research approach begins with a literature review in design knowledge reuse and requirements management, to identify appropriate methods within each domain. A framework is proposed based on the identified requirements. The framework is then demonstrated using a case study example: vacuum pump design. A detailed case study with the participating company took place in the design knowledge area, and for this research an additional case study took place in requirements management. The proposals for design knowledge reuse are the result of a previous research project, which is reported in the following section on design knowledge reuse. The proposed framework seeks to integrate design knowledge reuse with requirements management. This paper will first describe existing approaches for design reuse. Then, proposed methods for managing requirements will be described. Requirements modelling for engineering design will then be described. Then, findings from a case study are used to describe the participating company"s approach to requirements management. A proposed framework to support requirements management and design knowledge reuse will then be introduced. The framework is described using the case study data. The final sections will discuss the proposed framework, then introduce suggestions for future work. The development of this integrated product model is taking place as part of a research project which aims to provide a method to reuse engineering design knowledge (Baxter and Gao 2004) (Baxter and Gao 2005) , (Baxter et al., 2006) . The approach is based on the premise that the design process itself represents a large amount of design knowledge, and that by creating a formal representation of the design process there is an opportunity to provide structure to enable the retrieval of information that is task relevant. Developing the design process model highlighted the fact that many of the product parameters are a decomposition of the product requirements. Product model parameters are used as inputs to the design tasks. These include early performance analysis tasks like product performance modelling and dynamic analysis, through to the initial product layout tasks. Because the product parameters can be related (through the process model and product model) to the product requirements, the method of capturing the requirements was shown to be a critical input to the process.. Process, task and product knowledge are the three key elements of the design reuse system (Baxter et al., 2006) . Originally, the approach to managing requirements was through an interaction between the process model and product parameters -that is, the requirements parameters were a part of the product knowledge. The extended mapping proposed in this paper recognises the high importance of requirements not only in terms of recording the parameters, but also in terms of the method of capturing the requirement and the dynamic interaction between the requirement and the product structure through the development cycle. This is achieved through the mapping between both the functional and physical product models, which becomes more tightly defined as product development progresses. A further contribution of the method is project support. The process model provides a method based on company best practices, which describes the sequence, data, information inputs and outputs for each task in the product development project.. The capability to link requirements to product structures through function analysis has been shown in previous work (Nilsson and Fagerstrom 2006) (McKay et al., 2001 ). This work extends the modelling domain to include a design knowledge framework that includes design parameters, a design process model, and knowledge based methods. The relationships between the domains are often multiple and complex. Sources of requirements, design parameters, and design changes can be lost. The application of the design process model provides an additional framework within which the design work can be carried out using a best practice method. The process model has relationships with design parameter model, which ensures that required parameters are assigned at the correct time.

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


A model and temporal proof system for networks of processes Abstract. An approach is presented for modeling networks of processes that communicate exclusively through message passing. A process (or a network) is defined by its set of possible behaviors, where each behavior is an abstraction of an infinite execution sequence of the process. The resulting model is simple and modular and facilitates information hiding. It can describe both synchronous and asynchronous networks. It supports recursively-defined networks and can characterize liveness properties such as progress of inputs and outputs, termination, and deadlock.A sound and complete temporal proof system based on the model is presented, it is compositional -a specification of a network is formed naturally from specifications of its components. A number of models exist for networks of processes [3, 4, 6-8, 15, 22] . None of these models handles both synchronous and asynchronous communication in a single framework. In addition, the modeling of liveness properties is generally unsatisfactory. The models that seem most promising, due to their simplicity and information-hiding ability, are those based on traces. A trace, an abstraction of a process state in which irrelevant internal details have been hidden, is a finite sequence of events that have occurred on the input-output ports of a process during some execution. A trace represents the state reached by the process after some computation in which the events of the trace occur.. Liveness properties, such as progress and termination, are difficult to specify in tracebased models. Some liveness properties deal with complete, possibly infinite, execution sequences, while traces specify only finite prefixes of execution sequences. For example, a property like "eventually a message is sent on port k" may fail to hold of a particular infinite computation even though every finite prefix (hence every trace) of the computation is also a prefix of some other computation for which the property does hold. It is difficult to see how a model based on finite traces could be used to specify such a property.. This problem is related to the question of continuity of processes. A process, defined as a set of traces, is continuous if the least upper bound (tub) of any ascending chain of traces in the set also belongs to the set. Using the partial order "is a prefix of" on traces, nondeterministic processes are not continuous in general -the lub of an infinite ascending chain of traces need not represent an execution sequence, even though each trace in the chain does. We know of no simple model of processes that preserves continuity. Continuity is desirable, since it makes analysis of semantics more elegant. However, since there seems to be no natural way to achieve continuity, and since we are able do without it, we see no reason to insist on it.. To allow better specification of liveness properties, our model of a network uses the notion of observation -a generalization of traceand behavior. An observation records the data read and written on all ports of a network (or process) up to some point in an execution of the network and also records on which ports the networks is ready to communicate at that point. A behavior of a network is the sequence of observations recorded during one of its executions. The resulting model is simple and facilitates information-hiding. Further, it supports both synchronous and asynchronous communication. Our temporal proof system, which is based on the model, is compositional, i.e. a specification of a process is formed naturally from specifications of its component processes. Hoarelike proof systems for concurrent processes -e.g. [4, 5, 11, 16, 17] -are compositional but lack expressive power and cannot deal with temporal properties; temporal proof systems are more complicated, and most of them -e.g. [12] [13] [14] -are not compositional. We believe that this is a problem with the underlying models rather than with temporal logic itself. The models underlying most proof systems are statetransition models, in which a program is specified by a (binary) transition relation on the set of states. Such models are suitable for a Hoarelike proof system because the pre-and postconditions in it correspond naturally to the initial and final states of the relation. For temporal proof systems, modeling processes by behaviors seems more appropriate. Our temporal proof system is compositional due to the modularity and information-hiding properties of the underlying model. It is also sound and relatively complete.. Two proof systems on traces, [5] and [16] , are special cases of our system, in that the sets of specifications allowed in their systems are proper subclasses of those allowed in ours. We have presented a new technique for process modeling that uses the notion of behavior. This technique gives rise to a model of processes that is as simple as those based on traces (e.g. [3, 4, 7, 22] ) but that is more general and expressive. Our model is more suitable for temporal reasoning than state-transition models" a sound and complete temporal proof system based on the model is simpler than comparable proof systems based on state-transition models, e.g. [-2, 13, 14] .. As an illustration, we compare our basic proof system to two other proofs systems.. In Chen and Hoare's system [5] , a specification of process P has the form P satR, where R is a first-order logic assertion. The interpretation is that every trace produced by P satisfies R. This is equivalent to stating (P} DR in our system. In Misra and Chandy's system [16] , a specification of a process P has the form eIPIS, A 3j<=k(~S holds at point j))) = -n (R ~'--n S). Hence, the specification RIP IS can be written in our system as {P}~(R~#-n S). Misra and Chandy's proof system is also shown to be incomplete in [19] .. We have extended the technique to deal with sequential processes [18] , and we are applying them to the shared-memory model of concurrency. These issues will be reported in a forthcoming paper.

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