Interaction of TCP flows as billiards Abstract- The Additive Increase, Multiplicative Decrease (AIMD) model introduced in [4] describes the joint evolution of the congestion window size of N long lived (FTP or Peer to Peer type) flows controlled by TCP and sharing a single router or link, in terms of products of random matrices. The associated large population asymptotic model which concerns the case N → ∞ was studied in [12] .. The present paper studies the case when the TCP flows are heterogeneous, i.e. with different Round Trip Times (RTTs) or routes, and when each flow goes through a route made of several tail-drop routers (throughout the paper, we will consider routers to be the possible bottlenecks; this could be replaced by links everywhere without altering the conclusions) in series. The corresponding model, which is introduced in §II, will be referred to as the multi-AIMD model.. Our aim is to estimate the throughput obtained by each individual flow under the competition rules imposed by TCP, and also the fluctuations of this throughput, from the sole knowledge of the route and the RTT of each flow, and the characteristics of each router and link (buffer size, link capacity etc.) in the network. This is of course related to the classical relationships that have been obtained between the packet loss probability and TCP throughput for a given session (see e.g. [17] ); in particular, it was shown in [4] that the single router AIMD dynamics resulted in a dependency between these quantities that was compatible with these formulas and was actually refining them in that it allowed one to assess the influence of synchronization.. The first models for the several router TCP network case are those of [13] and [10] . These papers analyzed the bandwidth sharing of different TCP flows over large networks in terms of optimization problems, and triggered a large number of further studies (see e.g. [16] , [15] ). The prediction of the throughput in the several AQM router case has also been investigated via fixed point approximation methods for mean values in [8] . The approach that is proposed in the present paper addresses the same prediction question in the tail drop router case. The main difference with these earlier approaches lies in the fact that we use a pathwise description of the dynamics of the interaction between flows, which takes into account discrete event phenomena that are of central importance for tail drop networks, such as congestion epochs, losses or synchronization of sources, as well as random phenomena which all have an impact on throughput fluctuations.. More precisely, the interaction is described by a set of evolution equations that generalize the random affine map description of the AIMD (one router) model. The basic multi-AIMD model can be seen as iterates of random piecewise affine maps. From this stochastic model, we define a large population asymptotic model. This asymptotic model can be seen as iterates of deterministic piecewise affine maps. These equations are shown to admit a geometrical representation in terms of a random or deterministic billiards in the Euclidean space. The dimension of this space is the number of different flow classes (typically, there is one flow class per route and RTT). This billiards has as many reflection facets as there are routers.. This new representation of the interaction between TCP flows over networks made of several links and routers and its exploitation are the main contributions of the present paper. We establish sufficient conditions for the asymptotic periodicity of the throughput obtained by the interacting flows, as well as a conservation law that relates the intensities with which routers experience congestion. Billiards are known to possibly exhibit non-periodic asymptotic behaviors. We give numerical evidence that this is possible for the class of billiards considered here. We also show that the characteristics of this asymptotic behavior are extremely sensitive w.r.t. network parameters. The implications on TCP's fairness and bandwidth sharing are exemplified on a few cases of small dimension. We show however that once the periodic regime is known, fairness can be approached analytically using a mix of linear algebra and cycle formulas of Palm calculus [3] .. The validation of this billiards representation is not addressed in the present paper; it is the object of a companion paper [6] , which investigates more generally the use of this approach as a simulation tool. In addition to comparison with NS2 simulation, it is shown there that the aggregated traffic generated by this representation satisfies several empirical or statistical laws that were observed on real traces. This concerns the short time scale statistical properties observed in [20] , [24] , [1] and the empirical power law describing the sensitivity w.r.t. RTTs reported in [14] . We have introduced a model allowing one to study the bandwidth sharing operated by TCP on networks composed of several tail-drop routers or links and which takes source synchronization into account.. This model is based on the interplay between three (sub) models: a deterministic network level model (the billiards), a set of more or less independent stochastic models for individual flows, where the influence of the whole network is taken into account via certain averages, and a packet level model that is only used for determining the delay of reaction of sources and the associated synchronization rates.. Each level creates its own type of fluctuations on throughput. The flow level and packet fluctuations have already been studied. Flow level fluctuations of throughput aggregates have for instance been studied in [4] , [12] and for the throughput of individual flows in [9] . The representation of TCP controlled networks as billiards has allowed us to quantify the fluctuations at network level, that is the time/space location of the congestion epochs, these local storms that are induced by the AI process here and there in the network, and that are in charge of the overall control within the drop tail setting. We produced numerical evidence that both periodic and nonperiodic asymptotic behaviors are possible for the empirical mean values of throughputs and that any slight changes in the model parameters, for instance trends in the population parameters a s,r or n s , could result into drastic changes for the instantaneous values achieved by empirical averages.. In [20] , [24] , [1] , it was experimentally shown that aggregated traffic of internet traces often exhibits multifractal scaling properties at short time scales. There have been many attempts to explain these properties and to link them to TCP itself (for short time scales, TCP is the only likely explanation, whereas long time scale fluctuations have been shown to be HTTP induced). Such a multifractal scaling means that aggregated traffic trajectories are extremely irregular and have fluctuations at all short time scales. The identification of network level fluctuations with complex patterns is one more step in the direction of the classification of all types of TCP induced fluctuations that contribute to the extreme irregularity of aggregated traffic. Flow level variability seems to be enough to provide a multifractal short time scale behavior [4] . However the fact that aggregated traffic could have fluctuations with arbitrarily long periods is also a possible explanation for time and flow averages to have fluctuations over several time scales. The combination of fluctuations of all three levels seems required for a complete prediction of the global statistical structure of aggregated traffic.. The properties reported in the present paper are different from the simulation based observations on the chaotic behavior of TCP reported in [23] . The main difference lies in the fact that the properties of the present paper bear on the sensitivity of aggregated traffic (the empirical mean values as defined above) w.r.t. some topology parameter (e.g. the speed of a router), whereas the observations of [23] focus on the dependence of the throughput of individual flows w.r.t. initial conditions for a given topology. There might however be a link between the sensitivity w.r.t initial conditions and the fact that the facet and billiards could have a non-periodic behavior for a given topology.. We intend to continue exploring this class of models and to try to enrich it with other types of traffic than the long lived TCP sessions on which this first step is focused.

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


