Re-engineering global variables in Ada This paper describes one method for identifying global variables in Ada procedures and adding them to the parameter list of appropriate procedures. Global variables, ones that are visible to the entire program, are considered harmful to the maintainability of software systems because of the side effects that can result. A tool has been developed based on the Ada Semantic Interface Specification (ASIS) that can be used to identify global variables and re-engineer Ada procedures. By adding global variables to the parameter lists of appropriate procedures, the variables can be removed from the globally visible data space and introduced into the local declaration space. Software systems can often spend 70% of their life span in the maintenance phase of the Software Development Life Cycle. Certain software development practices have become recognized as harmful to the maintainability of software systems. One such practice is the use of global variables. This practice of making data visible to the entire software system is particularly harmful because of the side effects that can result when several different software modules are changing the same global variable. This paper explains one method for identifying and removing global variables from Ada programs. By using a static analysis tool we have developed using the Ada Semantic Interface Specifi-cation (ASIS) [2, 3, 7] , we are able to identify global variables in procedures and add them as parameters of the appropriate procedures. By changing these variables to parameters of the procedure, we are introducing them into the local data space of the procedure and removing them from the globally visible data space. This removes the possibility of side effects in the resulting code and improves the maintainability of the re-engineered Ada software system.. Similarly, the SPARK programming language [4] recognizes the harmful nature of global variables and, while not prohibiting global variables, requires the SPARK programmer to annotate any global variables being used. The tool we have developed can be used to identify and annotate these global variables automatically in SPARK programs.. As is desirable with any re-engineering project, our tool does not change the semantics of the legacy Ada code, i.e. the code produced from our tool is functionally equivalent to the legacy code. All the transformations performed on the legacy Ada code are semanticspreserving transformations.. The paper will first discuss some related work, define global variables in more detail, and then explain how we identify them in Ada procedure declarations and procedure calls. Our tool does not currently process functions or function calls. Next, we explain how the tool adds SPARK annotations to the Ada procedures, if desired. Then we discuss how global variables are added to the parameter list of the appropriate procedures. We conclude with future directions for this research. The identification of global variables is a well defined process and is discussed in many programming language textbooks [5, 11] . Many re-engineering tools have been developed that identify global variables in legacy programs [9, 12] . From our examination of these tools it does not appear that any of these tools change the Ada code to remove global variables. Identifying global variables has also been useful in software metrics [6] and extracting objects from legacy code [8, 10] .. With the recent advent of the SPARK language, the identification and removal of global variables has also become more desirable. Global variables in SPARK are not prohibited, but they must be annotated properly in order for the information flow analysis of the SPARK Examiner to work properly. As legacy Ada code is reengineered into SPARK code, our tool can be used to identify and remove any global variables from the software system. If an organization chooses not to remove the global variables, our tool can also be used to identify and annotate the code with the global annotation as required for the Examiner.

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


