The bidimensionality theory and its algorithmic applications This paper surveys the theory of bidimensionality. This theory characterizes a broad range of graph problems ("bidimensional") that admit efficient approximate or fixed-parameter solutions in a broad range of graphs. These graph classes include planar graphs, map graphs, bounded-genus graphs, and graphs excluding any fixed minor. In particular, bidimensionality theory builds on the Graph Minor Theory of Robertson and Seymour, by extending the mathematical results and building new algorithmic tools. Here we summarize the known combinatorial and algorithmic results of bidimensionality theory, with the high-level ideas involved in their proof; we describe the previous work on which the theory is based and/or extends; and we mention several remaining open problems. The theory of bidimensionality, developed recently in a series of papers [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] , provides general techniques for designing efficient fixedparameter algorithms and approximation algorithms for NP-hard graph problems in broad classes of graphs. This theory applies to graph problems that are bidimensional in the sense that (1) the solution value for the k × k grid graph (and similar graphs) grows with k, typically as Ω(k 2 ), and (2) the solution value goes down when contracting edges and optionally when deleting edges in the graph. Examples of such problems include feedback vertex set, vertex cover, minimum maximal matching, face cover, a series of vertex-removal parameters, dominating set, edge dominating set, Rdominating set, connected dominating set, connected edge dominating set, connected R-dominating set, unweighted TSP tour (a walk in the graph visiting all vertices), and chordal completion (fill-in).. Bidimensional problems have many structural properties. For example, any graph in an appropriate minorclosed class has treewidth bounded above in terms of the problem's solution value, typically by the square root of that value. These properties lead to efficient-often subexponential-fixed-parameter algorithms, as well as polynomial-time approximation schemes, for bidimensional problems in many minor-closed graph classes. * A preliminary version of this paper appeared in Proceedings of the 12th International Symposium on Graph Drawing, LNCS 3383, 2004, pages 517-533.. The bidimensionality theory unifies and improves several previous results. The theory is based on algorithmic and combinatorial extensions to parts of the Robertson-Seymour Graph Minor Theory, in particular initiating a parallel theory of graph contractions. The foundation of this work is the topological theory of drawings of graphs on surfaces.. This survey is organized as follows. Section 2 defines the various graph classes of increasing generality for which bidimensionality theory has been developed. Section 3 describes several structural properties of graphs in these classes, in particular from Graph Minor Theory, that form the basis of bidimensionality. Section 4 defines bidimensional problems, and gives some examples. Section 5 describes one of the main structural properties of bidimensionality, namely, that the treewidth is bounded in terms of the parameter value.. Sections 6-10 describe several results in bidimensionality theory: separator theorems, bounds on local treewidth, fixed-parameter algorithms, and polynomial-time approximation schemes. Throughout, we give the high-level proof ideas, in particular how the various results fit together. Section 11 discusses the main remaining open problems in the area. Examples of bidimensional parameters include the number of vertices, the diameter, and the size of various structures such as feedback vertex set, vertex cover, minimum maximal matching, face cover, a series of vertex-removal parameters, dominating set, edge dominating set, R-dominating set, connected dominating set, connected edge dominating set, connected R-dominating set, unweighted TSP tour (a walk in the graph visiting all vertices), and chordal completion (fill-in). For example, feedback vertex set is Ω(r 2 )-minor-bidimensional (and thus also contractionbidimensional) because (1) deleting or contracting an edge preserves existing feedback vertex sets, and (2) . We also say that the corresponding optimization problems based on these parameters, e.g., finding the minimum-size feedback vertex set, are bidimensional. With the exception of diameter, all of these bidimensional problems are Θ(r 2 )-bidimensional, which is the most common case (and in some papers used as the definition of bidimensionality). Diameter is the main exception, being only Θ(r)-contraction-bidimensional for planar graphs, single-crossing-minor-free graphs, and bounded-genus graphs, and only Θ(lg r)-contractionbidimensional for apex-minor-free graphs. See [7] for details. The notion of treewidth was introduced by Robertson and Seymour [16] . To define this notion, first we consider a representation of a graph as a tree, called a tree decomposition. Precisely, a tree decomposition of a graph G = (V, E) is a pair (T, χ) in which T = (I, F ) is a tree and χ = {χ i | i ∈ I} is a family of subsets of V (G) such that. The Bidimensionality Theory and Its Algorithmic Applications 3 (ii) for each edge e = {u, v} ∈ E, there exists an i ∈ I such that both u and v belong to χ i ; and (iii) for all v ∈ V , the set of nodes {i ∈ I | v ∈ χ i } forms a connected subtree of T .. To distinguish between vertices of the original graph G and vertices of T in the tree decomposition, we call vertices of T nodes and their corresponding χ i 's bags.. The width of the tree decomposition is the maximum size of a bag in χ minus 1. The treewidth of a graph G, denoted tw(G), is the minimum width over all possible tree decompositions of G. A tree decomposition is called a path decomposition if T = (I, F ) is a path. The pathwidth of a graph G, denoted pw(G), is the minimum width over all possible path decompositions of G.. The notion of clique sums goes back to characterizations of K 3,3 -minor-free and K 5 -minor-free graphs by Wagner [17] and serves as an important tool in the Graph Minor Theory. Suppose G 1 and G 2 are graphs with disjoint vertex sets and let k ≥ 0 be an integer. For i = 1, 2, let W i ⊆ V (G i ) form a clique of size k and let G i be obtained from G i by deleting some (possibly no) edges from the induced subgraph. to be the graph obtained from the union of G 1 and G 2 by identifying w with h(w) for all w ∈ W 1 . The images of the vertices of W 1 and W 2 in G 1 ⊕ k G 2 form the join set. Note that each vertex v of G has a corresponding vertex in G 1 or G 2 or both. It is also worth mentioning that ⊕ is not a well-defined operator: it can have a set of possible results.

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