Evaluating Capture-Recapture Models with Two Inspectors Capture-recapture (CR) models have been proposed as an objective method for controlling software inspections. CR models were originally developed to estimate the size of animal populations. They have also been used to estimate the number of defects in an inspected artifact. Armed with this estimate, one can decide whether the artifact requires a reinspection to ensure that a minimal inspection effectiveness level has been attained. Little evaluative research has been performed thus far on the utility of CR models for inspections with two inspectors. Furthermore, these studies have focused on the relative error of the defect content estimates exclusively. In this paper we report on an extensive Monte Carlo simulation that evaluated six capture-recapture models for two inspectors assuming a code inspections context. In addition to relative error, we evaluate the accuracy of the reinspection decision. The latter is more congruent with the manner in which these models would be used in practice. Our results indicate that the most appropriate capture-recapture model for two inspectors is an estimator originally developed by Chapman that allows for inspectors with different capabilities. This will have a relatively high decision accuracy and will perform better than the default decision of no reinspections. Furthermore, we identify the conditions under which this estimator will perform best. A recent literature review found that, on average, software inspections find only 57% of defects in code and design documents [8] . Given the substantial defect detection cost savings that can be accrued by increasing the effectiveness 1 of inspections [8] , contemporary research has focused on improved reading techniques (e.g., see [33] [3] [19] [41] ) and on reinspections (e.g., see [24] ) for maximizing effectiveness. The focus of this paper is on maximizing inspection effectiveness through reinspections.. Reinspections can be considered part of the general problem of when to stop inspections. As is the case with testing, one needs a criterion by which to decide whether a document should be inspected anew, or whether it can pass to the subsequent phase.. Most organizations have not institutionalized procedures for deciding when to stop software inspections. Those that do have utilized, for example, historical norms so that if too many defects are found compared to the norm then this is taken as evidence of a poor document, while too few are taken as evidence of a poor inspection [24] . However, this approach assumes that variations among reviews are larger than variations among documents. If this is not the case then this can lead to reinspections of high quality documents, and low quality documents may easily pass.. To address these potential problems, one can use Capture-Recapture (CR) models. CR models were initially developed to estimate the size of animal populations (e.g., see [38] [51] ). In a software engineering context, they have been applied in controlling the testing process [4] [30] [36] [21] [37] , and more recently they have been used in controlling the inspection process [23] [24] .. When applied to software inspections, CR models can be used to estimate the number of defects in the inspected document. Using this estimate and the known number of defects found, the number of remaining defects in the inspected document can be estimated. Subsequently, armed with this information, the inspection team can make the decision as to whether the document should be reinspected to reduce its defect content before passing it on to the next phase of the life cycle.. Researchers at Bell Labs first applied CR models for requirements and design inspections [23] [24] [25] . However, in these studies the true number of defects was unknown and therefore an evaluation of their true efficacy was not possible. Later work consisted of a Monte Carlo simulation to evaluate the robustness of different CR estimators to violations of their assumptions [50] .. Objective empirical evaluation of CR models started with the study of Wohlin et al. [53] . However, this study was conducted with non-software engineering documents. Subsequent work used software engineering artifacts [10] [12] [35] [44] . All of the above work utilized models that were originally developed in wildlife research. Other researchers considered the incorporation of Bayesian methods to estimate defect content [5] , performed further evaluations of assumption violations when using CR estimates [48] , and evaluated the applicability of CR models to perspective-based reading [12] [49] .. An alternative approach was proposed in [54] , the Detection Profile Method (DPM). The DPM is an intuitively appealing approach that can be easily explained graphically to nonspecialists. A later study suggested a method for selecting between a CR model and the DPM [9] , and this was subsequently further evaluated in [39] .. In addition to the experiences reported by the researchers at Bell Labs, the use of the DPM at an insurance company in Germany was reported in [11] , and the application of CR models in telecommunications projects [1] . Therefore, there is a growing adoption of defect content estimation models in industrial practice, and specifically CR models.. Little empirical investigation of the utility of CR models for inspections with two inspectors has been conducted. Furthermore, these studies have exclusively evaluated the accuracy with which CR models can predict the number of defects in an artifact or the accuracy of the estimated number of remaining defects. However, given that the objective is to make a reinspection decision, it is also necessary to evaluate the decision accuracy using a CR model.. In this paper we present the results of an extensive Monte Carlo simulation that evaluates the relative error, dispersion, failure rate, and decision accuracy of biological CR models 2 for two-person inspections. The advantage of a simulation is that we can obtain a general picture of the utility of CR models with two inspectors. The simulation defined 48 study points that varied defect difficulty, inspector capability, and the proportion of difficult defects in an inspected artifact. The objectives of the simulation were twofold:. • Identify the best performing CR model in terms of decision accuracy. • Identify the impact of assumption violation on the decision accuracy of the different CR models.. To our knowledge, this is the first comprehensive Monte Carlo evaluation of all biological CR models for two person inspections. Furthermore, it is the first study that explicitly evaluates the reinspection decision accuracy.. Our results indicate that the best CR model for making the reinspection decision is one that was originally devised by Chapman. This estimator allows for inspectors with different capabilities and has low failure rates. Furthermore, it has a relatively high decision accuracy and performs better than the default decision of always passing a document to the next phase without a reinspection. We also identified the conditions under which this estimator would work best.. The paper is organized as follows. Section 2 presents background information about two-person inspections and reinspections in practice. In Section 3 we provide an overview of CR models. In Section 4 we specify our simulation parameters, and describe how the results were evaluated. Our results are presented in Section 5. We conclude the paper with a summary and directions for future work in Section 6. Capture-recapture models have been proposed as a means for controlling the effectiveness of software inspections, and in general that they can be used to decide when to stop inspections. In this paper we reported on an extensive Monte Carlo simulation that evaluated the accuracy of CR models for two inspectors in the context of code inspections. This study examined in detail the bias in terms of relative error, failure rates, dispersion of relative error, decision accuracy, and relative decision accuracy. For each of these we identified the conditions under which these evaluative measures will increase/decrease. Furthermore, we were able to draw conclusions about which of the models is most usable for making the reinspection decision, what accuracy to be expected from its use in general, and under what conditions it will perform the best.. The model that we found suitable is MtCh. This model accounts for differences in inspector capability but assumes that defects are of the same difficulty. The estimator is that of Chao [17] , but was originally suggested by Chapman [14] . Compared to other models, this one did not fail to provide an estimate under any of the conditions we studied, and therefore is generally usable. It will tend to underestimate if the two inspectors find few or no defects in common and if there are large variations in defect difficulty. Its bias will not be adversely affected if there are large differences in inspector capability. If the inspectors find too few or too many defects in common the dispersion of its relative error will tend to decrease, and if the variation in defect difficulty is large its relative error dispersion will tend to decrease. We did not find evidence that differences in inspector capabilities affect its relative error dispersion. If the organization defines a minimal effectiveness threshold for its inspections, then compared to other models, this model will differentiate well between inspections that exceed the threshold and those that are below the threshold, hence making it conducive to deciding when to stop inspections. When an inspection has an effectiveness that is larger than the threshold, then its underestimation is an advantage in that it will make the correct decision almost all the time. If the inspection is below the threshold, then its large relative error dispersion is an advantage in that it will frequently make the correct decision, and this will always be better than the default decision of always passing a document to the next phase. This model will perform the best in terms of making the correct reinspection decision if the inspectors do not find too many or too few defects in common, if there is not a large variation in defect difficulty, and if the organization sets challenging thresholds for itself.. Our conclusions are inconsistent with an earlier study that evaluated CR models with two inspectors using data from an experiment where the accuracy of CR models was evaluated [10] . In that study the authors concluded that capture-recapture models are not usable with two inspectors, whereas we can conclude that model MtCh is a reasonable choice. We attribute this difference to the use of Monte Carlo simulation, which allowed us to study more conditions (whereas in [10] only one condition was examined) and therefore draw more general and stronger conclusions.. While these results are encouraging for the use of capture-recapture models for making the reinspection decision, admittedly, they are not fully satisfying. First, at a conceptual level taking advantage of bias and lack of precision to make the correct reinspection decision seems cumbersome and lacks parsimony. Furthermore, the decision accuracies, while better than the default decision of always passing the document to the next phase, are frequently below the "psychological" threshold of 70% accuracy. In fact, examining the obtained decision accuracies suggests much room for improvement. We therefore strongly encourage further work on improving capture-recapture models for two inspectors, and using model MtCh as the basis. Specifically, two promising avenues are worthy of consideration.. The first avenue is improving the bias and relative error dispersion of model MtCh. One approach that can be pursued is a Bayesian one. A recent study found that subjective estimates by professional inspectors of their personal effectiveness is very accurate (median relative error of zero), and showed how this information can be used to estimate the defect content for an inspection team [26] . Therefore, there is a basis for using subjective estimates in a Bayesian framework.. The second avenue that ought to be pursued is evaluating the probability of the defect content being greater/smaller than a specific threshold value: a hypothesis testing approach. At least, under these circumstances the inspection team can obtain an indication of uncertainty in the decision of reinspection or otherwise, and a hypothesis testing approach seems more parsimonious with making a binary decision.. Finally, we also encourage the evaluation of decision accuracy in future studies of CR models since this provides greater insight into the utility of capture-recapture models for making the reinspection decision. We first present the results in terms of the relative error and number of failures. Then we present the dispersion results in terms of the RE IQR. We follow that with a detailed presentation of the RDA analysis results. This section provides the background for our study in terms of reinspections and two-person inspections. We first illustrate that performing reinspections is not a common practice in software engineering. Therefore, the default practice is to pass all documents after fixing defects found during a single inspection. Later in this paper we evaluate whether using CR models is better than such common practice. Following that we review the evidence illustrating that performing inspections with two inspectors, as opposed to a single or greater than two inspectors, can be cost effective. This indicates that two-person inspections are indeed an effective inspection team size.

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