Visual simulation of shockwaves We present an efficient method for visual simulations of shock phenomena in compressible, inviscid fluids. Our algorithm is derived from one class of the finite volume method especially designed for capturing shock propagation, but offers improved efficiency through physically-based simplification and adaptation for graphical rendering. Our technique is well suited for parallel implementation on multicore architectures and is also capable of handling complex, bidirectional object-shock interactions stably and robustly. We describe its applications to various visual effects, including explosion, sonic booms and turbulent flows. Recent developments in simulating natural phenomena have made it possible to incorporate stunning, realistic animations of complex natural scenes filled with flowing, bubbling, and burning fluids. Computer-animated and live-action films alike have made great use of these advances in modeling to recreate familiar and interesting effects. Notably, little investigation has been made on how to properly capture shocks and propagate discontinuities in visual simulation. These remarkable phenomena give rise to dramatic events such as explosions, turbulent flows, and sonic booms. Such effects are common in films and are notoriously difficult to handle with numerical methods. Additionally, many state-of-the-art simulation techniques do not fully take advantage of the kind of new, powerful hardware that is emerging; these algorithms are often not designed to handle large domains efficiently and many that are based on specially simplified formulations often are not applicable to phenomena occurring at large spatial scales.. This paper presents a method for efficient simulations of nonlinear, compressible gas dynamics and how it may be best utilized to generate visually interesting, plausible animations. Many natural phenomena are nonlinear but can often be reasonably approximated through linearization; one example is elasticity. The equations of fluid motion are not † e-mail: {sewall, nico, gtsankov, lin}@cs.unc.edu ‡ Chapel Hill, NC, 27599-3175 USA generally suitable for linearization -waves crashing on the beach, curling smoke, and surging shockwaves all arise from the nonlinear characteristics of the system. To solve these highly nonlinear equations in a reasonable amount of time, numerical methods typically discretize simplifications of the true equations that still capture the nonlinearity of the system.. Furthermore, shocks that arise in problems of gas dynamics themselves present a numerical challenge; a shock is a region of rapid spatial variation in a small interval that propagates with tremendous speed -the blast wave that emanates from an explosion or the bow shock that forms around a supersonic projectile are some examples of these phenomena. These have a striking effect on the fluid motion but are very difficult to simulate properly with traditional numerical methods; the scale of motion we desire to capture (namely the space the shock traverses) is at odds with the need to represent the shock itself. Many numerical techniques behave poorly or fail completely in the presence of discontinuous solutions -to simulate shocks with such methods, the resolution of the discretization must be high enough for the shock to appear as a smooth transition, and thus can be prohibitively expensive to compute.. Physically correct methods for shockwave modeling focus less on conventional metrics of accuracy (such as order of convergence) and emphasize the ability to propagate discontinuities stably and with minimal diffusion. Specifically, techniques based on the finite volume method (FVM) have been developed that handle discontinuities well and al- Figure 1: Dramatic scenes generated by our method low for relatively coarse grids to capture shock behavior. Our method, through judicious simplification and application, adapts and improves the efficiency of a class of FVM techniques designed to capture shocks on coarse grids efficiently.. We have demonstrated our method on generating animations of complex fluid motion, including chambered explosions, nuclear detonations, and the turbulence and bow shock around a supersonic projectile (see Fig. 1 ). Our method is also able to describe the interaction of coupled fluids and objects; we demonstrate shockwaves knocking over stacked objects and blowing a brick house to pieces, as well as the effects of an explosion within a tower of heavy blocks. Our method is able to considerably reduce the computational complexity of these highly complex effects to the level comparable to existing fluid animation techniques in graphical simulation. Furthermore, our method is naturally amenable to parallelization on multicore architectures. We have presented a method for efficient simulations of supersonic flows in compressible, inviscid fluids that is based on the finite volume method. We have demonstrated the ability of our method to capture the behavior of shocks and to handle complex, bidirectional object-shock interactions stably. Additionally, we have demonstrated that our method scales well on modern architectures. There are a number of promising areas for future work. Many natural phenomena give rise to shocks -of particular interest to graphics are hydraulic jumps in the Saint-Venant (or shallow water) equations.. Additionally, the inherent parallelism of this approach provides ample opportunity for improved application to par- allel hardware, and we intend to investigate this method on next-generation computing platforms. We have implemented and tested our algorithm on several challenging scenarios. In this section, we first show some demonstrations of our algorithm, then describe our rendering methods, and finally discuss timing and parallelization results. In addition to many decades of research in computational fluid dynamics, there is a considerable amount of literature on the modeling of fluid phenomena in computer graphics [Sta99, LGF04, APKG07, CFL * 07, BBB07]. The seminal works of Foster and Metaxas [FM96] , Stam [Sta99] , and Foster and Fedkiw [FF01] on incompressible fluid simulation were among the first to examine this topic for visual simulation. For a detailed explanation of the numerical methods and the mathematics behind them, we refer the readers to a recent set of comprehensive course notes on fluid simulation [BFMF06] .. Recent work on fluid simulation based on the finite volume methods has been discretized on irregular grids [FOK05, ETK * 07, WBOL07]. Subsequent improvements [KFCO06, CGFO06, CFL. * 07] to these methods have combined the best features of the initial publications to achieve impressive results.. The finite volume method has received much attention from the aeronautics community; our technique uses numerical Riemann solvers based on the work done by Roe [Roe81] , van Leer [vL77] , and others. For a superb introduction to the topic of the finite volume method and Riemann solvers, see [Lev02] .. The problem of describing the evolution of shocksknown as "shock capturing" -has been addressed from a variety of directions. Our work follows the vein of Riemann solver-based approaches that strive to treat areas with and without shocks with the same numerical technique. Another family of approaches, generally known as fronttracking methods, uses standard solvers in areas away from shocks and explicitly models shocks as evolving surfaces in the domain. Front-tracking approaches have been successful, but are extremely complicated for two-and threedimensional simulations and have difficulty handling situations where multiple shocks interact. The survey of Fedkiw et al. [FSS03] gives a good overview of the topic.. Relatively little work in computer graphics has utilized the Euler equations -that is, the compressible, inviscid simplification of the Navier-Stokes system of equationsall of the aforementioned methods from the graphics community are based on an incompressible simplification of the equations. Yngve et al.. [YOH00] present a method for highenergy, compressible fluid simulation based on finite differences, which they use to simulate explosions and their secondary effects. Sewall et al. [SMML07] use a method similar to finite volume on irregular grids to simulate compressible flow.. Feldman et al. [FOA03] simulate combustive phenomena based on an incompressible model of flow with additional density tracers, and Selle et al. [SRF05] present an approach that generates what they describe as "rolling explosions". Like Feldman et al., they use an incompressible model of fluid, which precludes the presence of shocks. Our approach aims to model phenomena similar to those addressed by Yngve et al [YOH00] . The greater fidelity and higher efficiency afforded by our method opens up a wide range of new applications of these phenomena to visual effects.. Work done by Müller et al. [MCG03] and Adams et al.. [APKG07] on particle-based fluid with the Smooth Particle Hydrodynamics (SPH) method strives to represent incompressible flow. The natural tendency of the space between particles to expand and collapse suggests potential future application to compressible phenomena.. Several methods have addressed the considerable challenge of coupling fluids to objects. Geneveaux et al. [GHD03] suggest an explicit method for the bidirectional coupling of grid-based fluids to solid bodies using a particle representation of the surface. Carlson et al. [CMT04] use distributed Lagrange multipliers to achieve stable fluidobject coupling and Guendelman et al. [GSLF05] describe how to handle the interaction of infinitely thin shells with fluids. Chentanez et al. [CGFO06] use an implicitly-coupled model of fluid and elastic bodies to obtain stable interactions. Batty et al. [BBB07] use variational principles to develop a simple extension to the pressure projection step to achieve stable two-way coupling in incompressible fluids. We achieve bidirectional coupling through voxelization (as with [CMT04] and [BBB07] ). We use simple modifications to the Riemann solvers on boundary interfaces to affect the interaction.. There has been some work on simulating the effects of blast waves through analytical models of blast propagation. Mazarak et al. [MMA99] used an expanding ball to determine forces on bodies to fracture or propel them. Neff and Fiume [NF99] use similar analytic models of blast waves to fracture objects and are also unable to generate the aforementioned effects of shock dynamics. These approaches are typically quite fast, but their extremely simple model of blast dynamics does not allow for the effects of shock-object interaction -notably reflection and vortex shedding -nor do they have the ability to visualize the blast itself. Neff and Fiume [NF99] use similar analytic models of blast waves to fracture objects and are also unable to generate the aforementioned effects of shock dynamics. The key challenge is to simulate shockwave and compressible-gas dynamics by designing a practical numerical method that can stably handle moving boundary conditions in three-dimensional space and is efficient enough to be used in a visual simulation production pipeline. We present a basic introduction to the finite volume method and refer the readers to [Lev02] for more detail.

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


High-performance carry chains for FPGAs Carry chains are an important consideration for most computations, including FPGAs. Current FPGAs dedicate a portion of their logic to support these demands via a simple ripple carry scheme. In this paper we demonstrate how more advanced carryconstructs can be embedded into FPGAs, providing significantly higher performance carry computations. We redesign the standard ripple carry chain to reduce the number of logic levels in each cell. We also develop entirely new carry structures based on high performance adders such as Carry Select, Carry Lookahead, and Brent-Kung. Overall, these optimlzatlons achieve a speedup in carry performance of 3.8 times over current architectures. Although originally intended as a way to efficiently handle random logic tasks in standard hardware systems, FPGAs have become the driving force behind a new computing paradigm. By mapping algorithms to these FBGAs significant performance benefits can be achieved. However, in order to achieve these gains the FPGA resources must be able to efficiently support the computations required in the target application.. The key to achieving high performance hardware is to optimize the circuit's critical path. For most datapath circuits this critical path goes through the carry chain used in arithmetic and logic operations. In an arithmetic circuit such as an adder or subtractor, this chain represents the carries from bit position to bit position. For logical operations such as parity or comparison, the chain communicates the cumulative information needed to perform these computations. Optimizing such carry chains is a significant area of VLSI design, and is a major focus of high-performance arithmetic circuit design. c Permission to make digitalhard copies of all or part of this material for permnal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyr@t notice, &title of the publication and its date appear, and notice is given that copyright is by permission ofthe ACM, Inc. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires specific permission and/or fee. In order to support datapath computations most FPGAs include special resources specifically optimized for implementing carry computations. These resources significantly improve circuit performance with a relatively insignificant increase in chip area. However, because these resources use a relatively simple ripple carry scheme, carry computations can still be a major performance bottleneck. In this paper we will discuss methods for significantly improving the performance of carry computations in FPGAs. One of the critical performance bottlenecks in most systems is the carry chains contained in many arithmetic and logical operations. Current FF'GAs optimize for these elements by providing some support specifically for carry computations. However, these systems rely on relatively simple ripple carry structures which provide much slower performance than current high-performance carry chain designs. With the advent of reconfigurable computing, and the demands of implementing complex algorithms in FPGAs, the slowdown of carry computations in FRGAs is an even more crucial concern.. In order to speed up the carry structure found in current FPGAs we developed several innovative techniques. A novel cell design is used to reduce the delay through the cell to a single mux by moving the decision of whether to use the carry chain off of the critical path. This results in approximately a factor of 1.25 speedup over current FPGA carry delays.. High performance adders are not limited to simple ripple carry schemes, and in fact rely on more advanced formulations to speed up their computation. However, as we demonstrated in this paper, the demands of FPGAbased carry chains are different than standard adders, especially because of the "inverse propagate" cell state. Thus, we cannot directly take standard high performance adder carry chains and embed them into current PPGA architectures.. In this paper we developed novel high performance carry chain structures appropriate to reconfigurable systems. These include implementations of Carry Select, Variable Block, and Carty Lookahead (including Brent-Kung) adders. We have been able to produce a carry chain that is up to a factor of 3.8 faster than current PPGA structures while maintaining all the flexibility of current systems. This provides a significant performance boost for the implementation of future PPGA-based systems.

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


