Memory optimization by counting points in integer transformations of parametric polytopes Memory size reduction and memory accesses optimization are crucial issues for embedded systems. In the context of affine programs, these two challenges are classically tackled by array linearization, cache access optimization and memory size computation. Their formalization in the polyhedral model reduce to solving the following problem: count the number of solutions of a Presburger formula.In this paper we propose a novel algorithm that answers this question. We solve the Presburger formula whose solution is a union of parametric Z-polytopes and we propose an algorithm to count points in such a union of parametric Z-polytopes. These algorithms were implemented and we compare them to other existing methods. Two parameters particularly impact the size and the cost of an embedded system: memory size, and power consumption. In many applications, and especially in real-time multimedia processing systems, a large part of power consumption is due to data transfers and memory access operations. For these two reasons -memory size reduction and memory accesses optimization-memory optimization is a crucial issue in compilation techniques for high performance embedded computing [19] . The class of "affine programs" (affine access functions to arrays in affine bounded loop nests) has been tackled in the past by many researchers, since they occur frequently and are resource-consuming, in applications like digital audio/video, imaging, graphics, compression/decompression, etc. In this context, array linearization [28] , cache access optimization [11, 5, 15] , and memory size computation [32, 33] reduce to the problem of counting the number of images of integer points in a polytope (or a Zpolytope 1 ) by an affine function, or equivalently counting the solutions to a Presburger formula. If the considered programs contain unknown variables at compile-time, this problem has to be solved analytically, and the solution has to be expressed as a function of these parameters. In such a case, we manipulate parameteric Z-polytopes.. The first solutions proposed approximations or minima of this number [32, 25] or solved the subproblem of count the integer points in polytopes with one [1, 7] or many [4, 3, 30] parameters. Then, some exact methods to count transformation of polytopes were proposed for the non-parametric case [20, 2, 33] .. Pugh [22] first proposed an algorithm to solve the generalcase problem, based on the Fourier-Motzkin variable elimination [6] . However, it seems that complexity considerations prevented the algorithm to be ever implemented, as the number of splinters built by his method is a function of the coefficients of the formula. Moreover, it is not clear whether his method is able to eliminate more than one existential variable without scanning a large number of polytopes.. More recently, Verdoolaege et al. [29] proposed to apply simple rewriting rules (existential variables that are unique or redundant, decomposition in independent splits) to a disjoint union of parametric sets computed using the Omega Calculator [22] , and to use the PIP library [9] if these rewriting rules fail. But the input of their algorithm, the disjoint union of sets computed from a Presburger formula is worstcase exponential; and PIP is worst-case exponential.. Another theoretical polynomial-time algorithm was proposed by Verdoolaege and Woods [31] but its implementation remains a challenge.. In this paper, we propose a new algorithm handling this problem, based on: (i) a polynomial method to count the number of integer points in a union of a fixed number of parametric Z-polytopes (of fixed dimension), (ii) a method to compute the integer projection of a union of parametric Z-polytopes as a worst-case exponential union of parametric Z-polytopes.. We compared our implementation to the one of Verdoolaege [29] , and showed that, for an important set of examples, it is more efficient. Moreover, the resulting quasi-polynomials are significantly smaller using our algorithm, and, as these polynomials are used in the optimized programs, their code size is smaller, which also is an important issue in the context of memory for embedded systems.. In section 2 we show the motivation of this work by means of an example: array linearization for cache optimization and memory compression. We present our algorithm for computing the integer transformation of a Z-polytope in section 3. Section 4 presents our algorithm for counting integer points in arbitrary unions of parametric Z-polytopes. In section 5 we provide experiments comparing our implementation to the one of Verdoolaege. Finally, the conclusions are given in section 6. We presented a new algorithm for calculating the transformation of integer points in parametric polytopes. The solution is given as a union of parametric Z-polytopes, worstcase exponential but efficient in practical cases, and less complex compared to other existing methods. A general polynomial algorithm for computing the exact solution remains a challenge. We also proposed a new polynomial algorithm to count points in arbitrary unions of a fixed number of Z-polytopes (of fixed dimension).. These algorithms have been implemented using the Polyhedral library [14] and Barvinok library [30] .. These results have many applications in parametric affine loop nest analysis and optimization, for example array linearization, cache optimization, and memory size computation. The exact computation of the transformation of a Z-polytope allows static generation of optimized code and hardware, reducing power consumption and memory size in embedded systems. Moreover, the smaller quasi-polynomials that we obtain (compared to other methods) leads to smaller optimized code. In this section, we compare our implementation to the one of Verdoolaege et al., since it is the most efficient known exact method to be implemented [29] .. These experiments were undertaken with PolyLib version 5.22 and Barvinok version 0.20. In both implementations, the first library is used to realize polyhedral operations, and the second one to count integer points in parametric polytopes. In addition, Verdoolaege et al. use the PIP library [10] , and the Omega library [13] to simplify the input polytopes.. This random test set is representative of an important number of complex cases (which do not reduce to the rational transformation, easily computed in polynomial time by both implementations). The dimension of the polytopes vary between 3 and 7 (corresponding to the loop depth plus the array dimension), the number of parameters vary between 1 and 3, and the number of eliminated variables from 1 to 5. We chose to plot the acceleration and output size ratio as a function of the number of Z-polytopes generated after transformation by our algorithm, since it is the most significant parameter on its complexity. The comparison is performed using two representations of Ehrhart quasipolynomials: as lookup-table and as fractional enumerators.. The lookup-table representation is known to be exponen- tial [29] but its advantage, compared to the fractional representation, is that it can be fully simplified. Therefore, lookup-table quasi-polynomials may be of smaller size than fractional ones (when their periods are small). Figure 4 shows that, for many of these tests, our execution times are significantly lower than Verdoolaege's ones (the scale is logarithmic). The acceleration is about 2.05 in the fractional case, and 2.71 when using lookup-table representation. Indeed, most of the quasi-polynomials generated by Verdoolaege's method have larger periods than those generated by ours. Therefore, when using the fractional representation, the performance of our algorithm does not change much, while Verdoolaege's algorithm is faster for some examples. Note that Verdoolaege's method does not calculate the actual projection, but an equivalent set of polytopes having the same number of integer points. These polytopes are sometimes of larger dimensions and may have larger constraints coefficients, which increases the execution time. Figure 5 shows the size ratio of the output polynomials. Again, since our method generates smaller periods, the resulting polynomials are smaller than Verdoolaege's. The geometric mean of the size ratio in this set of examples is 1.94 in the fractional case and 3.23 in the periodic case.

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