A relational approach to functional decomposition of logic circuits Functional decomposition of Boolean functions has a profound influence on all quality aspects of costeffectively implementing modern digital systems and data-mining. The relational databases are multivalued tables, which include any truth tables of logic functions as special cases. In this article, we propose a relational database approach to the decomposition of logic circuits. The relational algebra consists of a set of well-defined algebraic operations that can be performed on multivalued tables. Our approach shows that the functional decomposition of logic circuits is similar to the normalization of relational databases; they are governed by the same concepts of functional dependency (FD) and multivalued dependency (MVD). The completeness of relational algebra demonstrated by our approach to functional decomposition reveals that the relational database is a fundamental computation model, the same as the Boolean logic circuit. Functional decomposition of Boolean functions has profound influence on all quality aspects of the cost-effective implementation of modern digital systems [Curtis 1962; Kohavi 1978; Scholl 2010] . It is clear that the single table specification of a large size Boolean function may contain undesirable redundancies that can only be eliminated by factorizing the function into several small and independent functions. Factorization is a fundamental structure problem related to complexity issues arising in many fields. Circuit complexity is an important topic that goes back to Shannon [1949] . It is obvious that modularity of the system can help to reduce the overall complexity, and the functional decomposition of logic function will make the modular synthesis of large system possible. Today, functional decomposition of logic circuits is a full-fledged research discipline driven by ever increasing needs in applications such as very large This work was supported by the Hong Kong RGC Earmarked Grant CUHK4380/02E and the NSFC under Grant 61001074. Authors' addresses: T. T. Lee, The Department of Information Engineering, The Chinese University of Hong Kong, Shatin, N.T., China; email:ttlee@ie.cuhk.edu.hk; T. Ye, State Key Lab of Advanced Optical Communication Systems and Networks, Department of Electronics Engineering, Shanghai Jiao Tong University, Shanghai, China; email: yetong@sjtu.edu.cn. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from13:2 T. T. Lee and T. Ye scale integration (VLSI) [Brayton et al. 1984] , data mining [Lang and Steinbach 2003] , and machine learning [Armstrong and Godbout 1975; Armstrong and Gecset 1979; Zupan et al. 1997] . In particular, the increasing popularity of the field programmable gate-array (FPGA) technology has generated a great deal of interest in algorithmic study for FPGA-specific design automation problems [Selvaraj et al. 1993; Józwiak and Chojnacki 2003; Sawada et al. 1995] . The functional decomposition provides a pivotal technique for look-up table (LUT)-based FPGA logic synthesis [Scholl 2010 ].. Various approaches have been proposed to explore the functional decomposition of Boolean functions. Earlier works in this area were initiated by R. L. Ashenhurst [Ashenhurst 1952 ] and H. A. Curtis [Curtis 1962] . Their approach was later widely adopted by many other researchers [Roth 1960; Karp et al. 1961; Roth and Karp 1962; Karp 1963; Brayton and McMullen 1982; Murgai et al. 1990 ]. Most existing algorithms are variations of Ashenhurst-Curtis decomposition (ACD) [Ashenhurst 1959 ] based on the Karnaugh map and decomposition chart, a traditional tabular representation of Boolean functions. For example, PLA decomposition was proposed in Sasao [1989] and Yang and Ciesielski [1989] , and generalized to multiple-valued decompositions [Waliuzzaman and Vranesic 1970; Hurst 1984; Kabat and Wojcik 1985; Fang and Wojcik 1988; Józwiak and Chojnacki 2003] . Recently, most works on functional decomposition have used binary decision diagrams (BDDs) as the underlying data structure. These almost took over the field of logic synthesis after the 90s [Lai et al. 1993; Lai et al. 1996; Murgai et al. 1990; Murgai et al. 1991a Murgai et al. , 1991b . Again, the decision diagrams are represented as successive partitioning of the Karnaugh map into smaller and smaller rectangles.. In this article, we propose a relational database approach deduced from the decomposition theory developed in relational databases [Codd 1970 ; Lee et al. 2006; Maier 1983; Garcia-Molina et al. 2008] . The relational data model is the simplest but most versatile way to manage information. It is focused on the organization of data into collections of tables, called relations. In relational databases, normalization is the process of removing redundant data from relational tables by decomposing (splitting) a relational table into smaller tables by projection, which in turn saves space and reduces manipulation anomalies. In order to be correct, decomposition must be information-lossless. That is, the new tables can be recombined to recreate the original table without creating any spurious data.. The relational databases are multivalued tables, which include any truth tables of logic functions as special cases. Relational algebra consists of a set of well-defined algebraic operations such as projection and join that can be performed on multivalued tables. Thus, the extension of the database normalization theory provides a natural and unified approach for the functional decomposition of the entire class of logic functions. Our investigation reveals that the theory of functional decomposition of Boolean functions is parallel to the normalization theory of relational databases; they are governed by the same concepts of functional dependency (FD) and multivalued dependency (MVD) [Wong et al. 1998; Bouckaert 1994; Beeri et al. 1983; Maier 1983] . All decomposition algorithms proposed in our article are formulated by using relational algebra. This is the major difference between the relational approach and the existing methods based on Karnaugh maps. Theoretically, Turing machines and Boolean circuits are considered as two fundamental computation models. The completeness of relational algebra in functional decomposition of logic circuits demonstrated in this article reveals the fact that relational databases are also a fundamental computation model, the same as Boolean logic circuits.. Our methodology focuses on the application of functional dependency (FD) and multivalued dependency (MVD) [Wong et al. 1998; Bouckaert 1994; Beeri et al. 1983; Maier 1983] , which are vital concepts used to study the information-lossless properties in the construction of decomposition algorithms for Boolean functions. Partitions play an important role in our approach. The set of minterms of a truth table is partitioned into blocks according to some equivalence relations, and each block, or equivalence class, of the partition represents a set of minterms of a Boolean component. We show that both FD and MVD can be represented by bipartite graphs with specific topological properties that are delineated by partitions of minterms. It follows that our algorithms are procedures of synthesizing those specific bipartite graphs of interest to meet the lossless criteria of functional decomposition. To the best of our knowledge, functional and multivalued dependencies (FD and MVD) have never before been applied in this specific context.. The principle of our basic disjoint decomposition algorithm lies on the merge of equivalent columns in the decomposition matrix to remove redundancies in the underlying truth table. The bipartite graphic representations of FDs and MVDs are facilitated to prove that the information contained in the truth table is preserved by the decomposition algorithm. The decomposition matrix of nondisjoint decomposition can be organized in diagonal form, such that each submatrix in the diagonal can be treated as a disjoint decomposition matrix. Thus, it is straightforward to generalize the basic algorithm to the case of nondisjoint decomposition. The decompositions of incompletely specified functions are governed by the same set of rules, except that there are many alternative combinations to merge the columns of the decomposition matrix. Due to unspecified values in the truth table, the final solution may not be unique, and it is determined by cliques of compatible columns. Our relational approach is developed in the context of partitions associated with Boolean variables in the truth table. Thus, the proposed decomposition algorithms can be naturally extended to multivalued Boolean functions without any amendments.. The rest of this article is organized as follows. Section 2 introduces notions of a relational data model to facilitate necessary background information, and to provide the motivation of the relational database approach to the decomposition of Boolean functions. In Section 3, we construct the algorithm for simple disjoint decomposition. In Section 4, the algorithm is generalized to multiple decomposition. Section 5 considers the nondisjoint decomposition. In Section 6, we discuss the incompletely specified function. Section 7 is devoted to the decomposition of multivalued Boolean functions. Finally, the conclusion and future research direction are summarized in Section 8. In this article, an approach based on a relational model for investigating the functional decomposition of Boolean function is developed. The basic concept of the decomposition of the Boolean function lies in the notions of functional dependency and multivalued dependency that can be portrayed by bipartite graphs with specific topological properties that are delineated by partitions of minterms. It follows that our algorithms are procedures of constructing those specific bipartite graphs of interest to meet the lossless criteria of functional decomposition. Many design issues related to the decompositions of Boolean functions, such as optimization issues, logic circuits with multiple outputs, and acyclic decomposition of a large circuit into a network of plural smaller circuits, are interesting and challenging research problems in their own right, and deserve further investigation in the future. To show the superiority of the relational approach, we compare the FDA-γ algorithm to the partition-based method proposed in Rawski et al. [1997] to solve the nondisjoint decomposition. The theorem given in Rawski et al. [1997] to decompose the function. F has a serial decomposition with respect to Y |Z.. To facilitate the comparison, we take the truth table given in Figure 10 as an example. Recall that the set Z = {x 1 , x 2 , x 3 }, Y = {x 2 , x 4 , x 5 } and Y ∩ Z = {x 2 }. To decompose this truth table, the method given in Rawski et al. [1997] first calculates the following partitions of minterms corresponding to the set Y , Z, and F. For instance, the partition associated with the input set Y is given as follows.. P(Y ) = {P 000 ; P 001 ; P 010 ; P 011 ; P 100 ; P 101 ; P 110 ; P 111 } (13) 4, 16, 20; 1, 5, 17, 21; 2, 6, 18, 22; 3, 7, 19, 23; 8, 12, 24, 28; 9, 13, 25, 29; 10, 14, 26, 30; 11, 15, 27, 31}. (14) This step is similar to the initialization step of generating a decomposition matrix in the FDA-γ algorithm. The next step is to find the unknown partition π G that satisfies the conditions given in the preceding theorem. This step will tentatively merge two blocks of π Y to obtain a new partition π Y , and test to see whether the product π Z · π Y is less than π F . The drawback of this method is that the tentative merge in the second step is completely random, which does not guarantee that the resulting partition π G has a minimum number of blocks |π G | even if the resulting partition π G satisfies the preceding conditions. Thus, the computation complexity of finding an optimal partition π G can be huge if π B has a large number of blocks. For example, suppose the following blocks of π Y are randomly merged.. to form a partition π G that contains 3 blocks. It is clear that |π G | = 3 is not the minimum number of blocks, even though π G satisfies the condition. In contrast to this method, the FDA-γ algorithm guarantees that the final partitions not only satisfy the FD and MVD conditions but also have the minimal number of blocks as shown by the example given in Section 5.

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


