Independent Component Analysis Based on First-Order Statistics This communication puts forward a novel method for independent source extraction in instantaneous linear mixtures. The method is based on the conditional mean of the whitened observations and requires some prior knowledge of the positive support of the desired source. A theoretical performance analysis yields the closed-form expression of the asymptotic interference-to-signal ratio (ISR) achieved by this technique. The analysis includes the effects of inaccuracies in the estimation of the positive support of the desired source in single-step and iterative implementations of the algorithm. Numerical experiments validate the fitness of the asymptotic approximations. As it is based on first-order statistics, the method is extremely cost-effective, which makes it an attractive alternative to second-and higher-order statistical techniques in power-limited scenarios. Independent component analysis (ICA) has received considerable attention over the last decades, mainly due to its wide variety of application domains. In particular, ICA is the key tool for blind source separation in instantaneous linear mixtures when the sources are statistically independent, an assumption quite plausible in many scenarios. Seminal work on ICA focused on the direct exploitation of statistical independence through higher-order statistics (HOS), mostly the cumulants [1] [2] [3] . Time coherence was later shown to be a valid separation criterion requiring second-order statistics (SOS) only [4] . More recent research has aimed at taking advantage of prior knowledge about the mixing system or the sources themselves. This may include information on the support of the source of interest, i.e., the time or frequency indices where the desired source is positive or presents significant power [5, 6] . These source * extraction methods can be formulated by means of conditional SOS, and essentially require the solution of an eigenvalue decomposition (EVD) or generalized EVD problem per iteration.. In the present work, Section 2 puts forward a novel technique of this type based on the first-order statistics of the whitened observations. Originally suggested in [7] , the technique is computationally very efficient, which renders it particularly appealing in power-limited scenarios such as embedded systems or wireless sensor networks. The method requires prior knowledge of the positive support of the desired source; in practice, this amounts to the time or frequency snapshot indices where the source of interest is positive. Although the SOS used in [5] are also conditioned on the positive support, the present approach can deal with any source distribution without any modification, and presents lower computational complexity. Moreover, the impact of support estimation inaccuracies on the performance of the new method can be quantified by the theoretical analysis carried out in Section 3. Section 4 analyzes an iterative implementation that may be used when the knowledge of the positive support is uncertain, as may be the case in realistic scenarios where the available prior information is scarce. The experimental study of Section 5 validates the accuracy of the theoretical performance analysis. In the light of these results, some potential applications are discussed in Section 6, while the concluding remarks of Section 7 bring the paper to an end. This work has presented a novel method for ICA based on the conditional first-order statistics of the observed data. Compared to ICA methods based on SOS or HOS, the new method presents a very low computational complexity, which makes it particularly convenient in power-limited scenarios such as wireless sensor networks or embedded systems. The method's extraction performance depends on the accurate estimation of the positive support of the source of interest, but further iterations can improve the precision of the initial support estimate and thus the source extraction quality for sufficient sample. size. Future work should analyze the source extraction capabilities of the proposed method in fully blind scenarios, explore its extension to complex-valued data, and evaluate its comparative performance in real-world applications. Successfully targeting specific sources with the conditional-mean ICA technique analyzed in this paper requires some prior knowledge of their positive support. In digital communications, support information FastICA's ISR values are computed without reference to any particular source.. would be available over the pilot sequence, so that the proposed method could be combined with classical training-based receivers yielding semi-blind equalizers with reduced complexity. A number of space-time coded systems like Alamouti's scheme lead to observation models with a unitary mixing matrix [8] , thus sparing the need for prewhitening and preventing its asympotic performance limitations [2] . The proposed technique would be fully based on first-order statistics in such scenarios.. The signal of interest is partially known in certain signal processing problems involving the electrocardiogram (ECG). During atrial fibrillation, the most common sustained cardiac arrhythmia, the atrial activity signal to be analyzed in the ECG is masked by the ventricular activations or heartbeats, but remains visible in the intervals between them [9] . The absence of interference in such intervals would increase the accuracy of the initial support selection for extracting the atrial sources over the whole ECG recording using the conditional-mean ICA technique.. In some cases, applying the proposed method to particular real-world problems may call for applicationdependent modifications, which, due to lack of space, are out of the scope of this letter.

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


An Adaptive Manipulator Controller Based on Force and Parameter Estimation Consideration of manipulator dynamics and external disturbances in robot control system design can enhance the stability and performance properties of the whole system. In this paper, we present an approach to solve the control problem when the inertia parameters of robot are unknown, and at the same time robot is subjected to external force disturbances. This approach is based on simultaneous estimation of force signal and inertia parameters and utilizing them in the control law. The update laws and the control law are derived based on a single time-varying Lyapunov function, so that the global convergence of the tracking error is ensured. A theorem with a detailed proof is presented to guarantee the global uniform asymptotic stability of the whole system. Some simulations are made for a number of external forces to illustrate the effectiveness of the proposed approach. Environmental forces are exerted on the system in many robotic tasks. In some robotic applications such as deburring, grinding and precise assembly, it is required that endeffector contacts with environment and maintains this contact [1] . Also, in robotic assembly for odd form electronic components, the success of work severely depends on the ability to monitor and control the insertion force. Component misinsertion can be detected based on the reaction force [2] . For correct use of robot in such cases, force must be considered in control system. This force may be act as a disturbance in some applications. For example, the unexpected external force to a mobile manipulator makes its motion unstable since there are no fixed points in stationary coordinates [3] .. For force compensation, one way is to use force sensor to measure the force and then use the measured value in the controller. However, the typical price of force sensor is high. In addition, when manipulator is affected by environment uncertainties such as high temperature and large noise, force sensor cannot be mounted on the robot [4] . On the other hand, even for the cases that force sensor can be used easily, mounting the sensor on robot makes the structure of manipulator complicated [5] . On the other hand, accuracy of robot control approaches in high-speed operations is greatly affected by the parameter uncertainty [6] . To deal with uncertainties in robot control systems, various methods have been proposed such as [7] - [10] . In our previous work [11] , we proposed an approach to reject external force disturbance in robotic arms without use of any force sensor. Although [11] has a high performance, it requires accurate robot modelling; therefore, the modelling uncertainties may result in the force estimation error.. In this paper, we consider the case that the robot dynamics have unknown parameters and at the same time robot is subjected to the external forces (both forces and torques) disturbances. We propose an approach in which uncertain parameters vector and external force vector are simultaneously estimated, and then both are utilized in the control law. Applying the estimated forces to the control law is intended to reject the force disturbances. Lyapunov analysis of non-autonomous systems and invariant set theorems are used for stability analysis and proving the global convergence of tracking and estimation errors. Due to the global convergence, all of the estimated variables may initially set to any arbitrary values such as zero or nominal values. Also, this approach contains the following advantages. Measurement or computation of the joint accelerations and considering the inertia matrix as a constant diagonal matrix are not required (advantage over some algorithms such as the algorithm of [1] ). The system is stable and there is no need to assume that joint reference position, velocity and acceleration are bounded (advantage over some adaptive algorithms such as the algorithm of [12] ). The proposed approach is adaptive, thus, the accuracy of system improves with time (because the adaptation mechanism keeps extracting parameter information from tracking errors). Adaptive control is based on feedback of signals in a controlled system for control adaptation to effectively handle system uncertainties [13] , [14] .. In addition to overcoming the drawbacks of using force sensors, an advantage of the proposed approach is the capability of computation and compensation for the forces and moments exerted on links in addition to those exerted on end-effector. For instance, in an underwater vehiclemanipulator system (UVMS) underwater flows exert forces on links.. Organization of the paper is as follows. The proposed The design of an adaptive robot controller in the presence of parameter uncertainty and external force (both force and moment) disturbances has been presented in this paper. The proposed controller requires no measurement of forces, moments and accelerations. Two estimators and a control law construct the controller. The two estimators are considered to estimate the inertia parameters of robot and the external force applied to robot. The control effort is adjusted by the estimated force signal and the estimated parameters. It is not necessary to specify the direction of force vector, since force vector rather than its magnitude is estimated. Regarded to the presented theorem in Sect. 2, uniform and uniform asymptotic stability of the closed loop system is ensured. A single time-varying Lyapunov function is utilized to analyze the stability of the whole system (including the two estimators).. Presented simulations exhibit that the performance of the control system with force (force/torque) estimation is as good as its performance with force (force/torque) measurement. Also, it is not necessary to select very large gains to make the tracking error converge to zero, therefore, lower power actuators are needed. The proposed control system can be easily realized as a good and uncomplicated solution for the situations having problems in employing force/torque sensor, even in the case of unknown parameters.. It is known from (5) thatq = ν − r andq =ν −ṙ, therefore (A· 1) gives. which regarded to (3) becomes. According to (5), (A· 3) and the update laws, we have. Replacing r in terms of e andė according to (5) yields. where According to (5),q = ν − r, so we havė

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