Automatic scenario detection for improved WCET estimation Modern embedded applications usually have real-time constraints and they are implemented using heterogeneous multiprocessor systems-on-chip. Dimensioning a system requires accurate estimations of the worst-case execution time (WCET). Overestimation leads to over-dimensioning. This paper introduces a method for automatic discovery of scenarios that incorporate correlations between different parts of applications. It is based on the application parameters with a large impact on the execution time. We show on a benchmark that, using scenarios, the estimated WCET may be reduced with 16%. Embedded systems usually consist of processors that execute domain-specific programs. Many of their functionalities (tasks) are implemented in software, which is running on one or multiple generic processors, leaving only the high performance functions implemented in hardware. Typical examples of embedded systems include TV sets, cellular phones and printers. As many of these systems have real-time constraints, to dimension them, accurate estimations of the worst-case and best-case execution time (WCET and BCET) of their tasks are required. More precisely, it is required to tightly bound the execution times of all feasible paths of the program. If the minimum and maximum duration of all these executions are denoted by Tmin and Tmax, the actual bounds of a program execution time are given by the interval [Tmin, Tmax]. The goal of the estimation is to find an interval [tmin, tmax] that tightly encloses the actual bounds (see fig. 1 ) [9] . This interval represents the estimated bounds of the program execution time, and respectively, tmin and tmax are the estimated BCET and WCET of the program. Since estimation of WCET and of BCET are very similar to each other and the techniques developed for one can be easily adapted for the other, we focus only on WCET. To determine the estimated WCET of a program, all the factors that affect the program execution time must be considered: the feasible execution paths and the execution time of each instruction in each path. In this paper, we discuss the first factor, which is platform independent. The second one depends on architecture parameters, like number of cycles per instruction type, memory hierarchy and pipelining. A micro-architecture model is needed to analyze it.. One of the problems in finding the estimated WCET of a program is that the longest execution path is unknown in many cases. If it can be determined, the problem is trivial to solve. Simulation of all execution paths is clearly impractical as their number is usually exponential in the program size. The results from the simulation of a subset of feasible execution paths are very likely to fall strictly within the actual bounds of the program, even if the subset was very carefully selected ( [4] ). This leads to an underestimation of the bounds (see fig. 1 ). With some extensions, simulation-based analysis can be used for designing soft real-time systems, but it cannot be tolerated in analysis of hard real-time systems.. To avoid the explosion in the number of execution paths, many approaches use a timing schema as the basis for estimating the WCET. Such a timing schema is attributed to certain high-level language constructs, and it is essentially a set of formulas for computing an upper bound on their execution time [17] . Nevertheless, the timing schema cannot be directly applied to programs because not all the needed information is contained in their source code. One of the reasons is that programs contain non-manifest loops. In many cases, the number of iterations of these loops cannot be determined automatically as they may depend on input parameters. With only a few exceptions (e.g. [16, 5] ), all the existing techniques rely only on the programmer to provide loop bounds.. Although by using a timing schema the explosion in the number of paths is avoided, often a large number of infeasible paths is considered in WCET estimation, potentially introducing a big overestimation (see fig. 1 ). This is because a timing schema does not differentiate between infeasible and feasible paths, and the estimated WCET may be due to one of the infeasible paths.. In this paper, we propose an automatic method for reducing the number of infeasible paths considered in a timing schema based We have presented an automatic method for detecting sharper upper bounds on the estimated WCET of an application. It can be applied on top of all WCET estimation approaches based on timing schema. It is based on scenarios that incorporate both the correlations between different parts of the application source code and different numbers of iterations for the same loop. To discover scenarios, we propose an algorithm based on static analysis of the source code. A solution for preventing an explosion in the number of scenarios was also proposed. Our method was tested on two applications and, in one case, the estimated WCET was reduced with 16%.. In the future, we plan to develop methods to dimension real-time systems based on scenarios. We will consider that there are different WCETs per scenario together with knowledge about possible sequences of scenarios. We also want to extend our work in detecting scenarios to multi-tasking applications. Furthermore, we are investigating ways of detecting scenarios based on profiling. In this section, we compare our work with different approaches for WCET overestimation reduction. Other areas where scenarios are already used are also presented.. Many approaches to reduce the overestimation of WCET have been studied. Some of them use C [14] or assembly [11] level user annotations to describe the maximum number of executions for different statements. On top of these approaches, in [13] , a mechanism that allows a user to specify the correlations between parts of the application is added. However, all of these approaches require correlation information added into the source code, which is what we avoid in our work.. Another way to control the WCET overestimation is parametric WCET. There are different methods to compute it, based on timing schema [6] and path enumeration [3] . Manual annotations for constraints on loop counters and infeasible paths are needed. As an extension, in [18] , an iterative method to compute parametric WCET bounds for simple loops has also been suggested. However, even for a fully automatic approach, which can find both loop bounds and infeasible paths [10] , there is a huge explosion in the number of parameters. It is very hard to identify the most important parameters only by the variables' name. In our approach, we introduce a method which helps in identifying the parameters that influence the estimated WCET the most.. The scenario concept was first used [19] to capture the datadependent dynamic behavior inside a thread, in order to better schedule a multi-thread application on a heterogenous multi-processor architecture. In [12] , the authors try to apply different source-tosource transformations to each discovered scenario to improve the overall application performance. To the best of our knowledge, we are the first ones to present a technique for automatically detecting scenarios and the first ones to use scenarios to reduce WCET overestimation.

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