Learning to Locate Informative Features for Visual Identification Abstract Object identification is a specialized type of recognition in which the category (e.g. cars) is known and the goal is to recognize an object's exact identity (e.g. Bob's BMW). Two special challenges characterize object identification. First, inter-object variation is often small (many cars look alike) and may be dwarfed by illumination or pose changes. Second, there may be many different instances of the category but few or just one positive "training" examples per object instance. Because variation among object instances may be small, a solution must locate possibly subtle object-specific salient features, like a door handle, while avoiding distracting ones such as specular highlights. With just one training example per object instance, however, standard modeling and feature selection techniques cannot be used. We describe an on-line algorithm that takes one image from a known category and builds an efficient "same" versus "different" classification cascade by predicting the most discriminative features for that object instance. Our method not only estimates the saliency and scoring function for each candidate feature, but also models the dependency between features, building an ordered sequence of discriminative features specific to the given image. Learned stopping thresholds make the identifier very efficient. To make this possible, category-specific characteristics are learned automatically in an off-line training procedure from labeled image pairs of the category. Our method, using the same algorithm for both cars and faces, outperforms a wide variety of other methods. shows six cars. The two leftmost cars were photographed by one camera; the right four cars were seen later by another camera from a different angle. Suppose one wants to determine which images, if any, show the same vehicle. We call this task visual object identification. Object identification is a specialized form of object recognition in which the category (e.g. faces or cars) is known, and one must recognize the exact identity of objects. Most existing identification systems are aimed at biometric applications such as identifying fingerprints or faces.. The general term object recognition refers to a whole hierarchy of problems for detecting an object and placing it We have described a new object identification system that is general in that it can be applied to different categories of objects. We have shown that the key step is to teach the system to be able to pick informative features for new objects within the given category given an off-line labeled category Fig. 15 Selecting Unusual Features. For each image, the first (most informative) patch of the cascade is displayed training set. Our main contribution is a novel learning algorithm that actually models the space of possible features for the category, allowing it to select and score features that it has never seen before, based on a single new example.. In the introduction, we have argued that our goal was to build an algorithm that has the potential to recognize the usefulness of a mole on a person's cheek for identification, even when it had never seen another person with such a mole. The hope is that the system would be able to generalize from having seen other similar facial blemishes in other locations (that is, in our case, image patches with mole-like appearance characteristics), and recognize that such patches, wherever they are located, make good features.. While we have no faces with obvious moles in our data set, Fig. 15 shows two example results that make us hopeful that we are on the right track. In both, the algorithm has picked a very atypical patch as its top most informative feature, due to an unusual image characteristic. The left image contains the only person in the our data set who is wearing sunglasses and it is the only image for which the algorithm has decided not to pick a patch near the eyes as its top feature. The right example shows a truck towing a flatbed trailer, where the unique connecting area is chosen as the best feature. We can only hypothesize how the algorithm made these seemingly correct yet unusual choices.. In both cases the appearance of the features dominated the decision: the homogeneous area of the sunglasses replaced the usually informative eye features, while the elongated lines of the trailer are reminiscent of the type of features that are found to be informative elsewhere. While accuracy of these unusual choices are quantitatively very difficult to measure, we believe that the overall performance of our algorithm is due to this ability to pick the right patches for most objects. The goal of this work is to create an identification system that could be applied to different categories, where the algorithm would automatically learn (based on off-line training examples) how to select category-specific salient features from a new image. In this section, we demonstrate that after category training, our algorithm is in fact able take a single image of a novel object and solely based on it create a highly effective "same" vs. "different" classification cascade of image patches. Specifically, we wish to show that for visual identification each of the following leads to an improvement in performance in terms of accuracy and/or computational efficiency:. 1. breaking the object up into patches, matching each one separately and combining the results, 2. differentiating patches by estimating a scoring and saliency function for each patch (based on its hyperfeatures), 3. modeling the dependency between patches to create a sequence of patches to be examined in order, and 4. applying early termination thresholds to the patch sequence to create the cascade.. We tested our algorithm on three different data sets: (1) cars from two cameras with significant pose differential, (2) faces from news photographs, and (3) cars from a wide-area tracking system with 33 cameras and 1000's of unique vehicles. Examples from these three data sets are shown in Fig. 9 , with the top 10 patches of the classification cascade. Notice that the sequence of patches for each object reflects both category knowledge (for cars, the system tends to select descriptive patches on the side with strong horizontal gradients and around the wheels, while for faces the eyes and eyebrows are preferred) and object specific characteristics.. For each data set, a different automatic preprocessing step was applied to detect objects and approximately align them. After this, the same identification algorithm was applied to all three sets. For lack of space, we detail our experiments on data set 1, enumerate the results of data set 2, and only summarize our experience with data set 3. Qualitatively, our results on the three are consistent in showing that each of the above aspects of our system improves the performance, and that the overall system is both efficient and effective.. 7.1 Cars 1 358 unique vehicles (179 training, 179 test) were extracted using a blob tracker from 1.5 hours of video from two cameras located one block apart. The pose of the cameras relative to the road (see Fig. 1 ) was known from static camera calibration, and alignment included warping the sides of the vehicles to be approximately parallel to the image plane. Additionally, by detecting the wheels, we rescaled each vehicle to be the same length (inter-wheel distance of 150 pixels). This last step actually hurts the performance of our system, as it throws away size as a cue (the camera calibration gives us a good estimate of actual size). However, we wanted to demonstrate the performance when such calibration information is not available (this is similar to our face data set, where each face has been normalized to a canonical size).. Within training and testing sets, about 2685 pairs (true to false ratio of 1:15) of mismatched cars were formed from non-corresponding images, one from each camera. These included only those car pairs that were superficially similar in intensity and size. Using the best whole image comparison method we could find (normalized correlation on blurred filter outputs) on this set produces 14% false positives (29% precision) at a 15% miss rate (85% recall). Example correct and incorrect classification results using our cascade are shown in Fig. 10 . This data set together with more example results are available from our web site. Figure 12 compares several versions of our model by plotting the false-positive rate (y-axis) with a fixed miss rate of 15% (85% recall), for a fixed budget of patches (x-axis). The 85% recall point was selected based on Fig. 11 , by picking the equal precision-recall point given the 1 to 15 true-tofalse ratio.. The Random Order curve uses our hyper-feature model for scoring, but chooses the patches randomly. By comparing this curve to its neighbors, notice the performance gain associated with differentiating patches based on hyperfeatures both for scoring (No Hyper-Features vs. Random Order) and for patch selection (Random Order vs. Full Model). Comparing Mutual Information vs. Full Model shows that modeling patch dependence is important for choosing a small number of patches (see range 5-20) that together have high information content (Sect. 5). Comparing Position Only (which only uses positional hyper-features) vs. Full Model (which uses both positional and appearance hyper-features) shows that patch appearance characteristics are significant for both scoring and saliency estimation. Finally, the cascade performs (1.02% error, with mean of 4.3 patches used) as well as the full model and better than any of the others, even when those are given an unlimited computation budget. Figure 11 shows another way to look at the performance of our full model given a fixed patch (computation) budget Fig. 12 represents the intersection of these curves with the 85% recall line). The cascade performance is also plotted here (follow the black arrow). The distribution of the number of patches it took to make a decision in the cascade model is plotted in Fig. 13.

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