Probabilistic Analysis of Linear Programming Decoding Abstract-We initiate the probabilistic analysis of linear programming (LP) decoding of low-density parity-check (LDPC) codes. Specifically, we show that for a random LDPC code ensemble, the linear programming decoder of Feldman et al. succeeds in correcting a constant fraction of errors with high probability. The fraction of correctable errors guaranteed by our analysis surpasses previous non-asymptotic results for LDPC codes, and in particular exceeds the best previous finite-length result on LP decoding by a factor greater than ten. This improvement stems in part from our analysis of probabilistic bit-flipping channels, as opposed to adversarial channels. At the core of our analysis is a novel combinatorial characterization of LP decoding success, based on the notion of a generalized matching. An interesting by-product of our analysis is to establish the existence of "probabilistic expansion" in random bipartite graphs, in which one requires only that almost every (as opposed to every) set of a certain size expands, for sets much larger than in the classical worst-case setting. Low-density parity-check (LDPC) codes are a class of sparse binary linear codes, first introduced by Gallager [15] , and subsequently studied extensively by various researchers [22] , [23] , [21] . See the book by Richardson and Urbanke [24] for a comprehensive treatment of the subject. When decoded with efficient iterative algorithms (e.g., the sum-product algorithm [20] ), suitably designed classes of LDPC codes yield error-correcting performance extremely close to the Shannon capacity of noisy channels for very large codes [6] . Most extant methods for analyzing the performance of iterative decoding algorithms for LDPC codes-notably the method of density evolution [21] , [23] -are asymptotic in nature, based on exploiting the high girth of very large random graphs. Therefore, the thresholds computed using density evolution are only estimates of the true algorithm behavior, since they assume a cycle-free message history. In fact, the predictions of such methods are well-known to be inaccurate for specific codes of intermediate block length (e.g., CD supported by NSF Grant CCF-0515259; part of this work was done while the author was visiting Microsoft Research.. AGD supported by NSF Grants DMS-0528488, CCF-0635372, and an UC MICRO grant with Marvell Corporation; part of this work was done while the author was visiting EPFL.. RMK supported by NSF Grant CCF-0515259. MOW supported by an Alfred P. Sloan Foundation Fellowship, NSF grants DMS-0528488, CCF-0635372, and an UC MICRO Grant with Marvell Corporation.. codes with a few hundreds or thousands of bits). For this reason, our current understanding of practical decoders for smaller codes, which are required for applications with delay constraints, is relatively limited.. The focus of this paper is the probabilistic analysis of linear programming (LP) decoding, a technique first introduced by Feldman et al. [10] , [14] as an alternative to iterative algorithms for decoding LDPC codes. The underlying idea is a standard one in combinatorial optimization-namely, to solve a particular linear programming (LP) relaxation of the integer program corresponding to maximum likelihood (optimal) decoding. Although the practical performance of LP decoding is comparable to message-passing decoding, a significant advantage is its relative amenability to nonasymptotic analysis. Moreover, there turn out to be a number of important theoretical connections between the LP decoding and standard forms of iterative decoding [19] , [31] . These connections allow theoretical insight from the LP decoding perspective to be transferred to iterative decoding algorithms. The main contribution of this paper is to perform probabilistic analysis of linear programming (LP) decoding of low-density parity-check (LDPC) codes in the finite-length regime. Specifically, we showed that for a random LDPC code ensemble, the linear programming decoder of Feldman et al. succeeds (with high probability) in correcting a constant fraction of errors that surpasses all prior non-asymptotic results for LDPC codes. For a rate 0.5 code, it exceeds the best previous finite-length result on LP decoding by a factor greater than ten. Despite these substantial improvement, it should be noted that our analysis still yields very conservative results, roughly a factor of 50 lower than the typical empirical performance of these codes, as well as the associated asymptotic thresholds.. Perhaps more important than specific numerical improvements over past results are the technical innovations that underlie our analysis: a direct treatment of the probabilistic nature of bit-flipping channels (as opposed to adversarial analysis in previous work), and a novel combinatorial characterization of LP decoding, based on the notion of a poison hyperflow witness. This hyperflow perspective illustrates that the factor graph defining a good code should have good flow properties, in the sense that no matter which subset of bits are flipped, the poison associated with errors can be diffused and routed to the unflipped bits. For more general MBIOS channels, the amount of poison corresponds exactly to the negative loglikelihood that the channel is assigning to each bit, and the same characterization of LP decoding holds.. This intuition suggests that the property of supporting sufficient hyperflow could provide a useful design principle in the finite-length setting, for example small sets of variables which contract (are jointly adjacent to few checks) will cause pseudocodewords of small pseuodoweight.. There are a number of ways in which specific technical aspects of the current analysis can likely be sharpened, which await further work. In addition, it remains to further explore the consequences of our analysis technique for other channels and code ensembles, beyond the particular LDPC ensemble and binary symmetric channel considered here.

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