Propagation of measurement noise through backprojection reconstruction in electrical impedance tomography A framework to analyze the propagation of measurement noise through backprojection reconstruction algorithms in electrical impedance tomography (EIT) is presented. Two measurement noise sources were considered: noise in the current drivers and in the voltage detectors. The influence of the acquisition system architecture (serial/semi-parallel) is also discussed. Three variants of backprojection reconstruction are studied: basic (unweighted), weighted and exponential backprojection. The results of error propagation theory have been compared with those obtained from simulated and experimental data. This comparison shows that the approach provides a good estimate of the reconstruction error variance. It is argued that the reconstruction error in EIT images obtained via backprojection can be approximately modeled as a spatially nonstationary Gaussian distribution. This methodology allows us to develop a spatial characterization of the reconstruction error in EIT images. Reconstruction error was first analyzed in images of uniform conductivity distribution ( ) as in [24] . In this simple case, we compared the spatial distribution of the reconstruction error as predicted by error propagation theory with the results from numerical simulation and experimental data. This was done for all three backprojection algorithms (BB, WB, and EB).. Second, we studied the reconstruction error for a circular object in an otherwise uniform conductivity distribution. The same comparison (theory, simulation, and experiments) was carried out, again, for the three reconstruction algorithms.. Finally, the results obtained on a phantom of a thorax cross section were analyzed in the same fashion. We verified that certain conclusions, derived from simpler distributions, also apply for more complex images. Fig. 6 shows image profiles of the standard deviation (SD) of the reconstruction error along radii intercepting an electrode (trans-electrode line). This profile corresponds to EB and similar plots are obtained for the other reconstruction strategies (BB and WB). The SNRs ( and ) used in the simulations were those estimated for our acquisition system (see Section V-B). This plot shows that error propagation underestimates the noise in semi-parallel systems with CDD noise. To further investigate this effect we simulated noisy measurements for the two possible data collection strategies (serial and semi-parallel systems), and noise conditions (CDD and VDD) and compared with the simulated error variance with that derived from error propagation. Fig. 7 shows the corresponding images of the standard deviation of the reconstruction error at each pixel. In order to visually compare the results from simulations with error propagation theory, the left half of the image displays the results from the former and the right half of the image those of the later. Fig. 8 shows the variance of the reconstruction error relative to the center of the image for the three different reconstruction methods. For each algorithm, we simulated measurement noise under two measurement conditions: CDD ( dB; dB) and VDD ( dB; dB) noise. . Reconstruction error SD patterns in images from a phantom of a thorax cross section. A set of 100 frames was acquired with TIE , a semi-parallel acquisition system (SNR = 41 dB and SNR = 66 dB). In BB, the error is higher in regions of conductivity decrease (heart) while in EB this happens in regions of conductivity increase (lungs).

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


Free-surface flows under impacting droplets A numerical method which fulfils the free-surface boundary conditions and extrapolates the fluid velocity in to empty grid cells outside the fluid region on a fixed Cartesian grid system is presented. The complex, three-dimensional, vortex structures formed via surface/vortex interaction and induction between vortices have been computed using the proposed technique implemented within a level-set method for both vertical and oblique droplet impacts in incompressible fluids. The present results have been validated through numerical tests which confirm zero tangential shear at the free-surface and comparisons with experimental observations of cavity and vortex ring formation underneath the impact location. In some cases, transitions from a concentric vortex ring to a fully three-dimensional vortex structure has been confirmed. Whilst the primary vortex ring is initiated at the highly curved contact surface between the droplet and receiving surface, azimuthal instabilities are manifested in the shear layer around the cavity crater developing after the vertical impact, resulting in axial counter-rotating vorticity between the cavity and descending vortex ring. Underlying mechanisms which induce local deformation of the free-surface, creating a so-called scar, due to the sub-surface vortices at the oblique impacts are also discussed. A single droplet splashing onto a still water surface produces vorticity on the highly curved contact surface between the droplet and receiving free-surface, normally leading to the formation of a ring vortex separated from the surface boundary layer. Finger jets are sometimes observed for forming a crown along the circumference of the radial cavity crater, created when the drop has penetrated into the surface (Yarin , 2006) . As the cavity begins to collapse a vertical jet is formed at the centre of the cavity due to the radial pressure gradients. The vertical jet projects upwards before fragmenting into droplets. The initiation and evolution of the vortex structure under droplet impacts arise through surface-vortex interactions (Peck and Sigurdson , 1994) . The initial vorticity of the primary vortex ring is produced at the highly curved droplet/surface contact where tangential shear vanishes (Longuet-Higgins , 1992) . The primary vortex ring develops around the cavity wall and is subsequently ejected from the bottom surface of the rising cavity. It has been observed that counterrotating vortex pairs are produced around the primary vortex ring and are vertically stretched between the centre of the ring and cavity bottom, resulting in a complex, axisymmetric, three-dimensional, vortex structure involving the vortex rings wrapping the vortex loops (Peck and Sigurdson , 1994) . A recent experimental study by Leneweit et al. (2005) characterised the formation of capillary waves ahead of the progressing droplet front, the distortion of the cavity and droplet immersion under varying impact angles and Weber number, W e. The formation of anchor-like patterns of droplet immersion observed by Leneweit et al. (2005) suggest the presence of complex vortex structures involving the droplet fluid beneath the free-surface.. Many attempts to compute both free-surface and interface flows have been undertaken (see a review by Scardovelli and Zalenski , 1999) . The Volume of fluid (VOF) method has been commonly used for the free-surface computations in a fixed Cartesian grid system (Hirt and Nichols , 1981) , however, a high-order scheme needs to be introduced for reconstructing highly curved surface. Gueyffer et al. (Gueyffier et al. , 1999) proposed an interface tracking technique based on a combination of VOF and PLIC (piece-wise linear interface calculation) for computing droplet sedimentation and rising bubbles and the jetting process during the drop impacts on a thin liquid film (Jeoung and Moffat , 1992) . A front tracking method Tryggvason , 1998, 1999) has also been used to capture and reconstruct a sharp interface in bubble flows and splashing droplets (Sousa et al. , 2004) . The level-set method (Osher and Sethian , 1988 ) is one of the most powerful technique available to determine implicit surfaces within a fixed grid system and has many applications for two-phase flows with complicated shapes of interfaces (e.g. Susman et al. , 1994; Chang et al. , 1996) . A recent review by Losasso et al. (2005) introduced many versions of the level-set technique combined with another methods such as VOF and AMR (Adaptive Mesh Refinement) for improving mass conservation and maintaining a sharp interfaces. The ghost fluid method also provides a robust technique to suppress numerical oscillations in pressure and velocity due to two-phase contact discontinuities (Fedkiw et al. , 1999) . In the case of droplet impacts, the reciprocal effects of gravity, surface-tension and viscous stress on and near the free-surface must all be considered since they substantially determine the nature of the free-surface dynamics. Further-more the dynamic free-surface conditions, zero tangential shear (eqs. 8 and 9) and normal jump conditions (eq. 7), must be appropriately satisfied in order to reproduce the evolution of vortices, intensified within the surface boundary layer throughout the impacting process. In most level-set and VOF computations for inter-facial flows, fluid density is numerically smoothed across the surface in order to avoid numerical instabilities, and the surface tension is incorporated in to the momentum equation as a source term using a smearout numerical Delta function over the grid cells which span the surface (e.g. Susman et al. , 1994; Morton et al. , 2000) . However, such surface models are unable to model physical features of the sub-surface flows governed by surface dynamics under the droplet impacts unless the very thin mass boundary layer is sufficiently resolved, since the dynamic jump conditions at the surface are cannot be satisfied on the smeared-out surface.. Both the splashing jets of breaking waves and resulting turbulent flows have been computed using large eddy simulation (Watanabe and Saeki , 1999; Christensen and Deigaard , 2001; Lubin et al. , 2006) . Using the same computational methods a mechanism to form three-dimensional vortices via instabilities on a shear layer formed in a two-dimensional vortex array within the surf zone has recently been identified by Watanabe et al. (2005) . However, the detailed surface-vortex interactions are not guaranteed to be appropriately modelled in these computations since simplified free-surface boundary conditions were employed. Popinet and Zaleski (2002) presented an extrapolation technique for the liquid-phase velocity to empty grid cells inside an air bubble, which implicitly fulfils the zero tangential shear condition at the free-surface. In this method, the velocity outside the surface is approximated by a linear function with near-surface velocity to minimize a penalty term for approximately ensuring zero tangential condition on the surface. This is a reasonable approach for computing the advection of the free surface with a local velocity field which approximately satisfies the dynamic boundary condition and the evolution of collapsing bubble shapes has been computed using this method.. In the study of droplet impacts, however, it is very important to reproduce surface-vortex interactions in the computations, since the initial formation of a vortex ring at the droplet contact and its subsequent evolution within the surface shear layer beneath the cavity are strongly influenced by local surface deformations including capillary wave propagating on the cavity walls (Morton et al. , 2000) . Furthermore, when counter-rotating vortices are located beneath the water surface horizontally, the free-surface is deformed locally -the convergence of the flow on the surface over the cylinders results in a formation of the surface cusp, while inverse counter-rotating cylinders induce a diverging flow at the surface which is lifted by the upwelling flow between (Jeoung and Moffat , 1992) . Accurate computation of flow fields involving surface-vortex interactions is achieved by accurately estimating surface velocity gradients from the surface shear flow, thus fulfilling the dynamic boundary condition in three-dimensional space.. In this study, an alternative technique to fulfil the free-surface dynamic boundary condition via quadratic polynomial extrapolation into the empty grid cells on a fixed three-dimensional grid system is proposed. This approach has the advantage that it is able to reflect local features of velocity gradients within the curved surface shear layers.. The technique has been applied to local free-surface deformation and evolution of the sub-surface vortices in a series of droplet impacts. Both the computational and experimental surface deformations during the impacting process are compared, and underlying mechanisms for organising three-dimensional vortex structures in both vertical and oblique droplet impacts are discussed on the basis of strain and vorticity dynamics. This paper is organised as follows. The computational method is described in §2. The computations are validated through numerical tests which confirm zero tangential shear on the surface in §3. In §4, sequential free-surface deformations and vortex organisations under both vertical and oblique droplet impacts are compared with visual observations, and major features of the impacting process in terms of surface-vortex interactions are discussed. The results are summarised in §5. A numerical technique which fulfils the free-surface boundary conditions in a fixed Cartesian grid system has been presented. This technique has been incorporated into a level-set method and applied to the study of turbulent, free-surface, flows under droplet impacts. The resulting fluid motions are governed by both surface/vortex and vortex/vortex interactions as well as by the gravity-dominated cavity formation processes. The computational method has been validated by a series of comparisons with visual observations from experiments of cavity formation and the associated vortical structures under both vertical and oblique impacts.. A mechanism which leads to the formation of a fully three-dimensional vortex structure after the vertical impact of a droplet has been identified. In this process, Firstly, the concentric primary vortex filaments become highly stretched around the cavity wall, and then they become unstable through the perturbation of the axis of rotation. These perturbations are amplified concentrically downward on in the shear layer covering the inner cavity, resulting in the formation of counter-rotating vertical vortices. During the cavity collapsing phase, strong stretching between the reversing base of the cavity and the descending vortex ring intensifies the counter-rotating vortex pairs, whose upper ends are bounded by the cavity base and lower ends are rolled up around the primary vortex ring. The transitions to this three-dimensional vortex structures are consistent with 'stalk' and 'petals' patterns of identified in dyed fluid by Peck and Sigurdson (1994) .. Under oblique impacts, an inherently three-dimensional vortex structure is formed which depends on the specific impact angle. At small impact angles, a series of vortex rings are produced consecutively at the highly curved contacts between the droplet and the receiving surface until the droplet is fully coalesced. The vortex rings produced by this process are left behind the propagating droplet front and are, subsequently, displaced by the induced velocity caused by the interaction with the previous ring. This process results in a sub-surface symmetric vortex structure which extends in the direction of wave propagation. At large impact angles only a single ring vortex is formed because the droplet fluid rapidly coalesced with the receiving water and is entrained into the vortex ring.

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