Formal validation of deadlock prevention in networks-on-chips Complex systems-on-chips (SoCs) are built as the assembly of pre-designed parameterized components. The specification and validation of the communication infrastructure becomes a crucial step in the early phase of any SoC design. The Generic Network-on-Chip model (GeNoC) has been recently proposed as a generic specification environment, restricted to safety properties. We report on an initial extension of the GeNoC model with a generic termination condition and a generic property showing the prevention of livelock and deadlock. The latter shows that all messages injected in the network eventually reach their destination for all possible values of network parameters like topology, size of the network, message length or injection time. We illustrate our initial results with the validation of a circuit switching technique. Integration capabilities of chip technologies enable the production of Multi-Processors Systems-on-Chips (MPSoCs) composed of several processing and memory cores, as well as peripherals and I/O devices. The design of such complex systems follows a platform-based approach where a new MPSoC is built as the assembly of pre-designed and parametric components -called Intellectual Properties (IPs) -according to a generic architecture [18] . Communications become a bottleneck. To meet system requirements networks-onchips (NoCs) emerge as an adequate communication infrastructure [1] . To handle the complexity of modern MPSoCs initial design phases must begin at higher levels of abstraction, while keeping a link with the final Register Transfer Level (RTL) implementation [15] .. As communications are becoming dominant to the overall correctness and performance of an MPSoC, their formal validation at their initial design phase will soon become mandatory. The Generic Network-on-Chip (GeNoC) model [14, 2] offers a general environment to reason about high-level and parametric descriptions of NoCs. It has been implemented in the ACL2 logic [13] and applied to several case-studies. GeNoC is a function formalizing the interactions between three essential constituents: interfaces, routing algorithms, and scheduling policies. Each one of them is generic in the sense that it is not given a particular definition but characterized by a set of proof obligations or constraints. GeNoC is proven to satisfy a global correctness theorem, the proof of which depends on the proof obligations only. It can therefore be instantiated for any definition of the constituents which satisfy the proof obligations. Verifying a particular NoC reduces to discharging these instantiated constraints for the NoC constituent. The verification methodology proceeds by (1) giving a concrete definition to each one of the constituents; (2) the corresponding constraints are automatically generated; (3) proving that each concrete definition satisfies the corresponding constraints; (4) it automatically follows that the concrete network satisfies the instantiated global theorem.. In its current version, this global theorem states that every message received at some destination node was actually issued at a valid source node, and followed a valid path to reach its expected destination. We report on work in progress towards an extension of this theorem that would guarantee that eventually all messages reach their destination. The theorem would include an upper bound on the time needed to "evacuate" all these messages and would prevent the network from any deadlock state.. The contributions of this paper are (1) an extension of the definition of GeNoC with a generic termination condition, (2) a generic property showing that all messages injected in the network reach their destination, and (3) the application of this new model and property to prove deadlock prevention of a circuit switching technique.. In the next section, we briefly present the necessary knowledge about the GeNoC model. Section 3 presents our ex-tended definition, the termination condition, and a generic deadlock prevention theorem. Section 4 instantiates this new generic definition with a circuit switched network. We prove deadlock prevention in Section 4.3. We discuss related work in Section 5 before concluding the paper in Section 6.

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


Teaching IT in secondary education through problem-based learning could be really beneficial This article attempts to stress the need for extended research on the use of constructivist's elements for the teaching of Information Technology in Secondary Education. In our case study, we tried to draw conclusions by questioning adolescents for their Problem-Based Learning experience during a threemonth Internet-Programming course. There is an increasing number of IT educators claiming that in a science where the occasional "contemporary" educational subjects change rapidly, what counts most is not the subject itself but the didactic procedure followed. [1] The Problem-Based Learning approach of education is a well-known constructivist's method that, in the last few years, has been growing as a possible alternative to the traditional approaches for Computer Science Studies. Many universities have already implemented the "new" methodology, while others are actually on the process of adoption. [2] Yet, among the various concerns faced by the pioneers, the students' reluctance to change their traditional perspective of the educational procedure is viewed as a major obstacle. The reasonable anxiety of those claiming that self-directed didactic methods do not fit to teenagers should not diminish the importance of general accepted notions which sustain the necessity for further research on the proposed area. It was proved by this research that teenagers tend to enjoy constructivism and PBL as playful learning. Meanwhile, students of this age view the latest technology much more as a "toy" to be discovered, and less as an additional subject to be learned. Furthermore, the extent of IT subjects that a high-school class explores is not so deep, in a way that it can be easily taught using none of the traditional techniques. Last but not least, pupils are the most flexible of all learners in steering towards a new didactic style. Therefore, teaching new technologies to new crops of conventional students using modern methods does not appear much of an unreachable task. High-school classrooms and IT education offer unique opportunities to overcome the erroneous view of education and benefit from the advantages of student-centered learning.

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


