Automatic phase detection for stochastic on-chip traffic generation During System on Chip (SoC) design, Network on Chip (NoC) prototyping is used for adapting NoC parameters to the application running on the chip. This prototyping is currently done using traffic generators which emulate the SoC components (IPs) behavior: processors, hardware accelerators, etc. Traffic generated by processor-like IPs is highly non-regular, it must be decomposed into program phases. We propose an original feature for NoC prototyping, inspired by techniques used in processor architecture performance evaluation: the automatic detection of traffic phases. Integrated in our NoC prototyping environment, this feature permits to have a completely automatic toolchain for the generation of stochastic traffic generators. We show that our traffic generators emulate precisely the behavior of processors and that our environment is a versatile tool for networks-on-chip prototyping. Simulations are performed in a SystemC-based simulation environment with a mesh network-on-chip (DSPIN) and a processor running MP3 decoding applications. Systems on chip (SoC) are now commonly used in embedded systems for multimedia and telecommunication applications. Most of these SoC are composed of a single processor controlling various components (Intellectual Property: IP) all connected together. The computing power required by emerging applications running on mobile terminals, such as video on mobile phone for instance, has induced the development of a more complex SoC infrastructure, the so-called multi-processor SoC (MPSoC) typically composed of a number of master components (processors or DMA for hardware accelerators) connected to a network-on-chip (NoC) or a hierarchy of busses.. The advent of networks-on-chip (NoC) has significantly increased the design complexity of such systems with some hard problems related to parallelism such as memory and cache coherency, non-determinism, efficient workload distribution, and network contention. Solving these problems during the short time available for design requires fundamental improvements in design methodologies. The most important shift is the setting of a refinement methodology allowing designers to explore design space at various levels of precision. These levels, called transaction, bus-accurate, synthesizable, allow the designer to check quickly that performances related to various metrics are achieved before writing the complete description of the system. During design space exploration, simulation time is a major problem. There are two run-time behaviors very difficult to model at a high level: cache behavior and network contention. Precise simulation of these two behaviors can only be done with a low-level description of the components. This means hours (sometimes days) of simulation for a single execution or, as it is usually preferred, the use of extremely expensive hardware emulators. Reducing simulation time can be achieved by a clever analysis of the behavior of the system during execution. We are interested in the simulation of onchip network behavior and performance evaluation. Traffic generators (TG) are more and more used during SoC design for platform prototyping or performance evaluation. When using TGs, simulation time is decreased because the IP is not fully simulated. Simulation is also more flexible.. Most recent traffic generation methods use stochastic models. Statistical analysis and synthesis of on-chip traffic is difficult because this traffic usually presents complex statistical behavior. As pointed out by [13] , the behavior of application code is decomposed into phases which have very different characteristics. Each phase can appear several times during the complete execution of the program. The precision of the simulation and the possibility of integrating the whole process in an automatic (or at least semi-automatic) framework are important parameters for evaluating the usefulness of a traffic generation environment.. In this paper, we present the automatic detection of traffic phases by analyzing simulation traces and show that these phases are necessary to emulate the traffic generated by multi-media applications running on SoC. By gathering different features presented individually in various recent works, our traffic generation environment provides a very flexible tool for networks-on-chip prototyping. It can run a deterministic traffic replay (as in [9] ) or generate a stochastic traffic with first order (as in [6] ) and second order (as in [15] ) statistics adjusted to a particular trace. The feature described in this paper is the ability to run a traffic divided into separate phases, each phase having different characteristics. This makes our TG able to capture the inherent non-stationarity present in the traffic generated by the processors. We validate the precision of our traffic simulation in SystemC. We show that the network latency, transaction delay and aggregated throughput of a complete SoC platform are very close when we use TGs replacing processors. With our environment, the designer can explore the design space in a very flexible manner by, for instance, exploring other network architectures on a single phase in which network contention occurs.. The paper is organized as follows. In Section 2 we review the different existing techniques of traffic generation. Section 3 presents our traffic generator and the flow that we propose for analyzing and synthesizing on-chip traffic. Section 4 presents our experimental results highlighting the points mentioned above. Using traffic generators in a simulation platform involves the following steps: i) the IP designer collects simulation traces by observing the behavior at the interface of each master component (if the IP is available), ii) he builds traffic models as close as possible to these traces, iii) the platform designer instantiates a traffic generator for each master component based on these models, and iv) inserts them in the simulation platform in place of the original components. Traffic generators can be separated into two main categories: the deterministic approach, in which traffic is produced using a finite state machine (FSM) configured by the IP designer or using a previous simulation trace, and the stochastic approach, in which the traffic is produced by a parameterized non-deterministic process.. Deterministic traffic generators (TG) [3, 9, 7] are derived from real simulation traces or written from scratch by IP designers. Such TGs can generate accurate transactions in time, size, and idle time that match the behavior of an IP. The advantages of this approach are the precision and the speedup factor it can achieve compared to the complete IP simulation. However, one limitation of the deterministic approach is that the length of the simulation is limited by the length of input traces used. Furthermore, such TGs cannot handle behaviors that are dependent on input data sets.. An alternative solution is to use stochastic traffic generators. These TGs build a model of the traffic. Such a modeling permits to study how small variations in the model parameters impact performance. This is an interesting way of testing NoC robustness with reasonably accurate traffic. Such a model can also be useful when the IP is not fully available or when the behavior is likely to change slightly from one execution to the other. However some traffics are very difficult to model and the traffic generation environment should include advanced statistical analysis tools such as multi-phase statistical analysis and second order statistics fit. For instance Marculescu et al. [15] have isolated a long-range-dependent behavior (i.e. second order statistical properties) at the coarse-grain level. Our simulation environment is currently able to capture and generate traffic with second order statistic adjusted to a particular covariance [12] . However, our experiments do not exhibit longrange dependence (even in the execution of the MPEG2 application not reported here). In the work of Marculescu [15] , the MPEG2 is executed by hardware accelerators, and longrange-dependence has been observed in the communications between the accelerators, whereas we use a software implementation of the MPEG2 algorithm running on a processor and its associated cache. This result has to be confirmed by other simulations; our conjecture is that the absence of long-range dependence is due to the presence of caches that smooth the communications.. The major part of NoC performance evaluation is currently done using random sources [16, 14, 6] . These works mainly focus on the evaluation of the NoC in its early stage of development, and on its performance under random traffic. However none of these works propose a fitting procedure to determine the adequate statistical models that should be used to simulate the traffic: most of them choose arbitrarily the statistical behavior of each IP. Moreover to our knowledge, none of these approaches have introduced multi-phase modeling. A complete traffic generation environment should integrate both deterministic and stochastic traffic generation techniques.. A processor associated with a cache generates a non-stationary traffic, which can be divided into phases corresponding to different parts of the executed program. Each phase is stationary in the sense that its stochastic characteristics are almost constant. This point has been thoroughly investigated in the domain of processor architecture performance evaluation, a very good summary of which is presented by Calder et al. in [13] . Calder et al. isolate program phases by analyzing basic blocs repartition in successive intervals (an interval can represent 10 millions of instructions). Then, these phases are compared and grouped using a k-means algorithm [8] . We have adopted a similar approach to decompose the traffic generated by a processor in phases. Our model is simpler and the interval is approximately composed of a thousand of transactions. The data used to represent the activity of the processor is the traffic's statistical characteristics.. Calder et al. use such a phase decomposition in SimPoint [5] for architecture performance evaluation. This is a powerful technique that can provide huge improvements in simulation by simulating only one simulation point per phase and replicating the behavior during all the corresponding phases. We do not pursue the same goal here because we target precise traffic simulation of a given IP for NoC prototyping. Network contention needs to be precisely simulated, and as it is the result of the superposition of several traffics, picking simulation points becomes a difficult task. However further studies should be done, based for instance on the work of [2] to see if the use of simulation points may be applicable for NoC prototyping. We use an open source, SystemC-based, cycle-accurate and bit-accurate simulation environment: SocLib [1] . We use a tiny operating system for multiprocessor management (Mutek). We present here the results on an implementation of the MPEG-layer 3 audio decoding software, further referred to as MP3. 2 frames are decoded in the results presented here, representing 350000 memory transactions when executed on the processor (MIPS r3000). Similar results have been obtained for MPEG2 and JPEG 2000 applications, but are not presented here because of space limitation. We use the DSPIN NoC, inherited from the research of the LIP6 laboratory (evolution of SPIN [4] ). It uses wormhole memorization strategy and XY routing. The processor caches includes both data and instructions. It is composed of 32 lines of 8 words. Aggregated throughput (further simply referred to as throughput) has been computed as the number of flits transferred in consecutive time window of size 100 cycles.. We denote by platform a particular physical interconnection of various IPs. We used two platforms:. • The direct platform does not use any interconnect, the processor is directly connected to a memory holding all necessary data. The latency is thus constantly equal to 1 cycle. This platform is used for basic validation of the MPTG and for reference trace collection as shown in Figure 1 .. • The mesh1 platform is shown in Figure 3 . The components are interconnected with the DSPIN NoC. The MIPS processor is running the application. The Back TG is used for introducing contention over the network. It sends requests to both memories RAM TG1 and RAM TG2, whereas the MIPS communicates with the three other memories used for code, data, input and output streams. In order to test the MPTG in a more realistic way, the Back TG alternates between two phases, one with a high communication load and another with a low one. This introduces a time-varying contention and approximately multiplies the number of cycles of the execution by 3. Figure 4a shows the delays of transactions D(i) as a function of the transaction index i. One can distinguish the boot at the beginning, and then the two frames being decoded. For each frame, several phases can be identified (for instance a long one at the end) and two important points have to be highlighted. Firstly, the time evolution of the traffic is not stationary, so a stochastic fit on the whole trace would be meaningless. Secondly, similar behaviors appear, hence a segmentation should be done. This was already observed in the high performance computing community [13] , however it is, to our knowledge, the first time a traffic trace is being analyzed in this way.

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