A transactional object calculus Abstract. A transaction defines a locus of computation that satisfies important concurrency and failure properties. These so-called ACID properties provide strong serialization guarantees that allow us to reason about concurrent and distributed programs in terms of higher-level units of computation (e.g., transactions) rather than lower-level data structures (e.g., mutual-exclusion locks). This paper presents a framework for specifying the semantics of a transactional facility integrated within a host programming language. The TFJ calculus, an object calculus derived from Featherweight Java, supports nested and multi-threaded transactions. We give a semantics to TFJ that is parameterized by the definition of the transactional mechanism that permits the study of different transaction models. We give two instantiations: one that defines transactions in terms of a versioning-based optimistic concurrency model, and the other which specifies transactions in terms of a pessimistic two-phase locking protocol, and present soundness and serializability properties for our semantics. The integration of transactional facilities into programming languages has been driven by applications ranging from middleware infrastructure for enterprise applications [1] to runtime support for optimistic concurrency. The concept of transactions is well-known in database systems; the main challenge in associating transactions with programming control structures comes from the mismatch between the concurrency model of the programming language and the concurrency model of the transactional facility. Issues related to the interaction commit mechanisms found in transactional models with locking, visibility, and update semantics in programming languages can be subtle and complex. Existing technologies enforce little or no relationship between these models, so that programmers can neither rely on transactions for complete isolation among concurrent threads, nor use concurrent threading to more conveniently program transaction logic. To make matters worse, different systems exhibit subtly (or vastly) different observable behavior with respect to failure and isolation properties. While the differences are often mandated by pragmatic concerns, they make it hard to reason about and compare different systems. Furthermore correctness of an implementation often remains an article of faith.. As a first step towards addressing some of these concerns, we propose a semantic framework in which different transactional mechanisms can be studied and compared formally. Requirements for such a framework are that it be sufficiently expressive to allow the specification of core transactional features, that it provide a way to validate the correctness of the semantics, and that it support features found in realistic programs. We are interested in the impact of design choices on observable behavior (e.g., aborts, deadlocks, livelocks) and on implementation performance (e.g., space and time overhead). Our longterm goal is to leverage this framework to aid in the definition of program analyzes and optimization techniques for transactional languages. This paper introduces TFJ, or Transactional Featherweight Java, an object calculus with syntactic support for transactions. The operational semantics of TFJ is given in terms of a stratified set of rewrite rules parameterized over the meaning of the transactional constructs. This allows us to define a variety of transactional semantics within the same core language. In this paper, we study nested and multi-threaded transactions with two different concurrency control models (two-phase locking and versioning). We have tried to retain the flavor and economy of Featherweight Java [17] , while adding features such as concurrency and state needed to model transactions. The primary contribution of this paper is a formal characterization and proof of correctness of different transactional models when incorporated into the core language. While there has been significant previous work on devising formal notation and specifications [7, 20] describing transactional properties, we are unaware of other efforts that use operational semantics to study the interplay of concurrency and serializability among different transactional models. Instead, we explore the structure of program traces induced by the semantics, and prove a simpler permutation lemma on these traces that enforce a localized notion of serializability derived from control and dependencies among transaction operations. The proof of serializability over arbitrary traces follows naturally from the composition of permutable sub-traces.. Correctness of the transactional semantics is given in terms of the traditional ACID properties [15] described below. To prove correctness, we show that all local operations performed by concurrent transactions can be serialized (i.e., from the perspective of some transaction T all data accesses performed by T are performed serially with respect to other transactions). The use of a stratified semantics allows us to avoid proving this serialization theorem for different concurrency control models. Instead, we explore the structure of program traces induced by the semantics, and prove a simpler permutation lemma on these traces that enforce a localized notion of serializability derived from control and dependencies among transaction operations.. Overview. Section 2 gives an informal introduction to atomic transaction and the ACID properties. A taxonomy of the different concurrency control protocols with different observable behavior and performance characteristics appears in Section 3. The Transactional Featherweight Java calculus is introduced in Section 4. Section 5 and Section 6 give, respectively, versioning and strict two phase locking semantics to the calculus. The soundness results are given in Section 7. Observations about the calculus is given in Section 8. Related work is discussed in Section 9 and Section 10 concludes. This paper develops a semantic framework for specifying nested and multithreaded transactions. This semantic framework is a basis for exploring the design space of transactional programming language semantics. We believe that transactions can improve the performance of programs running on parallel architectures and that improve reliability by eliminating data races. We have introduced the TFJ calculus, an imperative and concurrent object calculus with call-by-value semantics and support for nested and multi-threaded transactions. The TFJ semantics is parameterized by the definition of the transactional facility, and in particular of the concurrency control protocol. This is important as different protocols have different observable behaviors and different performance characteristics. So being able to discuss these protocols in the same semantic framework allows one to compare them and argue about tradeoffs. In this paper we show two instantiations of TFJ with, respectively, a versioning-based optimistic model, and a pessimistic two-phase locking protocol. We have proven a general soundness theorem that relates the semantics of TFJ to a serializability property. The soundness result is parametric as well as it relies on a permutation lemma that must be proven for each instantiation of TFJ. While much works remains to be done to integrate transactions into mainstream languages, we believe that this paper is a step in that direction. The association of transactions with programming control structures has provenance in systems such as Argus [19, 22] , Camelot [12] Avalon/C++ [11] and Venari/ML [16] , and has also been studied for variants of Java, notably by Garthwaite [14] and Daynes [8] [9] [10] .. Our permutation lemma is related to Lipton's notion of reductions [18] where left and right movers are actions that can be permuted. More recently Qadeer et. al. [23] have applied the same idea to generate method summaries for multi-threaded Java.. There is a large body of work that explores the formal specification of various flavors of transactions [20, 7, 15] . However, these efforts do not explore the semantics of transactions when integrated into a high-level programming language. Most closely related to our goals is the work of Black et. al. [3] and Chothia and Duggan [6] . The former presents a theory of transactions that specify atomicity, isolation and durability properties in the form of an equivalence relation on processes. Like our work, they present a soundness result that captures the intuitive notion of serializable actions. Beyond significant technical differences in the specification of the semantics, our results differ most significantly from theirs insofar as we present a stratified semantics for a realistic kernel language intended to express different concurrency control models within the same framework. We believe our formulation will be thus thus more useful to implementations and analyzes.. Choithia and Duggan present the pik-calculus and pike-calculus, extension of the picalculus that supports various abstractions for distributed transactions and optimistic concurrency. Their work is related to other efforts [5, 4] that encode transaction-style semantics into the pi-calculus and its variants. Our work is distinguished from these efforts in that it provides a simple operational characterization and proof of correctness of transactions that can be used to explore different trade-offs when designing a transaction facility for incorporation into a language.. Haines et.al. [16] describe a composable transaction facility in ML that supports persistence, undoability, locking and threads. Their abstractions are very modular and firstclass, although their implementation does not rely on optimistic concurrency mechanisms to handle commits.

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