Algorithms for Omega-Regular Games with Imperfect Information Abstract. We study observation-based strategies for two-player turn-based games on graphs with omega-regular objectives. An observation-based strategy relies on imperfect information about the history of a play, namely, on the past sequence of observations. Such games occur in the synthesis of a controller that does not see the private state of the plant. Our main results are twofold. First, we give a fixed-point algorithm for computing the set of states from which a player can win with a deterministic observation-based strategy for any omega-regular objective. The fixed point is computed in the lattice of antichains of state sets. This algorithm has the advantages of being directed by the objective and of avoiding an explicit subset construction on the game graph. Second, we give an algorithm for computing the set of states from which a player can win with probability 1 with a randomized observation-based strategy for a Büchi objective. This set is of interest because in the absence of perfect information, randomized strategies are more powerful than deterministic ones. We show that our algorithms are optimal by proving matching lower bounds. Two-player games on graphs play an important role in computer science. In particular, the controller synthesis problem asks, given a model for a plant, to construct a model for a controller such that the behaviors resulting from the parallel composition of the two models respects a given specification (e.g., are included in an ω-regular set). Controllers can be synthesized as winning strategies in a game graph whose vertices represent the plant states, and whose players represent the plant and the controller [18, 17] . Other applications of game graphs include realizability and compatibility checking, where the players represent parallel processes of a system, or its environment [1, 11, 6] .. Most results about two-player games played on graphs make the hypothesis of perfect information. In this setting, the controller knows, during its interaction with the plant, the exact state of the plant. In practice, this hypothesis is often not reasonable. For example, in the context of hybrid systems, the controller acquires information about the state of the plant using sensors with finite precision, which return imperfect information about the state. Similarly, if the players represent individual processes, then a process has only access to the public variables of the other processes, not to their private variables [19, 2] .. Two-player games of imperfect information are considerably more complicated than games of perfect information. First, decision problems for imperfect-information games usually lie in higher complexity classes than their perfect-information counter-parts [19, 14, 2] . The algorithmic difference is often exponential, due to a subset construction that, similar to the determinization of finite automata, turns an imperfect-information game into an equivalent perfect-information game. Second, because of the determinization, no symbolic algorithms are known to solve imperfect-information games. This is in contrast to the perfect-information case, where (often) simple and elegant fixed-point algorithms exist [12, 8] . Third, in the context of imperfect information, deterministic strategies are sometimes insufficient. A game is turn-based if in every state one of the players chooses a successor state. In turn-based games of perfect information the set of winning states coincides with the set of states where the probability of winning is 1, and so deterministic strategies suffice to win (and thus also to win with probability 1). In contrast, in turnbased games of imperfect information the set of winning states is in general a strict subset of the set of states where the probability of winning is 1, and so randomized strategies are required to win with probability 1 (see Example 2.3). Fourth, winning strategies for imperfect-information games need memory even for simple objectives such as safety and reachability (see Example 4.4) . This is again in contrast to the perfect-information case, where turn-based safety and reachability games can be won with memoryless strategies.. The contributions of this paper are twofold. First, we provide a symbolic fixed-point algorithm to compute winning states in games of imperfect information for arbitrary ω-regular objectives. The novelty is that our algorithm is symbolic; it does not carry out an explicit subset construction. Instead, we compute fixed points on the lattice of antichains of state sets. Antichains of state sets can be seen as a symbolic and compact representation for ⊆-downward-closed sets of sets of states.. 1 This solution extends our recent result [10] from safety objectives to all ω-regular objectives. To justify the correctness of the algorithm, we transform games of imperfect information into games of perfect information while preserving 1 We recently used this symbolic representation of ⊆-downward-closed sets of state sets to propose a new algorithm for solving the universality problem of nondeterministic finite automata. First experiments show a very promising performance; see [9] for details. the existence of winning strategies for every objective. The reduction is only part of the proof, not part of the algorithm. For the special case of parity objectives, we obtain a symbolic Exptime algorithm for solving parity games of imperfect information. This is optimal, as the reachability problem for games of imperfect information is known to be Exptime-hard [19] .. Second, we study randomized strategies and winning with probability 1 for imperfectinformation games. To our knowledge, for these games no algorithms (symbolic or not) are present in the literature. Following [7] , we refer to winning with probability 1 as almost-sure winning (almost winning, for short), in contrast to sure winning with deterministic strategies. We provide a symbolic Exptime algorithm to compute the set of almost-winning states for games of imperfect information with Büchi objectives (reachability objectives can be obtained as a special case, and for safety objectives almost winning and sure winning coincide). Our solution is again justified by a reduction to games of perfect information. However, for randomized strategies the reduction is different, and considerably more complicated. We prove our algorithm to be optimal, showing that computing the almost-winning states for reachability games of imperfect information is Exptime-hard. The problem of computing the almost-winning states for coBüchi objectives under imperfect information in Exptime remains an open problem.. The paper is organized as follows. Section 2 presents the definitions; Section 3 gives the algorithm for the case of sure winning with deterministic strategies; Section 4, for the case of almost winning with randomized strategies; and Section 5 provides the lower bounds.. Related work. In [17] , Pnueli and Rosner study the synthesis of reactive modules. In their framework, there is no game graph; instead, the environment and the objective are specified using an LTL formula. In [14] , Kupferman and Vardi extend these results in two directions: they consider CTL * objectives and imperfect information. Again, no game graph, but a specification formula is given to the synthesis procedure. We believe that our setting, where a game graph is given explicitly, is more suited to fully and uniformly understand the role of imperfect information. For example, Kupferman and Vardi claim that imperfect information comes at no cost, because if the specification is given as a CTL (or CTL * ) formula, then the synthesis problem is complete for Exptime (resp. 2Exptime), just as in the perfect-information case. These hardness results, however, depend on the fact that the specification is given compactly as a formula. In our setting, with an explicit game graph, reachability games of perfect information are Ptime-complete, whereas reachability games of imperfect information are Exptime-complete [19] . None of the above papers provide symbolic solutions, and none of them consider randomized strategies.. It is known that for Partially Observable Markov Decision Processes (POMDPs) with boolean rewards and limit-average objectives the quantitative analysis (whether the value is greater than a specified threshold) is Exptime-complete [15] . However, almost winning is a qualitative question, and our hardness result for almost winning of imperfect-information games does not follow from the known results on POMDPs. We give in Section 5 a detailed proof of the hardness result of [19] for sure winning of imperfect-information games with reachability objectives, and we show that this proof can be extended to almost winning as well. To the best of our knowledge, this is the first hardness result that applies to the qualitative analysis of almost winning in imperfect-information games.. A class of semiperfect-information games, where one player has imperfect information and the other player has perfect information, is studied in [4] . That class is simpler than the games studied here; it can be solved in NP ∩ coNP for parity objectives.

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