Robust non-quadratic static output feedback controller design for Takagi-Sugeno systems using descriptor redundancy Tahar Bouarar, Kevin Guelton, Noureddine Manamanni. Robust non-quadratic static output feedback controller design for Takagi-Sugeno systems using descriptor redundancy. Abstract: This work concerns robust static output feedback controller (SOFC) design for uncertain and disturbed Takagi-Sugeno (TS) systems using an H-infinity criterion. The main result is based on a descriptor formulation of the closed-loop dynamics. The proposed approach allows avoiding appearance of crossing terms between the controller's and the TS system's input matrices leading to easier LMI formulation than existing studies in the literature. Moreover, the proposed SOFC design conditions don't require any restrictions on the output equation and allow dealing with unmeasurable premise variables.Indeed, taking advantage of the uncertain TS modeling, nonlinearities associated to unmeasurable premises variables can be reported from the nominal part to the uncertainties. To provide LMIs of less conservatism, the results are conducted in the non-quadratic framework. Finally, two numerical examples and a benchmark of a crane system are proposed to illustrate the efficiency of the SOFC design methodology. Takagi-Sugeno fuzzy systems (Takagi and Sugeno, 1985) have shown their interests since they allow extending some of the linear control concepts to the nonlinear cases (Takagi and Wang, 2001 ). Indeed, a TS fuzzy model is a collection of linear time invariant systems blended together with nonlinear membership functions. Therefore, convenient control approaches for such systems have been proposed through the concept of Parallel Distributed Compensation (PDC) (Takagi and Wang, 2001; Sala et al., 2005) . PDC controllers design has been studied using a quadratic Lyapunov functions, see (Takagi and Wang, 2001; Takagi et al., 1996; Sala et al., 2005) and references therein. These approaches remain conservative since they need to find common Lyapunov matrices for a set of linear matrix inequalities (LMI) constraints. Thus, many ways have been proposed to relax these conditions. For instance, relaxation schemes have been developed based on rewriting the closed-loop interconnection structure of the considered control plant (Xiaodong and Qingling, 2003; Tuan et al., 2001) . Other works have considered piecewise Lyapunov functions (Johansson et al., 1999) and, more accurately with the fuzzy aggregation of TS models, through a non-quadratic approach (also called fuzzy Lyapunov approach) (Tanaka et al., 2003; Guerra and Vermeiren, 2004; Rhee and Won, 2006; Feng, 2006; Lam and Leung, 2007; Chang and Yang, 2010; Guerra et al., 2012) . For a review of relaxation issues, one can refer to (Sala, 2009 ).. Among control theory, regarding to output stabilization of TS fuzzy models, many works have been done for observer-based controller (OBC) design (Tanaka et al., 1998; Ma et al., 1998; Yoneyama et al., 2000; Yoneyama et al., 2001; Guerra et al., 2006; Mansouri et al., 2009) , dynamic output feedback controller (DOFC) design in both the quadratic and the non-quadratic case (Li et al., 2000; Assawinchaichote et al., 2004; Nguang and Shi, 2006; Zerar et al., 2008; Guelton et al., 2008; Guelton et al., 2009) . Static Output Feedback Controllers (SOFC) are of some interests for practical applications since they only require available signals from the plant to be controlled and doesn't need any online differential equation solving, so reducing online computational cost (Syrmos et al., 1997) . In (Huang and Nguang, 2006) and (Huang and Nguang, 2007) , SOFC design methodologies for TS fuzzy systems are proposed in terms of Bilinear Matrix Inequalities instead of LMI. In (Chadli et al., 2002) , LMI conditions have been proposed. However, in these studies, some restrictive modeling assumptions have been made such that the output equation must be linear (full column rank matrix) and without direct transfers from the inputs to the outputs. Note that these restrictions are due to the occurrence of crossing terms in the closed-loop formulation (Zerar et al., 2008; Syrmos et al., 1997; Zhou and Doyle, 1996) .. Moreover, the results proposed in these previous studies being quadratic, they may suffer from conservatism. Note also that, unmeasurable premises constitute an important problem in static output feedback since it is somewhat difficult to estimate unmeasured variables without introducing a dynamical equation (observer) in the feedback and so reduce the applicative interest of SOFC. This problem has been seldom treated in the literature dealing with SOFC for TS systems and has been the topic of a very recent work where premises selection in SOFC fuzzy structure has been proposed (Tognetti et al., 2012) .. In (Tanaka et al., 2007) , a descriptor redundancy formulation has been employed to derive new nonquadratic LMI stability conditions for state feedback PDC controllers. One of the interests of such approach is that it allows decoupling crossing terms in the closed-loop dynamics formulation . Therefore, based on this property, LMI based non-quadratic robust DOFC design has been proposed in Guelton et al., 2009) . Following this way, one of our preliminary studies has dealt with SOF controller design . In the latter, in aid of the redundancy property, non-quadratic LMI based SOFC design using a fuzzy Lyapunov approach for nominal TS systems has been proposed. However, this preliminary result isn't relevant in the case of unmeasurable premises. Note that the above described studies dealing with continuous time TS models, complementary works has been recently done in the discrete time framework (which is reputed more favorable than the continuous time case for LMI purposes). Indeed, the descriptor redundancy has been recently used for OBC or SOFC design for discrete-time fuzzy models (Chang and Yang, 2011; Chadli and Guerra, 2012) .. The goal of this paper is to propose a descriptor redundancy approach leading to strict LMI based robust non-quadratic SOFC design for the class of continuous time uncertain and disturbed TS systems without any restrictions on the output equations. Taking advantage of the uncertain plant, it will be emphasis through an example how this modeling approach is relevant to deals with unmeasured premise variables for SOFC design. Moreover, the non-quadratic framework will be considered with recent conservatism improvements (Mozelli et al., 2009b) .. This paper is organized as follows. First, convenient notations and lemma will be described. Then, in section 3, the problem statement of robust SOFC design for TS fuzzy models is presented with highlights on the descriptor redundancy approach and unmeasurable premises. Afterward, relaxed nonquadratic LMI based robust SOFC design conditions are proposed for the considered class of uncertain TS fuzzy models. Then, an extension to uncertain TS models subject to external disturbances is proposed by the use of a H ∞ criterion. Finally, two numerical examples are provided to show the effectiveness of the proposed approach and an engineering example of a crane system is proposed as a benchmark in simulation. In this paper, the problem of robust static output feedback stabilization for continuous time uncertain and disturbed Takagi-Sugeno models has been considered. A non-PDC static output feedback control law has been proposed and its design has been involved through a fuzzy Lyapunov approach. Thanks to the descriptor redundancy, crossing terms have been avoided in the closed-loop dynamic formulation and so LMI conditions have been obtained without any assumptions on the output equation of the considered TS model. Then, a H ∞ criterion has been employed to derive conditions which ensure a minimal attenuation level of external disturbances. It has been shown that the proposed SOFC based design lead to low conservatism results regarding to previous works. Moreover, it has been emphasis that, thank to the uncertain TS modeling, such approach is suitable for the design of a robust non-PDC static output feedback controller without the need of unmeasurable variables estimations. Finally, two academic examples has been considered to illustrate the efficiency the proposed fuzzy Lyapunov based SOFC design.

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