Cryptographic link signatures for spectrum usage authentication in cognitive radio It was shown that most of the radio frequency spectrum was inefficiently utilized. To fully use these spectrums, cognitive radio networks have been proposed. The idea is to allow secondary users to use a spectrum if the primary user (i.e., the legitimate owner of the spectrum) is not using it. To achieve this, secondary users should constantly monitor the usage of the spectrum to avoid interference with the primary user. However, achieving a trustworthy monitoring is not easy. A malicious secondary user who wants to gain an unfair use of a spectrum can emulate the primary user, and can thus trick the other secondary users into believing that the primary user is using the spectrum when it is not. This attack is called the Primary User Emulation (PUE) attack. To prevent this attack, there should be a way to authenticate primary users' spectrum usage.We propose a method that allows primary users to add a cryptographic link signature to its signal so the spectrum usage by primary users can be authenticated. This signature is added to the signal in a transparent way, such that the receivers (who do not care about the signature) still function as usual, while the cognitive radio receivers can retrieve the signature from the signal. We describe two schemes to add a signature, one using modulation, and the other using coding. We have analyzed the performance of both schemes. Recently, there has been a growing interest in cognitive radio. In general, cognitive radio refers to a wireless device that can change its transmission or reception parameters to achieve efficient communication [13] . One of the promising applications of cognitive radio is to enable the current fixed spectrum channels assigned by Federal Communications Commission (FCC) to be utilized by new users.. In a recent study, FCC has found that most of the radio frequency spectrum was inefficiently utilized [22] : some spectrum is overloaded, while other spectrum is rarely used. This is because spectrum is statically assigned by FCC; only the FCC-designated owners can use the spectrum assigned to them. With cognitive radios, FCC is considering allowing unlicensed users to utilize licensed bands provided it would not cause any interference (by avoiding transmission whenever licensed user's presence is sensed). This is a new paradigm for wireless communication. The licensed user is called primary user, and the unlicensed user is called secondary user. In this paper, we present a method to solve the primary emulation attack in cognitive radio networks. In our scheme, primary users use a one-way hash chain to authenticate its legitimate use of spectrum. To ensure that the existing non-CR receivers can properly receive signals, the authentication tag must be transparent to them. Thus, we present two schemes, one conducting tagging in QPSK modulation, the other in the error-correcting coding. We have analyzed the performance of two schemes, and our evaluation results indicate that the scheme is quite practical for cognitive radio. The objective of this section is to understand the performance of the QPSK and ECC tagging schemes. In particular, we would like to study how the tagging schemes affect data transmissions (i.e., the data error rate), and how well receivers can recover the tag (i.e., the tag error rate). The following parameters are relevant to our scheme:. • The length L of each tag: Each tag is basically a hash value. In our analysis, we assume that MD5 is used, i.e., each tag has 128 bits. Similar analysis can be done for other hash functions.. • Signal-to-noise ratio (SNR), E b /N0: It is defined as the power ratio between a signal (meaningful information) and the background noise (unwanted signal), and measured by dB.. In this section, we first analyze the following error rates. These analytical results will be used as the basis for our more comprehensive analysis in Sections 6 and 7.. • Signal symbol error rate Ps: This probability indicates how accurately receivers can retrieve the data sent in the signal. Ps is defined upon symbol. In QPSK, a symbol consists of two bits. In the ECC tagging scheme, a symbol is made of M bit. The value of M depends on what error correcting code is used.. • Bit error rate for tag detection Pt: This probability indicates how accurately cognitive radio receivers can retrieve each bit of the tag information. Numerous work has been conducted to derive the signal features that are unique to a transmitter or primary user, so these features can be used as signatures to identify a particular transmitter [3, 8, 11] or detect legitimate primary users [10, 14, [19] [20] [21] 24] . Although this approach has been successful in certain scenarios, recently, it was pointed out by Danev et al. that the features are not completely trustworthy, and most features can be spoofed [7] .. A recent attempt concerns adding secure signatures to transmitter signals for authentication. Wang et al. [23] proposed a scheme to add a low-power signal as the identity in television broadcast. Yu et al. proposes a physical-layer authentication scheme [25] . Their idea is to superimpose a tag signal with the original signal in order to prove its legitimacy to receivers. However, the authentication scheme described in the paper is based on a secret key; this is not practical for broadcasting authentication. Moreover, the tag in the paper is generated from the signal and the secret key; this makes the authentication quite sensitive to errors: if there is an error in the data (which is quite common in the physical layer), it will be hard to verify the authentication tag. Furthermore, the way how tags are added to signals in our work is different from that in [25] . As for the solution proposed by Liu et al. [16] , we have already discussed it in the introduction section.. Other related work includes water marking [6, 9, 15] , which also discuss how to embed tags inside signals. Their objective is different from ours; their goal is to use the tag for the copyright protection purpose.

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


