Automated program flaw finding using simulated annealing One of the major c(~sts in a software project is the construction of test-data. This pal~r outlines a generalised test-case data generation framework bas:d on optimisation techniques. The framework can incorporate ant mber of testing criteria, for both functional and non-functional pro[¢rties. Application of the optimisation framework to testing sp, ~ zification failures and exception conditions is illustrated. The res alts of a number of small case studies are presented and show thz efficiency and effectiveness of this dynamic optimisation-base a :)proach to generating test-data. Software testing is an expensive process, typically consuming at least 50% of the tc:al costs involved in developing software [3] , while adding nothing to the functionality of the product. It remains, however, the primar J method through which confidence in software is achieved. Automition of the testing process is desirable both to reduce developmenl costs and also to improve the quality of (or at least confidence in) ~oftware. While automation of the testing process -the maintenar ce and execution of tests -is taking hold commercially, the auton:ation of test-data generation has yet to find its way out of academ! ~. Ould has suggested that it is this automation of test-data generati )n which is vital to advance the state-of-the-art in software testing i [ 17] .. Many techniques fi,r generating test-data have been developed. These can broadly he classified into static and dynamic methods. Static techniques d¢ not require the software under test to be executed. They genera)[ y use symbolic execution to obtain constraints Permission to make digita/hard copies of all or part of this material for personal or classroom use is granted without fee provided that the copies are not made or distribute I for profit or commercial advantage, the copyright notice, the title ofth~ publication and its date appear, and notice is given that copyright is by aermission of the ACM, Inc. To copy otherwise, to republish, to post on se~ vers or to redistribute to lists, requires specific permission and/or fee.. ISSTA 98 Clearwater Beach Florida USA Copyright 1998 0-89791-)71-8/98/03..$5.00 on input variables for the particular test criterion. Solutions to these constraints represent the test-data. Many of the limitations of the static techniques come from their use of symbolic execution. It is difficult to analyse recursion, dynamic data-structures, array indices which depend on input data and some loop structures using symbolic execution. Also, the problem of solving arbitrary constraint systems is known to be intractable. However, it is often the case that the constraints which arise from real software are in a subset of general constraint systems which can be solved. In contrast, dynamic methods require that the software under test is executed. Dynamic methods generally involve a directed search for test-data which meets a desired criterion. However the computational expense involved in repeated execution can mean that obtaining test-data is computationally intractable for complex software with a large parameter space. Figure 1 shows the major approaches presented in the literature [5, 15, 12, 6, 22, 16, 13, 10] . The arrows in the figure indicate the progression of ideas and methods through the various approaches. While the 1980s saw the emergence of formal methods as a focus of academic research attention, the 1990s has seen the growth once more of software testing research. This is, possibly, partly due to the realisation that the use of formal methods does not obviate the need for good software testing and also the realisation that software testing can provide a cost-effective means of verification.. All of these previous approaches focus on generating test-case data in a narrow area; they all aim to generate test-data for testing functional properties, with most selecting test-data using structural testing criteria. The application of many of these techniques is limited by lack of generality. This lack of generality can be seen in the limited data-types or control-flow structures which some of the techniques can process and also in the limited testing criteria of the others. The aim of the present work is to develop a generalised framework for test-case data generation. The objectives are to automate the generation of test-case data to satisfy both black and white box testing of functional properties and also non-functional properties. This paper focuses on two applications of this general framework: the first relates to falsification of program specifications (functional testing), the second relates to exception condition testing (non-functional testing).. The generality of the approach comes from the use of optimisation techniques. Optimisation techniques are a flexible and powerful search method with an ability to find good results for many extremely difficult problems. The next two sections outline methods for guiding a search to select test-data to illustrate specification failures and exception conditions. Because of the size and complexities of the search space it is unlikely that exhaustive or simple neighbourhood search strategies would obtain good test-data. Therefore Many of the approaches for automated software test-data generation presented in the literature are inflexible or have limited capacity. They are often limited to particular data-types or control-flow structures and can often only process the lowest level routines.. Optimisation techniques are a flexible and powerful approach to solving difficult problems. To allow the optimisation technique to generate test-data for a new testing criteria it is necessary only to devise a suitable objective function. Because of this it is hoped that it will be possible to build a general framework which can be used to generate test-data for a wide class of testing criteria.. The results presented in this paper are encouraging and justify further work in the field. The ability to obtain test-data illustrating 7For example, if optimisation fails to find test-data illustrating a specification failure that does no imply that the software must be correct, it simply means that the search failed to find any such failures. specification failures or exception conditions automatically could save a significant amount of time and money (time and money which would have been spent on unsuccessful proof attempts) in the development software, particularly safety-critical software where such formal specifications are readily available.. As with all testing approaches, we can only show the presence of faults not their absence. Indeed the failure of the search to find flaw illustrating test-cases does not indicate that the software is correct, only that the search failed. However, given an intensive directed search for flaws, the failure to find flaws does increase confidence in the quality of the software which is after all the aim of testing. The tools we provide for falsification based on heuristic optimisation need not be of high integrity (that is not to say they need not be of a high quality!) even when testing safety critical code. We view them as producing test-cases that can be checked by other means. This is important since the algorithms are stochastic and it is difficult to reason about their efficacy for application to arbitrary code. We envisage them being used within a wider and integrated set of verification and validation tools.

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