Achieving convergence-free routing using failure-carrying packets Current distributed routing paradigms (such as link-state, distancevector, and path-vector) involve a convergence process consisting of an iterative exploration of intermediate routes triggered by certain events such as link failures. The convergence process increases router load, introduces outages and transient loops, and slows reaction to failures. We propose a new routing paradigm where the goal is not to reduce the convergence times but rather to eliminate the convergence process completely. To this end, we propose a technique called Failure-Carrying Packets (FCP) that allows data packets to autonomously discover a working path without requiring completely up-to-date state in routers. Our simulations, performed using real-world failure traces and Rocketfuel topologies, show that: (a) the overhead of FCP is very low, (b) unlike traditional link-state routing (such as OSPF), FCP can provide both low lossrate as well as low control overhead, (c) compared to prior work in backup path precomputations, FCP provides better routing guarantees under failures despite maintaining lesser state at the routers. Recent large-scale deployments of delay and loss-sensitive applications have led to stringent demands on routing. Lost or delayed packets in applications such as Voice over IP (VoIP), streaming media, gaming, and telecommuting/video conferencing applications can result in significant performance degradation. ISPs hence have strong incentives to reduce delay and loss on their networks, Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. August 27-31, 2007 , Kyoto, Japan. as these are often key metrics used when negotiating Service-Level Agreements (SLAs) associated with such applications. Routing convergence is one of the key impediments to meeting strict SLAs. We proposed Failure-Carrying Packets (FCP), a new routing technique which eliminates the convergence period endured by traditional routing protocols. The basic idea of FCP is simple: once all routers have a loosely-synchronized, consistent view of the network, it is enough for a router to know the list of failed links to correctly compute the path to a destination.. Though we primarily present FCP to introduce a new routing paradigm that is qualitatively different from previous approaches, we present optimizations that make FCP practical. Using real-world ISP topologies and failure traces, we show that both the computational as well as packet overhead incurred by FCP is small. We also present comparisons with both OSPF as well as a commerciallyused backup path technique. In the former case, we show that unlike OSPF, FCP can provide both low loss-rate and low control overhead. In the latter case, we shows that FCP provides better routing guarantees under failures despite maintaining lesser state at the routers. Though the basic model of FCP as a link-state routing paradigm is directly applicable only to intradomain networks, we discuss how FCP can be applied to interdomain policy routing as well. Studying the applicability of FCP in different routing networks (such as interdomain routing, wireless networks, sensor networks) more deeply is a topic of future work. Since BGP propagates only routes that can be potentially used downstream, routers will not obtain the entire link-state of the network. However, after BGP converges, all the nodes should have consistent route selection information, i.e., all nodes will pick the same AS-level path for each destination prefix. In other words, at all nodes, the AS-level source route in the packet header will be identical to its most preferred route to the destination (Case (1) above).. During the convergence process, routing using the above modified SR-FCP protocol ensures that packets will not enter into transient loops. This follows from the fact that packets are routed using SR-FCP, hence at every stage the packet either makes progress based on the source route or that a link is added to the list of failed links in the packet header. Eventually, the packet will reach the destination or will discover that there are no more paths (based on links in the failure header), and will be dropped. Also, as we mentioned above, the extent to which FCP will help route around failures depends on the flexibility of the policy at the ASes to use source routes that are not the most preferred.. A practical challenge that our scheme faces is deployability, as it requires one to insert the AS source route and the list of failed links in the IP header. While one can use IP options for this purpose, finding a comprehensive solution is a subject of future work. Prior work to address the problem of routing convergence in the literature at the protocol level can be roughly classified into three categories: (a) designing loop-free convergence protocols, (b) reducing the convergence period of protocols, and (c) using precomputed backup paths to route around failures. We don't discuss attempts at addressing such issues at the higher layers, for instance using overlays to get around underlying routing problems.. The idea of carrying information to route a packet in the header of the packet itself is inspired by Stoica's work on dynamic packet state [30] . FCP is similar in spirit to LOLS [26] used for routing in wireless adhoc networks. However, FCP separates network map information and transient failures by not introducing transient failures into the map, and hence can provide better routing guarantees.. Loop-free convergence: Several approaches ensure that convergence takes place in a way that it obeys certain correctness constraints. For example, link-state vector routing [5] advertises a subset of links, and uses a termination-detection algorithm to break loops. Diffusing computations [16] achieves theoretical loop-free routing convergence using a distance-vector paradigm. However, as the authors of that paper note, the performance after node failures and network partitions is a concern because all network nodes have to be involved in the same diffusing computation.. Reordering LSAs during propagation has been proposed to ensure that transient loops are avoided, for the specific cases of protected and planned link failures and cost changes [15] alone. Notvia addresses [8] uses a mechanism very similar to the precomputation optimization presented in Section 3.1. Consider a router R that performs the following computation: For dealing with node failures, by iterating over each other router R , R precomputes backup paths to all destinations assuming that R is down. For dealing with link failures, it performs a similar precomputation by iterating over neighboring links. However, the draft states that they do not aim to handle multiple simultaneous link/router failures. Nearside tunneling [7] dynamically constructs tunnels to the closest router adjacent to the failure, and forward traffic via the tunnel during the convergence process. A simpler scheme is to simply forward via a loop-free alternate path in the presence of failure, or to forward to a U-turn alternate when no loop-free alternate exists [4] . The location of link failures may be inferred from the interface on which the packet arrives [27] . While these approaches improve properties of the convergence process, they still require routing updates at the control plane, and are hence subject to the control overhead versus availability tradeoff we discussed in our results.. Reducing convergence times: Some efforts have addressed failure recovery directly at the level of the routing protocol. For instance, Alaettinoglu et al. [3] propose to modify IGP implementations to reduce convergence time to a few milliseconds even when links fail, by modifying timers and improving run-time of the route computation algorithm. However, reducing timers can increase the control overhead and worsen network stability, as shown by our experimental results. In general, there has been substantial debate over what parameters to use, and it is not clear that there is a single correct choice of these timers or if they can be eliminated completely.. Such protocol tweaks are restricted by protocol constraints; for example, arbitrarily reducing the timer values for detecting change in link status could potentially make routes oscillate due to false positives in detecting failed links. Furthermore, adjusting link weights in OSPF can temporarily destabilize the network because often multiple weights need to be adjusted simultaneously.. Using precomputed backup-paths: Several works have proposed using precomputed backup routes when primary paths in the network fail. Examples include IP restoration [18] , MPLS Fast-Reroute [28] , and others [4, 6, 11, 19] . A short evaluation of the fast reroute techniques is presented in [14] . More recently, R-BGP [20] proposes using a simple precomputation-based backup method for fast-failover during BGP convergence process that has some provable guarantees such as loop-prevention and valley-free routing.. Backup routes are practical only when there are small numbers of simultaneous failures; to achieve the guaranteed reachability property of FCP with multiple failures, several backup paths would be needed. In fact, from our experiments, we see that even with low failures rates, multiple failures can simultaneously occur in real networks. In contrast to precomputed backup paths, FCP not only provides correctness guarantees in the face of multiple link failures, but does so by requiring much lesser state at the routers than backup path strategies typically do.

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