Multi-modality in augmented Lagrangian coordination for distributed optimal design Abstract This paper presents an empirical study of the convergence characteristics of augmented Lagrangian coordination (ALC) for solving multi-modal optimization problems in a distributed fashion. A number of test problems that do not satisfy all assumptions of the convergence proof for ALC are selected to demonstrate the convergence characteristics of ALC algorithms. When only a local search is employed at the subproblems, local solutions to the original problem are often attained. When a global search is performed at subproblems, global solutions to the original, nondecomposed problem are found for many of the examples. Although these findings are promising, ALC with a global subproblem search may yield only local solutions in the case of non-convex coupling functions or disconnected feasible domains. Results indicate that for these examples both the starting point and the sequence in which subproblems are solved determines which solution is obtained. We illustrate that the main cause for this behavior lies in the alternating minimization inner loop, which is inherently of a local nature. The field of multidisciplinary design optimization (MDO) is concerned with the design of large-scale engineering systems that consist of a number of interacting subsystems. The size and the required level of expertise of each subsystem often prohibits the design of these large-scale systems to be performed in an integrated fashion. Instead, the problem is decomposed into smaller, more manageable parts, which are referred to as design subproblems. To deal with the resulting coupled subproblems, a systematical coordination approach to system design is required.. Many coordination methods have been proposed for distributed system optimization, and reviews are given in Cramer et al. (1994) , Balling and SobieszczanskiSobieski (1996) , and Tosserams et al. (2009b) . These coordination methods include concurrent subspace optimization (CSSO, Sobieszczanski-Sobieski 1988) , bilevel integrated system synthesis (BLISS/BLISS2000, Sobieszczanski- Sobieski et al. 2000 Sobieski et al. , 2003 , collaborative optimization (CO, Braun 1996; Braun et al. 1997) , and the quasiseparable decomposition (QSD) approach of Haftka and Watson (2005) . Several of these coordination methods may experience numerical difficulties when solving the master problem due to non-smoothness or failure to meet certain constraint qualifications (Alexandrov and Lewis 2002; DeMiguel and Murray 2000; Lin 2004 ). This may hinder the use of existing efficient gradient-based solution algorithms such as sequential quadratic programming (SQP). Methods that do not satisfy these requirements have to use specialized, typically inefficient algorithms to solve the associated optimization problems. Sobieszczanski- Sobieski et al. (2003) ; Sobieski and Kroo (2000) ; Liu et al. (2004) propose the use of response surfaces to circumvent the difficulties due to the nonsmoothness.. During the last years, several new penalty functionbased coordination methods have been developed: analytical target cascading (ATC) (Michelena et al. 1999; Kim 2001; Kim et al. 2003; Michelena et al. 2003; Tosserams et al. 2006) , the inexact and exact penalty decomposition methods (IPD/EPD) of DeMiguel and Murray (2006) , and the augmented Lagrangian coordination method for quasiseparable problems 1 (ALC-QS) of Tosserams et al. (2007) . For these methods, basic constraint qualifications hold, and the optimization (sub)problems are smooth. All methods can be shown to converge to the optimal solution of the original problem under certain assumptions such as smoothness and convexity. The formulation of IPD/EPD is nested, similar to CO, and for every function evaluation of the master problem, an optimization of the subproblems is necessary. ATC and ALC-QS follow an alternating approach that iterates between solving the master problem and the disciplinary subproblems in a Gauss-Seidel fashion.. Recently, we demonstrated that a combination of augmented Lagrangian and Gauss-Seidel techniques can be used for the coordination of problems with both linking variables and coupling functions (Tosserams et al. 2008 ). This augmented Lagrangian coordination approach (ALC) has been demonstrated to provide flexibility to a system designer to tailor the formulation to existing organizational or computational structure. Analytical target cascading and ALC-QS are subclasses of the method.. Solutions obtained with ALC can be demonstrated to converge to Karush-Kuhn-Tucker (KKT) points of the original, non-decomposed problem under smoothness and convexity assumptions by combining existing results from the nonlinear programming community. Especially the assumption of convexity is difficult to enforce for practical design problems, which are typically non-convex and multi-modal (i.e. have multiple local solutions). Even when subproblems could be solved for global optimality (which for non-convex problems is very difficult, or even impossible to guarantee), then the ALC iterates may still not converge to a local solution (a KKT point) of the non-decomposed problem.. The objective of this study is to investigate how augmented Lagrangian coordination algorithms perform for a number of non-convex, multi-modal test problems (i.e. problems with multiple local solutions) that do not satisfy all assumptions for convergence. We investigate whether the quality of solutions of ALC can be improved by using a global search at subproblems instead of a local search. Since a global search is in general far more expensive than a local search, the computational cost for both search options are compared as well. Moreover, the solutions obtained for both cases (local and global) are compared to an all-in-one implementation in terms of solution quality and computational cost required to obtain these solutions. This comparison is used to investigate whether the often-made suggestion that decomposition methods may be successful in reducing the computational cost when compared to integrated approaches holds for ALC.. The paper is outlined as follows. We first present the augmented Lagrangian method in Section 2, followed by a description of the general set-up of the numerical experiments in Section 3. Six examples and the associated numerical results are presented in Section 4, followed by a discussion of the general observations in Section 5. Finally, some concluding remarks are offered in Section 6. The examples presented in this article show that especially the alternating minimization inner loop is a limiting factor for achieving global optimality with an augmented Lagrangian coordination approach. We expect that the analytical target cascading method (ATC, Kim 2001) may experience similar difficulties since it is a subclass of ALC. In fact, the difficulties associated with disconnected feasible domains have been observed for ATC by Kim and Papalambros (2006) . Other coordination approaches that use alternating minimization such as MDOIS (Shin and Park 2005) , BLISS (Sobieszczanski- Sobieski et al. 2000) , and enhanced collaborative optimization (Roth and Kroo 2008) may also be affected by the behavior of the sequential process.. It is worthwhile to investigate whether coordination methods that follow a nested structure instead of an alternating one may be less influenced by non-convexities and multi-modality of the subproblems. Examples of nested approaches are collaborative optimization (Braun et al. 1997 ), BLISS2000 (Sobieszczanski- Sobieski et al. 2003) , quasi-separable decomposition (Haftka and Watson 2005) , and the penalty decomposition methods of DeMiguel and Murray (2006) . However, performing a global search at the system level in a nested structure is unattractive since for each function evaluation at this level, a full global search is required at the subproblem level. An option to reduce the high cost for such a nested approach is to decouple the system-level optimization from the lower-level optimizations through the use of response surfaces (see, e.g., Liu et al. 2004 ). Alternatively, one can look at coordination methods that define separable subproblems such as the Lagrangian decomposition method proposed by Blouin et al. (2005) .. Finally, examples and numerical results presented in this paper can serve as a benchmark for comparison of other coordination methods on multi-modal problems. The problems are challenging in terms of the multimodality, but simple enough to allow an analysis of the inner workings of coordination algorithms. Moreover, Example 2 may also be an interesting, scalable test problem for the global optimization community. In this section, numerical results for six examples are presented. A discussion of the general observations based on these results is offered in Section 5.

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


Efficiently Querying Large XML Data Repositories: A Survey Abstract-Extensible Markup Language (XML) is emerging as a de facto standard for information exchange among various applications on the World Wide Web. There has been a growing need for developing high-performance techniques to query large XML data repositories efficiently. One important problem in XML query processing is twig pattern matching, that is, finding in an XML data tree D all matches that satisfy a specified twig (or path) query pattern Q. In this survey, we review, classify, and compare major techniques for twig pattern matching.1 Specifically, we consider two classes of major XML query processing techniques: the relational approach and the native approach. The relational approach directly utilizes existing relational database systems to store and query XML data, which enables the use of all important techniques that have been developed for relational databases, whereas in the native approach, specialized storage and query processing systems tailored for XML data are developed from scratch to further improve XML query performance. As implied by existing work, XML data querying and management are developing in the direction of integrating the relational approach with the native approach, which could result in higher query processing performance and also significantly reduce system reengineering costs.Index Terms-XML query processing, twig pattern matching. E XTENSIBLE Markup Language (XML) is emerging as a de facto standard for information exchange among various applications on the World Wide Web due to XML's inherent data self-describing capability and flexibility of organizing data [25] . There has been a growing need for developing high-performance techniques to query large XML data repositories efficiently.. First, data in XML documents are self-describing. Similar to the popular Hypertext Markup Language (HTML), XML is based on so-called nested tags. Fig. 1a shows an example of an XML document, which records information about publishers. However, unlike HTML, in which tags associated with data express the presentation style (for example, font style) of data, tags in XML describe the semantics of data. For example, Lines 1-3 in Fig. 1a say that "Cambridge" is an address of a publisher whose name is "MIT P ress." This self-describing capability of XML data helps applications on the Web "understand" the content of XML documents published by other applications.. Second, XML is flexible in organizing data. The hierarchy formed by nested tags structures the content of XML documents. The role of nested tags in XML is somewhat similar to that of schemas in relational databases. At the same time, the nested XML model is far more flexible than the flat relational model. In an XML document, objects of the same type might have different types of subobjects or different numbers of subobjects of the same type. For example, in Fig. 1a , the first publisher, but not the second publisher, has an address subelement. The book under the first publisher has two author subelements, but the book under the second publisher has only one. Numbering schemes and index graph schemes are not just two independent and exclusive tools for indexing the structure of XML data. In Section 4.1.4, we will see that they play different roles in answering XML queries: index graph schemes are used for path selection, and numbering schemes are for path joining. They could be used together to improve query processing performance.. The relational approach stores XML data in relational databases and transforms twig queries over XML data into SQL queries over relational data. In this approach, all query processing and optimization efforts can be pushed into the relational query optimizer. We note that 1) when XML data are schemaless, the PM approach has advantages over the Edge and Node approaches because PM a) supports "//"-axis queries efficiently and b) may require fewer join operations. Furthermore, among the three versions of PM, BLAS (being an extension of the basic RP approach with PLabeling) appears to be the best in terms of query processing performance. The basic RP approach has been integrated into IBM System RX [7] , Microsoft SQL Server 2005 [88] , [90] , and Oracle DB [87] . 2) Also, when XML data conform to a schema, the DTD approach could generally have better performance than other schemaless approaches.. The Join approach provides an efficient native implementation of -joins used in the relational approach. As discussed in Sections 4.2 and 4.3, in general, Join has performance advantages over Sequence Matching and Navigation. Some experimental work by Moro et al. [86] has also partially verified this point.. Specifically, among the Join techniques: 1) the performance of Holistic is better than that of MPMGJN or of StackTree; that is, the pipelining-join strategy tends to dominate the binary-join strategy, 2) when an index graph or a PLabeling index is available, it could be used to reduce the number of joins or to "shorten" the inverted lists before the joins, and 3) generally, TSGeneric+ and VirtualJ seem to be the most competitive Holistic techniques. TSGeneric+, a variant of TwigStack with "skip," reduces the length of the inverted lists accessed during the joins. VirtualJ, a Dewey variant of TSGeneric+, reduces both the number and length of the accessed inverted lists. However, when the XML data tree is deep or when the ancestor query nodes are very selective, VirtualJ may yield to TSGeneric+ in performance. We have reviewed several major techniques for XML twigquery processing and categorized them into two classes, that is, the relational approach and the native approach:. 1. In the relational approach, XML data are loaded into relational databases, and XML twig queries are transformed into SQL queries over relational data. All query processing are typically pushed into existing relational query optimizers, rendering major extra implementation unnecessary. However, current RDBMSs do not support -joins efficiently, although -joins have become an important component of answering XML queries efficiently. Among the relational approaches, the BLAS approach-an extension of the basic RP approach with PLabeling-seems to be the best with respect to query processing performance. 2. In the native approach, XML data are stored on disk in the form of inverted lists, sequences, or trees, and native algorithms are developed to further improve XML twig-query performance. Among the native approaches, the Join approach provides an efficient native implementation of -joins used in the relational approach and seems to show the most promising query performance in practice. However, in the native approach, many important RDBMS components such as storage management, access methods, query processing and optimization, and concurrency control and recovery have to be built from scratch. A good trade-off between the relational approach and the native approach would be storing XML data in the form of inverted lists by using existing relational databases, coupled with integrating efficient native join algorithms for XML twig queries into existing relational query optimizers. That is, 00 relational storage 00 of XML data þ 00 native processing 00 of XML queries:. As a result, by using extended relational query optimizers, RDBMSs would be able to process XML twig queries more efficiently, whereas other important existing components of RDBMSs could be fully reused. One such integration could result in higher XML query processing performance and could also significantly reduce system-reengineering costs. This framework happens to be the choice of current mainstream commercial RDBMSs, including IBM DB2 [7] , [59], Microsoft SQL Server [88] , [90] , and Oracle DB [87] , on their way toward efficient XML data querying and management. Her research interests are databases. Some of her recent or current projects include query rewriting (including query optimization) and view selection for a variety of query, view, and rewriting languages on relational and XML data, using restructured views (such as tables resulting from the "pivot" operation in relational database management system (DBMS)) in efficient query processing, and query processing for data integration and interoperability. She has served on the program committees of leading database conferences, including the ACM SIGMOD International Conference on Management of Data, the International Conference on Very Large Data Bases (VLDB), and the ACM Symposium on Principles of Database Systems (PODS). She is a recipient of the US National Science Foundation Faculty Early Career Development (CAREER) Award.. . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib.

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


Toward a Scalable Visualization System for Network Traffic Monitoring With the multiplication of attacks against computer networks, system administrators are required to monitor carefully the traffic exchanged by the networks they manage. However, that monitoring task is increasingly laborious because of the augmentation of the amount of data to analyze. And that trend is going to intensify with the explosion of the number of devices connected to computer networks along with the global rise of the available network bandwidth. So system administrators now heavily rely on automated tools to assist them and simplify the analysis of the data. Yet, these tools provide limited support and, most of the time, require highly skilled operators. Recently, some research teams have started to study the application of visualization techniques to the analysis of network traffic data. We believe that this original approach can also allow system administrators to deal with the large amount of data they have to process. In this paper, we introduce a tool for network traffic monitoring using visualization techniques that we developed in order to assist the system administrators of our corporate network. We explain how we designed the tool and some of the choices we made regarding the visualization techniques to use. The resulting tool proposes two linked representations of the network traffic and activity, one in 2D and the other in 3D. As 2D and 3D visualization techniques have different assets, we resulted in combining them in our tool to take advantage of their complementarity. We finally tested our tool in order to evaluate the accuracy of our approach.

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


Mixed finite elements for numerical weather prediction We show how two-dimensional mixed finite element methods that satisfy the conditions of finite element exterior calculus can be used for the horizontal discretisation of dynamical cores for numerical weather prediction on pseudo-uniform grids. This family of mixed finite element methods can be thought of in the numerical weather prediction context as a generalisation of the popular polygonal C-grid finite difference methods. There are a few major advantages: the mixed finite element methods do not require an orthogonal grid, and they allow a degree of flexibility that can be exploited to ensure an appropriate ratio between the velocity and pressure degrees of freedom so as to avoid spurious mode branches in the numerical dispersion relation. These methods preserve several properties of the C-grid method when applied to linear barotropic wave propagation, namely: a) energy conservation, b) mass conservation, c) no spurious pressure modes, and d) steady geostrophic modes on the f -plane. We explain how these properties are preserved, and describe two examples that can be used on pseudo-uniform grids: the recently-developed modified RT0-Q0 element pair on quadrilaterals and the BDFM1-P 1 DG element pair on triangles. All of these mixed finite element methods have an exact 2:1 ratio of velocity degrees of freedom to pressure degrees of freedom. Finally we illustrate the properties with some numerical examples. There are a number of groups that have been developing dynamical cores for numerical weather prediction (NWP) and climate modelling, based on triangular meshes on the sphere or on the dual meshes composed of hexagons together with twelve pentagons (Ringler et al., 2000; Majewski et al., 2002; Satoh et al., 2008) . These grids are referred to as pseudo-uniform grids since they have edge lengths h that satisfy c 0h < h < c 1h , ash → 0, whereh is the average edge length, for some positive constants c 0 , c 1 . The principal reason for adopting these grids is that they provide a direct addressing data structure whilst avoiding the polar singularity of the latitude-longitude grid, which introduces a bottleneck to scaling on massively parallel architectures due to the convergence of meridians. One approach to developing numerical discretisations on triangular or hexagonal grids is to adapt the staggered Arakawa C-grid finite difference method on quadrilaterals (Arakawa and Lamb, 1977) (used in several currently operational NWP models, such as the UK Met Office Unified Model (Davies et al., 2005) ) since this type of staggering prevents pressure modes (non-constant functions on the pressure grid that have zero numerical gradient). By defining discrete curl and divergence operators which satisfy div curl= 0, it is possible to construct C-grid discretisations for horizontal wave propagation which have stationary geostrophic modes on the f -plane (Thuburn et al., 2009 ), a necessary condition for accurate representation of geostrophic adjustment processes.. These operators can be used to construct energy and enstrophy C-grid discretisations for the nonlinear rotating shallow-water equations using the vector invariant form (Ringler et al., 2010) . The drawback with using the C-grid finite difference method on triangles or hexagons instead of quadrilaterals is that the ratio of velocity and pressure degrees of freedom (DOF) is altered. The quadrilateral C-grid has one pressure DOF stored at the centre of each grid cell, and two velocity DOF per grid cell (normal velocity is stored at each of the four edges, which are each shared with the neighbouring cell on the other side of the face). 1 . This is considered the ideal ratio, since the velocity then has an equal number of rotational and divergent DOF which are coupled together in the correct way so that there are two inertia-gravity modes (the inward and outward propagating modes) for each Rossby mode. On the other hand, the triangular C-grid has only 3/2 velocity DOF per grid cell, and the hexagonal C-grid has 3 velocity DOF per grid cell. This means that the triangular C-grid has four inertia-gravity modes per Rossby mode; the extra spurious inertiagravity branch has a frequency range that decreases with Rossby deformation radius, leading to "checkerboard patterns" in the divergence when the deformation radius is small (as it can be in the ocean, or when there are many vertical layers). The hexagonal C-grid has an equal number of inertia-gravity and Rossby modes; the extra spurious Rossby mode has very low frequencies and propagates Eastwards on the β-plane (Thuburn, 2008) . The effects of these spurious Rossby modes has not been reported in practice but there are concerns amongst the operational NWP community that if spurious modes are supported by the grid, then they might be initialised during the data assimilation process or by physics parameterisations (Staniforth, personal communication) . It may also be the case that the spurious modes lead to spurious spread/lack of spread in ensemble forecasts. Careful numerical experiments are required to investigate this concern.. The finite element method provides the opportunity to alter the number of degrees of freedom per triangular element to ameliorate this problem. A number of finite element pairs on triangles have been proposed for geophysical fluid dynamics, mostly in the ocean modelling community (Walters and Casulli, 1998; Le Roux et al., 1998 Cotter et al., 2009; Comblen et al., 2010; Le Roux et al., 2007) . In (Rostand and Le Roux, 2008) , the lowest order Brezzi-Douglas-Marini element pair (Brezzi et al., 1985) , known as BDM1, was investigated in the context of the discrete shallow-water equations. The velocity space is piecewise linear with continuous normal components, and the pressure space is piecewise constant. The natural data structure for the velocity space stores two normal velocity components on each edge, and hence there are 3 velocity DOF per triangular element and 1 pressure DOF. There are too many velocity DOF and hence there will be too many Rossby modes per inertia-gravity mode, just as for the hexagonal C-grid.. The key result of this paper is in showing that discretisations of the linear rotating shallow water equations on the f -plane constructed using these spaces on arbitrary meshes satisfy a crucial property, namely that geostrophic modes are exactly steady. This is achieved by making use of the discrete Helmholtz decomposition, within the framework of discrete exterior calculus (Arnold et al., 2006) . As described in (Arnold, 2002) , existence of such a decomposition requires that the following diagram commutes:. where Π E , Π S and Π V are suitably chosen projection operators. The same Helmholtz decomposition can then be used to study the discrete dispersion relations for the numerical discretisation. Within this framework, we then conclude that an optimal choice is to have dim(S) = 2 dim(V ) which, at least in the periodic plane, satisfies necessary conditions for absence of both spurious inertia-gravity and spurious Rossby waves.. The rest of this paper is organised as follows. The general framework of mixed finite element methods applied to the linear rotating shallow-water equations is described in Section 2, and the four properties of energy conservation, local mass conservation, absence of spurious pressure modes and steady geostrophic modes are discussed. In Section 3, two examples are then introduced that fit into this framework, and numerical results are presented in section 4. Finally, we give a summary and outlook in Section 5.

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