Sparse Color Interest Points for Image Retrieval and Object Categorization Abstract-Interest point detection is an important research area in the field of image processing and computer vision. In particular, image retrieval and object categorization heavily rely on interest point detection from which local image descriptors are computed for image matching. In general, interest points are based on luminance, and color has been largely ignored. However, the use of color increases the distinctiveness of interest points. The use of color may therefore provide selective search reducing the total number of interest points used for image matching. This paper proposes color interest points for sparse image representation. To reduce the sensitivity to varying imaging conditions, light-invariant interest points are introduced. Color statistics based on occurrence probability lead to color boosted points, which are obtained through saliency-based feature selection. Furthermore, a principal component analysis-based scale selection method is proposed, which gives a robust scale estimation per interest point. From large-scale experiments, it is shown that the proposed color interest point detector has higher repeatability than a luminance-based one. Furthermore, in the context of image retrieval, a reduced and predictable number of color features show an increase in performance compared to state-of-the-art interest points. Finally, in the context of object recognition, for the Pascal VOC 2007 challenge, our method gives comparable performance to state-of-the-art methods using only a small fraction of the features, reducing the computing time considerably. In this paper, a principled approach has been proposed to extract scale-invariant interest points based on color and saliency. This allows the use of color-based interest points for arbitrary image matching. A PCA-based scale selection method is proposed that provides robustness to scale changes. Perceptual color spaces are incorporated, and their advantages are directly passed on to the feature extraction. The use of color information allows for extracting repeatable and scale-invariant interest points. Hence, more discriminative features and a sparser representation of images for image matching have been achieved. By reducing the number of features and providing a predictable number of sparse features, larger data sets can be processed in less time. Additionally, a stable number of features leads to a more predictable workload for such tasks.. From large-scale experiments, it has been shown that the proposed color interest point detector has higher repeatability than a state-of-the-art luminance-based one. Furthermore, a reduced number of color features increase the performance in image retrieval. Finally, for the PASCAL VOC 2007 challenge, our method gave comparable performance to the state of the art in object categorization using only a subset of the features used for matching, reducing the computing time considerably.. number of Austrian national projects. He has authored or coauthored more than 60 publications in refereed journals and international conferences. His research interests include information retrieval, multimodal information retrieval, health information retrieval, and the evaluation of information retrieval algorithms. To illustrate the different interest point detectors, examples are shown in Fig. 2 . Parameters are equal to the ones in the experiments. As the baseline, Harris-Laplacian is extracted with the suggested threshold on of 500; the proposed approaches give at most 400 interest points per image. The first column gives three images from the VOC 2007 data set. The other columns give the Harris-Laplacian, light-invariant points, and color boosted points. Interest point locations and scales are indicated by the white circles. Generally, it can be derived that the luminance-based Harris-Laplacian detects many background features that are solely detected due to shadows and shading. Intensity-based features are very sensitive to the smallest changes in lighting conditions and thus less valuable for visual recognition and matching. The first row of Fig. 2 shows that the two proposed approaches lead to very similar results. For light-invariant points, shadows and specular reflections are disregarded. For color boosted points, patterns containing very common colors are disregarded. Both are able to reduce the number of nonrobust features effectively.. In the presence of heavier shadowing effects in the second row of Fig. 2 , the color boosted points (h) are less robust and introduce small more ambiguous features compared with the light-invariant points (g). The Harris-Laplacian interest points (f) are located all over the shadows in the background. The third row of Fig. 2 shows the ability of the color points to reduce the features caused by specular effects; the color reflections on the car (i) are chosen by Harris-Laplacian (j) but disregarded by the light-invariant points (k), leading to a reduced number, but more stable features. The color boosted points (l) focus on salient colors and therefore provide few features on colors of the reflection. In Section II-A, the main steps of image retrieval and object categorization are outlined (see Fig. 1 ). A detailed comparison of interest points is presented in Section II-B.

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