An approach to implement data fusion techniques in wireless sensor networks using genetic machine learning algorithms Wireless Sensor Networks (WSNs) can be used to monitor hazardous and inaccessible areas. In these situations, the power supply (e.g. battery) of each node cannot be easily replaced. One solution to deal with the limited capacity of current power supplies is to deploy a large number of sensor nodes, since the lifetime and dependability of the network will increase through cooperation among nodes. Applications on WSN may also have other concerns, such as meeting temporal deadlines on message transmissions and maximizing the quality of information. Data fusion is a well-known technique that can be useful for the enhancement of data quality and for the maximization of WSN lifetime. In this paper, we propose an approach that allows the implementation of parallel data fusion techniques in IEEE 802.15.4 networks. One of the main advantages of the proposed approach is that it enables a trade-off between different user-defined metrics through the use of a genetic machine learning algorithm. Simulations and field experiments performed in different communication scenarios highlight significant improvements when compared with, for instance, the Gur Game approach or the implementation of conventional periodic communication techniques over IEEE 802.15.4 networks. Wireless Sensor Networks (WSNs) are composed of a large number of sensor nodes (also known as motes), usually with reduced size. Each node has a processor, memory, sensors, a wireless communication module and a power supply. In the most common situations, the power supply is provided by batteries. These networks can be deployed in hazardous areas, where maintenance is a difficult task. Therefore, energy consumption is a major concern because in these situations it is very difficult to replace batteries. Besides energy, applications for WSN may also have to deal with time-constrained messages [1] .. The use of dense networks (i.e. with a high number of nodes per m 2 ), with hundreds or thousands of nodes, may be an advantage. A dense WSN can improve the accuracy of results, overpassing the unreliable nature of individual nodes. However, the usage of dense networks imposes more complex management approaches [1, 2] . The use of autonomic approaches can be an interesting alternative for dense WSN, since self-management techniques [3] are adequate methodologies to manage large number of nodes.. In dense networks, the use of data fusion approaches may be an advantage due to the large number of messages exchanged, since a data fusion task may merge several messages in an useful and accurate information for the final user [4] . Additionally, some data fusion techniques proposed in the literature can deal with delays, message losses and discards, allowing greater flexibility in both the choice of the network technology and the communication approach used to disseminate data on the network [5] .. Regarding the large number of nodes, the topology of network must be considered as being dynamic, as an unpredictable number of nodes can present hardware, software or communication failures. Thus, it is extremely difficult to obtain an accurate view of the network topology, which prevents the use of static scheduling of messages.. In WSN, applications may have multiple conflicting goals, such as timing constraints conflicting with energy consumption constraints. Another example may be the case of a data fusion application that requires a large number of messages to guarantee a minimum accuracy. Nevertheless, increasing the number of message transmissions can also increase the number of collisions. This leads both to an increase of the energy consumption due to message retransmissions and to a reduction of the number of messages that arrive to the final destination (e.g. message discards due to retransmission limits).. of maximum transmission rate, working in different frequencies, such as the popular 2.4 GHz and 868/900 MHz bands for long range communication in Europe and North America, respectively. The MAC layer supports two operational modes that can be selected by the PAN coordinator: beaconless mode, using a non-slotted CSMA/CA mechanism; and beacon mode, where beacons are sent periodically by the PAN coordinator, and nodes are synchronized by a superframe structure. Since our proposal uses the beaconless mode, we restrict the following discussion to this operating mode.. Two variables are maintained by each device in beaconless mode: NB, the number of times CSMA/CA mechanism is required to backoff and BE, the backoff exponent, which is related to how many backoff periods a device shall wait before attempting to access a channel. There are also three main parameters: macMinBE, macMaxBe and macMaxCSMABackoffs, which corresponds, respectively, to the initial value of BE, the maximum value of BE and maximum number of backoffs before being declared a channel access failure.. The protocol works in the following manner. The BE is initially set to macMinBE value. When sending a message, the MAC sublayer shall delay for a random number of backoff periods in the range of 0-2 Ã BE À 1, after which requests to the physical layer to perform a channel assessment. If the channel is assessed to be busy, the MAC sublayer will increment NB and BE. Once BE reaches to the macMaxBE value, it remains at this maximum value. If the value of NB is greater than macMaxCSMABackoffs (default value 4), the CSMA/CA shall end with a channel access failure status.. Therefore, macMinBE, macMaxBe and macMaxCSMABackoffs parameters can influence the beaconless CSMA/CA performance. These default values can decrease battery consumption (a device tries to retransmit only up to five times before aborting the transmission), however when the number of nodes increases, the communication efficiency drastically decreases [8, 9] . Thus, the use of IEEE 802.15.4 protocol does not seem to be adequate for dense networks without addition of a mechanism such as the one proposed in this work. WSN applications may require a large number of nodes to monitor an area due to the fact that when more nodes participate in the sensing task, the obtained information becomes more accurate. Besides, when a high number of nodes is sensing the same phenomenon, the low reliability of individual node is overcome through a cooperative effort. However, the IEEE 802.15.4 standard without addition of new mechanisms is not suitable for dense wireless networks because its backoff scheme incurs in a high number of message collisions and channel access failures, inducing a significant degradation of communication efficiency.. There are optimization techniques in the literature that improve the IEEE 802.15.4 MAC backoff algorithm and that can enhance the communication performance of dense wireless networks. However, the use of this kind of approach can just minimize the communication problem presented above, because when the density is increased, the same communication performance degradation will necessarily occur again.. In this context, approaches that autonomically adjust the percentage of sent messages are an interesting alternative to increase the network throughput and decrease the energy consumption. The main idea is to tune the nodes in a way that just the necessary number of messages is sent by them. In this way, this kind of technique can be considered very important for data fusion applications.. As aforementioned, there are currently research efforts in data fusion that consider WSN applications with message loss and packet drops, and which can give rise to new opportunities for the development of communication approaches that supports this innovative data fusion paradigm. These data fusion schemes evoke dynamic communication approaches where nodes can locally decide if they will send or not the collected data. The main advantage of this scheme is to achieve a trade off between several conflicting network metrics like: number of messages delivered to the base station, energy economy, data fusion quality and other.. In this paper we presented a genetic machine learning approach (GMLA) to optimize the communication efficiency in dense wireless sensor networks. The proposed approach is able to Fig. 13 . GMLA efficiency along time in a network with 1500 nodes. autonomically adjust the sending rate of a WSN with dynamic topologies (composed of static or mobile nodes), and presents a significant performance improvement when compared with a pure periodic approach based on IEEE 802.15.4 standard and also with the Gur Game approach. Moreover, the implementation feasibility of the GMLA in a real data fusion application was proved by the experimental testbed based on mote prototype.. As a final remark, we observe that the proposed approach was developed at the application layer; therefore it can be easily used in COTS (Component of the Shelf) devices, as a framework to support other well-known data fusion techniques. Further research directions include the utilization of different types of data fusion models (serial or hybrid) and the optimization of other GMLA parameters such as checkpoint interval and evolution interval. The proposed model has its roots in research works previously published by the authors, in other related works and in wireless network standards. The adopted star topology is part of IEEE 802.15.4 standard as one of two alternatives for network organization (the another one is peer-to-peer) [6] . Approaches proposed in [15] [16] [17] , for example, also use star topologies, where sensor nodes are able to reach the base station in just one communication hop.. The use of dense WSN, composed of multiple sensor nodes and a base station in a star network topology, presents some difficult challenges with conflicting goals that must be solved (for instance, how to increase dependability and energy efficiency, while meeting time constraints). A typical scenario for such conflicting goals is increasing the number of nodes in a network to achieve better reliability, but fewer messages arrive on time to the base station due to WSN congestion. The difficulty in dealing with this problem was previously discussed in [2] , which proposed a generic management architecture that take into account specific characteristics of WSNs. In addition, in a more recent work [9] , the occurrence of this misbehavior has been highlighted, considering the same metrics used in this present paper: Ef and QoF. The results show that whenever the number of nodes in the network is increased, the QoF stops growing while the communication efficiency decreases rapidly.. A metric called QoD (Data Base Freshness), related to the proposed QoF concept, was presented in [18] . Real-time databases deal with periodic sensor updates and need to execute transactions within their deadlines using fresh data. However it is a challenge to respect simultaneously both parameters (timeliness and data freshness). To address this problem, the authors propose a new management architecture and introduced flexible QoD management schemes.. A similar microcycle concept was used in [19] , where it was called round. The main goal of this concept is to discretize the time intervals at which decisions are made. In that work, the monitoring phase (that is equivalent to our macrocycle concept) was divided in equal duration rounds.. Serial data fusion based on a likelihood ratio test is presented in [13] . That paper uses routing techniques combined with collaborative detection, in order to decrease energy consumption and to increase detection dependability. Probability of False Alarm (PFA) and Probability of Detection (PDET) were assumed in order to achieve a desirable number of samples for fusion. The main idea is to use as fewer samples as possible, where a minimum level of quality is guaranteed by PDET and PFA.. A tree-based scheme is considered in [20] . The main objective is synchronizing multiple levels of data fusion. In that work, each node has to decide about when to begin the fusion process and how long to wait before the end of fusion. A redundant data transmission protocol was employed in [15] . The protocol is used to reduce the loss ratio of sensed data that is sent to an actuator node. A star topology is used, and sensor nodes make a decision whether to send or not data. Therefore, energy consumption and message losses are reduced. A parallel data fusion scenario was assumed in [17] , where the master node is not aware about the number of sensor nodes. The data fusion rule (referred as counting rule) imposes that the number of packets must reach a pre-defined threshold in order to make a decision.. Chiuso and Schenato have proposed estimators for parallel data fusion strategies in wireless network environments subject to noise and packet losses [5] . Four strategies for data fusion were discussed, and two of them -Measurement Fusion (MF) and Open-Loop Partial Estimate Fusion (OPEF) -present a behavior suitable to be integrated with our proposed approach. Both estimators are based on the idea that the sensor nodes send their local estimates to a Fusion Center, which estimates the value of a given variable monitored in accordance with the measures that reach this Center. Within this context, it is not necessary to receive message transmissions from all nodes in each communication period. Fig. 6 illustrates the value in nth row and tth column that is a node information received in Fusion Center in the time instant t.. Q-DAP is a QoS data aggregation technique and processing approach that is executed at the intermediated nodes of a cluster-tree network [21] . Thus, the energy efficiency and network lifetime are increased while end-to-end latency and data loss are decreased. The main effort in Q-DAP is to determine when and where the data aggregation must be executed based in local information. The main drawback of this approach is that it considers a static cluster tree topology with predetermined routes. Therefore scalability and reliability issues may hinder its inherent quality.. There are also works whose primary goal is to achieve self-star properties in wireless networks [22] [23] [24] [25] . In [22] , for example, requirements to implement self-configuration and self-optimization are briefly discussed. Biologically-inspired techniques and algorithms [23, 24] are often used to achieve autonomic properties. In [23] it is described a three-year project, called BISON, that deals with self-organization properties in highly dynamic networks. BIS-NET [24] is a middleware for WSN based on bee colonies organization. It implements several agent behaviors like: pheromone emission, replication, migration and death. For instance, when some agent detects an event (e.g. temperature change) it will emit a pheromone in order to alert its neighbors about the environmental change. When the pheromone level is above some threshold, the agent that monitors that scalar is replicated. This way, the scalar is monitored by other nodes. Migration is used to transmit data to base station and death occurs when the level of some scalar is very low. The similarity of these works with our proposed approach is the use of biological principles to deal with highly dynamic networks and achieve autonomic features. For example, while BISNET is based on the idea of pheromone and colony of ants to the development of software agents, our approach adopts genetic algorithm techniques.

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