A lifecycle model for simulating bacterial evolution This paper presents a lifecycle model (LCM) to simulate bacterial evolution from a finite population of Escherichia coli (E. coli) bacteria. The potential of this approach is in relating the microscopic behaviors of single bacterial cell to the macroscopic effects of bacterial colonies. This can be accomplished via use of an individual-based modeling method under the framework of agent-environment-rule (AER). Here, our study focuses on investigating the behaviors at different developmental stages in E. coli lifecycle and developing a new biologically inspired methodology for static or dynamic systems. The experimental results through a varying environment demonstrates that our model can be used to study under which circumstances a certain bacterial behaviors emerges, and also give an inspiration to design a new biological optimization algorithm being used for optimization problems. Escherichia coli, or E. coli is probably the best-understood microorganism, and well studied in various aspects of microbiology science [16, 4, 5, 15] . Its entire genome has been sequenced into 4639221 A, C, G, and T ''letters''-adenosine, cytosine, guanine, and thymine [14] . Understanding of these single-cell organisms is an essential step towards understanding more complex organisms.. In biology, the term lifecycle refers to the various phases an individual passes through from birth to maturity and reproduction. This process often leads to drastic transformations of the individuals with stage-specific adaptations to a particular environment. The lifecycle of E. coli has three major stages: a free swimming stage spent searching for prey in water of soil, a growth stage spent inside the periplasm of the prey bacterium, and a lysis stage spent when getting insufficient nutrition form environment [13] .. The fundamental unit of bacterial life, encapsulating action and information interaction as well as variability, is the cell. Therefore, it seems appropriate to construct ecological models in terms of individual cells and their behaviors. The existing extensive literature on modeling cells and their behaviors is almost based on classical mathematical approaches [9, 12] . Those approaches always restricted the minds of modelers. This paper presents a bio-inspired computational model, which simulates a population of individual E. coli bacteria during their whole lifecycle.. There are many bio-inspired computational models, such as genetic algorithm (GA) [10] , particle swarm optimization (PSO) [8, 11] and ant system (AS) [6] . GA is a model to mimic the behaviors of evolution process in natural system specifically those that follow Darwin's principle of survival of the fittest. PSO is a collaborative population-based stochastic optimization model, which is inspired by the social behaviors of organisms, such as bird flocks and fish schools. AS algorithm is inspired by the behaviors of real ants finding the shortest path between their nest and a food source.. In the above models, they are all established based on population-based modeling approach. In a population-based model, the individuals follow the same rules and take the same actions simultaneously (all individuals are identical). In addition, the behaviors of a certain individual cannot be controlled and tracked.. Unlike the population-based method, our proposed model-lifecycle model (LCM) is developed using an individual-based modeling (IBM) approach. Compared with the population-based modeling approach, IBM possesses a more flexible and robust capability for simulating bacterial system, where there are a large number of individuals (cells) which have their own behavior dynamics influenced by the other individuals and the environment. In LCM, each individual corresponds to an autonomous artificial bacterium in the simulated domain. They possess different properties and the behaviors of each individual can be controlled and tracked.. The primary objective of the study is to investigate the behaviors at different developmental stages in their lifecycle. The secondary objective is to construction of a biologically inspired artificial ecology being of interest in itself.. The experimental results through a varying environment demonstrates that our model can be used to study under which circumstances a certain bacterial behavior emerge, and also give an inspiration to design a new biological optimization algorithm being used for optimization problems. A lifecycle model (LCM) concerned with modeling ecological and evolutionary processes of E. coli bacteria is proposed in this paper. LCM is based on an agent-environment-rule (AER) scheme, in which the complex individual behaviors, including learning and adaptation, can emerge from cells following simple rules in a society. The details of some typical evolutionary behaviors such as chemotaxis, reproduction, extinction, and migration have been described and the detailed algorithm used to model those behaviors are given.

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


Dynamic native optimization of interpreters For domain specific languages, "scripting languages", dynamic languages, and for virtual machine-based languages, the most straightforward implementation strategy is to write an interpreter. A simple interpreter consists of a loop that fetches the next bytecode, dispatches to the routine handling that bytecode, then loops. There are many ways to improve upon this simple mechanism, but as long as the execution of the program is driven by a representation of the program other than as a stream of native instructions, there will be some "interpretive overhead".There is a long history of approaches to removing interpretive overhead from programming language implementations. In practice, what often happens is that, once an interpreted language becomes popular, pressure builds to improve performance until eventually a project is undertaken to implement a native Just In Time (JIT) compiler for the language. Implementing a JIT is usually a large effort, affects a significant part of the existing language implementation, and adds a significant amount of code and complexity to the overall code base.In this paper, we present an innovative approach that dynamically removes much of the interpreted overhead from language implementations, with minimal instrumentation of the original interpreter. While it does not give the performance improvements of hand-crafted native compilers, our system provides an appealing point on the language implementation spectrum. Certain kinds of programming languages lend themselves to an interpreted implementation: languages with a high degree of dynamism (e.g., dynamic OO languages), or with a premium on fast startup and smaller programs (e.g., scripting languages), or where simplicity of implementation is important. Indeed, it can be argued that nearly all sufficiently complex applications have elements of interpretation throughout 1 .. Typically, the language front end will transform the surface syntax of a program to an intermediate representation of the program (e.g., bytecodes) that is then interpreted. A simple interpreter consists of a loop that fetches the next bytecode, dispatches to the routine handling that bytecode, then loops. There are many ways to improve upon this simple mechanism, but as long as the execution of the program is driven by a representation of the program other than as a stream of native instructions, there will be some "interpretive overhead".. We take an approach that is a combination of native Just In Time (JIT) compiler and partial evaluation techniques. We start with a dynamic optimization system called DynamoRIO, jointly developed at HP Labs and MIT. We give a quick overview of the DynamoRIO system in Section 2.. DynamoRIO records sequences of native instructions, which are subsequently partially evaluated with respect to the in-memory representation of the program being interpreted.. Suppose the application program is represented as an immutable vector of bytecodes, and we have a long trace of native instructions. If we look carefully at the trace, there will typically be a value (we call it the "Logical PC") used as an index into the bytecode vector, and there will be sequences of instructions as follows:. 1. Fetch the next bytecode, using the logical PC as an index into the vector; 2. Possibly dereference other nearby bytecodes, to be used as arguments to the handler for this bytecode; 3. A certain amount of conditional control flow may take place based on the value of the bytecode (e.g., a switch statement); 4. Jump to bytecode-specific instructions; 5. Increment the logical PC by a fixed amount; 6. Repeat.. The key insight of dynamic native partial evaluation is that if we know the starting logical PC at the start of the above sequence, then:. 1. Dereferences from the bytecode array, indexed by the logical PC, can be statically folded to constants, 2. Conditional branches based on now constant values can be removed entirely, and 3. Direct increments to the logical PC can be identified and tracked, thus enabling continued partial evaluation. The research presented in this paper is a proof-of-concept for the idea of applying general purpose dynamic optimization techniques and native dynamic partial evaluation to interpreters.. We are currently working on applying this version of DynamoRIO to "real" interpreters, including OCAML and Kaffe. OCAML is a well-implemented threaded interpreter for a variant of the ML language. Kaffe is a very slow implementation, using recursive tree walking, of Java; Kaffe's interpreter can afford to be extremely slow, because the implementation also includes a reasonable JIT compiler. We expect very good results from applying our technology to OCAML. For Kaffe, we are generalizing the DynamoRIOinterpreter API to allow for multiple "logical PC" like values and to allow those values to be on the stack (to handle recursive interpretation).. There are also a number of straightforward engineering improvements that should improve the performance of the system.. We do not handle long loops within single bytecode implementations -they are unrolled in place. Currently we simply specify a maximum number of blocks per trace, and truncate the trace if we hit the maximum. We would like to avoid this sort of loop unrolling in the first place, and translate back jumps as jumps.. We are investigating adding more sophisticated alias analysis in order to enable constant propagation to track constant values through memory. There will always be interpreted languages, and only some implementation efforts can afford the time and money to produce a native compiler.. We present a novel approach to improving the performance of interpreters. The interpreters do not have to be written in a particular style; they need only annotatations identifying a logical PC and regions of immutable memory (particularly the program representation). DynamoRIO then performs trace recording and aggressive partial evaluation of the X86 code to produce substantially optimized traces of the running interpreter. We have applied these techniques to simple interpreters and shown that this approach can provide substantial speedups with minimal instrumentation from the interpreter writer. We are currently working on applying these techniques to more sophisticated interpreters. Moore and Leach [27] describe writing threaded interpreters. Piumarta and Riccardi [29] go further with dynamically generated bytecode sequences.. Dynamic compilation has proven essential for efficient implementation of high-level languages [13, 1] . Some just-in-time compilers perform profiling to identify which methods to spend more optimization time on [20] . The Jalapeño Java virtual machine [3, 23] utilizes idle processors in an SMP system to optimize code at runtime. Jalapeño optimizes all code at an initial low level of optimization, embedding profiling information that is used to trigger reoptimization of frequently executed code at higher levels. Self [19] uses a similar adaptive optimization scheme.. Staged dynamic compilers postpone a portion of compilation until runtime, when code can be specialized based on runtime values [11, 17, 24, 25, 16] . These systems usually focus on spending as little time as possible in the dynamic compiler, performing extensive offline pre-computations to avoid needing any intermediate representation at runtime. API-less dynamic optimization systems include Dynamo [4] for PA-RISC; Wiggins/Redstone [12] , which employs program counter sampling to form traces that are specialized for a particular Alpha machine; and Mojo [7] , which targets Windows NT running on IA-32, but has no available information beyond the basic infrastructure of the system. Kistler [21] proposes "continuous program optimization" that involves operating system re-design to support adaptive dynamic optimization.. Hardware dynamic optimization of the instruction stream is performed in superscalar processors. The Trace Cache [31] allows such optimizations to be performed off of the critical path.. Dynamic translation systems resemble dynamic optimizers in that they cache native translations of frequently executed code. Domains include instruction set emulation [9, 15] and binary compatibility [8, 22] . Recent dynamic translation systems such as UQDBT [33] and Dynamite [30] separate the source and target architectures to create extensible systems that can be re-targeted.. Dynamic instrumentation can be used to build runtime code analyzers and, to some degree, runtime code modifiers. Both Dyninst [6] and Vulcan [32] can insert code into running processes. It is based on dynamic instrumentation technology [18] developed as part of the Paradyn Parallel Performance Tools project [26] .. Other related fields include link-time optimization [28, 10] and lowoverhead profiling [2, 14] .

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