Anthropomorphism and AI: Turing's much misunderstood imitation game The widespread tendency, even within AI, to anthropomorphize machines makes it easier to convince us of their intelligence. How can any putative demonstration of intelligence in machines be trusted if the AI researcher readily succumbs to make-believe? This is (what I shall call) the forensic problem of anthropomorphism. I argue that the Turing test provides a solution. This paper illustrates the phenomenon of misplaced anthropomorphism and presents a new perspective on Turing's imitation game. It also examines the role of the Turing test in relation to the current dispute between human-level AI and 'mindless intelligence'. Irrespective of the theoretical merits of Turing's test, there are the familiar economic arguments against employing it. David Waltz, for example, recently claimed that in the future 'few agencies or industries are likely to fund research whose primary goal is to pass some variant of the Turing Test'. 72 Yet even if Waltz is correct, those researchers who do want to develop machines with human-level intelligence will require some standard for determining success. Without a criterion of human-level intelligence in machines, it is impossible even to theorize about building such devices. Moreover, building human-level AI requires a test of intelligence in machines that is not undermined by our tendency to anthropomorphize. The Turing test is anthropomorphism-proofed.

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


Efficient static analysis of XML paths and types We present an algorithm to solve XPath decision problems under regular tree type constraints and show its use to statically typecheck XPath queries. To this end, we prove the decidability of a logic with converse for finite ordered trees whose time complexity is a simple exponential of the size of a formula. The logic corresponds to the alternation free modal µ-calculus without greatest fixpoint, restricted to finite trees, and where formulas are cycle-free.Our proof method is based on two auxiliary results. First, XML regular tree types and XPath expressions have a linear translation to cycle-free formulas. Second, the least and greatest fixpoints are equivalent for finite trees, hence the logic is closed under negation.Building on these results, we describe a practical, effective system for solving the satisfiability of a formula. The system has been experimented with some decision problems such as XPath emptiness, containment, overlap, and coverage, with or without type constraints. The benefit of the approach is that our system can be effectively used in static analyzers for programming languages manipulating both XPath expressions and XML type annotations (as input and output types). The main result of our paper is a sound and complete algorithm for the satisfiability of decision problems involving regular tree types and XPath queries with a tighter 2 O(n) complexity in the length of a formula. Our approach is based on a sub-logic of the alternationfree modal µ-calculus with converse for finite trees.. Our proof method reveals deep connections between this logic and XPath decision problems. First, the translations of XML regular tree types and a large XPath fragment are cycle-free and linear in the size of the corresponding formulas in the logic. Second, on finite trees, since both operators are equivalent, the logic with a single fixpoint operator is closed under negation. This allows to address key XPath decision problems such as containment.. Finally, there are a number of interesting directions for further research that build on ideas developed here: extending XPath to restricted data values comparisons that preserves this complexity, for instance data values on a finite domain, and integrating related work on counting [8] to our logic. We also plan on continuing to improve the performance of our implementation. The XPath containment problem has attracted a lot of research attention in the database community, where the focus was given to the study of the impact of different XPath features on the containment complexity (see [28] for an overview). The complexity of XPath satisfiability in the presence of DTDs also is extensively studied in [3] . From these results, we know that XPath containment with or without type constraints ranges from EXPTIME to undecidable. Most formalisms used in the context of XML are related to one of the two logics used for unranked trees: first-order logic (FO), and Monadic Second Order Logic (MSO). FO and relatives are frequently used for query languages since they nicely capture their navigational features [2] . In a attempt to reach more expressive power, the work found in [1] proposes a variant of Propositional Dynamic Logic (PDL) with an EXPTIME complexity. MSO, specifically the weak monadic second-order logic of two successors (WS2S) [9] , is one of the most expressive decidable logic used when both regular types and queries [2] are under consideration. WS2S satisfiability is known to be non-elementary. A drawback of the WS2S decision procedure is that it requires the full construction and complementation of tree automata.. Some temporal and fixpoint logics closely related to MSO have been introduced and allow to avoid explicit automata construction. The propositional modal µ-calculus introduced in [22] has been shown to be as expressive as nondeterministic tree automata [11] . Since it is trivially closed under negation, it constitutes a good alternative for studying MSO-related problems. Moreover, it has been extended with converse programs in [31] . The best known complexity for the resulting logic is obtained through reduction to the emptiness problem of alternating tree automaton which is in 2 O(n 4 ·log n) , where n corresponds to the length of a formula [18] .. Unfortunately the logic lacks the finite model property. From [31] , we know that WS2S is exactly as expressive as the alternation-free fragment (AFMC) of the propositional modal µ-calculus. Furthermore, the AFMC subsumes all early logics such as CTL and PDL (see [2] for a complete survey on tree logics).. The goal of the research presented so far is limited to establishing new theoretical properties and complexity bounds. Our research differs in that we seek precise complexity bounds, efficient implementation techniques, and concrete design that may be directly applied to the type checking of XPath queries under regular tree types.. In this line of research, some experimental results based on WS2S, through the Mona tool [21] , have recently been reported for XPath containment [15] . However, for static analysis purposes, the explosiveness of the approach is very difficult to control due to the non-elementary complexity. Closer to our contribution, the recent work found in [29] provides a decision procedure for the AFMC with converse whose time complexity is 2 O(n·log n) . However, models of the logic are Kripke structures (infinite graphs). Enforcing the finite tree model property can be done at the syntactic level [29] , and this has been further developed in the XML setting in [14] . Nevertheless, the drawback of this approach is that the AFMC decision procedure requires expensive cycle-detection for rejecting infinite derivation paths for least fixpoint formulas. The present work shows how this can be avoided for finite trees. As a consequence, the resulting performance is much more attractive. In an earlier work on XML type checking, a logic for finite trees was presented [30] , but the logic is not closed under negation.. In [7] , a technique is presented for statically ensuring correctness of paths. The approach only deals with emptiness of XPath expressions without reverse axes, whereas our approach solves the more general problem of containment, including reverse axes.. The work [25] presents an approximated technique that is able to statically detect errors in XSLT stylesheets. Their approach could certainly benefit from using our exact algorithm instead of their conservative approximation. The XDuce [19] , CDuce [4] , and XStatic [13] languages support pattern-matching through regular expression types but not XPath. A survey on existing research on statically type checking XML transformations can be found in [25] .

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