Simplifying syntactic and semantic parsing of NL-based queries in advanced application domains The paper presents a high level query language (MDDQL) for databases, which relies on an ontology driven automaton. This is simulated by the human-computer interaction mode for the query construction process, which is driven by an inference engine operating upon a frames based ontology description. Therefore, given that the query construction process implicitly leads to the contemporary construction of high level query trees prior to submission of the query for transformation and execution to a semantic middle-ware, syntactic and semantic parsing of a query with conventional techniques, i.e., after completion of its formulation, becomes obsolete. To this extent, only, as meaningful as possible, queries can be constructed at a low typing, learning, syntactic and semantic parsing effort and regardless the preferred natural (sub)language. From a linguistics point o view, it turns out that the query construction mechanism can easily be adapted and work with families of natural languages, which underlie another type order such as Subject-Object-Verb as opposed to the typical Subject-Verb-Object type order, which underlie most European languages. The query construction mechanism has been proved as practical in advanced application domains, such as those provided by medical applications, with an advanced and hardly understood terminology for naive users and the public. We presented a querying approach and language aiming at simplifying the query construction and transformation toward database specific query languages in terms of syntactic, semantic (NL-specific semantics) and pragmatic (real-world semantics) parsing of queries, especially for cross-lingual communities in conjunction with advanced application domain vocabularies such as scientific or technical ones.. The construction of the query is driven by reasoning services, which rely on an ontology description of the application domain semantics and, therefore, provide a real-world semantics driven interactive query construction mechanism. This is conceived as enabling moves among query states, which reflect a partly constructed or intended query according to some particular word order type as an NL-specific semantics template.. Currently, the reasoning services are targeted at constructing queries according to the word order type Subject- [Verb-Object] , which underlies almost 42 percent of the known natural languages such as English and German. However, the reasoning services can be slightly changed in order to guide the user to the construction of the Subject-[Object-Verb] word order type, which underlies almost another 45 percent of known natural languages such as Japanese and Turkish, without any change to the ontology description.. To this extent, the impact is twofold: (a) query generation by and specification of an automaton, where semantics guide the syntax rather than having the syntax guiding the semantics, (b) construction of a query regardless the preferred natural (sub)language, despite the diversity of word order types, with the same extensional semantics in terms of the tuples received with the query result.. The latter is guaranteed through the NL-independent reflection of the intended query on a high level query tree which, consequently, gets transformed into database specific query languages such as SQL. This is achieved by considering not only the nature of the submitted high level query tree, but also the mappings between ontology elements and storage model elements such as tables, attributes, etc., as well as a meta-data based description of the logical database schema(s).. The NL-independent reflection is also strengthened by the fact that mappings between ontology elements and storage model ones are established between term unique identifiers of the ontology elements and the storage model ones. This also alleviates the task of providing the same real-world semantics in more than one natural language by simply replacing the values for names of the ontology elements. Querying databases through Natural Language (NL) based query interfaces -we exclude keywords based querying -has always attracted research and development efforts in order to ease access to and increase understandability of the full potential of information as provided by large data repositories [1] [2] [3] [4] [5] . Syntactic and semantic parsing of NL based queries, however, turns out to be tedious [6, 7] , especially when complex or advanced terminologies are used like those found in scientific and technical application domains. Mostly, this kind of query parsing relies in constructing a query tree which is compliant with the underlying NL-based syntactic and semantic rules, which are different as they depend on the preferred NL.. In addition, constructing a query presupposes that the user is familiar with the terminology itself as well as the semantic relationships among terms of the application domain. In other words, the user needs to know not only the orthography of words and their intentional meaning, as expressed in a particular natural (sub)language, but also how they relate to each other. It would be impossible or, at least, too optimistic to assume that one makes itself familiar with the full range of the scientific or technical domain vocabulary, in both terms, spelling and meaning.. Therefore, the more advanced or complex vocabularies become, the more prone to syntactic and semantic mistakes becomes the process of NL-based query construction and parsing. This is also strengthened by multi-lingual user communities, where different parsing techniques need to be considered and implemented. Consequently, either the complexity of the parsing technique increases dramatically or large parts of the information potential in databases for scientific or engineering applications remain unexplored and cannot become part of exploratory querying. Moreover, it is still possible to construct a syntactically and semantically correct query, in terms of the NL-based semantics, however, the query might be still meaningless [8] , since it might not reflect real-world semantics. This is due to the fact that semantic parsing mostly refers to the NL-based grammatical roles of words or structure of the query [9, 10] , i.e., which is the subject or noun phrase, the verb, the object, the connectives, etc., and not to the application domain semantics itself [11] as expressed by some kind of ontological considerations. A query saying All cars aged more than 40 years, which have been infected by AIDS is grammatically correct as far as the grammatical roles (noun phrase, relative clause, verb, etc.) of the participating words and phrases have been correctly recognized by the parsing technique.. Complexity of query parsing and transformation is further increased, since, regardless the preferred natural language, the same query extensional semantics, in terms of tuples received from the databases as an answer to the query, are expected to hold. To this extent, either the same parser needs to consider various NL-specific syntactic and semantic rules, or different parsers need to be enabled according to the number of the preferred natural languages. Finally, it is tedious or even impossible to integrate into the parsing technique the intentional meaning of words [12] , in order, for example, to resolve ambiguities such as those characterizing homonyms, i.e., terms with the same spelling but different meanings, even within natural (sub)languages.. In order to overcome the difficulties of parsing natural language due to real-world semantics, even in a restricted form such as that given by a query language, several query construction approaches have been taken in the recent past, which rely on a diagrammatic presentation of some conceptual model [13, 14] reflecting some kind of real-world semantics. These vary in their expressiveness from logical, mostly relational, models to high level ones such as Extended Entity-Relationship (EER) and Object Modelling Technique (OMT) diagrams. These query construction techniques, however, are restricted in their expressiveness, given their limitations of reflecting advanced real-world semantics such as constraints, exception handling, etc., which might lead to the construction of meaningless queries. Additionally, they are bound to visual formalisms, which introduce semantic complexity.. In an attempt to provide a query construction facility by reflecting more advanced real-world semantics, ontology driven mechanisms have been suggested for construction of queries such as those found in [15] [16] [17] . This approach enables the construction of queries around the semantics of terms as given by their classification and taxonomic relationships. The main focus, however, has been the exploration of taxonomies or classification structures rather than the specification of a highlevel query language with the expressive power as partly known by conventional database specific query languages, e.g., expression of logical, comparison or statistical operators, arithmetic expressions, etc. This is due to the fact that ontology descriptions rely on languages, which are heavily influenced by a family of class-based (concept-based) knowledge representation formalisms known as Description Logics [18] . The reasoning services, therefore, are targeted at the explication of the relationship between the ontology language syntax and the intended model(s) of a domain via model theoretic semantics as a formalization of the meaning of the ontology description language. Consequently, the reasoning services are not targeted at the construction of meaningful queries, including operators and operations.

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