Association between objective and subjective measurements of comfort and discomfort in hand tools In the current study the relationship between objective measurements and subjective experienced comfort and discomfort in using hand saws was examined. 12 carpenters evaluated five different hand saws. Objective measures of contact pressure (average pressure, pressure area and P-t integral) in static and dynamic conditions, muscle activity (EMG) of five muscles of the upper extremity, and productivity were obtained during a sawing task. Subjective comfort and discomfort were assessed using the Comfort Questionnaire for Hand tools and a scale for Local Perceived Discomfort (LPD). We did not find any relationship between muscle activity and comfort or discomfort. The P-t integral during the static measurement (beta=-0.24, p<.01) was the best predictor of comfort and the pressure area during static measurement was the best predictor of local perceived discomfort (beta=0.45, p<.01). Additionally, productivity was highly correlated to comfort (beta=0.31, p<.01) and discomfort (beta=-0.49, p<.01). Tool design may play an important role in the development of work-related problems in the hand and forearm. By improving the ergonomic properties of hand tools the health of users and their job satisfaction might be positively affected . In order to recognize ergonomically well-designed and comfortable hand tools, many hand tool evaluation studies have been conducted. Most studies combined objective measurements (to measure physical load) with subjective experiences of the subjects (to measure comfort or discomfort; e.g., Kluth et al., 2004; Strasser et al., 1996; Groenesteijn et al., 2004; Chang et al., 1999; Li, 2003; Kong and Freivalds, 2003, Freund et al., 2000) .. Subjective measurements are most common when hand tools are evaluated with respect to comfort and discomfort. Most of them are focussed on discomfort experience. Methods to assess discomfort are 1) assessing the intensity of discomfort using a map of the palmar side of the hand (Groenesteijn et al., 2004; Kilbom et al., 1993; Kuijt-Evers et al., 2005) , 2) rating handle discomfort (Kong and Freivalds, 2003; Chang et al., 1999 ) and 3) rating discomfort of whole body and hand . In other studies, properties of hand tools are evaluated like general handiness, and suitability for longer work (Kluth et al., 2004; Freund et al., 2000; Strasser, 1996; Chang et al., 1999; Groenesteijn et al., 2004) . Comfort experience is considered in only a few hand tool evaluation studies (Kuijt-Evers et al., 2005; Freund et al., 2000) .. Subjective evaluations have some clear disadvantages: they require a large number of subjects and are therefore time-consuming (Lee et al., 1993) , and they are influenced by personal preferences (Chen et al., 1994 ) (e.g., using always the same brand). Moreover, there are some common known sources of unreliability of using subjective measures, like time error and context effects (Annet, 2002) . In some cases, factors which have nothing to do with comfort or discomfort may influence the results. Therefore, objective measurements are used in addition to subjective measurements (e.g., electromyography (EMG) (e.g., Strasser et al., 1996; Fellows and Freivalds, 1991; Freund et al., 2000; Habes and Grant, 1997; Niemelä et al., 2000; Chang et al., 1999; Kadefors et al., 1993) , hand-wrist postures (Eikhout et al., 2001; Kadefors et al., 1993) , and grip force distribution and grip force (Fellows and Freivalds, 1991; Chang et al., 1999; McGorry, 2003) . All the above mentioned objective measures have proven to discriminate between hand tools. For example, differences in EMG were found between different types of masons' trowels, file handles, shovel handles and plate shears (Strasser et al., 1996; Kluth et al., 2004; Chang et al., 1999; Kilbom et al., 1993) . A new designed scraper influenced hand-wrist postures (Eikhout et al., 2001 ) and grip force was found to discriminate between different types of plate-shears, meat cutting knives and shovel handles McGorry et al., 2003; Chang et al., 1999) .. In the previous paragraphs, we argued that subjective measurements are preferred when evaluating hand tools on comfort and discomfort, as comfort and discomfort are subjective feelings. However, as subjective measurements have some clear disadvantages, it would be interesting if we could measure comfort and discomfort objectively. However, information is lacking for the relationship between objective measurements and subjective comfort and discomfort experience in hand tool evaluation. Hence, the usefulness of objective measures for measuring comfort and discomfort are unknown. The main goal of the current study is to investigate the relationship between objective and subjective measures, by assessed comfort and discomfort.. Avoiding negative health effects and providing more job satisfaction for workers are not the only reason to pay attention to the design of comfortable hand tools. Employers also want their employees to achieve high work efficiency. Therefore, hand tools should stimulate high work efficiency too. Providing comfort and avoiding discomfort on the one hand and a high productivity on the other hand are not necessarily contradictive. Some studies suggest that hand tools which provide more comfort and less discomfort seem to be associated to a higher productivity (e.g., Eikhout, 2001 ). However, correlation coefficients are, as far as we know, not calculated yet. Hence, the second aim of the present study is to identify the relationship between comfort or discomfort and productivity when using hand tools.. To achieve both goals, a hand tool evaluation study was designed in which five hand saws were evaluated. The research questions are: 1) does a relationship exist between muscle activity (measured by EMG) and hand contact pressure (average pressure, pressure area and pressure-time (Pt-)integral) on the one hand and subjective ratings of comfort and discomfort on the other hand in using hand saws? 2) Is productivity related to subjective ratings of comfort and discomfort in using hand saws?. The results of this study can be helpful to interpret objective data in terms of comfort and discomfort and indicate the most relevant objective types of measurement for the evaluation of comfort and discomfort in using hand tools. Additionally, the results may subscribe the importance of focussing on comfort and discomfort in hand tool design, if relationships exist between productivity and more comfort and less discomfort. Based on our findings we conclude that EMG measurements can not be used as an objective measurement to subscribe subjective measured comfort or discomfort experience using hand tools for dynamic tasks. Contact pressure can not be used as a predictive measurement of comfort experience too. On the other hand, contact pressure (i.e., pressure area) is an appropriate objective measurement to support subjective findings on discomfort in using hand tools.. Moreover, this contact pressure measurement can be useful to designers in hand grip design.. Additionally, from the productivity point of view, it is also important to design comfortable hand tools as they affect productivity in a positive way. In this study the relationships between objective measurements (i.e. contact pressure, EMG and productivity) and subjective comfort and discomfort experience were studied. Before the relationships were studied, the differences between the hand saws were considered. Although, the hand saws differed in design (the hand grip as well as the saw blade), they all look similar regarding quality, shape and size, except for hand saw E. In order to calculate the relationships it would have been better if more differences between hand saws existed. On the other hand, when. these results are applied to hand tool evaluation studies nowadays, the differences between hand tools of the same kind will be very small and still it would be good if differences could be shown.. In next sections, the relationships between objective measurements and experienced comfort/discomfort will be discussed.

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


Randomized Cache Placement for Eliminating Conflicts Abstract| Applications with regular patterns of memory access can experience high levels of cache con ict misses. In shared-memory multiprocessors con ict misses can be increased signi cantly by the data transpositions required for parallelization. Techniques such as blocking which are introduced within a single thread to improve locality, can result in yet more con ict misses. The tension between minimizing cache con icts and the other transformations needed for ecient parallelization leads to complex optimization problems for parallelizing compilers.This paper shows how the introduction of a pseudorandom element into the cache index function can e ectively eliminate repetitive con ict misses and produce a cache where miss ratio depends solely on working set behavior. We examine the impact of pseudo-random cache indexing on processor cycle times and present practical solutions to some of the major implementation issues for this type of cache.Our conclusions are supported by simulations of a superscalar out-of-order processor executing the SPEC95 benchmarks, as well as from cache simulations of individual loop kernels to illustrate speci c e ects. We present measurements of Instructions committed Per Cycle (IPC) when comparing the performance of di erent cache architectures on whole-program benchmarks such as the SPEC95 suite. If the upward trend in processor clock frequencies during the last ten years is extrapolated over the next ten years, we will see clock frequencies increase by a factor of twenty during that period 1]. However, based on the current 7% per annum reduction in DRAM access times 2], memory latency can be expected to reduce by only 50% in the next ten years. This potential ten-fold increase in the distance to main memory has serious implications for the design of future cache-based memory hierarchies as well as for the architecture of memory devices themselves.. Each block of main memory can be placed in exactly one set of blocks in cache. The chosen set is determined by the indexing function. Conventional caches typically extract a eld of m bits from the address and use this to select one block from a set of 2 m . Whilst easy to implement, this indexing function is not robust. The principal weakness is its susceptibility to repetitive con ict misses. associativity can help to alleviate such con icts, but is not an e ective solution for repetitive and regular con icts.. One of the best ways to control locality in dense matrix computations with large data structures is to use a tiled (or \blocked") algorithm. This is e ectively a re-ordering of the iteration space which increases temporal locality. However, previous work has shown that the con icts introduced by tiling can be a serious problem 3]. In practice, until now, this has meant that compilers which tile loop nests really ought to compute the maximal con ict-free tile size for given values of B, major array dimension N and cache capacity C. Often this will be too small to make it worthwhile tiling a loop, or perhaps the value of N will not be known at compile time. Gosh et al. 4 ] present a framework for analyzing cache misses in perfectly-nested loops with a ne references. They develop a generic technique for determining optimum tile sizes, and methods for determining array padding sizes to avoid con icts. These methods require solutions to sets of linear Diophantine equations and depend upon there being su cient information at compile time to nd such solutions. Table I highlights the problem of con ict misses with reference to the SPEC95 benchmarks. The programs were compiled with the maximum optimization level and instrumented with the atom tool 5] . A data cache similar to the rst-level cache of the Alpha 21164 microprocessor was simulated: 8 KB capacity, 32-byte lines, write-through and no write allocate. For each benchmark we simulated the rst 2 30 load operations. Because of the no-write-allocate feature, the tables below refer only to load operations. Table I shows the miss ratio for the following cache organizations: direct-mapped, two-way associative, columnassociative 6], victim cache with four victim lines 7], and two-way skewed-associative 8], 9].. Of these schemes, only the two-way skewed-associative cache uses an unconventional indexing scheme, as proposed by its author. For comparison, the miss ratio of a fullyassociative cache is shown in the penultimate column. The miss ratio di erence between a direct-mapped cache and that of a fully-associative cache is shown in the right-most column of table I, and represents the direct-mapped con ict miss ratio (CMR) 2]. In the case of hydro2d and apsi some organizations exhibit lower miss ratios than a fullyassociative cache, due to sub-optimality of lru replacement in a fully-associative cache for these particular programs. E ectively, the direct-mapped con ict miss ratio represents Cache miss ratios for direct-mapped (DM), 2-way set-associative (2W), column-associative (CA), victim cache (VC), 2-way skewed associative (SA), and fully-associative (FA) organizations. Conflict miss ratio (CMR) is also shown. the target reduction in miss ratio that we hope to achieve through improved indexing schemes. The other type of misses, compulsory and capacity, will remain unchanged by the use of randomized indexing schemes.. As expected, the improvement of a 2-way set-associative cache over a direct-mapped cache is rather low. The column-associative cache provides a miss ratio similar to that of a two-way set-associative cache. Since the former has a lower access time but requires two cache probes to satisfy some hits, any choice between these two organizations should take into account implementation parameters such as access time and miss penalty. The victim cache removes many con ict misses and outperforms a fourway set-associative cache. Finally, the two-way skewedassociative cache o ers the lowest miss ratio. Previous work has shown that it can be signi cantly more e ective than a four-way conventionally-indexed set-associative cache 10].. In this paper we investigate the use of alternative index functions for reducing con icts and discuss some practical implementation issues. Section II introduces the alternative index functions, and section III evaluates their con ict avoidance properties. In section IV we discuss a number of implementation issues, such as the e ect of novel indexing functions on cache access time. Then, in section V, we evaluate the impact of the proposed indexing scheme on the performance of a dynamically-scheduled processor. Finally, in section VI, we draw conclusions from this study. In this paper we have discussed the problem of cache conict misses and surveyed the options for reducing or eliminating those con icts. We have described pseudo-random indexing schemes based on polynomial modulus functions, and have shown them to be robust enough to virtually eliminate the repetitive cache con icts caused by bad strides inherent in some SPEC95 benchmarks, as well as eliminating those introduced into an application by the tiling of loop nests.. We have highlighted the major implementation issues that arise from the use of such novel indexing schemes. For example, Ipoly indexing uses more address bits than a conventional cache to compute the cache index. Also, the use of di erent indexing functions at level-1 and level-2 caches results in the occasional eviction at level-1 simply to maintain Inclusion. We have explained that both of these problems can be solved using a two-level virtual-real cache hierarchy. Finally, we have proposed a memory address prediction scheme to avoid the penalty due to the small potential delay in the critical path introduced by the pseudo-random indexing function.. Detailed simulations of an out-of-order superscalar processor have demonstrated that programs with signi cant numbers of con ict misses in a conventional 8 KB 2-way skewed-associative cache perceive IPC improvements of 33% (with address prediction) or 27% (without address prediction). This is up to 16% higher than the IPC improvements obtained simply by doubling the cache capacity. Furthermore, from the programs we analyzed, those that do not experience signi cant con ict misses on average see only a 1.7% reduction in IPC when Ipoly indexing appears on the critical path for computing the e ective address, and address prediction is used. If the indexing logic does not appear on the critical path no deterioration in overall average performance is experienced by those programs.. We believe the key contribution of pseudo-random indexing is the resulting predictability of cache behavior. In our experiments we found that Ipoly indexing reduces the standard deviation of miss ratios across SPEC95 from 18.49 to 5.16. This could be bene cial in real-time systems where unpredictable timing, caused by the possibility of pathological miss ratios, presents problems. If con ict misses are eliminated, the miss ratio depends solely on compulsory and capacity misses, which in general are easier to predict and control. Con ict avoidance could also be bene cial when iteration-space tiling is used to improve data locality.. VII. Acknowledgments

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


Suboptimal Adaptive Filter for Discrete-Time Linear Stochastic Systems This paper considers the problem of recursive filtering for linear discrete-time systems with uncertain observation. A new approximate adaptive filter with a parallel structure is herein proposed. It is based on the optimal mean square combination of arbitrary number of correlated estimates which is also derived. The equation for error covariance characterizing the mean-square accuracy of the new filter is derived. In consequence of parallel structure of the filtering equations the parallel computers can be used for their design. It is shown that this filter is very effective for multisensor systems containing different types of sensors. A practical implementation issue to consider this filter is also addressed. Example demonstrates the accuracy and efficiency of the proposed filter. The problem of estimating the system state in linear stochastic systems with unknown parameters is considered. When system models and Gaussian white noise statistics are completely known, the optimal mean-square estimate of state is given by the Kalman filter (KF). However, we often encounter the estimation problem for systems with completely or partially unknown operating in an environment. In order to estimate such systems optimally or suboptimally, we must use an adaptive estimator [1] , [2] , or a self-organizing estimator [3] , which is able to identify the dynamics or statistics during a given interval of time and to make appropriate adjustments in the estimates to compensate for uncertainties in system models. Many methods are available for the adaptation of systems [1] - [6] . Among existing methods, in this paper we are interested in the partitioned adaptive method that is mathematically based on Bayesian approach [4] - [6] . According to this approach, the unknown parameter θ is assumed to be random with a prior known distribution p(θ).. It is known that the linear filtering problem with unknown parameters, i.e., the adaptive filtering problem reduces to a nonlinear filtering problem, which has difficulties in its realization. The partitioned adaptive filtering constitutes a partitioning of the original nonlinear filter into bank of much simpler linear Kalman filters. In this case the optimal mean-square estimate of the state is given by a weighted sum of the model-or parameter-conditional estimates. This realization is very simple to implement physically. However, weighted coefficients depend on current observations and it is rather difficult to implement in real-time, especially for multidimensional dynamic systems.. In this paper, we propose an alternative adaptive filtering method without the additional assumption about a prior probability p(θ) of the parameter θ. This method represents estimate of the state as optimal mean-square linear combination (weighted sum) of parameter-conditional estimates with coefficients depending only on time and independent of current observations. This paper is organized as follows. Section 2 provides a brief presentation of Lainiotis' partition theorem on adaptive filtering. Section 3 presents the new suboptimal adaptive filter for linear discrete-time systems with uncertain observation, which reduce the complexity of the optimal LainiotisKalman adaptive filter. Here we also derive an optimal mean square combination of an arbitrary number correlated estimates. In particular, for two estimates this combination represents the well-known Millman and Bar-Shalom-Campo formulae for uncorrelated and correlated estimation errors, respectively. Section 4 gives numerical example of linear system and Sect. 5 is the conclusion. The new suboptimal adaptive filtering algorithm was derived for a linear discrete-time dynamic systems, especially for multisensor environments to fuse local sensor's estimates to get more accurate estimates [14] , [15] . This filter represents the optimal mean-square linear combination of arbitrary number of "local" correlated Kalman estimates. The equation for error covariance characterizing the accuracy of the filter was derived. In experimental results, the proposed filter improves the computational efficiency at a cost of the accuracy degradation. It is also expected that this filter may be used as an alternative of the adaptive LainiotisKalman filter.. The proposed suboptimal adaptive filter can be widely used in the different areas of applications: industrial, military, space, communication, target tracking, inertial navigation and others [1] , [7] - [9] , [12] , [14] .

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


SAR Image Regularization With Fast Approximate Discrete Minimization Abstract-Synthetic aperture radar (SAR) images, like other coherent imaging modalities, suffer from speckle noise. The presence of this noise makes the automatic interpretation of images a challenging task and noise reduction is often a prerequisite for successful use of classical image processing algorithms. Numerous approaches have been proposed to filter speckle noise. Markov random field (MRF) modelization provides a convenient way to express both data fidelity constraints and desirable properties of the filtered image. In this context, total variation minimization has been extensively used to constrain the oscillations in the regularized image while preserving its edges. Speckle noise follows heavy-tailed distributions, and the MRF formulation leads to a minimization problem involving nonconvex log-likelihood terms. Such a minimization can be performed efficiently by computing minimum cuts on weighted graphs. Due to memory constraints, exact minimization, although theoretically possible, is not achievable on large images required by remote sensing applications. The computational burden of the state-of-the-art algorithm for approximate minimization (namely the -expansion) is too heavy specially when considering joint regularization of several images. We show that a satisfying solution can be reached, in few iterations, by performing a graph-cut-based combinatorial exploration of large trial moves. This algorithm is applied to joint regularization of the amplitude and interferometric phase in urban area SAR images. T HERE are nowadays many synthetic aperture radar (SAR) satellite sensors (EnviSat, Radarsat, ALOS, etc.) providing a huge amount of SAR images. The popularity of such sensors is linked to their all-weather and all-time capabilities, combined with their polarimetric and interferometric potential. The interferometric data, which are phase difference images, give either elevation or movement information. The launch of new sensors with improved resolution in 2007 (TerraSAR-X [47] and CosmoSkyMed [39] ) opens new fields of applications. Particularly, the computation of digital elevation models (DEM) becomes feasible with metric interferometric images, specially when tandem configurations will be available. These new data will contribute to urban monitoring which is an important issue for governmental agencies (risk analysis, disaster management, environmental protection, urban development planning, ). In this paper, we are interested in filtering of SAR images for the the purpose of building delineation to perform 3-D reconstruction.. However, SAR images are difficult to interpret not only with automatic image processing tools but also by human interpreters. This is mainly due to two specificities of the SAR system: first, SAR is coherent imagery and, therefore, subject to the speckle phenomenon; secondly, due to the microwave propagation, images are distance sampled leading to strong geometrical distortions.. Speckle is due to the interferences of waves reflected by many elementary reflectors inside a resolution cell. Although speckle has been extensively studied and is well modeled in some particular cases [23] , [28] , [30] , speckle reduction remains one of the major issue in SAR image processing. Many filters have been proposed in the last twenty years and they can be classified in two categories: filters without explicit scene modeling based on minimum mean square error, and those with the explicit assumption of a scene distribution based on the maximum a posteriori (MAP) or maximum likelihood criterion.. The first family contains the famous Lee [35] , Kuan [34] , and Frost [19] filters. More recent papers work in the wavelet domain [1] . In the second family, scene distribution hypothesis have lead to different filtering: Gaussian [33] , Gamma [40] , Fisher [42] . More elaborated models assuming that the scene is a Gaussian Markov random field [53] or establishing the probability density functions of the wavelet coefficients to do MAP filtering [18] have been developed.. Independently of the chosen filtering formula, parameter estimation is a crucial point. Indeed, the number of samples should be as big as possible, whereas the local stationarity should be verified inside the processing window. To solve this dilemma, many approaches have been proposed: gradient detection inside the analysis window [36] , growing window strategy [43] , [52] , [54] , feature (line, point, edge) detection [40] . Two excellent reviews with comparisons and improvements of many SAR filters can be found in [38] and [51] .. One of the main interest of the Markovian framework is its ability to take into account both local non stationarity, specially the presence of edges, and a data acquisition model. Generally, the filtering corresponds to the computation of the MAP estimator. It consists of the minimization of an energy combining two types of information: a data driven term and a regularization term [22] . The first one is given by the physical mechanisms of radar processing. The second one reflects our knowledge about the reality of the imaged scene (also called "prior" term in the following). In the case of urban areas, many sharp discontinuities exist either in the amplitude image or in the interferometric one. Many models/priors have been investigated to cope with image discontinuities. There is a family of explicit edge processes [11] , [22] and a family of well chosen functions which naturally preserve discontinuities [6] , [21] . More recently, since the seminal work of [48] , a great interest has been given to the minimization of total variation (TV) [12] , [15] , [41] , [44] , [45] due to its edge preserving behavior while still leading to a convex optimization problem. Various multiplicative noise models using TV have been proposed [2] , [17] , [49] .. Actually, the choice of the regularization function is closely linked to the optimization problem. Indeed, one of the main limitation to Markov random fields (MRF) in image processing was the optimization step. Although simulated annealing [22] has excellent theoretical performances, in practice, the computational burden might be very heavy. Deterministic approaches such as iterated conditional modes [4] often converges toward a local minimum which can be far away from the exact solution. Thanks to graph-cut methods, i.e., computation of a s-t minimum cut or by duality a maximum flow in a graph, exact discrete optimization schemes have been developed in some specific cases.. Such a combinatorial method has first been proposed in [46] for minimizing binary a class of energies. Then, Greig et al. [24] have used this approach to the study the behavior of the Ising model for binary image restoration. More recently, it has been shown in [32] that this approach works for any binary field whose prior is composed of pair-wise or triple-wise binary submodular functions. The case of nonbinary fields has been addressed by few works. In [8] , an excellent approximation result is presented where the prior corresponds to a semi-metric. Ishikawa has proposed a framework for exact optimization of convex regularization functions in the gray-level case [27] . With a different graph but the same size as the one of Ishikawa, exact optimization schemes for convex or levelable priors are also defined in [16] . In [14] , it is shown that the approach of [8] converges toward a global minimizer for a subclass of non convex energies.. For convex energies, iterative approaches that allow to build much smaller graph are proposed in [5] , [13] , and [31] . The particular case of the TV minimization has been addressed in [10] and [16] . Note that all of the above approaches are due to the efficient maximum flow/s-t minimum cut algorithm described in [7] .. The contributions of the paper are the following: We propose a new fast algorithm for SAR scene reflectivity restoration and also for the joint regularization of amplitude and interferometric phase images. We have chosen to consider TV prior which is well adapted for urban areas. As will be seen in the next part, the data driven term is not convex. In this case, either [16] or [27] could provide exact optimization algorithms but at the price of a huge memory space due to the graph size. The -expansion algorithm of [8] could also provide an approximate solution, but with a quite heavy computational burden. A new algorithm is presented providing a fast and approximate solution and able to deal with joint regularization of amplitude and phase image. The graph is of similar size to the one used to perform -expansions, but based on a different principle. The obtained local minimum has been found satisfying in different practical cases. Empirical studies have shown that the minimum is very close to the global minimum computed by [16] with a great improvement of the needed memory space and of computation time.. The remainder of the article is organized as follows. In Section II, the MRF model is presented, and particularly the data driven term in the case of SAR and InSAR images is detailed. Section III is dedicated to the presentation of our optimization algorithm after recalling other graph-cut-based methods. In Section IV, the model and minimization algorithm are compared to other methods. They are then applied to real InSAR images in the context of 3-D reconstruction in urban areas. Section VI concludes about the proposed method. Speckle noise can be effectively reduced in SAR images with a MRF approach. TV minimization results in smoothed homogeneous regions while preserving sharp transitions. The Markovian formulation provides a convenient way to incorporate priors and to perform joint regularization. We have shown on real data that this can help to prevent over-regularization effects of objects that are visible in different images (such as amplitude and interferometric phase). Moreover, the contours of the jointly regularized images are more precise as all information is merged.. Heavy-tailed distributions such as Nakagami law that governs SAR amplitude lead to nonconvex likelihood terms. The underlying minimization problem for MAP estimation is, therefore, difficult and many local minimum are present. Graph-cuts offer an efficient approach for these optimization problems. Although graph-cut-based algorithms that exactly minimize the target energy are known, they can hardly be applied in practice due to computational and memory constraints. We derived a minimization algorithm suitable for (joint) regularization of large images.. The regularized images obtained both on synthetic and real data were satisfying. The algorithm is faster than existing graphcut-based techniques. We have shown that joint regularization can be performed with little computation overload. It helps preventing loss of small objects (over-regularization) by merging all information.. The regularization prior chosen (TV) is responsible for the loss of contrast observed on the regularized images. Contrast loss is a known issue of MRF models with quadratic data fidelity and TV prior [41] , [50] . We have observed that this contrast loss is also present in the case of speckle noise (Nakagami distribution). Under-regularization leads to better contrast preservation and a tradeoff between the bias and variance of the regularized image must be found depending on the target application. Moreover, the joint regularization scheme we have proposed better preserves the contrast compared to the channel independent prior scheme. Other MRF models could be considered to overcome this contrast issue provided the prior energy remains convex as required by our minimization algorithm. Another option would be to extend the iterative contrast restoration method of [45] to the case of speckle noise. This technique relies on solving a series of TV minimization problems. Its extension from the additive noise case with symmetrical log-likelihood to the case of multiplicative noise (asymmetrical log-likelihood) is, however, not straightforward. Another attempt has been proposed in [17] using the concept of levelable functions but it requires to perform a nonconvex optimization and some deeper analysis still remains to be done.. The quality of the results could be improved for 3-D urban modeling by introducing more elaborated prior knowledge in combination with contextual interpretation of the urban scene. The MRF model is flexible enough to incorporate higher level prior models. Including radar geometric deformations compensation in the regularization process could be an interesting step toward successful use of the regularized images.

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


Reducing normative conflicts in information security Security weaknesses often stem from users trying to comply with social expectations rather than following security procedures. Such normative conflicts between security policies and social norms are therefore undesirable from a security perspective. It has been argued that system developers have a "meta-task responsibility", meaning that they have a moral obligation to enable the users of the system they design to cope adequately with their responsibilities. Depending on the situation, this could mean forcing the user to make an "ethical" choice, by "designing out" conflicts. In this paper, we ask the question to what extent it is possible to detect such potential normative conflicts in the design phase of security-sensitive systems, using qualitative research in combination with so-called system models. We then envision how security design might proactively reduce conflict by (a) designing out conflict where possible in the development of policies and systems, and (b) responding to residual and emergent conflict through organisational processes. The approach proposed in this paper is a so-called subcultural approach, where security policies are designed to be culturally sympathetic. Where normative conflicts either cannot be avoided or emerge later, the organisational processes are used to engage with subcultures to encourage communally-mediated control. One night, the first author needed to go back to the office. He would need an entrance card to do so. He arrived at the same time as someone else. The first author reasoned as follows. If he opened the door first, the second person might try to tailgate behind him. When the door is open, this becomes very hard to prevent, as he will basically need to block the entrance, which goes against social norms and could lead to him being considered rude and antisocial. Instead, he chose to wait until the second person opened the door. This looked very suspicious to the second person, such that the latter did not want to open the door first either.. In many cases, security rules conflict with cultural practices that are prevalent in the workplace. The philosophy of security policy design is often an adversarial one: one needs to treat the other as a potential enemy, as a means rather than an end, and this goes against our social and ethical predispositions. Social and ethical predispositions are coded into organisational culture, and a family of culturerelated drivers also motivate and shape the organisational practices. These drivers include the organisational ideology, beliefs, rituals and myths [29] . Attackers know this, and exploit the resulting weaknesses by means of social engineering. For example, dressing up as Santa Claus seems to work particularly well for accessing restricted areas (so we were told), since people do not regard Santa Claus as a malevolent symbol, are socialised with the ritual of granting access to benign visitors and do not associate Santa Claus with myths of malicious behaviour.. In this paper, we focus on normative conflicts in the security context, i.e., situations in which agents face contradictory expectations on their behaviour, as expressed in organisational or social norms. We evaluate how possible it is to "design out" normative conflicts when designing security policies and systems. We do this from the perspective of security policy alignment (see e.g. [9] ). Security policy alignment deals with consistency of security policies, and completeness of the refinement of security policies. Normative conflicts can be seen as a special case of policy inconsistency, namely one where (a) non-security related normative constraints have been explicitly included in the policy model, and (b) conflicts occur in the policies assigned to humans (or other normative agents, assuming these exist).. Not all policies that conflict in theory will actually conflict in practice. For example, there may be a policy that forces me to give my manager access to the sales data, and a policy that forbids sharing sales data with family. These would conflict if my manager were my wife. If that is not the case, there is a conflict in theory, but no conflict in practice. In organisations, there will be many potential conflicts, but not all of them will actually manifest themselves in real-life situations. Models of the organisation (system models) can support such reasoning on actual conflicts, and the interpretation of the system models can be compared across different organisational subcultures.. Rather than preventing attacks directly [33, 24] , or discovering problems in real-time [6, 26] , our analysis aims at identifying normative policy conflicts in the security policy design phase. Having identified these conflicts, our approach mitigates them by ensuring that security responsibilities are encoded into the design, in terms of (a) the policy itself, (b) security technology, and (c) the organisational processes which implement and maintain the policy. This approach is motivated by the assumption that, even if policy conflicts do not directly cause security threats, they lead to uncertainty with the users, which may in the end weaken their confidence in maintaining security procedures. In this sense, our analysis does not assume a priori that solutions for noncompliance should lie in educating the user; rather, we look for solutions in changing the design of the socio-technical system surrounding the user, which is a composition of technology and the socio-structural system. Whereas technology has implicit (inscribed) constraints on how it can be used, the socio-structural system can be thought of as containing the policies, procedures, organisational processes and controls. Both need to be aligned to allow users to cope adequately with their security responsibilities.. In order for this approach to analysis to succeed, we have to somehow reduce the complexity of a "real life" scenario. Our approach is to take the complex cultural systems within an organisation and reduce the values and rituals to a set of organisational norms, acknowledging that some of the organisational norms will vary from subculture to subculture. It is understood that in reducing cultural systems in this way, some of the complex cultural interaction is abstracted away. As conflicts emerge from interaction between users and the system, and as not all interactions can be predicted, not all conflicts can be prevented. As a result, such an approach will not completely eliminate normative conflict, but will rather reduce it. We therefore aim at providing tools for removing certain conflicts and identifying where others are inevitable. Organisational processes for implementing and maintaining security policies are used to respond to residual and emergent conflict. One can adjust the management processes to compensate (i.e., adapt the awareness training and the focus of the audit to the subcultural requirements), although these are generally weaker in effect than "hard" design measures.. Based on the novel idea of integrating security policies and social norms in a single analysis, our contributions in this paper are the following:. 1. An investigation of the fundamental challenges posed by normative conflicts in security (section 2);. 2. An extension of reasoning on security policies to include social norms (section 3); and. 3. An architecture for a method to reduce normative conflicts in system design (section 4).. Our subcultural approach to security policy design and implementation is based on the following strategy. Firstly, we study in more detail the ideas about embedding responsibility in design, and how these apply to security. Secondly, we identify security policies, ethical norms and personal predispositions, formalise these, and analyse them for potential conflicts. Thirdly, in order to study whether such conflicts can actually occur in the dynamic behaviour of the system, we extend system models with support for both detecting policy conflicts and analysing their contribution to attacks. Finally, we discuss how design changes can support the avoidance of policy conflicts. The present paper fits into the tradition of both analysing norms and analysing security policies, and, accordingly, the detection of conflicts has been addressed from several angles. In the former area, normative conflicts are seen as (not necessarily security-related) consistency problems in logic or law. In [18] , the issue of normative conflicts is discussed from a legal perspective, where normative conflicts may occur between different legal regimes, in particular in international law. In [21] normative conflicts are addressed from the field of deontic logic, i.e., a logic focused on permission and/or obligation. In particular, deontic logics are investigated that tolerate normative conflicts without allowing arbitrary derivations from inconsistencies.. In a security context, [7] and [10] investigate normative conflicts in security policies. The focus is on (1) detecting conflicting permissions and obligations, and (2) what this means for situations where security policies have to be merged.. A third area consists of explanations of how moral reasoning can make people fail to comply with security policies. In this case, the focus is on the effects rather than the origins of conflicts. In this context, [22] focuses on the effects of different types of moral reasoning on compliance.. We find that, although many preventive techniques for information security exist [26, 33, 12] , these have so far not been applied to normative conflicts, especially within a setting of organisational norms. Instead, existing research mostly focuses on detecting and resolving conflicts within formally specified security policies. Here, we explicitly focus on the prevention of normative conflicts in the design of security architectures and policies, in particular in the context of human behaviour, where both security policies and social or ethical norms may apply. In order to do this, we need to systematically investigate the organisational context in which security policies operate, both in terms of the norms embedded in it, as well as in terms of its role in the actual occurrence of conflicts. The tools developed for preventive analysis of security problems can be adapted for analysing the results of such an investigation, as we will see.

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


At the Crossroads of Evolutionary Computation and Music: Self-Programming Synthesizers, Swarm Orchestras and the Origins of Melody This paper introduces three approaches to using Evolutionary Computation (EC) in Music (namely, engineering, creative and musicological approaches) and discusses examples of representative systems that have been developed within the last decade, with emphasis on more recent and innovative works. We begin by reviewing engineering applications of EC in Music Technology such as Genetic Algorithms and Cellular Automata sound synthesis, followed by an introduction to applications where EC has been used to generate musical compositions. Next, we introduce ongoing research into EC models to study the origins of music and detail our own research work on modelling the evolution of melody. Perhaps the most interesting application of Evolutionary Computation (EC) to Music is for the study of the circumstances and mechanisms whereby musical compositions might originate and evolve in artificially created worlds inhabited by virtual communities of musicians and listeners. Origins and evolution are studied here in the context of the cultural conventions that may emerge under a number of constraints, including psychological, physiological and ecological constraints. A better understanding of the fundamental mechanisms of musical origins and evolution is of great importance for musicians looking for hitherto unexplored ways to create new musical works. As with the fields of Acoustics, Psychoacoustics and Artificial Intelligence, which have greatly contributed to our understanding of Music, Evolutionary Computation has the potential to reveal new aspects that are just waiting to be unveiled.. We have identified three main approaches to using EC in Music: engineering, creative and musicological approaches. Whereas the engineering approach applies EC to solve specific engineering problems in Music Technology, the creative approach employs EC to generate musical compositions. The musicological approach seeks answers to musicological problems by means of models and simulations. The questions that have been addressed by the musicological approach overlap with those considered in Evolutionary Linguistics (Cangelosi and Parisi, 2001) : What functional theories of its evolutionary origins make sense? How do learning and evolved components interact to shape the musical culture that develops over time? What are the dynamics of the spread of musical memes through a population? The quest for the origins of music is only one of the musicological applications of EC. Other applications are certain to emerge as the research in this new field develops. This paper has presented an overview of the major approaches to the interplay between EC and Music (engineering, creative and musicological approaches, respectively) and introduced a few representative systems that have been developed within the last decade. Particular attention has been given to developments that have potential to contribute to musicological research.. As far as the engineering approach is concerned, it is clear that EC provides solutions for problems that would otherwise have been very difficult to address. The creative approach has gained much popularity amongst composers interested in exploring the emergent behaviour of EC models for musical composition. Although there are not many professional EC-based compositional systems available, there are a great number of experimental ones that have been used to compose professionally. It seems that composers have managed to find good ways to use the emergent behaviour from EC models to compose musical pieces, and this is a trend that is here to stay (Miranda, 2001b) . EC brings a different approach to building programs to aid music making in the sense that such systems are allowed to take an important part in the creative process. For example, EC-based interactive systems, such as those discussed in this paper, open a new dimension to interactive system design. Such EC-based systems can interact with musicians as if they were participating in a jam session. And more importantly, the musical behaviour of the system evolves during the interaction.. Unfortunately it is very difficult to evaluate EC-based systems for music because of the very nature of these systems. How can one evaluate a system for musical composition objectively? Engineering applications could be evaluated if we compared their results with those from non-EC solutions for the same problem. But in systems such as Chaosynth, for example, there is no quantitative measurement to evaluate the results; only our ears can tell if the sounds are of good quality or not. Evaluation does not apply in the musicological approach because EC is a research tool. Evaluation here takes place at the level of the theoretical framework of the specific musical theories in question.. As for the musicological approach, EC models have the potential to reveal new aspects of musical theory. The former two approaches are characterized by the fact that engineers and musicians often employ models that were developed for some purpose other than anything to do with Music; e.g., controlling a synthesizer with CA Evolutionary Computation Volume 12, Number 2 or generating musical compositions with GA. These cases, however, offer very little potential for significant contribution to the advancement of Musicology. Conversely, the musicological approach forces researchers to devise EC models that are appropriate for addressing specific musicological questions. The mimetic model introduced earlier is an example of a model of a fundamental mechanism of musical learning. It demonstrates that imitation is a strong contender for any functional theory of musical evolution.. It is important to mention that all systems described in this paper were implemented on standard personal computers and/or Unix workstations and they can produced sounds and/or music in real-time. The only exception is the mimetic model discussed in section 2.3, which is slow due to the heavy computation required by the voice synthesizer and audio analysis modules; e.g., the mimetic simulations on the scale of the ones discussed in this paper can take up to 120 hours on a 300 MHz PowerPC.

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


Interference and Outage in Clustered Wireless Ad Hoc Networks In the analysis of large random wireless networks, the underlying node distribution is almost ubiquitously assumed to be the homogeneous Poisson point process. In this paper, the node locations are assumed to form a Poisson clustered process on the plane. We derive the distributional properties of the interference and provide upper and lower bounds for its CCDF. We consider the probability of successful transmission in an interference limited channel when fading is modeled as Rayleigh. We provide a numerically integrable expression for the outage probability and closed-form upper and lower bounds. We show that when the transmitter-receiver distance is large, the success probability is greater than that of a Poisson arrangement.These results characterize the performance of the system under geographical or MAC-induced clustering.We obtain the maximum intensity of transmitting nodes for a given outage constraint, i.e., the transmission capacity (of this spatial arrangement) and show that it is equal to that of a Poisson arrangement of nodes.For the analysis, techniques from stochastic geometry are used, in particular the probability generating functional of Poisson cluster processes, the Palm characterization of Poisson cluster processes and the Campbell-Mecke theorem. Previous work characterizing interference, outage, and transmission capacity in large random networks exclusively focused on the homogeneous Poisson point process as the underlying node distribution. In this paper, we extend these results to clustered processes. Clustering may be geographical, i.e., given by the spatial distribution of the nodes, or it may be induced logically by the MAC scheme. We use tools from stochastic geometry and Palm probabilities to obtain the conditional Laplace transform of the interference. nodes and fading. We have shown that the distribution of interference depends heavily on the path-loss model considered. In particular, the existence of a singularity in the model greatly affects the results. This conditional Laplace transform is then used to obtain the probability of success in a clustered network with Rayleigh fading. We show clustering the transmitters is always beneficial for large link distances, while the clustering gain at smaller link distances depends on the path-loss model. The transmission capacity of clustered networks is equal to the one for homogeneous networks. However, care must be taken when defining this capacity since clustered processes have two parameters to optimize over. We also show that the transmission capacity of clustered network is equal to the Poisson distribution of nodes. We anticipate that the analytical techniques used in this work will be useful for other problems as well. In particular the conditional generating functionals are likely to find wide applicability. There exists a significant body of literature for networks with Poisson distributed nodes. In [1] the characteristic function of the interference was obtained when there is no fading and the nodes are Poisson distributed. They also provide the probability distribution function of the interference as an infinite series. [2] , analyze the interference when the interference contribution by a transmitter located at x, to a receiver located at the origin is exponentially distributed with parameter x 2 . Using this model they derive the density function of the interference when the nodes are arranged as a one dimensional lattice.

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