Automating relatively complete verification of higher-order functional programs We present an automated approach to relatively completely verifying safety (i.e., reachability) property of higher-order functional programs. Our contribution is two-fold. First, we extend the refinement type system framework employed in the recent work on (incomplete) automated higher-order verification by drawing on the classical work on relatively complete "Hoare logic like" program logic for higher-order procedural languages. Then, by adopting the recently proposed techniques for solving constraints over quantified first-order logic formulas, we develop an automated type inference method for the type system, thereby realizing an automated relatively complete verification of higher-order programs. Recently, motivated by the success of software model checkers [12] for the automated verification of first-order programs, researchers have proposed "model checkers" for the automated verification of higher-order programs [13, 18, 23, 26, 27] . Interestingly, they have all been formulated as a form of refinement type inference. 1 The refinement type systems employed in the automated higherorder program verification have some important differences from the ones from the original, non-automated approaches like DML [30] , making them more amenable to automation (such as the lack of implicit Π types). But, they follow the non-automated ones in that the types embed first-order logic (FOL) formulas, called refinement predicates, over program values (as in dependent types) that are used to express and enforce detailed properties of the program.. For example, consider the OCaml program shown in Figure 1 . Here, * denotes a non-deterministic choice. Given an in-Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. POPL'13, January 23-25, 2013 teger argument i to main, the program recursively calls app nondeterministically to apply the closure check i to i + j where j is the number of times the then branch is taken in app. The program is safe in that assert false is unreachable for any argument i. The program is difficult to verify via first-order program verification methods because of the higher-order recursive function app.. Recent advances in higher-order program verification have enabled automated verification of such programs via refinement type inference. For the program above, the following refinement types may be automatically inferred to verify its safety. The type of app expresses the fact that the function takes an integer argument x, and a function-type argument f which takes an integer at least as large as x. The type of check says that it takes integers x and y such that x ≤ y. And, the type of main says that it takes any integer argument.. The refinement type systems underlying the verifiers are sound, that is, they only type safe programs. However, they are incomplete in that there are safe programs that they cannot type. Indeed, the only known positive result is for the class of the finite domain base-type data programs, which can be verified completely by a refinement type system augmented with intersection types [16, 17] . The situation is in stark contrast to that of automated first-order program verification [12] where the underlying program logic, such as the Hoare logic, is relatively complete.. For example, none of the refinement type systems proposed for automated higher-order program verification can type and verify the program shown in Figure 2 , even though the program is only a small modification of the one from Figure 1 : it simply switches the order of app's arguments. Nor, are they able to type and verify the program shown in Figure 3 , which uses the function succ to successively build closures to pass integers larger than i to check i. The program is untypable even if we were allowed to change the order of the function arguments.. We note that this is an incompleteness at the level of the program logic (i.e., refinement type system) and not the verification algorithm (i.e., type inference algorithm). That is, there exist no types within the refinement type system that can type the program, let rec app f x = if * then app f (x+1) else f x in let check x y = if x <= y then () else assert false in let main i = app (check i) i let rec app3 f g = if * then app3 (succ f) g else g f in let app x f = f x in let succ f x = f (x + 1) in let check x y = if x <= y then () else assert false in let main i = app3 (check i) (app i) let alone inferable ones. While higher-order program verification is in general undecidable, like the first-order program verification is, it would be desirable to have a relatively complete reasoning framework that would serve as the basis of verification algorithms, as the Hoare logic does for first-order programs.. To this end, this paper presents an automated approach to a relatively complete verification of higher-order programs. First, we present an extension to the refinement type system such that the resulting refinement type system is relatively complete. The extension is inspired by the classical work on relatively complete program logic for higher-order procedural languages by German et al. [6, 7] (also, [8] ) who showed that relative completeness is achievable while avoiding the explicit use of functions as data so as to maintain a "Hoare logic like" control-data separation.. However, their proof of relative completeness does use encoding of functions as base-type data, and we rely on the same technique for our relative completeness proof. Moreover, to hide the use of functions as data from the program logic, they introduce quantifiers that the client verifier must appropriately instantiate. (To the best of our knowledge, no actual verifier was built based on their program logic.) Therefore, as our second contribution, we show a type inference method that extends the first-order logic constraint solving of the previous automated refinement type inference systems to quantified reasoning by leveraging recent advances on a related problem [4, 9, 24] .. In summary, the paper's contributions are as follows.. • A refinement type system that is relatively complete for safety verification of higher-order functional programs.. • A type inference algorithm for the refinement type system.. In the next section, we give an informal overview of the main ideas. We have presented an automated approach to a relatively complete verification of higher-order functional programs. Our work extends the recent research on refinement type inference for automated program verification. We have extended the underlying refinement type system by adopting the classical result on relatively complete Hoare logic like proof systems for higher-order procedural languages, which shows that certain extra base-type parameter additions are sufficient for relative completeness. Then, we have extended the type inference system by utilizing the techniques from the recent work on quantified FOL constraint solving over template expressions to infer appropriate instantiations for the extra basetype parameters.

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