An investigation of potential success factors for an introductory model-driven programming course In order to improve the course design of a CS1 model-driven programming course we study potential indicators of success for such a course. We explain our specific interpretation of objects-first.Of eight potential indicators of success, we have found only two to be significant at a 95% confidence interval: math grade from high school and course work. The two significant indicators explain 24.2% of the variation of the exam grade. The result concerning math grade contradicts earlier findings.We discuss four aspects of our research: the explanation power of the potential success indicators, the impact of our findings on teaching, limits of what to conclude from the available data, and the variety of the notion "objects-first".Because of the variety of interpretations of "objects-first", the present research is necessary as a supplement to earlier research in order to make generalizable results on the success factors for objectsfirst programming. A substantial amount of research has been conducted in order to identify variables that are predictors of success of students aiming for a university degree. Investigated variables encompass gender [23] , the educational level of parents [26] , ACT/SAT scores [5, 12, 23] , and emotional factors [25] . Research has been conducted in the general context of education, within computer science, and in the more topic specific area of introductory programming [4, 6, 13, 17, 19] . Even in the area of introductory object-oriented programming there has been research trying to establish general factors to predict success or failure of particular students. Especially the work of Phil Venture [27] focuses on a systematic evaluation of hypothesis related to the factors for success of an introductory programming course using an objects-first approach [14] . The results are documented in [27, 28] .. Ventura analysed different factors and their influence on the outcome of participation in an object-first CS1 course. The predictors included prior programming experience, mathematical ability, academic and psychological variables, gender, and measures of student effort [27 p . xxi]. Ventura's conclusion is that there are big differences between the previous findings in imperative-first programming courses and his object-first programming course. In the studies of imperative-first courses the student's mathematical abilities was found to be a predictor of success [17] . Ventura [27] , however, found that this is not the case in his object-first CS1 course. In the imperative-first course, prior programming experience was also a predictor for success; Ventura found this was not the case in his objects-first course. As a curiosity he found that previous knowledge of Java was a negative predictor of success: the students with previous knowledge performed worse than students without [27 p. 73 ].. As always there are some preconditions to the research. One important precondition is the characteristics of the course that founded the basis for the research. Ventura used a CS1 course with a graphics early approach. In [28] he describes the graphics early approach as follows: The course focuses primarily on the teaching of problem solving using object-oriented design techniques with the following features [28 p . 241]:. Design-centered. Through the introduction of a simplified version of UML class diagrams, students are taught to think about problem solutions independently of the code. Design once, code anywhere has become the motto for the class. Design patterns are introduced both in lecture and integrated into the programming assignments. These serve as examples of good design as well as vehicles to encourage students to think at a higher level of abstraction. In the current research, we have investigated the relationship between the student's achievements in the final exam of the introductory programming course and mathematical prerequisites, gender, study program, student team, maturity, and the student's achievements in the mandatory weekly exercises during the course.. Identifying success factors is relevant, and has been done in many fields with many different hypotheses of success factors for education in specific fields and for education in general. Wang & Hertel [29] abstracted over more than 11.000 statistical findings in order to identify the most influential factors for learning. They found that "the students metacognitive processes that is, a student's capacity to plan, monitor, and, if necessary, re-plan learning strategies-had the most powerful effect on his or her learning." (p.75). Even though their research was based on students in primary and lower secondary schools, other research have found factors related to student aptitude or classroom management to be important as well in a university setting. For references, see [21] .. The explanation power of the variables we have studied is rather small. However, more important is the fact that the most influential of the variables from our study, math grade from high school, is outside our control-we cannot do anything to improve it by changing the course design, and the students cannot do anything about it by changing their attitude in the CS1 course. We would like to identify success factors within our control, i.e. success factors that we can promote by changing aspects of our course design.. From our experience, we conjecture that other factors also are likely to be indicators of success than the ones investigated in the research reported in this paper. Numerous other factors might be success indicators in an introductory model-driven programming course, e.g. motivation, effort, power of abstraction, prior programming experience, social course context, emotional and social health, family background, ethnic background, financial situation, and computer literacy. In order to improve the learning situation, we would like to pursue those factors we believe to be dominant in predicting success and which we can do something about by changing our course design, and this rules out family background, ethnic background, financial situation and computing literacy.. Motivation. How motivated is the student? Presumably, a CS major is more motivated than a math major or chemistry major; and of course some CS students are more motivated than others.. Effort. How hard does the student work with the subject during the quarter/semester? Programming is a contact-sport, and the hardworking students are likely to perform vastly better than the less hard-working students are. In this research, we have used a simplified description of the effort the students puts in the course namely the result of the mandatory assignments.. Power of abstraction. We believe that the student's power of abstraction -the students ability to cope with abstract concepts and their detailed realization in a modern programming language which is a task spanning several orders of magnitude-plays a dominant role as indicator of success in any introductor programming course, also a model-driven course as ours.. Prior programming experience. All other things being equal, we expect prior programming experience to be an indicator of success. However, one often sees that students with prior programming experience rely too much on their prior experience and eventually find themselves (lost) far behind the students that approach their study with a more humble and hard-working attitude. This indicator has been shown in several studies [13, 30] to be an indicator of success, even though Ventura [28] could not confirm this.. Social course context. We believe the social context of the learning environment, i.e. the lecturer, the TA, and the fellow students, to be an indicator of success; however, it is probably a more moderate success indicator than the other four mentioned above.. Emotional and social health. [21] found that "both emotional and social health factors related to student performance and retention" (p24). In their study they have used a wide range of tests to determine college students emotional and social health. It would be interesting to see if these factors have the same impact on students participating in a model-based programming course.. It is not a trivial task to measure the parameters mentioned above; consequently, a major part of the indicated future work will be to identify trustworthy techniques of establishing quantitative measures of these parameters.. In section 5.3 we concluded: "In order to answer the more general question of success factors of the object-first CS1 course we need data from various different implementations of this teaching strategy." Therefore, we would like to extend the investigation to other institutions (other teachers, other interpretations of objects-first, etc.). We have studied eight potential indicators of success for a modeldriven CS1 course at university level: math grade from high school, course work, study age, major in CS, major in math, major in geology, major in nano science, and gender.. We have explained our specific interpretation of objects-first by presenting a detailed description of the course design including goal, form, content, exam, and pedagogy.. We have presented our research method including research question, data, statistical method (multiple regression analysis).. Of the eight potential indicators of success, we have found only two to be significant at a 95% confidence interval: math grade from high school and course work. The two significant indicators explain 24.2% of the variation of the exam grade. Math is the more dominant of the two, it accounts for 2/3 of the variation. The result concerning math grade contradicts the findings of Ventura [27] .. We have discussed four aspects of our research:. 1. The explanation power of the variables: the variables considered here definitely have a large impact on the result of the exam.. 2. The impact of our findings on teaching: the significance of the course work variable indicates, not surprisingly, that students who follow the pace of the course performs better at the final exam.. 3. Limits of what to conclude from the available data: data from various different implementations of this teaching strategy is needed in order to answer the more general question of success factors of an object-first CS1 course.. 4. The variety of the notion "objects-first": because of the variety of interpretations of "objects-first", it is impossible to make conclusions about this approach in general.. Further work need to be done in order to make generalizable results on the success factors for objects-first programming; we suggest six potential indicators of success that we believe to be dominant in predicting success and which we can do something about by changing our course design. In this section, we discuss four aspects of our investigation: the explanation power of the variables, the impact of our findings on teaching, limits of what to conclude from the available data, and the variety of the notion "objects-first". In this section the result of the multiple regressions is given.

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