Towards a pivotal-based approach for business process alignment This article focuses on business process engineering, especially on alignment between business analysis and implementation. Through a business process management approach, different transformations interfere with process models in order to make them executable. To keep the consistency of process model from business model to IT model, we propose a pivotal metamodel-centric methodology. It aims at keeping or giving all requisite structural and semantic data needed to perform such transformations without loss of information. Through this we can ensure the alignment between business and IT. This article describes the concept of pivotal metamodel and proposes a methodology using such an approach. In addition, we present an example and the resulting benefits. Adaptation to an unstable demand, ability to improve efficiency and bringing changes to its value chain are the challenges that companies have to constantly confront. In order to remain competitive, a company must be able to describe and remain reactive to an endogenic or exogenic event. Such flexibility can be obtained by using a process-oriented approach or BPM (business process management). BPM represents the business process engineering of the organisation using information technology (Smith et al. 2002 , Malone et al. 2003 . It is intended to model, deploy, execute and optimise business processes in an ongoing way. A BPM cycle consists of three major steps ( Figure 1 ).. The first step is the business process analysis (BPA). During this step, process models including various views (functional, informational, organisational and resource) are constructed. The second step is intended to deploy and execute business process, the business process implementation (BPI). The third one relies on monitoring processes and analysing data. It gives scorecards and key performance indicators (Alfaro et al. 2009 ). This step, the business activity monitoring (BAM), is out of the scope for this article.. The BPM is most often seen and interpreted as a further step and a natural evolution of the workflow management. This could explain the attention given to the functional view and the associated control-flow during the BPA step.. Specialised editors, such as ARIS, IBM Telelogic, MEGA, W4 . . . offer BPM-based services. These BPM tool suites provide some methods that guide the enduser through a BPM cycle. For example, the Architecture of Integrated Information Systems (ARIS) editor defines its BPM approach by 'ARIS Methodology', which contains four phases (BP strategy, BP design, BP implementation and BP controlling).. This article proposes a methodology 1 which enhances transformations between heterogeneous models, e.g. from analysis models to implementation models and vice versa. This enhancement is obtained, thanks to a systematic model formalisation and the use of a pivotal metamodel. By obtaining this formalisation, we allow reverse transformations. The models are synchronised and consistent with each other. This synchronisation and intermodel consistency reduce the gap between business domain and IT domain, which increase the Business-IT alignment.. The article is organised as follows. Section 2 reviews one of the main research areas about heterogeneous model alignment. In Section 3, we highlight the difficulties encountered in not only translating a BPA model to BPI model but also to maintain them structurally or semantically consistent. The use of a pivotal metamodel-centric approach is justified in Section 4. Section 5 presents the methodology used to formalise the relationships between models, metamodels and pivotal concepts. Section 6 describes the prototype framework, the standards, technologies and tools used to accomplish this purpose. This framework supports our methodology and reveals how pivotal model and metamodel are used to transform BPA and BPI models. An example illustrating these elements is also detailed in this section. Then the benefits of the approach are discussed in Section 7. Finally, conclusions and future outlook are presented in Section 8. In this section, we formally describe how our methodology can guarantee consistency links between its different elements. Then, the various steps constituting our framework are defined. A partially implemented case study on the proposed framework is discussed at the end of this section.

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


Hierarchies of weakly monotone restarting automata It is known that the weakly monotone restarting automata accept exactly the growing contextsensitive langauges. We introduce a measure on the degree of weak monotonicity and show that the language classes obtained in this way form strict hierarchies for the various types of deterministic and nondeterministic restarting automata without auxiliary symbols. The motivation for introducing the restarting automaton in [2] was the desire to model the so-called analysis by reduction of natural languages [12, 13] . This analysis consists of a stepwise simplification of a sentence in such a way that the syntactical correctness or incorrectness of the sentence is not affected. After a finite number of steps either a correct simple sentence is obtained, or an error is detected. It turned out that the restarting automaton thus obtained can handle a class of languages that is much broader than the class CFL of context-free languages.. A restarting automaton, or RRWW-automaton, M is a device with a finite state control and a read/write window of fixed size. This window moves from left to right along a tape containing a string delimited by sentinels until M 's control decides (nondeterministically) that the contents of the window should be rewritten by some shorter string. After a rewrite, M continues to move its window to the right until it either halts and accepts, or halts and rejects, which means that it has reached a configuration from which it cannot continue, or restarts, that is, it moves its window to the leftmost position, enters the initial state, and continues with the computation.. Also some restricted variants of the restarting automaton have been considered. First, there are the deterministic variants. Then there are those variants that are allowed to only use the letters from the input alphabet, while in general a restarting automaton can use a finite number of auxiliary symbols in its rewrite steps. Further, a monotonicity property was introduced for RRWW-automata, and it was shown that the monotone RRWW-automata (with auxiliary symbols) characterize the class CFL, and that various restricted versions of deterministic monotone RRWW-automata (with or without auxiliary symbols) characterize the class DCFL of deterministic context-free languages [3] .. In [5, 7] the class CRL of Church-Rosser languages was introduced motivated by the fact that membership for these languages is decidable in linear time. In [10] it was then shown that the deterministic RRWW-automata (with auxiliary symbols) give another characterization of CRL. For the growing context-sensitive languages GCSL [1] , which can be seen as the nondeterministic variants of the Church-Rosser languages [8] , it was observed in [9] that they form a proper subclass of the class L(RRWW) of languages that are accepted by RRWW-automata.. In order to obtain a characterization of GCSL in terms of restarting automata, a relaxation of the monotonicity condition for RRWW-automata was introduced in [4] . Let c be a non-negative integer. An RRWW-automaton M is called weakly c-monotone if in any two consecutive rewrite steps of any computation of M the places of rewriting can increase their distances from the right end of the tape by at most c positions. An RRWW-automaton M is called weakly monotone if there exists a non-negative integer c such that M is weakly c-monotone. The weakly monotone RRWW-automata (with auxiliary symbols) recognize exactly GCSL [4] . For a recent survey on the restarting automata see [11] .. Here we study the influence of the degree of weak monotonicity on the expressive power of the various models of restarting automata. We focus on the restarting automata with the most transparent computations -those without auxiliary symbols. Further motivation for studying weak monotonicity comes from linguistics. The degree of weak monotonicity is a measure of across how many symbols (words of a sentence) already read before a reader must step back to the left during an analysis of a sentence in a certain (natural) language.

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


IDD-based

model

validation

of

biochemical

networks

This

paper

presents

efficient

techniques

for

the

qualitative

and

quantitative

analysis

of

biochemical

networks,

which

are

modeled

by

means

of

qualitative

and

stochastic

Petri

nets,

respectively.

The

analysis

includes

standard

Petri

net

properties

as

well

as

model

checking

of

the

Computation

Tree

Logic

and

the

Continuous

Stochastic

Logic.

Efficiency

is

achieved

by

using

Interval

decision

diagrams

to

alleviate

the

well-known

problem

of

state

space

explosion,

and

by

applying

operations

exploiting

the

Petri

structure

and

the

principle

of

locality.

All

presented

techniques

are

implemented

in

our

tool

IDD-MC

which

is

available

on

our

website.

Model

validation

is

a

major

task

in

the

dependable

reconstruction

of

biochemical

networks.

Computer-based

model

validation

requires

modeling

formalisms

with

a

formal

semantics.

Ideally,

one

and

the

same

formalism

supports

a

number

of

various

analysis

techniques

for

a

wider

range

of

properties..

Biochemical

networks

and

Petri

nets

share

a

couple

of

distinctive

characteristics,

first

of

all:

both

are

inherently

bipartite

and

concurrent.

Thus,

biochemical

networks

can

be

modeled

by

stochastic

Petri

nets

in

an

intuitive

way

as

can

be

seen

in

Figs.

and

which

show

Petri

net

models

of

two

popular

biochemical

pathways.

Tokens

can

be

interpreted

as

molecules

(mass

action

kinetics)

or

as

levels

of

concentrations.

For

readability

the

rates

which

are

associated

to

the

transitions

have

been

omitted.

For

a

recent

survey

paper

of

biochemically

interpreted

Petri

net

case

studies;

see

Maybe

even

more

importantly,

Petri

nets

enjoy

a

formal

semantics

and

thus

allow

for

a

formal

analysis

of

their

properties.

The

Petri

net

theory

has

gathered

quite

a

number

of

theorems

and

related

algorithms

over

the

last

four

decades..

In

the

following

we

focus

on

behavioural

properties

which

can

be

determined

by

a

state

space

analysis,

supplemented

by

numerical

computations,

if

necessary.

All

techniques

addressing

state

space

analyses

face

the

famous

problem

of

state

space

explosion.

In

fact

we

know

that

the

dependence

of

the

size

of

the

state

space

on

the

size

of

the

Petri

net

cannot

be

bounded

by

a

primitive

recursive

function

To

give

an

idea

what

the

state

space

problem

means

for

the

practical

analysis

of

biochemical

networks,

Table

shows

the

increase

of

the

state

space

caused

by

an

increase

of

the

initial

number

of

tokens..

Nevertheless,

several

reduction

techniques

(e.g.

partial

order,

symmetries,

bisimulation)

and

advanced

data

structures

such

as

Reduced

ordered

binary

decision

diagrams

(ROBDD)

have

been

considered

in

the

past

to

alleviate

the

imposed

limitations.

ROBDDs

often

allow

an

efficient

encoding

of

Boolean

functions

and,

therefore,

are

perfectly

suited

to

encode

marking

sets

of

Petri

nets,

where

places

can

be

read

as

Boolean

variables.

The

impressive

success

of

ROBDDs

has

triggered

numerous

efforts

to

improve

their

efficiency

and

to

expand

the

range

of

their

applicability.

Sophisticated

techniques

have

been

elaborated

to

make

representations

more

compact

and

to

support

other

classes

of

functions.

A

number

of

extensions

of

ROBDDs

have

been

proposed,

which

have

been

applied

to

analyse

Petri

nets;

among

them

are:

Zero

suppressed

binary

decision

diagrams

Multi-valued

decision

diagrams

Natural

decision

diagrams

Interval

decision

diagrams

Difference

decision

diagrams

Data

decision

diagrams

and

analysed

as

Petri

net

in

The

model

comprises

places

(species)

and

transitions

(reactions).

Biological

networks

can

be

modeled

by

P/T

nets

and

stochastic

Petri

nets.

This

opens

the

door

to

a

multitude

of

qualitative

and

quantitative

analysis

techniques.

Independent

of

the

modeling

formalism,

an

exhaustive

analysis

taking

into

account

the

reachable

states

of

the

model

suffers

from

the

states

space

explosion

problem.

In

this

paper

we

discussed

Reduced

ordered

interval

decision

diagrams

as

a

data

structure

for

the

representation

of

interval

logic

functions,

which

we

use

to

represent

sets

of

states

of

bounded

(stochastic)

Petri

nets.

We

presented

the

related

algorithms

which

enable

efficient

manipulation

of

the

represented

sets

of

states.

We

introduced

algorithms

using

the

locality

of

the

firing

of

transitions

to

realize

an

IDD

Table

Comparison

of

the

time

required

for

steady

state

analysis.

For

the

ERK

pathway

we

take

the

CSL

formula

S

[Raf

C

Raf

C

(see

formula

with

C

and

for

the

MAPK

cascade

we

take

the

CSL

formula

S

[kpp

l]

(see

with

l

For

these

experiments

we

also

considered

SMART

using

its

For

the

ERK

model

we

used

a

Jacobi

solver,

for

the

MAPK

cascade

a

Gauss-Seidel

solver.

IDD-MC's

caching

engine

does

not

allow

an

efficient

implementation

of

the

Gauss-Seidel

method,

so

we

used

an

adaption

similar

to

PRISM'

Pseudo-Gauss-Seidel,

which

in

general

requires

more

iterations.

(a)

The

total

time

includes

all

required

steps

from

model

parsing,

state

space

construction

and

initializations

over

the

numerical

computation

(total

interaction

time)

up

to

result

abstraction.

The

time

is

given

in

seconds.

(b)

We

consider

the

total

memory

consumption

(in

Megabyte)

including

the

CTMC

representation

and

the

needed

probability

vectors..

operation

Fire

and

efficient

saturation-based

reachability

analysis.

Furthermore

we

sketched

a

new

IDD

operation

Mul

for

the

multiplication

of

the

rate

matrix,

which

is

defined

by

the

reachability

relation

on

a

stochastic

Petri

net,

with

a

probability

vector

of

the

same

dimension.

This

new

operation

allows

transient,

steady

state

and

related

analysis

techniques

as

CSL

model

checking

without

having

to

encode

the

whole

CTMC.

We

gave

an

overview

of

the

analysis

techniques

available

in

our

tool

IDD-MC.

We

have

used

two

models

of

biological

pathways

to

show

that

our

prototype

tool

IDD-MC

outperforms

the

established

and

partially

comparable

tools

SMART

and

PRISM.

The

tool

and

a

benchmark

suite

containing

further

biochemical

models

are

available

on

our

website

There

are

at

least

two

prominent

tools

offering

the

analysis

techniques

we

discussed

here

in

a

symbolic

manner.

They

differ

in

the

amount

of

offered

analysis

features

and

in

the

basic

data

structures

and

the

related

algorithms..

The

Symbolic

Model

checking

Analyzer

for

Reliability

and

Timing

(SMART

for

short)

implements,

besides

efficient

reachability

analysis

and

CTL

model

checking,

transient

and

steady

state

analysis

for

stochastic

Petri

net.

It

offers

several

explicit

and

symbolic

data

structures

for

state

space

representation,

among

them

Multi-valued

decision

diagrams

(MDD).

Several

techniques

are

available

for

the

encoding

of

CTMCs,

e.g.

Kronecker

based.

SMART

implements

also

some

kind

of

saturation

technique

when

using

MDD

representation.

But

to

profit

from

the

efficient

MDD-saturation

and

the

Kroneckerbased

analysis,

the

user

must

specify

a

suitable

partitioning

of

the

place

set

which

may

be

a

challenging

task..

The

probabilistic

model

checker

PRISM

offers,

besides

analysis

of

discrete

Markovian

formalisms,

CSL

model

checking

for

CTMCs.

Stochastic

Petri

nets

can

be

easily

translated

into

the

PRISM

input

language

as

it

has

been

done

in

PRISM's

analysis

engine

is

based

on

Multi-terminal

binary

decision

diagrams

(MTBDD)

which

are

basically

BDDs

allowing

more

than

two

terminal

nodes,

each

standing

for

a

different

value.

The

rate

matrix

is

encoded

by

an

MTBDD,

the

state

space

representation

uses

a

BDD..

The

analysis

using

MTBDDs

has

three

major

drawbacks

compared

to

IDD-based

techniques.

First,

prior

knowledge

of

the

boundedness

degree

of

each

place

is

required,

since

a

place

with

an

upper

bound

of

k

tokens

must

be

represented

by

ld(k).

MTBDD

variables.

This

results

in

an

overhead

in

computation

time

and

memory.

Since

tokens

may

represent

concentration

levels

or

an

amount

of

molecules,

increasing

the

analysis

accuracy

implies

an

increase

of

the

possible

number

of

tokens

on

places.

Secondly,

when

encoding

the

CTMC's

rate

matrix

with

an

MTBDD,

it

is

necessary

to

double

the

number

of

MTBDD

variables

to

index

rows

and

columns.

The

third

drawback

is

that

there

are

as

many

terminal

nodes

in

the

MTBDD

as

there

are

different

rate

values.

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


A Calculus Approach to Energy-Efficient Data Transmission With Quality-of-Service Constraints Abstract-Transmission rate adaptation in wireless devices provides a unique opportunity to trade off data service rate with energy consumption. In this paper, we study optimal rate control to minimize transmission energy expenditure subject to strict deadline or other quality-of-service (QoS) constraints. Specifically, the system consists of a wireless transmitter with controllable transmission rate and with strict QoS constraints on data transmission. The goal is to obtain a rate-control policy that minimizes the total transmission energy expenditure while ensuring that the QoS constraints are met. Using a novel formulation based on cumulative curves methodology, we obtain the optimal transmission policy and show that it has a simple and appealing graphical visualization. Utilizing the optimal "offline" results, we then develop an online transmission policy for an arbitrary stream of packet arrivals and deadline constraints, and show, via simulations, that it is significantly more energy-efficient than a simple head-of-line drain policy. Finally, we generalize the optimal policy results to the case of time-varying power-rate functions.Index Terms-Delay, energy, network calculus, quality of service (QoS), rate control, wireless. Transmission rate adaptation/control is an active area of research in communication networks in various different contexts. Adaptive network control and scheduling have been studied in the context of network stability [16] - [19] , average throughput [20] - [23] , average delay [7] , [14] , and packet-drop probability [15] . This literature considers "average metrics" that are measured over an infinite time horizon and, hence, do not directly apply for delay-constrained and real-time data. Incorporating packet deadlines and other strict QoS constraints introduces new 1063-6692/$25.00 © 2009 IEEE challenges and complexity in the problem; recent work in this direction includes [8] - [12] .. The work in [8] studied the problem of a known stream of packet arrivals that must be transmitted by a common deadline using minimum energy. In [12] , the problem was extended by allowing different energy functions for different packets, where the authors proposed the MoveRight algorithm that eventually converges to the optimal solution; however, the actual analytical form of the optimal solution was not obtained. In [10] , the authors considered batch arrivals and packet deadlines as the QoS metric and utilized filtering techniques to obtain an energy-efficient transmission policy. In this paper, we provide a simple yet general framework for the QoS constrained energy minimization problem from which these earlier results can be recovered as special cases (see Section III-C). The work in [11] has a different context wherein the transmitter can recover partial energy lost while it is in the idle state, whereas in [9] , the authors studied several data transmission problems using dynamic programming. The dynamic programming methodology, however, leads to numerical solutions without much insight in most cases.. Within a different context in [25] , the problem of transmitting a stored video file from a server to a client over a network was considered. Utilizing buffering at the client, the optimal policy was obtained that minimizes the bit-rate variability. Strikingly, the mathematical formulation in the work of [25] has similarities to that considered in this paper; hence, the optimal policies share various properties such as the shortest-path feature (albeit with different contextual meanings). However, the solution methodology in [25] is based on a majorization technique that is only suitable for discrete data models. In contrast, our approach is based on continuous-time convex optimization and applies to both discrete and fluid data models. Moreover, in this paper, we also develop the optimal solution for a time-varying power-rate relationship, which was not addressed in the stored video context. In another context, [26] studied the problem of job scheduling for a dynamically variable voltage processor where similar properties (such as the shortest-path property of the optimal solution) were observed. Finally, part of the results presented in this paper have appeared in our preliminary work in [6] .. The rest of the paper is organized as follows. In Section II, we present the system model. In Section III, we present the optimal policy for the case of time-invariant power-rate function. Finally, in Section IV, we generalize the setup and consider a time-varying power-rate function.

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


Interrupted Cognition in an Undergraduate Programming Course Computer and Information Science courses are frequently taught in networked computer laboratories where students have access to advanced development environments, connectivity, communications, and multi-media capabilities. Advanced connectivity and communications can have positive or negative effects on learning. One cause for concern can be interruptions from emails, cell phones, and instant messages. This paper presents a theoretical foundation for Technology Interrupted Cognitive processes with examples of how learners' cognitive schemas maybe positively or negatively affected by the interruptions specifically from instant messages. The paper also presents findings from a research study to document the frequency and prevalence of instant messaging use by students. Results document the approaches that the students participating in the study use and how their cognitive structures are affected by instant messaging interruptions. Finally the paper also recommends guidelines for reducing the negative effects of interruptions on cognitive processes. "As I conduct a Java programming lab, I notice most students are concentrating on writing and debugging their code. Some students appear to be moving their heads constantly between windows on their computer desktop. They appear to be having a conversation with a friend on instant messaging (IM) while working on their program." -Author. Interruptions are everywhere today. In the workplace, in the classroom, and even while you are driving, cell phones, email, instant messaging, helpful hint pop-up agents, and spam compete for your attention and disrupt your plans. Companies have documented how disruptive and costly interruptions are in the workplace . (Dahms, 1998) Even though there has been research documenting the costs, time (Speier et al., 2003) , and social effects of interruptions, there has been no research on the possible effects of interruptions on human cognitive structures. This paper starts by proposing a theoretical framework for "Technology-Related Interrupted Cognition". (TIC) and presents results from a research study designed to identify the outcomes of instant messaging interruptions in a programming course. Finally, recommendations for managing TIC in learning environments are suggested. The results reported here suggest that IM use can be useful when managed effectively by the learner. Training students to manage their IM use is a critical step that needs significant investment of time and effort by teachers and those concerned about learning. Standard statistical analysis procedures were used to compare differences among the three conditions.. Data analysis was conducted on 24 participants who had completed all projects and tests for the semester.. 62.5% of the participants scored less than 60% on the pre-test and were classified as having low prior knowledge. 75% of the participants showed little use of metacognitive skills. In questions like planning and managing their learning, these students did not suggest any concerted effort. They were classified as having low metacognitive skill level. Results from ANOVA with metacognitive skill as the independent variable and the three exams as the dependent variables showed no significant differences in exam performance between the groups.. High prior knowledge (pre-test scores) showed significantly higher test scores for the first two exams (exam 1, p=.000; exam 2, p = .001). The significance for exam 3 was p = .080.. Every week students were given hints on possible exam questions. For example, the instructor would state, "a comparison on CGI scripts and Servlets will be on the next exam". The data for these specific questions on the test showed that all students remembered more of the specific questions on the test when IM was not used in weeks 1-4 and then weeks 10 -14. A significantly lower (p = .001) number of these questions were recalled when IM was used in weeks 5-9.. Students with high prior knowledge were less affected by the IM (during weeks 5-9) use than those whose pre-test scores were lower. Additionally, half the students in the high prior knowledge and high metacognitive skills category chose not to use the IM on their desktop. 50% of the lower metacognitive skill group chose to use the IM on their desktop.. Interviews with students resulted in very interesting findings. First, students with high metacognitive skills said they always turned off the sounds on their IM programs and usually waited till they thought they could take a break to acknowledge an interruption. They also suggested that they maintain two groups of IM buddies, the first for social reasons (that they do not talk to in the class) and a second that could provide them technical assistance with their tasks. This method appears to actually help them solve problems faster and reduce their frustration levels. One student also suggested that he gets to bounce ideas off his technical counterparts and get interesting new ideas through these interactions.. Second, students with lower metacognitive skills uniformly suggested that they break their concentration to attend to conversations on IM. This was also observed during laboratory exercises in programming and debugging. They also suggested that their interruptions did not affect their learning. However, their high metacognitive skilled counterparts were very conscious of the potential interruptions of IM.. Third, during interviews, the two students (with lower metacognitive skills) could not recall the errors they encountered or debugged. On the other hand, their high metacognitive skilled counterparts appeared to thrive on their learning from the errors. They recalled the specific errors, recalled when they had encountered those previously and how they would avoid them in the future.. Fourth, students with low metacognitive skill spent lots of time retracing their steps but did not perform well.. When their IM was turned off, the same students remembered more questions

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