Validating

visual

clusters

in

large

datasets:

fixed

point

clusters

of

spectral

features

Finding

clusters

in

large

datasets

is

a

difficult

task.

Almost

all

computationally

feasible

methods

are

related

to

k-means

and

need

a

clear

partition

structure

of

the

data,

while

most

such

datasets

contain

masking

outliers

and

other

deviations

from

the

usual

models

of

partitioning

cluster

analysis.

It

is

possible

to

look

for

clusters

informally

using

graphic

tools

like

the

grand

tour,

but

the

meaning

and

the

validity

of

such

patterns

is

unclear.

In

this

paper,

a

three-step-approach

is

suggested:

In

the

first

step

data

visualization

methods

like

the

grand

tour

are

used

to

find

cluster

candidate

subsets

of

the

data.

In

the

second

step,

reproducible

clusters

are

generated

from

them

by

means

of

fixed

point

clustering,

a

method

to

find

a

single

cluster

at

a

time

based

on

the

Mahalanobis

distance.

In

the

third

step,

the

validity

of

the

clusters

is

assessed

by

use

of

classification

plots.

The

approach

is

applied

to

an

astronomical

dataset

of

spectra

from

the

Hamburg/ESO

survey.

Finding

clusters

in

large

datasets

is

a

difficult

task,

because

such

datasets

typically

do

not

match

the

implicit

and

explicit

underlying

assumptions

of

the

conventional

methods

of

cluster

analysis.

Often

they

contain

outliers

that

are

not

easily

detectable

because

of

masking

phenomena.

Moreover,

only

a

minority

of

the

points

of

such

a

dataset

may

be

described

adequately

as

clustered,

the

clusters

may

have

different

shapes,

which

cannot

always

be

modeled

by

the

same

family

of

parametric

distributions,

and

there

are

often

non-elliptical

and

asymmetrical

parts

of

the

data.

Figure

Above:

Principal

components

of

spectra

data