Spectral embedding of graphs In this paper we explore how to embed symbolic relational graphs with unweighted edges in a pattern-space. We adopt a graph-spectral approach. We use the leading eigenvectors of the graph adjacency matrix to deÿne eigenmodes of the adjacency matrix. For each eigenmode, we compute vectors of spectral properties. These include the eigenmode perimeter, eigenmode volume, Cheeger number, inter-mode adjacency matrices and intermode edge-distance. We embed these vectors in a pattern-space using two contrasting approaches. The ÿrst of these involves performing principal or independent components analysis on the covariance matrix for the spectral pattern vectors. The second approach involves performing multidimensional scaling on the L2 norm for pairs of pattern vectors. We illustrate the utility of the embedding methods on neighbourhood graphs representing the arrangement of corner features in 2D images of 3D polyhedral objects. Two problems are investigated. The ÿrst of these is the clustering of graphs representing distinct objects viewed from di erent directions. The second is the identiÿcation of characteristic views of single objects. These two studies reveal that both embedding methods result in well-structured view spaces for graph-data extracted from 2D views of 3D objects. Relational graphs have proved alluring as structural representations for both 2D and 3D shape in computational vision. Barrow and Burstall [1] and Fischler and Enschlager [2] were among the ÿrst to demonstrate the potential of relational graphs as abstractions for pictorial information. Since then graph-based representations have been exploited widely for the purposes of shape representation, segmentation, matching and recognition. However, one of the problems that hinders the manipulation of large sets of graphs is that of measuring their similarity. This problem arises in a number of situations where graphs must be matched or clustered together. The large-scale matching problem arises in tasks involving recognition from image databases [3] . * Corresponding author. Tel.: +44-1904-433374; fax: +44-1904-432767.. E-mail address: erh@cs.york.ac.uk (E.R. Hancock).. The graph-clustering task arises when the unsupervised learning of the class-structure of sets of graphs is attempted. Concrete examples here include the organisation of large structural data-bases [4] or the discovery of the view-structure of objects [5] .. One of the problems that hinders this endeavour is that graphs are neither vectorial in nature nor easily transformed into vectors. The reasons for this are twofold. First, there is no canonical ordering of the nodes or edges of a graph. Hence, there is no natural way to map the nodes or edges to the components of a vector. Second, most graph-matching or graph manipulation problems are inexact in nature. That is to say that the graphs are noisy in nature and hence contain di erent numbers of nodes or edges. Hence, even if an ordering can be established then there needs to be a means of dealing with pattern-vectors of di erent length. Since they are not easily vectorised, it is not straightforward to characterise the mean and variance of a set of graphs. Hence, standard pattern recognition methods cannot be used to analyse In this paper we have investigated how vectors of graph-spectral attributes can be used for the purposes of embedding graphs in eigenspaces. The attributes studied are the leading eigenvalues, the volumes, perimeters, Cheeger numbers, inter-mode adjacency matrices and inter-mode edge-distance for the eigenmodes of the adjacency matrix. The embedding strategies are PCA, ICA and MDS. Our empirical study is based on corner adjacency graphs extracted from 2D views of 3D objects. We investigate two problems. The ÿrst of these is that of clustering the di erent views of the three objects together. The second problem is that of organising di erent views of the same object into well structured trajectories, in which subsequent views are adjacent to one another and there are distinct clusters associated with di erent views. In both cases the best results are obtained when we apply MDS to the vectors of leading eigenvalues.. Hence, we have shown how to cluster purely symbolic graphs using simple spectral attributes. The graphs studied in our analysis are of di erent size, and we do not need to locate correspondences. Our future plans involve studying in more detail the structure of the pattern-spaces resulting from our spectral features. Here we intend to study how support vector machines and the EM algorithm can be used to learn the structure of the pattern spaces. Finally, we intend to investigate whether the spectral attributes studied here can be used for the purposes of organising large image data-bases. Our experimental vehicle is provided by 2D views of 3D objects. We have collected sequences of views for a number of objects. For the di erent objects the image sequences are obtained under slowly varying changes in viewer angle. From each image in each view sequence, we extract corner features. We use the extracted corner points to construct Delaunay graphs. In our experiments we use three di erent sequences. Each sequence contains images with equally spaced viewing directions. For each sequence we show a sample of 10 images. In Fig. 1 we show the CMU/VASC model house image sequence and the associated graphs. In Fig. 2 we show the ÿrst ten samples of the raw images and extracted graphs for the INRIA MOVI toy house sequence. Finally, Fig. 3 shows the ÿrst ten samples of a third house sequence for a model of Swiss chalet. In Table 1 , we list the number of feature points for each view for the three di erent image sequences. There are a number of "events" in the sequences. For instance in the MOVI sequence, the right-hand gable wall disappears after the 12th frame, and the left-hand gable wall appears after the 17th frame. Several of the background objects also disappear and reappear. In the Swiss chalet sequence, the front face of the house disappears after the 15th frame.. We perform two di erent sets of experiments with this data. The ÿrst is to determine whether the spectral feature vectors can be used to cluster the di erent views of the same object together, and to di erentiate between di erent objects. Here we amalgamate 10 uniformly spaced images from each of the three di erent view sequences into a single data-base. The second set of experiments focuses on whether, the spectral feature vectors can be used for the ÿner task of determining the view structure of the individual objects. Here we treat each object sequence separately.

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