Low-degree tests at large distances We define tests of boolean functions which distinguish between linear (or quadratic) polynomials, and functions which are very far, in an appropriate sense, from these polynomials. The tests have optimal or nearly optimal trade-offs between soundness and the number of queries.A central step in our analysis of quadraticity tests is the proof of an inverse theorem for the third Gowers uniformity norm of boolean functions.The last result implies that it is possible to estimate efficiently the distance from the second-order Reed-Muller code on inputs lying far beyond its list-decoding radius.Our main technical tools are Fourier analysis on Z n 2 and methods from additive number theory. We observe that these methods can be used to give a tight analysis of the Abelian Homomorphism testing problem for some families of groups, including powers of Zp. This paper returns to the general question of the relation between number of queries and the probability of error in low-degree tests.. An often considered property of a boolean function is that of being represented by a low-degree polynomial over a finite field. Here we deal only with the field of two elements and this representation is particularly simple: P (x) , where P (x) = P (x1...xn) is an n-variate polynomial of degree d over F2.. In the Low-Degree testing problem we are given an oracle access to a boolean function f : {0, 1}. n → {−1, 1} and we want to determine whether 1. The function f can be represented by a degree-d polynomial 2. It is 1 2 − far from any function with such representation.. The distance between two functions is a fraction of points in which they disagree.. Low-degree tests we consider have perfect completeness, namely in case (1) they always accept. We now define the soundness of a test. 1 2 − far from degree-d polynomials, the test accepts f with probability at most s + φ( ) where φ(x) →x→0 0. Analyzing acceptance probability of a low-degree test at distances larger than the unique-decoding radius seems to require a different set of techniques. It general, to prove that a code is locally testable, one needs to upper bound acceptance probability by a function of the distance. This is achieved by showing that if acceptance probability of the test on an element f ∈ {0, 1} N is higher than a certain threshold, there is a codeword g not far from f . In most cases the test itself is used to efficiently "decode" f , viewed as a corrupted codeword, to the unique nearest codeword g. This approach is harder to implement when there are several possible codewords to choose from, and symmetry breaking in required. The only example we are aware of is the Hadamard code. In this case one is assisted by the fact that the elements of the code are pairwise orthogonal (as vectors over the reals). In particular, for any > 0, there could be only a constant number of codewords at distance smaller than 1/2− from f . This no longer holds for degree-2 polynomials. For instance, the list-decoding radius here is 1/4. Our main tools in this case are harmonic analysis and additive number theory. In fact, a significant part of our proof follows the approach of Gowers [11] in his proof of Szemeredi's theorem for arithmetic progressions of length 4. We should mention that extending the results presented here to degrees higher than 2 requires, similar to the case of arithmetic progressions of length greater than 4 in [11] , working with multilinear functions. This case seems to be much harder.

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