Inbreeding and outbreeding depressions in the Penna model as a result of crossover frequency Abstract: The population in the sexual Penna ageing model is first separated into several reproductively isolated groups. Then, after equilibration, sexual mixing between the groups is allowed. We study the changes in the population size due to this mixing and interpret them through a counterplay of purifying selection and of haplotype complementarity. In sexual reproduction, as opposed to asexual reproduction, the genomes of the two parents are mixed, and within the diploid genome of each parent happens crossover. This way of reproduction has advantages as well as disadvantages compared with asexual cloning of haploid genomes. An advantage is that bad recessive mutations do not affect the health if they are present in only one of the two haplotypes (= sets of genetic information). A disadvantage is the reduced number of births if only the females produce offspring while the males consume as much food and space as the females. Moreover, crossover of two different genomes may produce a mixture which is fitter than each the two parents but also one which is less fit, as seen these days in the DaimlerChrysler car company (outbreeding depression). For small populations, the probability is higher that the two parents have the same bad recessive mutation which therefore diminishes the health of the individual (inbreeding depression). We varied the parameters of the sexual Penna ageing model, in particular by separating the population into reproductively isolated groups and/or having longer bit-strings and a high minimum age of reproduction. We could observe and interpret inbreeding depression, outbreeding depression, and outbreeding advantage, through the counterplay of purifying selection and of haplotype complementarity. Purifying selection tries to have as few mutations in the bit-strings, like haplotype 00000000 for L = 8, while haplotypes 01100101 and 10011010 are complementary. In both cases, deleterious effects from mutations are minimised.

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