Packet classifiers in ternary CAMs can be smaller Serving as the core component in many packet forwarding, differentiating and filtering schemes, packet classification continues to grow its importance in today's IP networks. Currently, most vendors use Ternary CAMs (TCAMs) for packet classification. TCAMs usually use brute-force parallel hardware to simultaneously check for all rules. One of the fundamental problems of TCAMs is that TCAMs suffer from range specifications because rules with range specifications need to be translated into multiple TCAM entries. Hence, the cost of packet classification will increase substantially as the number of TCAM entries grows. As a result, network operators hesitate to configure packet classifiers using range specifications. In this paper, we optimize packet classifier configurations by identifying semantically equivalent rule sets that lead to reduced number of TCAM entries when represented in hardware. In particular, we develop a number of effective techniques, which include: trimming rules, expanding rules, merging rules, and adding rules. Compared with previously proposed techniques which typically require modifications to the packet processor hardware, our scheme does not require any hardware modification, which is highly preferred by ISPs. Moreover, our scheme is complementary to previous techniques in that those techniques can be applied on the rule sets optimized by our scheme. We evaluate the effectiveness and potential of the proposed techniques using extensive experiments based on both real packet classifiers managed by a large tier-1 ISP and synthetic data generated randomly. We observe significant reduction on the number of TCAM entries that are needed to represent the optimized packet classifier configurations. The problem of packet classification can be stated as follows: match an incoming packet against a packet classifier, which is a set of rules defined over a number of packet header fields. Packet classification is one of the most basic operations performed in IP networks. A simple example of packet classification is the packet forwarding operation in an IP router by which each incoming packet is classified based on its destination IP address field onto one of the forwarding table entries that specifies the outgoing link. Similarly, Access Control Lists (ACLs) in routers are classifiers in which each rule usually specifies five fields including source IP prefix, destination IP prefix, source port number (or range), destination port number (or range), as well as protocol type. Each field can also be specified as a wildcard, which means "do not care" and hence matches any value. Besides the fields used for matching, each rule also specifies a decision (or action) to be carried out. For example, the decision may be deny if packets that match the rule are classified as unwanted traffic. Some example rules are given in Table 1 . TCAM as the de facto solution for packet classification suffers from multiplicative explosion in size due to range specifications. Compressing the TCAM representation of packet classifiers without requiring hardware modification is a challenging problem of significant value. In this paper, we propose a set of practical techniques for defining semantically equivalent packet classifiers such that the amount of TCAM entries needed is much smaller. Thus, packet classification can be carried out using much smaller TCAMs without any hardware modification. Experiments conducted on thousands of real rule sets provided by a tier-1 ISP demonstrate that our proposed techniques reduce the number of TCAM entries needed by 46%, although these rule sets typically have only one range clause. Furthermore, experiments based on random rule sets with varying number of range clauses demonstrate that the power of our proposed techniques grows rapidly with the number of range clauses. These results clearly demonstrate the enormous potential of our proposed techniques in emerging applications. There has been two orthogonal lines of research on packet classification in the most commonly used first-match model. Given a packet classifier, a long thread of research [11, 20, 7, 21, 8, 25, 18, 2, 1, 24, 19, 10, 23] aims to design efficient solutions for performing packet classification. The other line of research aims to reduce the size of the given rule set, in terms of either the number of rules or the number of TCAM entries needed to represent that rule set. In some sense, the latter can be viewed as a preprocessing stage preceding the former: after compressing the rule set, packet classification solutions can apply on the compressed rule set and hence benefit from its reduced size. Our work in this paper belongs to the second type, and we here briefly review the related work of the second type.. Given the inherent hardness of general packet classification as a theory problem, some researchers have proposed to reduce the number of rules in a given rule set in order to improve the efficiency of packet classification. In his Ph.D. thesis [6] , Gupta identifies backward redundancy and forward redundancy. In particular, a rule ri in a rule set R = {r1, r2, · · · , rn} is backward redundant if and only if R contains some other rule rj such that (1) j < i and (2) the definition region of rj contains the definition region of ri. A rule ri is considered forward redundant if and only if R contains some other rule rj such that (1) j > i, (2) the definition region of rj contains the definition region of ri, (3) ri and rj have the same decision, and (4) for any k such that i < k < j, either the definition regions of ri and r k do not overlap or ri and r k have the same decision. It is easy to verify that the backward redundant rules and the forward redundant rules in a rule set form a subset of the upward redundant rules and the downward redundant rules (which are identified by Liu and Gouda in [13] ), respectively. In their earlier paper [5] , Gouda and Liu design algorithms for removing redundant rules generated from a firewall decision diagram.. The objective of these previous work is to reduce the number of rules instead of reducing the number of TCAM entries needed to represent the given rule set. As we have seen in this paper, reducing the number of rules does not necessarily reduce the number of TCAM entries needed to represent the rule set, and vice versa. Actually, we propose adding rules as an effective technique for reducing the number of TCAM entries needed. Our simulation results based on random rule sets have demonstrated that our proposed scheme typically produces a semantically equivalent packet classifier that contains much more rules than the given rule set, but requires much less TCAM entries to represent.. Prior to this work, some other complementary techniques have also been proposed to reduce the size of TCAM needed. For example, range encoding techniques [14, 24, 12] aim to reduce the number of TCAM entries needed to represent a rule set by employing sophisticated schemes for encoding ranges specified in a rule set. Typically, range encoding techniques involve dividing an m-bit range into k blocks. Then, various encoding schemes can be applied on the blocks. Such inherent nature of these techniques makes them plagued by the following problems, which are not present in our scheme. First, modifications to the packet processor hardware are needed to interpret and perform the range encoding schemes. Second, some techniques (e.g. [14, 24] ) exploit statistical features of the given rule set and hence are not considered general. If preferred, these complementary techniques can be applied on the rule set produced by our scheme to achieve further performance benefits.

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