(all

variables

standardized

to

median

MAD

with

FPC

(gray;

consisting

of

points,

which

are

all

concentrated

in

one

tiny

point

near

the

origin).

Below:

Scatterplot

of

Calcium-break

variables.

Points

on

the

diagonal

line

form

FPC

see

Section

To

illustrate

these

issues,

we

present

a

dataset

of

points

of

features

of

spectra

from

the

Hamburg/ESO

survey.

The

dataset

is

explained

in

Section

Figure

makes

some

of

the

features

of

the

dataset

visible.

It

shows

two

two-dimensional

projections

of

these

data,

namely

the

principal

component

plot

and

a

scatterplot

of

two

of

the

variables.

Both

plots

suggest

that

the

dataset

as

a

whole

can

neither

be

adequately

described

by

some

single

elliptical

distribution,

nor

by

a

mixture

of

few

of

them.

Note

that

more

than

half

of

the

data

are

concentrated

in

the

tiny

gray

point

near

the

origin

of

the

principal

components

plot

(above;

the

gray

"area"

is

referred

to

as

FPC

as

explained

further

in

Section

so

that

the

principal

components

plot

is

entirely

dominated

by

fewer

than

of

the

points

which

appear

outlying

from

the

core

of

the

data

forming

"strings"

parallel

to

the

first

two

principal

components.

The

points

along

the

horizontal

string

clearly

show

a

skew

distribution.

In

the

scatterplot

shown

below

it

can

be

seen

that

there

is

a

data

subset

arranged

on

a

straight

line

which

intersects

the

majority

of

the

data

only

slightly.

The

rest

of

the

data

looks

skew

in

both

variables.

Further

projections

of

the

dataset

are

shown

in

Section

Most

cluster

analysis

methods

that

can

be

applied

to

datasets

of

this

size

assume

more

or

less

implicitly

that

the

dataset

can

be

partitioned

completely

into

clusters

which

can

all

be

modeled

by

the

same

parametric

family.

For

example,

k-means

is

a

maximum

likelihood

estimator

for

a

fixed

partition

model

of

k

Gaussian

distributions

with

the

same

covariance

matrix,

which

must

be

a

constant

multiplied

by

the

unit

matrix.

There

are

some

approaches

which

account

explicitly

for

outliers,

e.g.

maximum

likelihood

mixture

fitting

based

on

t-distributions

Ch.

as

implemented

in

the

software

EMMIX,

Gaussian

mixture

modeling

with

additional

noise

component

as

implemented

in

EMCLUST,

and

trimmed

k-means

but

datasets

of

the

given

size

may

cause

computational

problems.

For

example,

the

result

of

a

single

EM-algorithm

run

as

used

by

EMMIX

and

EMCLUST

may

depend

strongly

on

the

starting

value

Sec.

The

choice

of

starting

values

by

means

of

an

initial

hierarchical

clustering,

which

is

the

default

for

both

packages,

needs

too

much

memory

for

large

datasets,

and

a

single

run

of

the

EM-algorithm

takes

so

much

time

that

it

becomes

unfeasible

to

try

multiple

starting

values,

especially

if

the

number

of

clusters

is

treated

as

unknown.

However,

there

is

some

research

about

reasonable

starting

values

for

large

datasets,

see

An

alternative

approach

is

visual

clustering

based

on

interactive

software

for

graphical

data

analysis

This

may

reveal

many

interesting

and

nonstandard

patterns

in

the

data,

which

cannot

be

found

by

the

existing

formal

methods.

However,

it

remains

unclear

if

these

cluster

patterns

are

statistically

relevant

in

some

sense,

which

points

belong

to

them

exactly,

and

how

the

patterns

could

be

reproduced

by

a

repetition

of

the

analysis

of

the

same

dataset.

Especially

the

latter

issues

are

difficult

in

large

datasets,

because

with

ten

thousands

of

points

on

the

screen

it

is

not

possible

to

demarcate

clusters

exactly,

and

the

inspection

of

high

dimensional

data

needs

so

many

two-dimensional

projections

that

it

becomes

improbable

that

exactly

the

same

projections

lead

again

to

the

discovery

of

clusters

during

a

repetition

of

the

graphical

analysis..

The

aim

of

this

paper

is

to

provide

a

strategy

for

datasets

of

the

size

of

our

spectra

data,

which

connects

the

more

intuitive

visual

clustering

with

a

formal

method

to

generate

well

defined,

reproducible

clusters..

The

strategy

consists

of

three

elements:.

Cluster

candidate

sets

can

be

found

and

selected

by

interactive

software

for

graphical

data

analysis.

Here

the

grand

tour

as

implemented

in

the

software

XGOBI

is

used.

This

step

is

discussed

in

Section

The

candidate

data

subsets

can

be

used

as

starting

configurations

for

an

algorithm

which

finds

a

fixed

point

cluster

(FPC).

FPC

analysis

is

a

method

to

find

a

data

subset

which

does

not

contain

any

outlier,

and

with

respect

to

which

all

other

points

of

the

dataset

are

outliers.

Such

a

subset

can

be

considered

as

cluster.

The

definition

of

an

outlier

is

based

on

a

parametric

model

for

a

single

cluster,

here

a

multivariate

Gaussian

distribution.

That

is,

like

for

the

other

formal

clustering

methods

discussed

above,

there

is

an

underlying

parametric

model

for

FPC

analysis.

For

combinatorial

reasons

it

is

not

possible

to

find

all

FPCs

of

a

high

dimensional

dataset.

But

there

are

two

advantages

of

FPC

analysis:

Firstly,

while

a

cluster

is

modeled

as

elliptical,

there

is

no

stochastic

assumption

on

the

rest

of

the

data

which

does

not

belong

to

the

cluster,

except

of

being

well

separated

from

it

in

some

sense..

In

particular,

a

single

cluster

candidate

can

be

used

as

a

starting

configuration,

which

is

not

possible

for

partition

or

mixture

based

methods.

Secondly,

for

a

given

cluster

candidate

subset,

the

algorithm

is

fast

and

easy

even

for

large

datasets.

This

step

is

discussed

in

Section

Found

fixed

point

clusters

can

be

visualized

by

use

of

plots

of

optimal

discriminating

projections

The

projection

directions

may

be

of

use

for

the

interpretation.

This

step

is

discussed

in

Section

We

have

shown

that

interesting

cluster

patterns

in

large

datasets

can

be

found

by

a

threestep

approach

consisting

of

the

visual

inspection

by

means

of

the

grand

tour,

iteration

of

Mahalanobis

FPCs,

and

validation

by

discriminant

projection

plots.

The

approach

combines

intuitive

and

formal

techniques.

Patterns

in

complex

data

situations,

which

do

not

fulfill

the

assumptions

of

usual

formal

cluster

analysis

or

mixture

methods,

can

be

found

by

use

of

the

grand

tour.

FPC

analysis

serves

to

decide

about

the

cluster

candidates

and

to

make

them

reproducible.

Note

that

other

cluster

algorithms

such

as

kmeans,

EMMIX

and

EMCLUST

cannot

be

started

from

single

cluster

candidates,

because

they

need

the

whole

dataset

to

be

partitioned.

The

discussed

plots

help

to

assess

the

homogeneity,

separateness

and

meaning

of

the

clusters.

XGOBI

can

be

obtained

from

The

FPC

analysis

was

performed

with

the

software

FIXMAHAL

written

by

the

first

author.

It

is

available

under

as

well

as

the

code

to

compute

discriminant

and

Bhattacharyya

coordinates

with

the

statistical

software

R.

All

used

software

is

freeware..

unless

n

k

n

in

which

case

either

g

k

g

or

in

as

proven

below.

T

decreases

by

combination

of

and

Proof

of

It

is

needed

that

S

is

an

ML-estimator

and

minimizes

L(X

m,

S),

where

L(X

m,

S)

(det

S)

n

exp.

Because

of

(det

S

n

exp(pn

L(X

m

S

(det

S

k

n

exp

(pn

k

(n

n

k

)c)

proving

It

may

happen

that

the

same

number

of

points

is

included

and

excluded

in

a

step

of

the

algorithm,

therefore

n

n

k

while

g

g

k

In

this

case

the

inequality

becomes

strict

because

of

in

Therefore

det

S

det

S

k

and

T

decreases..

Proof

of

Remember

that

p

c

is

assumed.

Case

n

n

k

Then,.

exp

(n

−n

k

)(p−c)

n

exp

(n

−n

k

)(c−p)

n

Case

n

k

n

Then,

analogously,

The

fact

that

the

definition

of

FPCs

is

based

on

a

Gaussian

model

does

not

mean

that

the

points

of

an

FPC

always

look

Gaussian.

For

non-homogeneous

data

subsets,

the

region

of

non-outliers

can

be

very

large,

and

so

there

may

be

large

FPCs

which

clearly

do

not

stem

from

a

single

Gaussian

distribution,

see

Figure

This

problem

does

not

arise

if

the

starting

configuration

is

homogeneous,

because

in

this

case

the

usual

mean

and

covariance

estimators

work

well.

Otherwise

they

might

be

affected

by

outliers

or

irregularities

inside

the

candidate

subsets,

while

FPC

analysis

is

robust

against

such

problems

outside

their

non-outlier

regions.

It

must

be

noted

that

the

ML

estimators

are

not

advisable

from

the

viewpoint

of

robust

outlier

identification

FPCs

may

be

defined

where

they

are

replaced

by

more

robust

estimators.

But

it

is

not

clear

if

Theorem

remains

valid

for

such

estimators,

and

the

computation

may

be

very

time

consuming

for

large

datasets,

because

the

estimators

have

to

be

computed

for

each

cluster

candidate

and

each

algorithm

step.

Furthermore,

showed

that

resistant

outlier

identification

is

possible

by

application

of

the

usual

estimators

for

Gaussian

distributions

to

data

subsets.

Therefore

we

restrict

ourselves

to

the

easiest

estimators

in

this

paper,

aware

of

the

necessity

to

keep

the

candidate

subsets

as

homogeneous

as

possible..

Note

further

the

ability

of

FPCs

to

include

and

overlap

each

other.

They

do

neither

form

a

partition

nor

a

hierarchy.

The

inclusion

property

can

be

useful

sometimes,

see

e.g.

Figure

where

it

is

not

adequate

to

exclude

the

points

of

the

inner

left

FPC

from

the

outer

left

cluster..

It

is

possible

to

define

other

kinds

of

FPCs

analogously

for

other

clustering

problems

from

a

given

outlier

definition,

see

FPCs

are

not

adequately

interpreted

as

estimators

of

mixture

components.

Instead,

they

estimate

"theoretical

FPCs"

i.e.,

they

are

based

on

an

alternative

definition

of

a

cluster.

Publications

on

consistency

properties

are

in

preparation..

The

tuning

constant

α

has

to

be

chosen

by

the

statistician.

The

interpretation

of

α

is

that

the

smaller

α

is,

the

more

separated

a

data

subset

must

be

from

the

rest

of

the

dataset

to

form

an

FPC.

A

large

value

of

α,

say,

α

or

α

classifies

lots

of

points

from

a

Gaussian

population

as

outliers.

On

the

other

hand,

if

there

is

a

Gaussian

cluster

among

others,

points

from

neighboring

clusters

do

not

affect

its

FPC

property,

if

they

lie

in

the

corresponding

outlier

region.

If

α

is

smaller,

the

outlier

region

is

more

distant

from

the

center,

and

therefore

the

other

clusters

need

to

be

better

separated.

Illustrations

are

given

in

and

Section

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


An evolutionary algorithm to discover quantitative association rules in multidimensional time series An evolutionary approach for finding existing relationships among several variables of a multidimensional time series is presented in this work. The proposed model to discover these relationships is based on quantitative association rules. This algorithm, called QARGA (Quantitative Association Rules by Genetic Algorithm), uses a particular codification of the individuals that allows solving two basic problems. First, it does not perform a previous attribute discretization and, second, it is not necessary to set which variables belong to the antecedent or consequent. Therefore, it may discover all underlying dependencies among different variables. To evaluate the proposed algorithm three experiments have been carried out. As initial step, several public datasets have been analyzed with the purpose of comparing with other existing evolutionary approaches. Also, the algorithm has been applied to synthetic time series (where the relationships are known) to analyze its potential for discovering rules in time series. Finally, a real-world multidimensional time series composed by several climatological variables has been considered. All the results show a remarkable performance of QARGA. It is usual to find natural phenomena correlated to some other variables. Thus, real-world processes can be modeled by inferring knowledge from other associated variables that definitively have an effect on the original process. For instance, the existence of acid rain cannot be understood without the existence of other pollutant agents, such as monoxide carbon or sulfur dioxide. In other words, the knowledge of how some variables could affect other ones may be useful to obtain accurate behavior models.. Quantitative association rule (QAR) extraction in time series can be of the utmost usefulness for predictive purposes (Shidara et al. 2008; Wang et al. 2008) . Thus, it could be interesting to find relationships among several time series to determine the range of values for a particular time series in a given time interval depending on the values of others for the same interval. For instance, rules such as hour 2 ½10; 12^demand 2 ½12; 000; 15; 000 ) price 2 ½3:2; 4:5 can provide useful knowledge for forecasting the electric energy price at peak hours (from 10 am to 12 pm) depending on the values of the energy demand during these hours. This information could help to obtain different models adjusted to different intervals or to develop a family of models for every rule. Hence, QAR are introduced in a new time series framework with the means of obtaining relationships among correlated time series that help to model their behavior.. Evolutionary algorithms (EA) have been extensively used for optimization and model adjustment in data mining tasks. In fact, the use metaheuristics in general, and of EA in particular, to deal with data mining-based problems is a hot topic of research nowadays (Alcalá-Fdez et al. 2009a Chen et al. 2010; del Jesús et al. 2009; Yan et al. 2009 ). Also, EA have been used to build rule-based systems (Aguilar-Ruiz et al. 2007; Berlanga et al. 2010; Orriols-Puig and Bernadó-Mansilla 2009) .. Real-coded genetic algorithms (RCGA) are very important within EA due to the increasing interest in solving real-world optimization problems. The main problem of RCGA, in which many researchers have focused their works, is the definition of adequate genetic operators (Herrera et al. 2004; Kalyanmoy et al. 2002) . In particular, a new RCGA, henceforth called QARGA (Quantitative Association Rules by Genetic Algorithm) is proposed in this work. It is worth noting that QARGA does not perform previous variable discretization, that is, it handles numeric data during the whole rule extraction process, in contrast with many other approaches that perform data discretization to discover rules (Agrawal et al. 1993; Aumann and Lindell 2003; Vannucci and Colla 2004) . Furthermore, the approach allows several degrees of freedom in specifying the user's preference regarding both of the number of attributes and structure of the rules. On the other hand, besides the well-known support and confidence measures, the accuracy of the rules is also obtained with a measure called lift due to its usefulness in the specific area of time series analysis (Ramaswamy et al. 1998) .. First, QARGA has been applied to datasets from the Bilkent University Function Approximation (BUFA) repository (Guvenir and Uysal 2000) . These datasets have been chosen because the literature offers multiple EA applied to them (Alatas and Akin 2006; Mata et al. 2002) . Later, time series have been synthetically generated to determine the suitability of applying QARGA to temporal data. Finally, multidimensional realworld time series have been used to extract QAR. In particular, climatological time series have been analyzed to discover the factors that cause high ozone concentration levels in atmosphere.. The remainder of the paper is divided as follows: Sect. 2 provides a formal description of QAR, as well as introduces the quality indices applied to QARGA. Section 3 presents the most relevant related works found in literature. Section 4 describes the main features of QARGA used in this work. The results of applying the proposed algorithm to different datasets are reported and discussed in Sect. 5. Finally, Sect. 6 summarizes the conclusions. An evolutionary algorithm has been proposed in this work to obtain QAR from time series. In order to evaluate its performance, the approach has been applied to several datasets and compared with the most recently published results. Thus, a bank of public datasets retrieved from the BUFA repository has been used to test the accuracy of the algorithm. The algorithm has shown to be efficient when mining synthetically generated multidimensional time series. Also, the proposed methodology has successfully obtained meaningful QAR from multidimensional realworld time series. In particular, relevant dependencies between the ozone concentration in the atmosphere and other climatological-related time series have been found. In this section the results obtained from the application of the proposed approach to different datasets are presented. First, Sect. 5.1 provides a detailed description of all used datasets. A summary of the key parameters configuration used for all the algorithms can be found in Sect. 5.2. Finally, the results are gathered and discussed in Sect. 5.3.. The approach has been initially tested on several widely studied datasets from the public BUFA repository, and the accuracy of QARGA has been compared with that of the algorithms introduced in Yan et al. (2009) and Mata et al. (2001) of time series are analyzed: synthetically generated and real-world multidimensional temporal data. Sect. 5.3.2 is devoted to evaluate the accuracy of QARGA when it is applied to synthetically generated multidimensional time series. Likewise, the real-world case is reported in Sect. 5.3.3, where QAR are obtained to discover relationships between the tropospheric ozone and other climatological time series. A thorough review of recently published works reveals that the extraction of AR with numeric attributes is an emerging topic. Mata et al. (2001) proposed a novel technique based on evolutionary techniques to find QAR that was improved in Mata et al. (2002) . First, the approach found the sets of attributes which were frequently present in database and called frequent itemsets, and later AR were extracted from these sets.. Following with this topic, the optimization of the confidence-avoiding the initial threshold for the minimum support-was the main contribution of the work introduced in Yan et al. (2009) . The authors used fitness function and non-threshold requirements for the minimum support. The fitness function is a key parameter in EA and the authors just used the relative confidence as fitness function.. Recently, Alcalá-Fdez et al. presented a study about three algorithms to analyze their effectiveness for mining QAR. In particular, EARMGA (Yan et al. 2009 ), GAR (Mata et al. 2002) and GENAR (Mata et al. 2001 ) were applied to two real-world datasets, showing their efficiency in terms of coverage and confidence.. On the other hand, data mining techniques for discovering AR in time series can be found in Bellazzi et al. (2005) . The authors successfully mined temporal data retrieved from multiple hemodialysis sessions by applying preprocessing, data reduction and filtering as a previous step of the AR extraction process. Finally, AR were obtained by following the well-known Apriori itemset generation strategy (Venturini 1994 ).. An algorithm to discover frequent temporal patterns and temporal AR was introduced in Winarko and Roddick (2007) . The algorithm extends the MEMISP algorithm (Lin and Lee 2002) which discovers sequential patterns by using a recursive find-then-index technique. Especially remarkable was the maximum gap time constraint included to remove insignificant patterns and consequently to reduce the number of temporal association rules.. Usually, the sliding window concept has been successfully applied to forecast time series (Martínez-Á lvarez et al. 2011; Nikolaidou and Mitkas 2009 ). However, this concept has been recently used in (Khan et al. 2010 ) with the purpose of obtaining a low use of memory and low An evolutionary algorithm to discover quantitative association rules computational cost of the Apriori-based algorithm presented for discovering itemsets whose support increase over time.. In the non-supervised classification domain, the authors in Wan et al. (2007) made use of clustering processes to discretize the attributes of hydrological time series, as a first step of the rules extraction, which were eventually obtained by means of the Apriori algorithm. Following with clustering techniques, fuzzy clustering was used in Chen et al. (2010) to speed up the calculation for requirement satisfaction with multiple minimum supports, enhancing thus the results published in its initial work (Chen et al. 2009 ).. The work introduced in Huang et al. (2008) mined ocean data time series in order to discover relationship between salinity and temperature variations. Concretely, the authors discovered spatio-temporal patterns from the aforementioned variables and reported QAR using Prefix-Span and FITI algorithms (Pei et al. 2001; Tung et al. 2003) .. Different models to forecast the ozone concentration levels have been recently proposed. Hence, the authors in Agirre-Basurko et al. (2006) developed two multilayer preceptron and a linear regression model for this purpose and prognosticated eight hours ahead for the Spanish city of Bilbao. They concluded that the insertion of extra seasonal variables may improve the general forecasting process. On the other hand, an artificial neural network model was presented in Elkamel et al. (2001) . The authors also predicted the ozone concentrations by considering the analysis of additional climatological time series. Finally, temporal variations of the tropospheric ozone levels were analyzed in four sites of the Iberian Peninsula (Adame-Carnero et al. 2010) by means of statistical approaches.. Alternatively, the application of QAR can also be found in the data streams domain. In fact, the authors in Orriols-Puig et al. (2008) developed a model capable to classify on-line generated data for both continuous and discrete data streams.. MODENAR is a multi-objective pareto-based genetic algorithm that was presented in . In this approach, the fitness function aimed at optimizing four different variables: Support, confidence, comprehensibility of the rule and the amplitude of the intervals that constitutes the rule. A similar issue was addressed in Tong et al. (2005) , in which the authors conducted research on the determination of existing conflicts when minimum support and minimum confidence are simultaneously required.. In , the use of rough particle swarm techniques as an optimization metaheuristic was presented. In this work, the authors obtained the values for the intervals instead of frequent itemsets. Moreover, they proposed the use of some new operators such as rounding, repairing or filtrating.. Finally, QAR have also been used in the bioinformatics field. Thus, microarray data analysis by means of QAR was addressed in Georgii et al. (2005) . The main novelty proposed by the authors was the definition of an AR as a linear combination of weighted variables, against a constant. Also in this context, the authors in Gupta et al. (2006) introduced a multi-step algorithm devoted to mine QAR for protein sequences. Once again, an Apriori-based methodology was used in Nam et al. (2009) to discover temporal associations from gene expression data.

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