Topological model for machining of parts with complex shapes Complex shapes are widely used to design products in several industries such as aeronautics, automotive and domestic appliances. Several variations of their curvatures and orientations generate difficulties during their manufacturing or the machining of dies used in moulding, injection and forging. Analysis of several parts highlights two levels of difficulties between three types of shapes: prismatic parts with simple geometrical shapes, aeronautic structure parts composed of several shallow pockets and forging dies composed of several deep cavities which often contain protrusions. This paper mainly concerns High Speed Machining (HSM) of these dies which represent the highest complexity level because of the shapes' geometry and their topology. Five axes HSM is generally required for such complex shaped parts but 3 axes machining can be sufficient for dies. Evolutions in HSM CAM software and machine tools lead to an important increase in time for machining preparation. Analysis stages of the CAD model particularly induce this time increase which is required for a wise choice of cutting tools and machining strategies. Assistance modules for prismatic parts machining features identification in CAD models are widely implemented in CAM software. In spite of the last CAM evolutions, these kinds of CAM modules are undeveloped for aeronautical structure parts and forging dies. Development of new CAM modules for the extraction of relevant machining areas as well as the definition of the topological relations between these areas must make it possible for the machining assistant to reduce the machining preparation time. In this paper, a model developed for the description of complex shape parts topology is presented. It is based on machining areas extracted for the construction of geometrical features starting from CAD models of the parts. As topology is described in order to assist machining assistant during machining process generation, the difficulties associated with tasks he carried out are analyzed at first. The topological model presented after is based on the basic geometrical features extracted. Topological relations which represent the framework of the model are defined between the basic geometrical features which are gathered afterwards in macro-features. Approach used for the identification of these macro-features is also presented in this paper. Detailed application on the construction of the topological model of forging dies is presented in the last part of the paper. The various parts developed for aerospace, automotive and electrical or electronic appliances have complex shapes. These shapes can be designed using curved surfaces or portions of canonical surfaces whose arrangement is complex (different directions followed by several intersections). Shapes complexity associated with curvature variations generate difficulties during parts manufacturing or dies and molds machining used in casting, injection and forging. Dies and molds generally reproduce the complexity of the parts shape and machining difficulties that result. When analyzing the machining process, two complexity levels can be highlighted (Fig. 1) . The first complexity level is between quasi prismatic parts and the aeronautic structures parts. Pockets (or cavities) generally shallow which characterize these aeronautic structures parts are made up of flat bottoms limited by thin walls whose orientations vary sometimes with respect to bottoms normal vectors [2] . The second complexity level leads to forging dies which are characterized by rather deep cavities including sometimes protrusions. This paper mainly concerns High Speed Machining (HSM) of these dies which represent the highest complexity level because of the shapes' geometry and their topology [3] . A topological relations model used for describing configurations and relative positions of geometrical features is presented in this article. These geometrical features are extracted from the CAD model of complex shape parts such as forging dies. Description of topological relations is carried out to assist machining assistant during the generation of machining process. Assistance is particularly relevant because the topological relations were defined from the analysis of the difficulties encountered by the machining assistant. The first level of the topological relations is generated from the adjacencies between geometrical features. Adjacency relations created at this level represent geometrical features that sharing common edges. Properties of these relations which can be concave or convex are defined from the shape properties of transition features defined between the basic geometrical features. When a transition feature has an unspecified shape property, a method is proposed for analyzing the relative orientation of the basic geometrical features associated to the transition. Results of this analysis change the unspecified property into concave or convex adjacency relation. The other topological relations are defined between macro-features which gathered geometrical features in order to create cavities and protrusions processed in CAM software. A semi-automatic approach for identifying these macro-features is also proposed. It is based on the adjacency relations in the automatic stage but involves machining assistant to decompose flanks and transition features which sometimes belong to several macro-features. Analysis of the topological graph provides information on the areas where the decomposition must be done. Topological relations between macro-features are defined from the analysis of their relative positions and their characteristic dimensions. As analysis data cannot be automatically extract directly from CAD model of the part, these relations are defined by the machining assistant. This work is based on queries generated from an automatic preprocessing of the graph under construction. The final topological graph of the part created mostly after several iterations is the expression of the topological model of the part.

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