Further Functorial Properties of the Reticulation In this article we prove a set of preservation properties of the reticulation functor for residuated lattices (for instance preservation of subalgebras, finite direct products, inductive limits, Boolean powers) and we transfer certain properties between bounded distributive lattices and residuated lattices through the reticulation, focusing on Stone, strongly Stone and m-Stone algebras. In this paper we continue the study we began in [24] and [25] on the reticulation of a residuated lattice. All the definitions and properties from the previous two articles that we need in the sequel can be found in Section 2, together with other known results and a few simple new ones that will also be necessary in the following sections.. In [25] we proved certain preservation properties of the reticulation functor for residuated lattices, L. In Section 3 we continue this study, proving that L preserves subalgebras and finite direct products, does not preserve quotients (but there exists a surjective morphism from the quotient of the reticulation to the reticulation of the quotient), preserves inductive limits and Boolean powers. Our goal is to use such preservation results for a transfer of properties between residuated lattices and bounded distributive lattices through the reticulation.. We begin the research of such properties that can be transferred through the reticulation in Section 4, which is focused on Stone and strongly Stone lattices and residuated lattices. Here, we prove that a residuated lattice is Stone (respectively strongly Stone, respectively m-Stone) iff its reticulation is Stone (respectively strongly Stone, respectively m-Stone). We also show that the Boolean algebra of the co-annihilator filters of a residuated lattice and that of its reticulation are isomorphic. Through the reticulation, we transfer a known characterization of m-Stone bounded distributive lattices to m-Stone residuated lattices. We conclude by two remarks related to a characterization of Stone pseudocomplemented distributive lattices that is not valid for residuated lattices.. In future articles we will continue our research on the transfer of properties between the category of bounded distributive lattices and that of residuated lattices through the reticulation functor. This transfer of properties between different categories is the very purpose of the reticulation.

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


Hierarchical structuring of layout problems in an interactive evolutionary layout system This paper focuses on computer-based generative methods for layout problems in architecture and urban planning with special regard for the hierarchical structuring of layout elements. The generation of layouts takes place using evolutionary algorithms, which are used to optimize the arrangement of elements in terms of overlapping within a given boundary and the topological relations between them. In this paper, the approach is extended by a data structure that facilitates the hierarchical organization of layout elements making it possible to structure and organize larger layout problems into subsets that can be solved in parallel. An important aspect for the applicability of such a system in the design process is an appropriate means of user interaction. This depends largely on the calculation speed of the system and the variety of viable solutions. These properties are evaluated for hierarchical as well as for nonhierarchical structured layout problems. Layout is the arrangement of elements, usually within a given area for a particular purpose. In the context of architecture and urban design it relates to the arrangement of spatial elements (e.g., parcels, buildings, rooms) on certain scales. Scales denote the different contexts of a design (e.g., urban neighborhood, building volumes, functional areas, floor plans). Jo and Gero (1998) describe layout as "the assignment of discrete space elements to their corresponding locations while the space elements have relationships among each other.". The design of layouts is of central importance in architecture and urban design. The arrangement, shape, and proportions of elements have a decisive impact on the quality and sustainability of buildings, neighborhoods, or entire cities. Depending on the project and the context a range of different requirements needs to be met. To meet these requirements, the conventional design process involves making assumptions at the beginning of the process, which are then constantly reviewed and refined. A prerequisite for this is a significant reduction in the complexity of a design problem with the aid of guiding images or principles (Lawson, 2006) . These guiding principles, which are set at the highest level of scale or abstraction, then define the framework for design decisions at lower levels of scale. Such procedures are known as top-down strategies, whereby the functional requirements are usually subordinated to the guiding image. The aim of the efforts in the development of computer-based methods for solving layout problems is to assist the designer in complex tasks using bottom-up strategies that make it possible to take into account complex functional criteria on different scales more or less equally.. The creative development of a design task usually takes place independently of the optimization of functional considerations. Conversely, the automated generation of designs using computer-based methods is undertaken without taking account of subjective ideas or creative intentions. A central area of potential for improving computer-aided design processes can be seen in the consideration of both creative design and optimization methods. In this paper we will first clarify which generative methods are suitable for such an approach (Section 2) and the need for interaction in such systems (Section 3). We then present a mechanism for solving layout problems (Section 4) and apply it to hierarchical structured and nonhierarchical structured layout problems. Finally, we review the special characteristics, advantages and disadvantages of both types (Section 5).

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


Selective Flexibility: Creating Domain-Specific Reconfigurable Arrays Abstract-Historically, hardware acceleration technologies have either been application-specific, therefore lacking in flexibility, or fully programmable, thereby suffering from notable inefficiencies on an application-by-application basis. To address the growing need for domain-specific acceleration technologies, this paper describes a design methodology (i) to automatically generate a domain-specific coarse-grained array from a set of representative applications and (ii) to introduce limited forms of architectural generality to increase the likelihood that additional applications can be successfully mapped onto it. In particular, coarse-grained arrays generated using our approach are intended to be integrated into customizable processors that use applicationspecific instruction set extensions to accelerate performance and reduce energy; rather than implementing these extensions using application-specific integrated circuit (ASIC) logic, which lacks flexibility, they can be synthesized onto our reconfigurable array instead, allowing the processor to be used for a variety of applications in related domains. Results show that our array is around 2× slower and 15× larger than an ultimately efficient ASIC implementation, and thus far more efficient than fieldprogrammable gate arrays (FPGAs), which are known to be 3-4× slower and 20-40× larger. Additionally, we estimate that our array is usually around 2× larger and 2× slower than an accelerator synthesized using traditional datapath merging, which has, if any, very limited flexibility beyond the design set of DFGs. This paper described a methodology to automatically generate domain-specific coarse-grained reconfigurable arrays from a partially complete set of representative applications. The method automatically introduces generality into the array, which increases the likelihood that additional applications belonging to the same domain, or to a related domain, will map successfully onto it. In particular, this approach supports late design changes to the application software or to a mix of applications that are not fully known at design time. The experiments showed that the approach offers far greater flexibility than traditional ASIC merging, while providing far superior logic density in comparison to an FPGA. An additional advantage is the reduced design effort and time-to-market for future custom hardware accelerators. We strongly believe that current technology trends favor increased heterogeneity and acceleration technologies, which may not have been feasible, either economically or technologically, in prior eras. Thus, we conclude that our approach explores a new direction of great importance that will improve the process by which hardware acceleration technologies are conceived.

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


Protein Folding in Simplified Models With Estimation of Distribution Algorithms Abstract-Simplified lattice models have played an important role in protein structure prediction and protein folding problems. These models can be useful for an initial approximation of the protein structure, and for the investigation of the dynamics that govern the protein folding process. Estimation of distribution algorithms (EDAs) are efficient evolutionary algorithms that can learn and exploit the search space regularities in the form of probabilistic dependencies. This paper introduces the application of different variants of EDAs to the solution of the protein structure prediction problem in simplified models, and proposes their use as a simulation tool for the analysis of the protein folding process. We develop new ideas for the application of EDAs to the bidimensional and tridimensional (2-d and 3-d) simplified protein folding problems. This paper analyzes the rationale behind the application of EDAs to these problems, and elucidates the relationship between our proposal and other population-based approaches proposed for the protein folding problem. We argue that EDAs are an efficient alternative for many instances of the protein structure prediction problem and are indeed appropriate for a theoretical analysis of search procedures in lattice models. All the algorithms introduced are tested on a set of difficult 2-d and 3-d instances from lattice models. Some of the results obtained with EDAs are superior to the ones obtained with other well-known population-based optimization algorithms.Index Terms-Estimation of distribution algorithm (EDAs), hydrophobic-polar (HP) model, protein folding, protein structure prediction.

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