Growth control and disease mechanisms in computational embryogeny This paper presents novel approach to applying growth control and diseases mechanisms in computational embryogeny. Our method, which mimics fundamental processes from biology, enables individuals to reach maturity in a controlled process through a stochastic environment. Three different mechanisms were implemented; disease mechanisms, gene suppression, and thermodynamic balancing. This approach was integrated as part of a structural evolutionary model. The model evolved continuum 3-D structures which support an external load. By using these mechanisms we were able to evolve individuals that reached a fixed size limit through the growth process. The growth process was an integral part of the complete development process. The size of the individuals was determined purely by the evolutionary process where different individuals matured to different sizes. Individuals which evolved with these characteristics have been found to be very robust for supporting a wide range of external loads. Natural evolution has produced systems of fantastic complexity, robustness and adaptability. Recent research has. Copyright is held by the author/owner(s). GECCO'08, July 12-16, 2008, Atlanta, Georgia, USA. ACM 978-1-60558-130-9/08/07.. shown that it is the combination of both evolution and development processes that have produced these remarkable results [2, 3, 1] . Embryogeny is the process of growth by which a genotype develops into a phenotype, and is central to the emerging understanding of the relationship between evolution and development. In this case the developmental stage is artificially stopped. In this paper we will present a novel approach which mimics the fundamental processes in nature and helps an organism to reach a limited size even in a high volatility environment.

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