Distributed norm management for multi-agent systems Norms explicitly represent prohibitions, permissions and obligations associated with software agents, changing as agents act and interact in pursuit of their goals. Norms provide means of regulating open and heterogeneous multi-agent systems; however, in order to truly reflect the nature of multi-agent systems, norms should be managed in a distributed fashion. A centralized account of norms creates a single point-of-failure and bottlenecks, and as a result fault-tolerance and scalability are jeopardized. The decentralized management of norms is, nevertheless, a challenging issue and we observe a lack of truly distributed computational realizations of normative models. To remedy this, we propose normative structures, which allow the propagation of changes in the norms associated with agents, as a result of their actions. Due to the dynamic nature of multi-agent systems and the potential concurrency of agents' actions, conflicts may arise, whereby an action is simultaneously prohibited and obliged (or prohibited and permitted). We thus present a run-time algorithm to detect and resolve conflicts during the enactment of a multi-agent system, and show how this algorithm can be put to use within a distributed setup. A fundamental feature of regulated open multi-agent systems (MAS) in which heterogeneous and autonomous agents interact, is that participating agents are meant to comply with the conventions of the system. Explicit representations of the prohibitions, permissions and obligations associated with software agentstheir normative positions (also named deontic states by some authors) -have been used for modeling such conventions, providing a means to regulate the observable behavior of agents (Dignum, 1999; Wooldridge, 2002) . Agents' normative positions change as agents act and interact in pursuit of their goals.. However, norm-compliance, albeit essential, may be difficult to guarantee in practice because agents acquire and discharge obligations, permissions and prohibitions towards other agents in a dynamic fashion. Moreover, even if we assume full norm compliance, this will not necessarily prevent undesirable situations unforeseen at design time. One such undesirable situation is when normative conflicts arise, whereby actions are simultaneously prohibited and obliged (or prohibited and permitted) (Cholvy & Cuppens, 1995; Elhag, Breuker, & Brouwer, 2000; Sartor, 1992; von Wright, 1963) . Normative conflicts are undesirable because whatever an agent does (or refrains from doing) violates a norm (Vasconcelos, Kollingbaum, & Norman, 2007 , 2009 . Such scenarios are particularly complex when agents interact in several concurrent activities and obligations, permissions and prohibitions need to propagate dynamically from one activity to another (or to many others).. We address the problem of regulating the operation of open multi-agent systems in which multiple, concurrent/distributed, interrelated activities take place; the activities are where heterogeneous and autonomous software agents interact. In these circumstances, a centralized representation and/or control of normative positions generates bottlenecks and single points-of-failure that compromise scalability and graceful degradation 1 of the multiagent system's functionalities. The study of computational models that tackle the distributed management of norms is a little-explored issue which our work looks into. We introduce normative structures as a means to observe and manage the evolution of normative positions in each activity and to manage the propagation of normative positions between 0957-4174/$ -see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa. 2011.11.108 distributed activities. We propose an algorithm that exploits the distributed nature of normative structures to deal, at run time, with the emergence of conflicts as agents interact -the algorithm detects and resolves normative conflicts as they arise during the execution of a MAS. We provide guarantees to our algorithm, namely, correctness, termination and worst-case complexity.. To make the problem amenable to analysis, we make the following assumptions:. We assume that MAS are open inasmuch as agents' internal states are inaccessible to the system and agents may enter and leave the MAS as long as they comply with norms. We also assume that agents have the abilities to comply with norms, and will perform ''legitimate'' actions. We only consider agent actions consisting of speech acts (Searle, 1969 ) (or actions which may be represented as speech acts, as in, for instance, truthfully informing the concerned parties about actions performed). We assume that MAS regulations belong to two types. The first type is embedded in constitutive and procedural norms that are regimented and outside the control of participating agents. 2 The second type corresponds to non-regimented functional norms. Following (Boella, Pigozzi, & Van der Torre, 2009 ), we do not assume any governance mechanism aside from the regimentation imposed by the MAS itself, thus agents may choose to violate a non-regimented norm. Hence, we do not assume full norm compliance by the agents -we deal with any normative conflicts that may arise not only from violation of a norm but from the normative inconsistencies inherent in the system and brought about by agent interactions. Additionally, we do not assume that there are meta-level or second-level rules that govern the change of existing rules, hence we will not address the problem of norm change as such.. We make assumptions about the structuring of agent interactions: agents interact in repetitive activities regulated by their own particular conventions (procedural and functional). Several of these activities may be simultaneously happening at any given time, with possibly many instances of one same activity. An agent may participate in one activity with other agents and in another activity with possibly different agents. Moreover, an agent may participate simultaneously in more than one activity and may move from one activity to another (or many others). The actions an agent performs in one activity may cause updates in the agents' normative positions, and this may affect the actions agents perform in the future, in that or in other activities.. Some of these assumptions refer to more operational aspects of the problem, and we will elaborate upon them in the rest of the paper. In Sections 6 and 7 we discuss further assumptions and how to relax them. It is worth mentioning that, like most work in this field to a certain extent (and we shall discuss this in more detail in the next section), ours responds to two main drives, namely, (i) the need to deal with the essential deontic aspects of norms and, therefore, their (inferential) consequences on agent behavior; as well as, (ii) the interest in building realistic MAS and hence the need to examine algorithmic questions and computational architectures that may support regulated and open MASs. Our contributions address the second drive.. In the present work we focus on functional norms, expressed in a rule-based formalism that establishes under which conditions agents become or cease to be subject to normative positions, that is, obligations, prohibitions and permissions towards specific actions, represented as atomic deontic formulae. We have shown (García-Camino, Rodrí guez-Aguilar, Sierra, & Vasconcelos, 2009 ) that our representation is expressive enough to capture many useful normative concepts in the literature. Although the formalism of (Garcí a-Camino et al., 2009 ) is more sophisticated than the one we use in the present paper, the simplification does not affect our contributions in the present paper; in Section 7 we explain how we deal with richer languages.. The structure of this paper is as follows. In the remainder of this section we introduce a scenario to serve as a running example throughout the article. In Section 2 we present basic concepts and formally define normative structures. In Section 3 we define normative conflicts. Section 4 presents an algorithm for conflict resolution. Section 5 elaborates on an architecture that allows the distributed management of normative positions and solves conflicts via the algorithm presented in Section 4. Finally, we survey related work in Section 6, and draw conclusions and comment on future work in Section 7. Within agent-mediated electronic commerce (He, Jennings, & Leung, 2003; Sierra, 2004) , various challenges arise when building open (that is, components come and go during the system's execution), heterogeneous (that is, individual components have been implemented by different parties, using disparate architectures and assorted programming languages and technologies), and distributed (that is, the components run in various machines, geographically distant, communicating via message-passing) systems that will carry out sophisticated many-party interactions to provide goods and/or services.. Norms offer a useful and powerful abstraction with which to specify and regulate such systems, excluding disruptive or antisocial behavior without prescribing the design of individual agents or restricting their autonomy (Dignum, 1999; Vasconcelos et al., 2009 ). Norms provide a generic account of individual behaviors; if all agents have norm-regulated behaviors, then we can offer guarantees about the system as a whole. Similarly, norms provide a declarative statement of how agents are expected to behave, and so offer agents a way to predict the behavior of others in response to requests, the provision of information, etc. There is a wealth of socio-philosophical and logic-theoretical literature on the subject of norms (e.g., Sergot, 2001; Shoham & Tennenholtz, 1995; von Wright, 1963) , and, more recently, much attention is being paid to more pragmatic and implementation-oriented aspects of norms, that is, how norms can be given a computational interpretation and how norms can be taken into account in the design and execution of MASs (e.g., Artikis, Kamara, Pitt, & Sergot, 2005; Cranefield, 2005; Viganò, Fornara, & Colombetti, 2006; García-Camino et al., 2006) . However, to the best of our knowledge, very few authors have provided implementations managing and reasoning about normative positions in a distributed manner. In Minsky, 2005) , two languages are presented for the distributed enforcement of normative positions in MASs. In an obligation is a first-order formula whose intuitive meaning is that if grounded utterances matching the given utterance schema are uttered in an activity, and given conditional expressions are satisfied, then, further grounded utterances matching the given utterance schema satisfying the given conditional expressions must be uttered in the corresponding activity.. In (Minsky, 2005; Minsky & Ungureanu, 2000) the authors propose law-governed interaction (LGI), a decentralized coordination and control mechanism for distributed systems. This middleware allows a possible large, heterogeneous and open set of actors to interact governed by a given policy, called the interaction law. In order to enforce the interaction law, a component called controller is associated to each actor. The controller is entrusted to mediate the interaction of its actor with others, it decides, by interpreting the active law, how to react to messages sent and received by its actor.. However, in both approaches Minsky, 2005) , each agent has a local message interface that forwards legal messages according to a set of norms. Since these interfaces are local to each agent, norms can only be expressed in terms of actions of that agent. This is a serious disadvantage, e.g., when one needs to activate an obligation to one agent due to a certain message of another one.. The work presented in (Hübner, Boissier, Kitio, & Ricci, 2009) proposes Organizational Artifacts for multi-agent systems (ORA4-MAS). This approach may be seen as a distributed generalization of tuple-spaces but using objects and providing further functionalities. Its authors argue that instead of providing a ''dialogical environment'' as in the architecture presented in this paper and 9 Activities are also referred to as scenes following the terminology of AMELI.. predecessors, e.g., , they provide a ''work environment''. However, as shown in (García-Camino et al., 2006) , valid dialogical actions may trigger the performance of further non-dialogical actions in the coordination level. More languages for the coordination level are proposed in (García-Camino, 2009 ). This paper focuses on the normative level, which connects several activities taking place in the coordination level. Instead of proposing that activities (or workspaces in the terminology of Hübner et al., 2009 ) exchange information directly, we decouple as much as we can propagation of normative positions from the norm enforcement taking place in the activities and, as mentioned above, our approach also includes the translation from dialogical actions into non-dialogical ones. We admit that the languages proposed in (García-Camino, 2009 ) for the coordination level do not use an object-oriented approach but straightforward modifications would allow expressing non-dialogical actions that would interface the coordination level with object-oriented languages. (Sartor, 1992) treats normative conflicts from the point of view of legal theory and suggests a way to order the norms involved. This idea is implemented in (Garcí a-Camino et al., 2007) but requires a central resource for normative position maintenance. A mechanism for conflict resolution of normative positions that is somewhat similar to ours has been sketched in (Kollingbaum & Norman, 2004) . However, their mechanism is presented only informally and uses instantiation graphs -their high computational complexity only allows simple scenarios to be addressed. Additionally, that work only considers individual norm-compliant agents, and not an institutional (or organizational) infrastructure for open MASs. Our approach to detecting normative conflicts can capture the three forms of conflict/inconsistency of (Ross, 1958) , viz. total-total, total-partial and intersection, respectively, when the permission entails the prohibition, when the prohibition entails the permission and when they simply overlap. The normative position management algorithm we presented in Section 4 is an adaptation and extension of the work presented in , also providing an investigation into deontic modalities for representing normative concepts (Dignum, 1999; Sergot, 2001 ).

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