Efficient QoS Partition and Routing of Unicast and Multicast Abstract-In this paper, we study problems related to supporting unicast and multicast connections with quality of service (QoS) requirements. We investigate the problem of optimal routing and resource allocation in the context of performance dependent costs. In this context, each network element can offer several QoS guarantees, each associated with a different cost. This is a natural extension to the commonly used bi-criteria model, where each link is associated with a single delay and a single cost. This framework is simple yet strong enough to model many practical interesting networking problems.An important problems in this framework is finding a good path for a connection that minimizes the cost while retaining the end-to-end delay requirement. Once such a path (or a tree, in the multicast case) is found, one needs to partition the end-to-end QoS requirements among the links of the path (tree). We consider the case of general integer cost functions (where delays and cost are integers). As the related problem is NP complete, we concentrate on finding efficient -approximation solutions. We improve on recent previous results by Ergün et al. Lorenz and Orda, and Raz and Shavitt, both in terms of generality as well as in terms of complexity of the solution. In particular, we present novel approximation techniques that yield the best known complexity for the unicast QoS routing problem, and the first approximation algorithm for the QoS partition problem on trees, both for the centralized and distributed cases. Q UALITY OF SERVICE (QoS) support is a growing need in broadband networks. Many modern applications require better service than the Internet's best effort mechanism. There have been numerous suggestions for QoS provisioning and it has been the focus of many recent studies. Indeed, there is a growing consensus that QoS support in the Internet is necessary. Almost any QoS framework requires a QoS Routing (QoSR) mechanism, and this has been the subject of many proposals, as described in [1] - [3] and references therein. QoSR aims at setting the connection topology for an application, i.e., a path for unicast and a tree for multicast, based on its QoS requirements and some optimization criteria.. Many of the QoSR algorithms first restrict the route selection to a set of feasible routes, which have sufficient resources to guarantee the QoS requirements of the application, and then choose an optimal route out of this set. The optimization criterion is generally defined in terms of a "cost", namely: there is a cost associated with ensuring a specific QoS guarantee on a specific route. Naturally, this cost is higher for more stringent requirements, such as larger bandwidth or shorter delay. In many cases, the cost is not explicitly given but rather implied. An implied cost mechanism is quite flexible and may be used to incorporate different considerations.. Link considerations The cost may represent the consumption of local resources that must be reserved on every link of the route to support the QoS guarantee. These may include buffer or bandwidth reservations.. Network considerations QoSR may be used to improve overall network efficiency or enforce fairness. The cost may represent the decrease in overall network performance from establishing the selected connection. For instance, there may be loss of revenue due to blocked future calls, or there may be management costs.. User considerations There are several proposals for pricing schemes for different QoS classes. Given such a pricing scheme, the user would attempt to choose the cheapest feasible route.. Other considerations Other optimization criteria may be expressed in terms of costs. For instance, where there is parameter uncertainty, the cost may represent the probability of a bad estimate.. Identifying feasible routes may be a difficult task, and its complexity corresponds to the intricacy of the QoS mechanisms (scheduling, signaling, and resource reservation) and of the required QoS guarantee. The constraints on the feasible set may be relaxed to include routes that are feasible with just "high" probability or that provide just statistical guarantees. The QoS guarantees themselves may be imposed on the whole connection or on each individual link. The latter typically requires mapping the application's end-to-end requirements into local requirements.. In this paper, we investigate a model in which a performancedependent cost is associated with each network link. The goal of the QoSR process is to identify a route and a set of local demands on its links as to minimize the overall cost incurred. A feasible allocation of demands must satisfy the end-to-end requirement of the application.. In order to illustrate the framework of our study, consider a voice-over-IP session. Such an application requires a delay bound of say 120 ms in order to be at an acceptable quality level. Assume further that the participants in the call are located at different locations and the links between them can travel through different administrative domains. One could construct different paths connecting the participants in the call, each resulting with different QoS (delay) guaranteed by the different providers according to the different service level agreements (SLAs) we have with each. Even if the path is fixed (i.e., we cannot change the routing), we could still decide to partition the delay "budget" in various ways among the different providers. Among all such partitions that guarantee the required QoS, we would seek to use the one that is most cost-effective. Fig. 1 illustrates such a scenario. Assume a voice session from node to node . There are several possible paths for this session, each using different links that represent different ISPs. Each ISP offers three levels of service (Gold, Silver, Bronze) each having a different QoS (delay) guaranteed for a different cost (as described in the small tables along each link). If our delay limit is 120 ms, then we can choose the path with service levels Bronze on the first link and Gold on the second. This results in a guaranteed delay of 120 ms at a cost of 12 units. However, we can also choose the path , with Silver levels at each of the links and have the same guaranteed delay for a cost of only 10 units. As we indicated above, even for a fixed path one can get different costs for the same delay via different partitions. For example, by choosing the service levels Gold, Bronze, and Gold, on the respective links of the path , instead of Silver levels at all links, we have a guaranteed delay of 100 ms for a reduced cost of only 7 units.. The optimal solution must be chosen out of all combinations of route and demand allocation, namely it is a combined routing and resource allocation optimization problem. In order to associate costs to delays, we employ integer functions, which better fit practical purposes (see [4] and references therein). We also focus on additive (e.g., delay) QoS requirements, which are typically harder to solve for than bottleneck (e.g, rate) requirements (see [5] for a more detailed discussion).. This model and related problems were recently addressed by several works. Some studies assumed that the route (i.e., unicast path or multicast tree) is given and only the resource allocation part of the problem is solved. Heuristics for loss rate guarantees on unicast connections were presented in [6] . Optimal solutions for convex cost functions were discussed in [7] under the broader scope of a general resource allocation problem. An optimal solution for (weakly) convex cost functions and improved results for specific cost functions were presented in [4] , [5] , and [8] . Heuristics for the resource allocation problem for multicast connections were given in [9] , and the problem was optimally solved in [5] . A variant of this problem for rate guarantees was studied in [10] , and a more efficient solution was given in [11] . 1 Distributed optimal solutions were presented in [5] , and a detailed version for multicast connections was given in [4] .. The combined problem of partition and routing of QoS requirements was also addressed. Optimal multicast tree construction is a very complex problem even in simpler frameworks (e.g., constrained Steiner tree [12] ), thus the combined route selection and resource allocation problem was solved only for unicast connections. Optimal solutions were presented in [13] for rate demands and rate-based delay requirements, and in [8] for general (integer) delay requirements with convex cost functions.. Although these problems have been proven to be intractable, efficient -approximations may be derived. The approximate solutions are -optimal in the sense that their cost is within a factor of of the optimal cost. The running time is polynomial in , that is, there is a tradeoff between the accuracy of the solution and the computational effort needed to find it. An approximation scheme for the combined routing and resource allocation problem was introduced in [8] . That approximation scheme required several limiting assumptions, including convexity of the cost functions. A fully polynomial approximation scheme (FPAS) for general (integer) costs was recently obtained by [14] .. A special case of practical interest was studied by [4] . That study assumed discrete costs, 2 meaning that each link offers only a limited number of QoS guarantees (and costs) instead of the complete spectrum of requirements. Under this assumption, [4] presented strictly polynomial approximations for the combined routing and resource allocation problem and for the multicast resource allocation problem as well.. This paper presents efficient approximation schemes for general integer cost functions and end-to-end delay requirements. Previous approximation schemes [4] , [8] , [14] were all derived from approximations to the restricted shortest path problem obtained by [15] and were restricted only to either acyclic graphs or nonzero costs. A more efficient approximation scheme for that problem was proposed in [16] . We use similar techniques, which apply to general (i.e., also cyclic) graphs and allow for links with zero cost; in addition we present the first polynomial time approximation scheme for the optimal resource allocation problem on multicast trees with general integer cost functions. Furthermore, our results improve upon the previous ones in terms of time complexity, namely: they have a better time complexity than the results of [14] for integer costs and the results of [4] for discrete costs.. To illustrate the significance of this latter contribution, consider a network of a moderate size, say 100 nodes, and suppose the delay is measured in milliseconds, and the cost values range from 1 to 1000. Then, in order to approximate the optimal solution within 1% (i.e., ), the best previously known algorithm would require an order of instructions, while our algorithm only needs an order of instructions. In other words, a solution of the same quality can now be achieved within seconds rather than within hours. For networks of larger size, of say 1000 nodes, our algorithm would require an order of instructions, while the best previously known algorithm would require an order of instructions. Practical aspects of this work and an evaluation of the actual (rather than worst-case) running time and solution quality are out of the scope of this study and can be found in [17] .. The rest of this paper is structured as follows. Sections II-V discuss the combined path selection and resource allocation problem for unicast connections. Section II formulates the model and problems and presents pseudo-polynomial solutions, which are the basis for our approximations. In Section III, we present approximation techniques, which rely on tight lower and upper bounds on the cost of an optimal solution. The problem of efficiently finding such bounds is solved in Section IV and the full approximation process is given in Section V. Section VI applies similar approximation techniques to solve the resource allocation problem on multicast trees. Finally, concluding remarks are given in Section VII. In this paper, we studied efficient approximations to optimal routing and resource allocation in the context of performancedependent costs.. We established fully polynomial approximation schemes for the following problems.. Problem OPQR The combined optimal routing and partition problem for unicast connections.. Problem M-OPQ Optimal partition of end-to-end QoS requirements on a multicast tree, including a distributed implementation. We also presented improved results for the two important special cases of convex cost functions and discrete cost functions.. We presented the first fully polynomial approximation scheme (FPAS) for Problem OPQR that is not limited to either acyclic networks or links with nonzero costs. Our approximations are valid for general costs, and in particular to nonconvex cost functions. In addition, we presented the first FPAS for Problem M-OPQ that applies to general cost functions.. Our results significantly improve upon previous results, in every context of cost functions that has been investigated. Specifically:. General costs The approximation scheme of [14] achieves an overall complexity of , where is a trivial upper bound on the cost of any link and . Our approximation scheme provides a significant improvement in terms of computational complexity. The exact comparison involves a cumbersome algebra and is thus omitted; as an indication to the extent of the improvement, we note that our approximation outperforms that of [14] by a factor of more than either or , depending on the relative order of magnitude of the input parameters.. Convex costs For Problem OPQR, efficient approximations for convex cost functions were studied in [8] . However, that approximation requires several more assumptions on the cost functions, e.g., that the maximal cost on any link is bounded. Those assumptions were reasonable in the context studied in [8] , namely uncertainty of network parameters, but they are too restrictive for the general case considered here. In contrast, our results do not rely on those assumptions. On the other hand, when only QoS partitioning is considered (i.e., the routing is given), the convexity assumption allows for exact polynomial solutions for both unicast and multicast [5] ; moreover, the (exact) solution of [5] for Problem M-OPQ outperforms our approximation also in terms of complexity.. Discrete costs We improved the results of [4] for discrete cost functions (see Section V-A). Our approximation has a significantly better (above ) time complexity for both unicast and multicast connections.. Future research should focus on the open problem of multicast routing in this framework. Future work should also consider the application of our methods to specific cost functions, in particular those that arise in practical QoS applications. Such an investigation would potentially allow for more efficient approximations. We also believe that simple cases (e.g., uniform or linear cost functions) should simplify the task of multicast routing. The problems studied in this work handle a single connection request. This corresponds to the typical scenario in which sessions appear sequentially hence should be handled one at a time. Nevertheless, the case in which multiple concurrent sessions can be handled simultaneously also deserves attention and is left for future work. Dr. Lorenz received the Gutwirth Award for outstanding distinction in 1998 and 1999.

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