Learning Function-Free Horn Expressions Abstract. The problem of learning universally quantified function free first order Horn expressions is studied. Several models of learning from equivalence and membership queries are considered, including the model where interpretations are examples (Learning from Interpretations), the model where clauses are examples (Learning from Entailment), models where extensional or intentional background knowledge is given to the learner (as done in Inductive Logic Programming), and the model where the reasoning performance of the learner rather than identification is of interest (Learning to Reason). We present learning algorithms for all these tasks for the class of universally quantified function free Horn expressions. The algorithms are polynomial in the number of predicate symbols in the language and the number of clauses in the target Horn expression but exponential in the arity of predicates and the number of universally quantified variables. We also provide lower bounds for these tasks by way of characterising the VC-dimension of this class of expressions. The exponential dependence on the number of variables is the main gap between the lower and upper bounds. We study the problem of exactly identifying first-order Horn expressions using Angluin's (1988) model of exact learning. Much of the work in learning theory has dealt with learning of Boolean expressions in propositional logic. Early treatments of relational expressions were given by Valiant (1985) and Haussler (1989) , but only recently more attention was given to the subject in the framework of Inductive Logic Programming (see e.g. Muggleton & De Raedt, 1994; Cohen, 1995a; Nienhuys-Cheng & De Wolf, 1997) . It is clear that the relational learning problem is harder than the propositional one and indeed except for very restricted cases it is computationally hard (Cohen, 1995b) . To tackle this issue in the propositional domain various queries and oracles that allow for efficient learning have been studied (Valiant, 1984; Angluin, 1988) . In particular, propositional Horn expressions are known to be learnable in polynomial time from equivalence and membership queries (Angluin, Frazier, & Pitt, 1992) , and from entailment queries (Frazier & Pitt, 1993) . In the relational domain, queries have been used in several systems (e.g. Shapiro, 1983; Sammut & Banerji, 1986; De Raedt & Bruynooghe, 1992; Muggleton & Buntine, 1992) and results on learnability in the limit were derived (Shapiro, 1991; De Raedt & Bruynooghe, 1992) . More recently progress has been made on the problem of learning first-order Horn expressions from equivalence and membership queries. These results were obtained by using additional constraints on the language (Page, 1993; Reddy & Tadepalli, 1997) and using additional queries that help identify the syntactic form of the target expression (Arimura, 1997; Reddy & Tadepalli, 1998; Rao & Sattar, 1998) .. In this paper we show that function-free universally quantified Horn expressions are exactly learnable in several models of learning from equivalence and membership queries. One distinction between the learning models is concerned with the notion of examples. The natural generalisation of the setup studied in propositional logic suggests that examples are interpretations of the underlying language. That is, a positive example is a model of the expression being learned. Another view suggests that a positive example is a sentence that is logically implied by the expression, and in particular Horn clauses have been used as examples. These two views have been called learning from interpretations and learning from entailment respectively (De Raedt, 1997) and were both studied before.. Another aspect of the learning models is the use of background knowledge in the process of learning. This idea has been formalised in Inductive Logic Programming (ILP) where the background knowledge is given to the learner as a logical expression in the same language as that of the target expression being learned (Muggleton & De Raedt, 1994) . The background knowledge may be extensional, that is a set of ground facts, or intentional where it may include arbitrary expressions in the language. Finally, the framework of Learning to Reason (Khardon & Roth, 1997) has been suggested for the study of systems that learn their knowledge in order to reason with it. For example, such a system may learn domain knowledge for a particular domain and then use it to reason about this domain. Instead of finding an expression equivalent to the domain description, the learner is expected to learn some representation with which it can perform the reasoning correctly, for reasoning questions in a restricted class of expressions.. We present algorithms for all these tasks with respect to universally quantified functionfree Horn expressions. Our method follows closely the results from the propositional domain (Angluin, Frazier, & Pitt, 1992; Frazier & Pitt, 1993) generalising these by finding appropriate first-order constructs. Thus one contribution of the paper is in lifting the results to the first-order domain and developing the appropriate algorithms. Another contribution is in developing techniques for converting learning algorithms from one model to another, thus clarifying some of the relationships between the various models. Finally, we characterise the VC-dimension of the class under consideration; this is a combinatorial parameter known to provide a lower bound for the complexity of learning (Blumer et al., 1989; Maass & Turán, 1992) . For our case this induces a lower bound on the number of queries made by any algorithm that learns function-free Horn expressions.. To illustrate the complexity of the algorithms consider the Horn expression (exact definitions for the various notions appear in the next sections):. The language includes |P| = 4 predicates p 1 , . . . , p 4 each of arity at most a = 2, the number of clauses in the expression is m = 2 and the maximal number of universally quantified variables in a clause is k = 3. Our algorithm learns this class of expressions with query complexity bounded by 3m 2 |P|k a nk 3k where n is the size (number of objects). in the examples it sees, and time complexity polynomial in the above parameters and n k . The lower bound for the number of queries following from the VC-dimension is (m|P|k a ). Our results are derived by first considering the case of learning from interpretations. We describe two slightly different algorithms (with different proofs of correctness) that perform this task. Algorithms for other tasks are then constructed from the solution of this task. One of the main results of the paper is concerned with deriving one of the basic algorithms. In doing that we use a variant of the standard semantics where each universally quantified variable in an expression must be bound to a different element. We show that in this setting the number of equivalence queries is polynomial in k (rather than k k ) whereas the running time and membership queries are as above. Our learning algorithm uses pairings of examples, an operation that is a variant of direct products that have been used before for learning (Horvath, Sloan, & Turán, 1997; Frazier & Pitt 1996) . A similar modified semantics has been considered before by Haussler (1989) . In fact our result can also be seen as extending Haussler' s positive result (that shows the learnability of a single clause) in having more than one clause in the expression though restricting the clauses to be Horn. Another interesting aspect of the modified semantics is that it can be used to derive a learning algorithm for a more expressive language (under the normal semantics) allowing an arbitrary number of equalities in the clauses, as in:. thus going somewhat beyond the pure Horn case.. While this paper concentrates on function-free expressions, extending the results to more expressive languages in clearly of interest. One such result for range restricted Horn expressions (where the way function symbols are used in clauses is restricted) has been recently developed using a reduction to the function-free case (Khardon, 1999a) .. The rest of the paper is organised as follows. Section 2 gives preliminary definitions and details. Section 3 presents some simple examples that motivate the construction developed in Section 4 where the result on learning with the special semantics is proved. Section 5 extends this result for other learning models, and Section 6 characterises the VC dimension of the class. Section 7 develops the second basic algorithm showing how the propositional algorithm can be used more directly in the first-order domain. Finally Section 8 concludes with a brief discussion. We have shown that universally quantified function-free Horn expressions are learnable in several models of exact learning from queries. This includes learning from interpretations, learning from entailment, learning with intentional or extensional background knowledge and learning to reason. The most expressive class shown learnable allows for an arbitrary number of equalities to appear in the expressions thus going slightly beyond pure Horn expressions.. The algorithms presented are polynomial in the number of predicate symbols in the language and the number of clauses in the target Horn expression but exponential in the arity of predicates and the number of universally quantified variables. We also derived lower bounds for these tasks by way of characterising the VC-dimension of this class of expressions. The main discrepancy between the lower bound and the bounds for our algorithms is the exponential dependency on the number of variables.. In order to develop the results we introduced the unique substitutions semantics and the pairing operation that restricted the size of generalised clauses. The pairing operation as well as the operations of omitting one object at a time from an interpretation while using MQ can be seen as refined forms of minimising the size of interpretations or the relevant clauses. A "fine grain" minimisation by omission of one atom at a time is used in the propositional domain for example by Angluin (1988) for learning monotone DNF, and for relational problems by Tadepalli (1997, 1998) . Work by Aizenstein and Pitt (1995) indicates that this may not always be successful. Our work identifies more "coarse grain" minimisation steps that are safe for function-free expressions.. The application of these ideas in a practical ILP system would require an interactive setting where membership queries are answered. Some work in ILP included systems with similar requirements (Sammut & Banerji, 1986; Muggleton & Buntine, 1992) and our results can be applied in these scenarios. Clearly, finding heuristics for reducing the number of queries is an important step in this direction. Another possibility is to simulate (entailment) membership queries by testing against a large set of examples.. There are several natural questions as for improvements of these results. These include for example allowing constants and function symbols in the learned expressions, improving the complexity or proving better lower bounds, and allowing for alternation of quantifiers. Another aspect concerns the learning model. Shapiro's (1983) system introduced the model inference problem, where a learner is trying to find a logic program corresponding to an "intended interpretation". There are subtle differences between this requirement and the ones studied in this paper. In addition the set of queries available to the learner is also different. Clarifying these aspects will be of interest. Finally, some connections of the problems studied here to work in database theory have been mentioned and further exploration of these may prove useful.. When considering function symbols in the language it is important to make sure that learned expressions are useful in the sense that computations with them are decidable and efficient. Some efforts in this direction (Arimura, 1997; Reddy & Tadepalli, 1998; Rao & Sattar, 1998) use additional queries (on the order of atoms for acyclic expressions or subsumption queries) that help identify the syntactic form of the target expression. Some progress on learning without additional queries was recently made, showing that a natural generalisation of range restricted expressions, where every term that appears in the consequent of a clause also appears in its antecedent, is learnable (Khardon, 1999a) .

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