On the efficiency of fluid simulation of networks Performance evaluation of computer networks through traditional packet-level simulation is becoming increasingly difficult as networks grow in size along different dimensions. Due to its higher level of abstraction, fluid simulation is a promising approach for evaluating large-scale network models. In this study we focus on evaluating and comparing the computational effort required for fluid-and packet-level simulation. To measure the computational effort required by a simulation approach, we introduce the concept of "simulation event rate," a measure that is both analytically tractable and adequate. We identify the fundamental factors that contribute to the simulation event rate in fluid-and packet-level simulations and provide an analytical characterization of the simulation event rate for specific network models. Among such factors, we identify the "ripple effect" as a significant contributor to the computational effort required by fluid simulation. We also show that the parameter space of a given network model can be divided into different regions where one simulation technique is more efficient than the other. In particular, we consider a realistic large-scale network and demonstrate how the computational effort depends on simulation parameters. Finally, we show that flow aggregation and WFQ scheduling can effectively reduce the impact of the "ripple effect." In this paper, we have analyzed the amount of computational effort required by fluid-and packet-level simulation by exploring several different network models and using the simulation event rate as a measure of computational cost. In fluid-level simulation, flow interference was found to be a fundamentally important property, inducing a "ripple effect" that leads to larger simulation event rates. This phenomena is pronounced when considering largescale models with high utilizations. In the case of packet-level simulation, the source's packet generation rates were shown to be the parameter of fundamental importance. The simulation event rate can be easily determined analytically and depends linearly on the number of packets generated. Thus, the relative efficiency between the two simulation approaches depends critically on the ripple effect and the packet generation rates. We showed that flow aggregation is an effective technique to reduce the amount of flow interference, reducing the impact of the ripple effect and resulting in improved efficiency for fluid simulation. Different scheduling policies, such as WFQ, can also have an impact on reducing flow interference and consequently improving the simulation event rate.. We also investigated the accuracy and adequacy of the simulation event rate as a measure of the computational cost of a simulation. In all cases investigated, the trends shown by the simulation event rate matched the trends shown by the execution time. However, as a result of the variability in the execution time of a fluid event, the simulation event rate does not always accurately reflect the computational cost of large-scale network models at high loads. Fluid models have been widely used to evaluate the performance of large-scale networks, with much of the work focusing on analytical solutions and some on simulations [2, 14, 11, 12, 13, 3, 8] . In the area of fluid simulation, researchers have investigated both continuous- [13] and discrete-time simulation [11, 12] , and both pure [11, 12, 13] and hybrid fluid models [3, 8] . Much of the emphasis in this past work has been on calculating performance metrics (e.g., throughput) [15, 14, 17] and comparing these results with those obtained using equivalent packetlevel models. As with any higher-level modeling abstraction, fluid models present a potential compromise in simulation accuracy. However, many results have suggested that the loss in accuracy is usually small [15, 14, 13] .. A related topic, which is the focus of this paper, is the relative efficiency of fluid-and packet-level simulation, i.e., the characterization and comparison of the computational cost of simulating a given network model using fluid and packet-level simulation. Kesidis et. al were the first to investigate this issue using numerical experiments with actual simulators [11] . Subsequent work has also focused on numerical comparisons between the running time of both simulation approaches [13, 8] . Our work differs from these prior studies in that we focus on the analytical characterization of the computational effort and on the impact of model parameters on simulation efficiency [12] . We consider exact and discrete simulation of fluid models with open-loop traffic sources. We view this as a fundamental step in exploring the full potential of fluid simulation.

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