Toward an engineering discipline for grammarware Grammarware comprises grammars and all grammar-dependent software. The term grammar is meant here in the sense of all established grammar formalisms and grammar notations including context-free grammars, class dictionaries, and XML schemas as well as some forms of tree and graph grammars. The term grammar-dependent software refers to all software that involves grammar knowledge in an essential manner. Archetypal examples of grammar-dependent software are parsers, program converters, and XML document processors. Despite the pervasive role of grammars in software systems, the engineering aspects of grammarware are insufficiently understood. We lay out an agenda that is meant to promote research on increasing the productivity of grammarware development and on improving the quality of grammarware. To this end, we identify the problems with the current grammarware practices, the barriers that currently hamper research, and the promises of an engineering discipline for grammarware, its principles, and the research challenges that have to be addressed. We have argued that current software engineering practices are insufficiently aware of grammars, which is manifested by an ad hoc and manual treatment of both-grammars as such and grammatical structure as it occurs in software components. We have compiled an agenda that is meant to stimulate research on the engineering aspects of grammarware. We have identified promises and principles of the engineering discipline for grammarware.. The promises are increased productivity of grammarware development, improved evolvability, and improved robustness of grammarware. The principles are akin to state-of-the-art software engineering. For instance, the principle "implement by customization" corresponds to a grammarware-tailored instance of model-driven development [Mellor et al. 2003; OMG 2004] ; the principle "separate concerns" requires advanced means of modularization, just as in aspectoriented programming [Kiczales et al. 1997; Elrad et al. 2001] ; the principles • P. Klint et al. "evolve by transformation" and "ensure quality" are well in line with agile methodologies as they are becoming common in today's software engineering.. We call for a major research effort, which is justified by the pervasiveness of grammars in software systems and development processes. We have provided a substantial list of challenges, which can be viewed as skeletons for doctoral projects. Such challenges need to be addressed in order to make progress with the emerging discipline of grammarware engineering.

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