An authorization scheme for version control systems We present gitolite, an authorization scheme for Version Control Systems (VCSes). We have implemented it for the Git VCS. A VCS enables versioning, distributed collaboration and several other features, and is an important context for authorization and access control. Our main consideration behind the design of gitolite is the balance between expressive power, correctness and usability in realistic settings. We discuss our design of gitolite, and in particular the four user-classes in its delegation model, and the administrative actions a user at each class performs. We discuss also our ongoing work on expressing gitolite precisely in first-order logic, to thereby give it a precise semantics and establish correctness properties. gitolite has been adopted in open-source software development, university and industry settings. We discuss our experience with these deployments, and present some performance results related to access enforcement from a real deployment. We present gitolite [3] , a new authorization scheme for Version Control Systems (VCSes). Authorization deals with the specification and management of the rights users have to resources. (The terms "authorization" and "access control" mean the same in this paper.) It is an important aspect of the security of a system. A VCS is used when resources (e.g., software programs) are in flux, and the history of changes need versioning. Typically, a VCS needs to allow multiple users to access, modify and update the resources.. gitolite has been implemented for the Git VCS [2] and is sufficiently general to be applicable to other VCSes such as SVN [1] .. 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. Our particular focus in this paper is our design of controlled delegation that is part of the scheme. Traditional authorization schemes for VCSes have a single administrator for an instance of a VCS that specifies authorization rules for accessors. Our scheme is more flexible and scalable as it has a finer-grained delegation model. We have validated the scheme with real-world deployments in largescale open-source software development projects, universities and industry (see Section 5) .. In the context of designing an authorization scheme for VCSes, we have set a broader goal for ourselves: to design a scheme that simultaneously addresses expressive power, usability and correctness. The scope of this paper is more modest that our overall goal -we seek to introduce gitolite, convey its salient features, and argue that it is indeed different in its expressive power from prior schemes. In this context, our intent is only for our scheme to be applicable to VCSes; it is not designed to be as expressive as more general schemes from the research literature. A natural question then is whether schemes that have been proposed previously, such as those for Discretionary Access Control (DAC) [12] , Role-Based Access Control (RBAC) [9, 25] and Trust Management [7, 18] , are expressive enough to subsume our scheme. We discuss this issue in more detail in Section 6. Our observation is that other schemes do not capture gitolite in a manner that is useful for real-world deployments. This should not be surprising: it has been observed before that even from a more rigorous standpoint, given two authorization schemes, neither may be as expressive as the other [31] . Furthermore, the application-domain has a significant influence on the design of an authorization scheme and its expressive power. Therefore, it is likely that schemes from different application-domains are incomparable with one another.. Novelty A number of authorization schemes have been proposed in the research literature. Also, there are several schemes that are deployed in various application domains such as file and database systems. The elements of our scheme are not new. However, the manner in which we put the elements together into a composite scheme is novel. For example, delegation is a well-studied notion in authorization. However, in the context of a new scheme such as ours, one still needs to make a number of choices regarding, for example, the depth of delegation that is allowed, and the sorts of power an individual at a particular depth has.. There are two mindsets that we see in past work on authorization schemes. One is work that is agnostic to the application domain. A lot of past work on RBAC, for example, appears to be based on this mindset. The other mindset is that the application domain influences the authorization scheme significantly. Our design is based on this latter mindset, and our design is validated by our experience from several deployments, as we discuss in Section 5.. Layout The remainder of this paper is organized as follows. In the next section, we introduce VCSes. In Section 2 we discuss how we perform access enforcement. In Section 3, we discuss our authorization scheme. In Section 4, we discuss our ongoing work on giving our scheme a precise encoding in first-order logic. In Section 5, we discuss our experience from deployments. We discuss related work in Section 6, and conclude in Section 7. We have presented aspects of our design and implementation of gitolite, an authorization scheme for Version Control Systems (VCSes). Access enforcement relies on Access Control Lists (ACLs), and there is a new syntax that we have developed for specifying authorization rules that are compiled into an ACL. In ongoing work, we are using first-order logic to express our scheme precisely, and also give it a precise semantics, and to assert soundness and completeness properties. Our scheme has several deployments, and we have discussed our experiences from such deployments. We have also discussed how access enforcement works, and its performance relative to the number of repositories and ACL entries.. There is considerable scope for future work. One is to conduct a comprehensive usability test of our deployments to find out whether gitolite is indeed as usable as it can be. An aspect for us to assess in this context is whether we can fine-tune the balance between flexibility and usability. Another topic for future work regards an expression of our scheme precisely. It may be possible to use some automated proof technique and maintain the formal specification of our scheme in such a syntax even as it evolves. We plan also to explore the issue of policy verification in the context of our scheme. A number of authorization schemes have been proposed in the research literature, and a comprehensive discussion is beyond the scope of this paper. Our scheme pulls together several aspects that have been proposed before, such as the use of ACLs, delegation and resolving conflicts between rules using some sort of prioritization. In the context of VCSes, we are unaware of work on authorization that has been published in a research venue. The book by Pilato, Collins-Sussman and Fitzpatrick [22] on SVN includes a discussion on SVN's authorization scheme. It is a good example of traditional authorization schemes as used in VCSes in the past. In our work, we also use logic for modeling our scheme. The use of logic has a long history in access control, including the work of Abadi et al. [4] , and more recent work [6, 10, 18, 26] . Our interest is not in developing a new logic for authorization, but rather in using first-order logic for precision, and for correctness properties.. We are primarily interested in the expressive power of our scheme relative to schemes that have been proposed in the past. Our objective in designing the scheme was to have a scheme that is sufficiently flexible (expressive) so administrators can configure it as they need to in practice, yet not make it so complex as for it to be unusable. Our deployment experiences (see Section 5) that we have hit the right balance. Consequently, the question as to whether our scheme is more expressive that another scheme is not of interest in the context of this paper. One may pose the question in the other direction: whether there exist schemes from the literature that can capture our scheme. To our knowledge, the answer to this question is no. At the minimum, we assert that there does not seem to be a natural encoding of our scheme in other schemes. For some example schemes from the literature, we discuss the basis for our above assertion.. Consider, for example, DAC schemes that are used to protect filesystems. There are two differences between such schemes and ours. One is that resources that are protected in filesystems are different, and have different relationships with one another than in VCSes. The second is that typically, such schemes, such as the ones in POSIX-compliant systems [27] and Windows ACLs [29, 30] , have only two levels of administrators: a superuser ("root") and the owner of a file or directory. The owner has full discretion in handing out rights to resources that he owns. One may argue that the notion of a mnemonic in our scheme is the same as the notion of a group in such systems. However, there are some important differences. One is that in existing filesystems, the superuser not only defines a group (the mnemonic), but also assigns users to the group. We have adopted the approach wherein the VCS Admin only defines the mnemonic, but the assignment of users is discretionary to the Repo Owner. This has significant consequences to the administrative ease of the system.. There have also been administrative schemes for RBAC such as ARBAC97 [24] , SARBAC [8] and UARBAC [17] . It may be argued that a mnemonic in our scheme is exactly a role as perceived in such schemes. However, there are some important differences between such schemes and our scheme. One is that we have three levels of administrators where these schemes have two only. It is unclear that our mid-level administrators (Repo Admin and Repo Owner) can be captured using the constructs provided within such schemes. Also, the rules by which a user (a Repo Owner) assigns users to mnemonics is discretionary, whereas in such schemes it is guarded by preconditions on users' memberships to other roles.. There are also schemes that are presented as logics, but may be perceived as authorization schemes in their own right; an example is DynPal [6] . It is quite possible that DynPal can capture our scheme. However, an issue with such a scheme is that it is too expressive. For example, we observe that DynPal permits delegations of unbounded depth. Furthermore, policy verification (safety analysis) is undecidable in general in DynPal. We do not delve into policy verification in the context of gitolite in this paper; however, we conjecture that it is decidable, and even tractable, even though our domain is infinite.

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


Computing Steerable Principal Components of a Large Set of Images and Their Rotations Abstract-We present here an efficient algorithm to compute the Principal Component Analysis (PCA) of a large image set consisting of images and, for each image, the set of its uniform rotations in the plane. We do this by pointing out the block circulant structure of the covariance matrix and utilizing that structure to compute its eigenvectors. We also demonstrate the advantages of this algorithm over similar ones with numerical experiments. Although it is useful in many settings, we illustrate the specific application of the algorithm to the problem of cryo-electron microscopy.Index Terms-EDICS Category: TEC-PRC image and video processing techniques.

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