Vanquishing the XCB Question: The Methodological Discovery of the Last Shortest Single Axiom for the Equivalential Calculus With the inclusion of an effective methodology, this article answers in detail a question that, for a quarter of a century, remained open despite intense study by various researchers. Is the formula XCB = e (x, e(e(e(x, y), e(z, y)), z)) a single axiom for the classical equivalential calculus when the rules of inference consist of detachment (modus ponens) and substitution? Where the function e represents equivalence, this calculus can be axiomatized quite naturally with the formulas e(x, x), e(e(x, y), e(y, x)), and e(e(x, y), e(e(y, z), e(x, z))), which correspond to reflexivity, symmetry, and transitivity, respectively. (We note that e(x, x) is dependent on the other two axioms.) Heretofore, thirteen shortest single axioms for classical equivalence of length eleven had been discovered, and XCB was the only remaining formula of that length whose status was undetermined. To show that XCB is indeed such a single axiom, we focus on the rule of condensed detachment, a rule that captures detachment together with an appropriately general, but restricted, form of substitution. The proof we present in this paper consists of twenty-five applications of condensed detachment, completing with the deduction of transitivity followed by a deduction of symmetry. We also discuss some factors that may explain in part why XCB resisted relinquishing its treasure for so long. Our approach relied on diverse strategies applied by the automated reasoning program OTTER. Thus ends the search for shortest single axioms for the equivalential calculus. In logic and in mathematics, once axioms have been found for an area of interest, a natural question concerns the existence of a single axiom. If such is found, one might then seek to find a "short" single axiom. If success again occurs, next comes the question of the existence of one or more shortest single axioms.. With the main result of this article in hand, the set of answers to those questions about equivalential calculus is complete. There indeed do exist single axioms for that calculus. The shortest have length eleven (measured in symbols), and exactly fourteen such axioms exist. Thus the search for shortest single axioms for the equivalential calculus is at an end.. Perhaps the story of these formulas unfolded in an appropriate way: XCB, the fourteenth and last of the shortest single axioms to be found, is unique among the fourteen in various ways and appears to have been the most difficult to study.

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


Distributed Throughput Maximization in Wireless Mesh Networks via Pre-Partitioning Abstract-This paper considers the interaction between channel assignment and distributed scheduling in multi-channel multi-radio Wireless Mesh Networks (WMNs). Recently, a number of distributed scheduling algorithms for wireless networks have emerged. Due to their distributed operation, these algorithms can achieve only a fraction of the maximum possible throughput. As an alternative to increasing the throughput fraction by designing new algorithms, we present a novel approach that takes advantage of the inherent multi-radio capability of WMNs. We show that this capability can enable partitioning of the network into subnetworks in which simple distributed scheduling algorithms can achieve 100% throughput. The partitioning is based on the notion of Local Pooling. Using this notion, we characterize topologies in which 100% throughput can be achieved distributedly. These topologies are used in order to develop a number of centralized channel assignment algorithms that are based on a matroid intersection algorithm. These algorithms pre-partition a network in a manner that not only expands the capacity regions of the subnetworks but also allows distributed algorithms to achieve these capacity regions. We evaluate the performance of the algorithms via simulation and show that they significantly increase the distributedly achievable capacity region. We note that while the identified topologies are of general interference graphs, the partitioning algorithms are designed for networks with primary interference constraints. In this paper we have applied techniques stemming from stability theory and matroid theory to obtain novel results regarding the design of Wireless Mesh Networks. The application of these theories allows us to develop algorithms for pre-partitioning a mesh network into a number of high capacity subnetworks such that in each of the subnetworks simple distributed algorithms can obtain 100% throughput.. We have performed a thorough study of the implications of Local Pooling on network design and shown that although the notion of Local Pooling is rather abstract, its implications are quite powerful. We identified several types of interference graphs that satisfy Local Pooling as well as network graphs (e.g., trees) which under primary interference constraints yield interference graphs that satisfy Local Pooling (several additional graph classes that satisfy Local Pooling can be found in [25] ). Based on our observations, we developed matroid intersection algorithms for efficient network partitioning under primary interference constraints. We have shown that these algorithms perform very well in terms of capacity. We note that the scope of this work spans more than multi-radio multi-channel WMNs. It is relevant to any wireless network with stochastic arrivals in which transmissions can be differentiated in the time domain (i.e., scheduling) and in other domains (frequency, code, etc.).. This paper primarily provides a theoretical contribution that lays the foundation for developing practical algorithms. Hence, there are still many problems to deal with. For example, a future research direction is to allow dynamic channel allocation. This will require to tailor the channel allocation algorithms for online and perhaps distributed operation. In addition, Lemma 3 indicates that partitioning into trees may be suboptimal. Therefore, we would like to develop matroid intersection algorithms that will partition into other components similar to the ones identified in Section IV. In general, we would like to develop algorithms that partition the network to the minimum number of OLoP-satisfying components.

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