Transactional scheduling for read-dominated workloads The transactional approach to contention management guarantees atomicity by aborting transactions that may violate consistency. A major challenge in this approach is to schedule transactions in a manner that reduces the total time to perform all transactions (the makespan), since transactions are often aborted and restarted. The performance of a transactional scheduler can be evaluated by the ratio between its makespan and the makespan of an optimal, clairvoyant scheduler that knows the list of resource accesses that will be performed by each transaction, as well as its release time and duration. This paper studies transactional scheduling in the context of read-dominated workloads; these common workloads include read-only transactions, i.e., those that only observe data, and late-write transactions, i.e., those that update only towards the end of the transaction.We present the Bimodal transactional scheduler, which is especially tailored to accommodate read-only transactions, without punishing transactions that write most of their duration (early-write transactions). It is evaluated by comparison with an optimal clairvoyant scheduler; we prove that Bimodal demonstrates the best competitive ratio achievable by a non-clairvoyant schedule for workloads consisting of early-write and read-only transactions.We also show that late-write transactions significantly deteriorate the competitive ratio of any nonclairvoyant scheduler, assuming it takes a conservative approach to conflicts. A promising approach to programming concurrent applications is provided by transactional synchronization: a transaction aggregates a sequence of resource accesses that should be executed atomically by a single thread. A transaction ends either by committing, in which case all of its updates take effect, or by aborting, in which case, no update is effective. If aborted, a transaction is later restarted from its beginning.. Several existing transactional memory implementations (e.g., [16, 6] ) guarantee consistency by making sure that whenever there is a conflict, that is, two transactions access the same resource and at least one writes to it, one of the transactions involved is aborted. We call this approach conservative. Taking a non-conservative approach and ensuring progress while accurately avoiding consistency violations, seems to require complex data structures, as used for example in [5, 20] .. A major challenge is guaranteeing progress through a transactional scheduler, choosing which transaction to delay or abort and when to restart the aborted transaction, so as to ensure that work eventually gets done, and all transactions commit. 2 This goal can also be stated quantitatively as minimizing the makespan-the total time needed to complete a finite set of transactions. Clearly, the makespan depends on the workload-the set of transactions and their characteristics, for example, their release times, duration, and most importantly, the resources they read or modify.. The competitive approach for evaluating a transactional scheduler A calculates the ratio between the makespan provided by A and by an optimal, clairvoyant scheduler, for each workload separately, and then finds the maximal ratio [3, 9, 11] . It has been shown that the best competitive ratio achieved by simple transactional schedulers is Θ(s), where s is the number of resources [3] . These prior studies assumed write-dominated workloads, in which transactions need exclusive access to resources for most of their duration. 2 It is typically assumed that a transaction running solo, without conflicting accesses, commits with a correct result [16] . In this paper, we extend the study of transactional schedulers without a priori knowledge of the workload, by considering read-dominated workloads, which are common in transactional memory [14] . In such workloads, transactions do not need exclusive access to resources for most of their duration. This includes read-only transactions that only observe data and do not modify it, as well as late-write transactions (that perform the first write operation towards the end of their execution), e.g., locating an item by searching a list and then inserting or deleting. In particular, we extend the result in [3] by proving that every deterministic scheduler is Ω(s)-competitive for read-dominated workloads, where s is the number of resources.. Then, we prove that any conservative non-clairvoyant scheduler is Ω(m)-competitive for some workload containing late-write transactions, where m is the number of cores. This means that, for some workloads, conservative schedulers utilize at most one core, while an optimal, clairvoyant scheduler exploits the maximal parallelism on all m cores. This bound can be easily shown to be tight, since at each time, a reasonable transactional scheduler typically makes progress on at least one transaction. Several transactional schedulers, like CAR-STM [7] , Adaptive Transaction Scheduling [29] , and Steal-On-Abort [2] , try to avoid repeated conflicts and reduce wasted work, without deteriorating throughput. Using somewhat different mechanisms, these schedulers avoid repeated aborts by serializing transactions after a conflict happens, and they end up serializing also read-only transactions.. We study bimodal workloads containing only early-write transactions (that perform a write operation at the beginning of their execution) and read-only transactions, and show that there are bimodal workloads for which these transactional schedulers are, at best, Ω(m)-competitive.. These counter-examples motivate our Bimodal scheduler, which is O(s)-competitive for bimodal workloads with almost equi-duration transactions. Bimodal alternates between writing epochs in which it gives priority to writing transactions, and reading epochs in which it prioritizes transactions that have issued only reads so far. Bimodal has optimal competitive makespan, since no scheduler can do better than O(s) for bimodal workloads [3] . Bimodal also works when the workload is not bimodal, but it can only be trivially bounded to be O(m)-competitive for workloads with late-write transactions.. The rest of the paper is organized as follows. In Section 2, we state the model and present simple preliminary bounds. Section 3 presents the lower bounds, while Section 4 discusses the competitive ratio of recent transactional schedulers. In Section 5, we describe the Bimodal scheduler and analyze its performance. We conclude with a discussion of other related work (Section 6), and a summary (Section 7). This paper studies the competitive ratio achieved by nonclairvoyant transactional schedulers on read-dominated workloads. We have presented the Bimodal transactional scheduler, which allows to achieve maximum parallelism on read-only transactions, without harming early-write transactions. On the other hand, we proved that the long reading periods of late-write transactions cannot be overlapped to exploit parallelism, and must be serialized if the writes at the end of the transactions are in conflict. The latter result assumes that the scheduler is conservative, namely, it aborts at least one transaction involved in a conflict. This is the approach advocated in [16] as it reduces the cost of tracking conflicts and dependencies. It is interesting to investigate whether less conservative schedulers can reduce the makespan and what the cost is for improving throughput in this manner.. While we have considered only read and write accesses, our results can be extended to include also other access types. The lower bounds clearly hold, as they can still be proved using only reads and writes; Bimodal can be adapted to treat modifying and non-modifying operations separately.. Our study can be complemented by considering other performance measures, e.g., average response time of transactions.. Finally, while we have theoretically analyzed the behavior of Bimodal, it is important to see how it compares, through simulation, with prior transactional schedulers, e.g., [7, 15, 29, 2, 19] . Contention managers [16, 24] were suggested as a mechanism for resolving conflicts and improving the performance of transactional memories. Contention managers have control over the period an aborted transaction has to wait before it can restart. Being a local decision, an aborted transactions is not guaranteed to restart only after the conflicting transaction has completed; once restarted, the transaction may experience the same conflict and abort again. A transaction that continuously aborts is wasting CPU resources, without doing any work, although other transactions could be executed successfully during this time period.. Guerraoui et al. [11] provided the first theoretical analysis of contention managers, showing that the Greedy contention manager is O(s 2 ) competitive relative to an optimal offline scheduler, where s is the number of shared data items. The Greedy contention manager ensures the pending commit property, i.e., at any time, some running transaction executes uninterrupted until it commits.. Attiya et al. [3] recast this question in the framework of nonclairvoyant scheduling, originally proposed to investigate task scheduling in multi-processing environments. The original work (e.g., [23] ) did not consider effects of concurrency control, and mostly assume that a preempted transaction resumes execution from the same point, and is not restarted. Attiya et al. show that every work conserving contention manager ensuring ensures the pending-commit property, is O(s) competitive. They also show that this bound is tight for any deterministic contention manager, and under certain assumptions about the transactions, also for randomized contention managers.. Later research [29, 7, 2] advocate taking more control over the scheduling of transactions, in order to avoid repeated conflicts and reduce the amount of work wasted by aborted transactions. The main idea is to serialize the execution of conflicting transactions as soon as conflicts are discovered. This avoids repeated conflicts, but requires special care not to limit the possible parallelism by serializing transactions whose data sets do not intersect but that conflicted with the same transaction.. In CAR-STM [7] , each core manages a queue of all transactions that conflict with the transaction it is executing; these are executed serially, after the conflicting transaction completes. Steal-onAbort [2] uses a similar approach, but once a processor has no more transactions to execute in its queue, it can steal transactions from the queues of other processors and execute them. This avoids under-utilization of cores, at the cost of repeated conflicts. Yoo and Lee [29] propose to control the level of contention by monitoring the ratio of committed transactions. This information on the contention intensity exposes the inherent parallelism of a given workload and allows the scheduler to adapt the execution according to the workload: if contention is high, the number of transactions that execute concurrently is limited by enquing all aborted transactions in a main queue, to be executed serially. This is equivalent to putting a single lock on all shared data when the contention is high. Despite using different mechanisms, these transactional schedulers serialize more than is necessary in readdominated workloads, and in particular, they serialize read-only transactions.. The architecture of Bimodal is similar to CAR-STM [7] except for distinguishing between writing and read-only transactions, which avoids serializing the execution of read-only transactions. Our approach may cause transactions to suffer repeated conflicts only when the system transitions from a reading to a writing epoch or vice versa.. More recent transactional schedulers [15, 19] have aborted transactions wait only for the completion of the winning transaction, and not for each other. This is done either at the user level, by waiting on a spinlock held by the winning transaction, or at the kernel level, by blocking the thread on a condition variable of the winning transaction. When the winning transaction completes, it releases the spinlock or wakes up all transactions sleeping on its condition variable, respectively. In the user-level approach, an aborted transaction keeps the CPU busy without doing any work, while the kernel-level approach relies on expensive system calls.. Dragojevic et al. [8] take a complementary approach, trying to predict the accesses of transactions based on past behavior, together with a heuristic mechanism for serializing transactions that may conflict. They also present counter-examples to CAR-STM [7] and ATS [29] , although they do not explicitly detail which accesses are used to generate the conflicts that cause transactions to abort; in particular, they do not distinguish between access types, and the portion of the transaction that requires exclusive access.. Schneider and Wattenhofer [25] present a deterministic contention manager, which ensures that every transaction completes in bounded time, without global information (unlike Greedy [11] ). They also show that if the data sets of transactions may vary over time such that the number of conflicting transactions increases by a factor of k, then the competitive ratio of any deterministic conservative scheduler is Ω(k) for k < √ m. Our proof of Theorem 3. (the Ω(m) lower bound on the competitive ratio of deterministic conservative schedulers for late-write workloads) uses transactions that have a slightly different data set once restarted; however, the number of conflicting transactions does not increase. Effective schedulers, considered in this paper, execute at each time a unit of work of some transaction that eventually commits. This is a generalization of the pending commit property [11] . The pending commit property implies that the same transaction makes progress at each time, until it commits. Therefore, a schedule that at time t lets a transaction T make progress and at time t + 1 lets a different transaction T ′ make progress, even though T did not commit, but eventually ensures that both T and T ′ commit, is effective but does not guarantee the pending commit property. Bimodal guarantees the pending commit property and therefore, it is effective.. Effectiveness is a property orthogonal to strong progressiveness [13] , a property aiming to capture the progress of lock-based transactional memories, since effectiveness allows non-conflicting transactions to abort, as long as some transaction executes a unit of work towards its commit. On the other hand, strong progressiveness does not require any progress for transactions that conflict on more than one data item, e.g., if transaction T 1 conflicts on a data item x with T 2 and both T 1 and T 2 do not conflict with any other transaction on a different data item, then either T 1 or T 2 should commit. But if, for example, in addition to the conflict on x, T 2 also conflicts on a data item y with T 3 , then both T 1 and T 2 can abort. Keidar and Perelman [22] consider strict online permissiveness, i.e., a transactional memory can abort some transaction only if not aborting any transaction would violate correctness, and they prove that it cannot be ensured efficiently.. Initial analysis of transactional scheduling considered writedominated workloads [11, 3, 25] . Following the initial publication of our paper [4] , Sharma et al. [26, 28, 27] considered the competitive ratio of schedulers that decide based on a priori knowledge about the workload (duration and data set of transactions). They propose the Clairvoyant contention manager, which is O( √ s)-competitive for balanced workloads, in which the data items written by a transaction are a constant fraction of its data set [26] . This holds for a one-shot situation, where each thread has only one transaction to execute, and equi-duration transactions. They prove that Clairvoyant is optimal by showing it is impossible to approximate in polynomial time any transactional scheduler with competitive ratio smaller than O( √ s 1−ϵ ), for any constant ϵ > 0; this holds even for balanced workloads with unit length transactions. They also propose a randomized contention manager that does not rely on a priori knowledge, which is O( √ s log n)-competitive with high probability, where n is the number of transactions. In followup work [28] , they consider workloads in which every thread executes up to M transactions serially, by dividing the execution into windows.. Liu and Spear [18] consider toxic transactions, which conflict with most of the other transactions, and suggest they should be executed serially, in a manner similar to [29] . They propose the Hourglass contention manager, in which a transaction that is consecutively aborted more than a certain threshold, tries to gain an exclusive token. When the transaction gains the token, other transactions are not allowed to start their execution.. Kim and Ravindran [17] use the epoch approach of Bimodal for transactional scheduling in networked distributed systems; they divide the execution into intervals where read-only and writing transactions are prioritized, and show the benefits of this approach compared with a traditional contention manager.

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


Reasoning about safety properties in a JVM-like environment Abstract Static type systems have been proposed in recent years for the Java programming language [19] or its derivatives [10] in order to enforce access control and confinement properties [34, 20, 36, 37, 1, 2, 3, 16, 30, 35] . These type systems are usually designed for the source language, and intended to be enforced by the code producer at compile time. In many cases, the soundness of the type analyses is evaluated in a high-level core calculus, such as Featherweight Java (FJ) [23] , that captures the essence of the source language. An objection to this approach is that, in a Java-like platform, in which code units are shipped and dynamically loaded as bytecode, program verification that is performed against source code, or administrated only by the code producer, cannot be trusted [28, 27] . In order for the code consumer to enforce the typing discipline, it must be preserved at the level of the Java Virtual Machine (JVM) bytecode language [26] . Unfortunately, because of the lack of structured control flow, especially in the presence of subroutines that do not conform to the last-in-first-out discipline, and also because of the complexity of data flow between the local variable array and the operand stack, formulating sound static analysis at the bytecode level is a daunting task [31] . Formal verification, however, has proven to be necessary when one works at the bytecode level, as security holes in early implementation of the JVM bytecode verifier were uncovered by formalizing type systems for non-trivial fragments of the JVM bytecode language [33, 17, 18] . Still, it is counter-productive for the designer of a bytecode-level type system to address the full complexity of the JVM execution environment in the early stage of design.. In this work, a lightweight modeling tool, Featherweight JVM, is proposed for evaluating bytecode-level, type-based protection mechanisms in an early design stage. In the style of Security Automata [32, 11] , Featherweight JVM (or FJVM) is an event model that tracks interprocedural access events generated by a JVM-like environment, and simulates their effects on the global VM state. Specifically, Featherweight JVM captures the following aspects of a JVM-like run time:. • FJVM abstracts away the complex structure of intraprocedural control flow (e.g., subroutines, unstructured branching, etc), but explicitly models the evolution of the run-time stack.. • FJVM abstracts away data flow between the local variable array and operand stack, but explicitly models data dependencies via type-based instrumentation.. • FJVM abstracts away destructive updates, but explicitly models reachability (i.e., may reach) and confine-ment (i.e., must not reach) in a (possibly cyclic) object graph.. • FJVM abstracts away the concrete identity of methods and fields, but explicitly models execution context and link context.. The basic VM model can be customized by a domainspecific safety policy, which further constrains the access event sequences produced by the VM. Adopting the information restriction approach of [11] , such a policy may only control access by consuming information made available by type instrumentation and static annotation. Safety policies thus formulated model the effect of imposing a typebased protection mechanism on the run-time environment.. To evaluate the effectiveness of the target protection mechanism, security theorems in the form of state invariants can then be proven for the policy-guarded VM model. Although such a modeling exercise does not establish the soundness of a bytecode-level type system, it provides a manageable formal model for articulating the structure of the wouldbe type system and the shape of its soundness proof, and does so without overwhelming the designer with the full complexity of the JVM bytecode language. The question answered by Featherweight JVM is not "Is the type system sound?", but rather "Suppose my type-based protection mechanism indeed restricts the VM in a certain way, what security theorems can I establish?" To demonstrate the utility of the proposed approach, a safety policy for Vitek et al's Confined Types [34, 20, 36, 37] has been formulated in Featherweight JVM, and a corresponding confinement theorem for the safety policy has been established. To reduce the amount of dynamic class loading required for type checking, the safety policy has been reformulated to reflect a capability-based implementation of Confined Types. The reformulation has been shown to preserve the confinement theorem. These results provide first evidence on the utility of Featherweight JVM as an early modeling tool for evaluating type-based protection mechanisms in a JVM-like environment. In this paper we proposed a lightweight formal model of JVM-like environments for evaluating the effectiveness of type-based protection mechanisms at an early stage of design. We presented a rational reconstruction of Confined Types at the JVM bytecode level, and verified that our formulation successfully enforces the Confinement Property. We then articulate a capability-based reformulation of Confined Types that can reduce the amount of class loading at type checking time. The Confinement Property is preserved by this alternative formulation. We have therefore provided first evidence on the utility of FJVM as a tool for lightweight evaluation of type-based protection mechanisms.. We plan to explore a number of future directions. Firstly, we are particularly interested in the application of typebased access control mechanisms to enforce security properties [2, 35] at the bytecode level. We plan to use Featherweight JVM as a model to validate early designs. Secondly, we plan to expand our model to cover Java features such as exception handling and arrays, and to explore the encoding of source-level generic types [8, 23] in FJVM type annotations. Thirdly, we want to devise a semantic linkage between FJVM and a bytecode-level type system in the style of [33, 17, 18] , so that results established in FJVM may be transferred to the bytecode-level type system. This work is related to various efforts in the formal modeling of the JVM and its bytecode verification process. Due to the vastness of the literature on this topic, the reader is referred to Hartel and Moreau's comprehensive survey [22] and the special issue of Journal of Automated Reasoning on Java Bytecode Verification [29] . The goal of this work, however, differs from previous efforts. While previous work aims at providing increasingly accurate and comprehensive models of the JVM, the present work strives to distill the essence This work is similar in its goal to calculi such as FJ [23] and MJ [5] , that is, to provide a manageable formal model for studying new language features. In fact, a design criterion of FJVM has been the following: "How do we expose enough details of the JVM to facilitate the reasoning of access control and confinement properties, while keeping the complexity of the resulting model similar to that of FJ?" Thus, inspired by FJ, FJVM is "functional" in the sense that destructive updates to object fields is not modeled. Links may be introduced by the put event, but thereafter immutable. Again, like FJ, FJVM focuses on a few interprocedural access events, such as object initialization, field access, dynamic method dispatching, and dynamic type casting. However, FJVM differs from FJ in important aspects. The operational semantics of FJ models the reduction of terms. As FJ terms are inductively specified, the resulting object graph is acyclic. FJVM execution, however, can spawn object graphs of arbitrary topology. Reachability and confinement properties thus obtained are more general and natural. Accessibility invariants for FJ are sometimes expressed in terms of a relation between a term and its subterms [36, 37] . In FJVM they are expressed as properties of the run-time stack.. Featherweight JVM can be seen as an instance of Security Automata [32] . The latter and its variants [4, 24, 25, 11] have been employed to characterize security policies. Fong [11] characterizes safety policies by the kind of information consumed by their enforcing protection mechanisms. This work is an attempt to employ the same information restriction principle to model the effect of imposing a typebased protection mechanism on JVM-like environments. We achieve this by restricting safety policies to only consume information made available by a specific style of type instrumentation and static annotation. The resulting model does not account for all possible type analyses, as that has never been our goal. On the contrary, [21] attempts to characterize the classes of all safety policies enforceable by various enforcement mechanisms, including static analysis as a special case.. This work is also related to Foster et al's theory of type qualifiers [14, 15] , in that FJVM attempts to provide a framework in which to evaluate augmented type systems at the bytecode level. While FJVM does not mandate any type-theoretic structure on its instrumentation process and safety policies, Foster et al's work articulates a well thought out theory on a family of qualifier-based augmented type systems. This work may be seen as a first step to the development of an analogous theory for the JVM bytecode language (see Sect. 6).. Confined Types [34, 20, 36, 37] is originally proposed to provide a stronger measure of encapsulation than what is available in the standard Java type system. The design goal is to avoid software vulnerabilities caused by reference. r is a fresh object reference from O Π, Γ; Φ, A, σ → Π ∪ {r : B}, Γ; Φ ∪ {r : B}, A, σ (NEW) [36, 37] . The second, capability-based formulation (Fig. 7) is, to our best knowledge, original. The latter formulation renders type checking modular. A prototype of such a type checker has been implemented [13] in the framework of Pluggable Verification Modules [12] . The modeling exercise in Sect. 5.3 allowed us to uncover and correct some subtle bugs in the implementation. The above formulation of Confined Types closely mirrors the type rules of Fig. 4 . Although the safety policy in Fig. 5 successfully preserves the Confinement Property, the price of enforcing such a safety policy at link time is non-trivial. To understand this cost, a reference type C is said to be an auxiliary type for reference type A if C appears in the constant pool of A as a field type, or a method parameter or return type. To enforce the above safety policy at link time, auxiliary types for A must be loaded in order for the type checker to confirm their confined-ness. As the loading of auxiliary classes is not mandated by the JVM Specification [26] , such an eager class loading strategy could slow down the start up time of an application, and increase the memory footprint of the VM unnecessarily.. In this section, we explore an alternative formulation of Confined Types based on the notion of capability types [9, 7] . Intuitively, rather than relying on class loading to confirm the confined-ness of auxiliary types, every auxiliary type is explicitly annotated by a capability that provides an estimate of its confined-ness. Although the capabilities are only estimates, the design of the typing discipline is such that a classfile that is not honest about the annotations will fail to type check.

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


Cutpoints for formal equivalence verification of embedded software Like hardware, embedded software faces stringent design constraints, undergoes extremely aggressive optimization, and therefore has a similar need for verifying the functional equivalence of two versions of a design, e.g., before and after an optimization. The concept of cutpoints was a breakthrough in the formal equivalence verification of combinational circuits and is the key enabling technology behind its successful commercialization. We introduce an analogous idea for formally verifying the equivalence of structurally similar, "combinational" software, i.e., software routines that compute a result and return/terminate, rather than executing indefinitely. We have implemented a proof-of-concept cutpoint approach in our prototype verification tool for the TI C6x family of VLIW DSPs, and our experiments show large improvements in runtime and memory usage. We have introduced the concept of cutpoints to the formal equivalence verification of low-level software. We have instantiated the theory in a proof-of-concept implementation and demonstrated large improvements in memory usage and comparable-or-better run time versus previous approaches. Our heuristics for reducing false inequivalences are immature, yet effective on the kernels of our examples.. Future work must try to further improve scalability, handle more general control-flow differences, and reduce false inequivalences. For scalability, our research has focused on improving efficiency and accuracy for verifying paths in programs. An obvious direction for future work is integration with complementary work on reducing the number of paths explored, e.g., by static analysis, analyzing well-structured loop bodies [24] , or exploiting information from the compiler [21] . Such techniques will also be helpful for handling greater control-flow differences. Beyond reducing the number of paths explored, static analysis might provide other useful information. For example, a fast, approximate points-to analysis might be able to quickly guarantee that certain loads and stores are non-interfering, allowing faster confirmation of cutpoints.. For reducing false inequivalences, the main lines of future work will be finer-grained analysis for cutpoints, and heuristics for quickly finding candidate cutpoints. The instantiation of the theory we have presented here is vulnerable to false inequivalences if the programs make extraneous writes to memory or lay out data in memory differently. Looking for cutpoints for only specific addresses or ranges of memory would be more accurate. User guidance could be helpful, for example, by defining don't-care regions of memory. Finer-grained analysis, however, makes finding cutpoints much more expensive, necessitating better ways for finding good candidates. For combinational circuits, the standard technique is to simulate the two circuits on a sequence of random inputs; wires that always agree during simulation are candidate cutpoints. Unfortunately, with uninterpreted functions, such an approach is meaningless. However, an exciting direction for future work is to try our method on bit-accurate, fully interpreted (i.e., all operations are fully defined, rather than being abstracted) software models. Not only would such analysis be much more accurate, but there is also potential synergy between bit-accurate modeling and cutpoints: the efficiency improvement of cutpoints makes it conceivable to verify bit-accurate software models, and the bitaccuracy might greatly simplify reasoning about cutpoints.

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


Interval ordered information systems Interval information systems are generalized models of single-valued information systems. By introducing a dominance relation to interval information systems, we propose a ranking approach for all objects based on dominance classes and establish a dominance-based rough set approach, which is mainly based on substitution of the indiscernibility relation by the dominance relation. Furthermore, we discuss interval ordered decision tables and dominance rules. To simplify knowledge representation and extract much simpler dominance rules, we propose attribute reductions of interval ordered information systems and decision tables that eliminate only the information that are not essential from the ∧ viewpoint of the ordering of objects or dominance rules. The approaches show how to simplify an interval ordered information system and find dominance rules directly from an interval ordered decision table. These results will be helpful for decision-making analysis in interval information systems.Rough set theory, introduced by Pawlak [1,2], has been conceived as a tool to conceptualize and analyze various types of 2 data. It can be used in the attribute-value representation model to describe the dependencies among attributes and evaluate 3 the significance of attributes and derive decision rules. It has important applications to intelligence decision and cognitive 4 sciences, as a tool for dealing with vagueness and uncertainty of facts, and in classification [3][4][5][6][7][8][9][10]. Rough-set-based data 5 analysis starts from a data table, called information systems. The information systems contains data about objects of interest, 6 characterized by a finite set of attributes [11][12][13][14][15][16][17]. It is often interesting to discover some dependency relationships (patterns) 7 among attributes.The original rough set theory does not consider attributes with preference-ordered domains, that is, criteria. However, 9 in many real situations, we are often faced with the problems ∧ where the ordering of properties of the considered attributes 10 plays a crucial role. One such ∧ problem is the ordering of objects. For this reason, Greco, Matarazzo, 11 proposed an extension of rough set theory, called the dominance-based rough set approach (DRSA) to take into account 12 the ordering properties of criteria. This innovation is mainly based on the substitution of the indiscernibility relation by 13 a dominance relation. In DRSA, where condition attributes are criteria and classes are preference ordered, the knowledge 14 approximated is a collection of upward and downward unions of classes and the dominance classes are sets of objects 15 defined by using a dominance relation. In recent years, many studies have been made in DRSA [22][23][24][25]. 16 Interval information systems are an important type of data tables, and generalized models of single-valued information studied [26][27][28][29][30][31]. Most of them are based on the concept of a possible degree between two interval numbers [27,30,31].1 So far, however, how to make a decision by a dominance relation has not been reported in interval information systems.In this paper, we aim to introduce a dominance relation to interval information systems and interval decision tables, and 3 to establish a rough set approach based on this dominance relation for decision-making analysis in the context of interval 4 numbers.The rest of this paper is organized as follows. By reviewing some preliminary concepts, a dominance relation is introduced 6 to interval information systems and some of its important properties are investigated in Section 2. In Section 3, through the 7 notions of dominance degree and whole dominance degree, a ranking approach with dominance-class nature is established, 8 which is based on possible place of each object in the rank. In Section 4, a dominance-based rough set approach is established 9 in interval ordered information systems, which is mainly based on the substitution of the indiscernibility relation by 10 a dominance relation. In Section 5, to simplify knowledge representation, a criterion-reduction approach to an interval 11 ordered information system is proposed, which eliminates only ∧ those criterions not essential from the ∧ viewpoint of the 12 ordering of objects. In Section 6, the notion of interval ordered decision tables is given and dominance rules extracted from 13 this type of decision tables are also discussed. In Section 7, an approach to relative attribute reductions is presented in 14 interval ordered decision tables for extracting much simpler dominance rules. In Section 8, through a venture-investment 15 issue, it is illustrated that how to make a decision by using the approaches proposed in this paper. Finally, we conclude this 16 paper with a summary in Section 9. 17In this section, we introduce a dominance relation to an interval information system, and obtain some of its important 19 properties. 20 An interval information system (IIS) is a quadruple S = (U, AT , V , f ), where U is a finite non-empty set of objects and AT 21 is a finite non-empty set of attributes, V = a∈AT V a and V a is a domain of attribute a, f : U × AT → V is a total function 22 such that f (x, a) ∈ V a for every a ∈ AT , x ∈ U, called an information function, where V a is a set of interval numbers. Denoted 25 we call it the interval number of x under the attribute a. In particular, f (x, a) would degenerate into a real number if 26 a L (x) = a U (x). Under this consideration, we regard a single-valued information system as a special form of interval 27 information systems.Example 2.1. An interval information system is presented in Table 1 30In practical decision-making analysis, we always consider a binary dominance relation between objects that are possibly 31 dominant in terms of values of an attributes set in an interval information system. In general, an increasing preference and a 32 decreasing preference are considered by a decision maker. If the domain of an attribute is ordered according to a decreasing 33 or increasing preference, then the attribute is a criterion.Definition 2.1. An interval information system is called an interval ordered information system (IOIS) if all attributes are 35 criterions. 36 It is assumed that the domain of a criterion a ∈ AT is completely pre-ordered by an outranking relation a ; x a y 37 means that x is at least as good as (outranks) y with respect to the criterion a. For a subset of attributes A ⊆ AT , we define 38 x A y ⇔ ∀a ∈ A, x a y. In other words, x is at least as good as y with respect to all attributes in A. 39 In the following, we introduce a dominance relation that identifies dominance classes to an interval ordered information 40

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


The curvature of the tracking frontier: A new criterion for the partial index tracking problem Index tracking aims to select portfolios that imitate the behavior of a stock index. A tracking strategy is referred to as partial when the tracking portfolio is solely formed by a subset of stocks, so enabling a substantial cost reduction in comparison with full tracking. Three criteria are usually employed in the literature when building the tracking portfolio: tracking error variance, excess return and tracking portfolio variance. This paper considers a new parameter for use with the above: frontier curvature. This criterion is not defined for a particular portfolio, but for all the portfolios that define the tracking frontier. The main implication is that a manager can satisfy different investment profiles with the same subset of stocks. The manager will therefore reduce transaction costs as all the portfolios on the frontier contain the same stocks. The large number of academic papers published indicates that the analysis of the efficiency of investment funds remains a major area of research in the field of portfolio theory. The valuation of funds is still subject to analysis and comparison because of their crucial role in financial markets [1] .. The questionable success of many actively managed investment funds in outperforming the benchmark explains that index tracking is currently among the most popular techniques used by investment fund managers [2] .. All the papers which explore the possibilities of index tracking are characterized by the search for a single portfolio, characterized by a maximum of three possible parameters [3] [4] [5] : tracking error variance (TEV), excess returns and volatility of returns. The stocks in the tracking portfolio are identified during this process and the given weighting complies with the constraints imposed on those parameters. This paper proposes the addition of a new parameter: the curvature of the frontier. This criterion is not defined for a given portfolio, but for the set of portfolios that define the tracking frontier. The main advantage is that a fund manager can satisfy different investment profiles using the same subset of stocks-with all the portfolios on the frontier containing the same stocks, thus reducing transaction costs.. Generally, the removal of one or more stocks from the tracking means a greater TEV without necessarily reducing the efficiency of the portfolio. In the example in Fig. 1 , the TEV −i frontier and the TEV −j frontier partially improve the efficiency of the original TEV in the mean-variance sense. Specifically, both frontiers generate better risk-returns in portfolios nearer to the R b index (the return of the index) than the TEV frontier in the full tracking. If the TEV −i and TEV −j , frontiers are compared then different results will again be reached according to the considered return. However, it must always be remembered that Fig. 1 only reflects risk and return, and not TEV.

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


Constructing nearly orthogonal latin hypercubes for any nonsaturated run-variable combination We present a new method for constructing nearly orthogonal Latin hypercubes that greatly expands their availability to experimenters. Latin hypercube designs have proven useful for exploring complex, highdimensional computational models, but can be plagued with unacceptable correlations among input variables. To improve upon their effectiveness, many researchers have developed algorithms that generate orthogonal and nearly orthogonal Latin hypercubes. Unfortunately, these methodologies can have strict limitations on the feasible number of experimental runs and variables. To overcome these restrictions, we develop a mixed integer programming algorithm that generates Latin hypercubes with little or no correlation among their columns for most any determinate run-variable combination-including fully saturated designs. Moreover, many designs can be constructed for a specified number of runs and factors-thereby providing experimenters with a choice of several designs. In addition, our algorithm can be used to quickly adapt to changing experimental conditions by augmenting existing designs by adding new variables or generating new designs to accommodate a change in runs. Experiments using computer models are increasingly essential in scientific research, national defense, and public policy debates. Continual improvements in computational power against a backdrop of rising costs and other challenges often associated with physical experimentation make computer experimentation an increasingly attractive option. In situations with a dearth of real-world experimental data, computer simulations are often used to help understand complex issues. Indeed, in many important areas it is not practical to conduct many, or even any, physical experiments; for instance, the long-term effects of various policies on global climate, emergency response to large-scale nuclear accidents, potential major military conflicts, etc.. Computer models used in these areas may contain many thousands of input variables and can take many days to run [Kleijnen et al. 2005] . Researchers have several techniques to effectively extract information from these simulations. Among them are experimental designs that are specifically developed for efficiently exploring highdimensional computer models. For example, Sanchez and Sanchez [2005] use Walsh functions to quickly generate very large (hundreds of factors), two-level, resolution V fractional factorial designs and central composite designs. Of course, the information obtainable by analyzing the data from an experiment depends critically on the design; for instance, a quadratic response is not identifiable for a quantitative input variable from a two-level design.. Often, especially in exploratory analysis, we desire designs that can accommodate fitting a wide variety of metamodels [Santner et al. 2003 ]. For such situations, Latin hypercube (LH) sampling [McKay et al. 1979 ] has proven to be an invaluable technique. In fact, LHs are the predominant design for experiments involving computer simulations [Buyske and Trout 2001] . A key reason for this is that they are easily obtainable (e.g., LHs are available in many simulation software packages) and come with minimal restrictions on the number of factors and sampling budget. In addition, the resultant output data allow analysts to fit many different diverse models to multiple outputs from a single experimental set. In practice, LHs are often used to simultaneously screen many factors for significance and to fit complex metamodels to a handful of dominant variables. This flexibility also extends to visual investigations of the data [Sanchez et al. 2012 ], as we get many viewpoints from which to observe the relationships between inputs and outputs.. LH designs may come with unwanted properties; chiefly, unacceptable correlations among the columns of the design matrix that may hinder many statistical procedures, such as regression and regression trees [Montgomery 2005; Kim and Loh 2003] . To mitigate this problem, many researchers [Iman and Conover 1982; Florian 1992; Owen 1994; Ye 1998; Steinberg and Lin 2006; Cioppa and Lucas 2007; Joseph and Hung 2008; Pang et al. 2009; Moon et al. 2011] have developed algorithms to reduce or eliminate correlations among input variables in LHs. An LH with zero correlation between any of its input variables is an orthogonal Latin hypercube (OLH). In this article, a nearly orthogonal Latin hypercube (NOLH) is defined as an LH with a maximum absolute pairwise correlation no greater than 0.05 between any two input variables [Hernandez 2008] . Although this criterion is somewhat arbitrary, designs meeting it suffer minimal adverse multicollinearity effects.. As desirable as OLH and NOLH designs are for computer experimentation, their application is limited because of the scarcity of available design dimensions (i.e., combinations of the number of runs n and factors k) due to restrictions that many algorithms impose when creating them. A common restriction among existing algorithms is a strong reliance on design dimensions that are functions of powers of 2. Unfortunately, in practice, experimental conditions seldom fall precisely into the currently available dimensions. Thus, analysts must modify experimental conditions to fit the framework of catalogued OLHs or NOLHs, or use designs that possess greater correlation among input variables and deal with the consequences. The limited number of readily available NOLHs motivates our study.. In this article, we present a new method for constructing NOLH designs that breaks through the design dimensional barriers that afflict previous efforts. Our discussion in Section 2 defines our terminology, details the progression of OLH and NOLH efforts, and designates the measures by which we differentiate LHs of the same class (i.e., identical n and k). Section 3 contains our mixed integer program optimization formulation to address the design problem to create NOLHs for most any situation in which n > k. Section 4 demonstrates the power and flexibility of our new method, while the last section summarizes our findings. Latin hypercubes have proven their utility as easy-to-generate designs that allow experimenters to explore the relationships between a large number of input variables and multiple output variables. However, the degree of correlation among its input variables our work produced designs for this situation. Marlin's study results have contributed to an understanding of PSOM and have helped the United Kingdom's Defence Science and Technology Laboratory, in partnership with U.S. Joint Staff J-8, to improve the model and cooperation for training in peacekeeping and stability operations. The United States Partnership for Peace Training and Education Center now uses PSOM as a primary tool for its global program.. We have presented significant advantages in using our technique for constructing experimental designs. Our algorithm readily and quickly creates new NOLHs for most any design dimension required, to include S-NOLHs. Additionally, we can repeat the process and create unique designs for the same design dimension, allowing the experimenter to use criteria other than the degree of correlation to select one that best fits experimental goals. Our process can extend existing OLHs and NOLHs to address new situations, while maintaining the orthogonal properties of the original design. We offer our new method to develop OLH and NOLH designs of any determinate dimension to the scientific community to increase the effective utilization of computer simulations in the sciences. This section describes the experimental setting, defines key terms, introduces the measures by which we compare designs, and summarizes previous algorithms that reduce or eliminate correlations among input variables. We also outline the construction of lattice LHs to provide the basis for simplifying the mathematical formulation of the design problem and for discussing our approach.

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


Establishing Logical Rules from Empirical Data We review a method of generating logical rules, or axioms, from empirical data. This method, using closed set properties of formal concept analysis, has been previously described and tested on rather large sets of deterministic data.The contribution of this paper is a completely new extension of this method to create implications involving numeric inequalities. Using the properties of closed sets to establish logical axioms for inference systems has great promise. The two examples of Section 4 demonstrate that we can automatically extract valid rules from rather large sets of data. The extraction of logical implications where some of the predicates are mathematical inequalities is, we believe, completely new. Unfortunately, we have not yet automated it in a software system because there are subtiles we do not fully understand. Instead, we are just beginning to explore its potential, which we believe is considerable.. Our goal is to begin generating implications of the form "if [p 1 ∧ (x > 7)] ∨ [p 2 ∧ p 3 ∧ (y < 9)] then . . .", We know, for example, that gene expression is dependent not only on the boolean presence of specific genes, but also on the stage (time) of the replication and degree of separation of gene sequences. These latter factors are best expressed as numeric inequalities. Similarly, evidence based diagnostic systems typically consider both the boolean presence of symptoms and the bounded behaviour of specific variables, .e.g. cholesterol > 180.. The approach of this paper can facilitate the creation of, or refinement of, a variety of intelligent computer systems.

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


The metafront system: Safe and extensible parsing and transformation We present the metafront tool for specifying flexible, safe, and efficient syntactic transformations between languages defined by context-free grammars. The transformations are guaranteed to terminate and to map grammatically legal input to grammatically legal output.We rely on a novel parser algorithm that is designed to support gradual extensions of a grammar by allowing productions to remain in a natural style and by statically reporting ambiguities and errors in terms of individual productions as they are being added.Our tool may be used as a parser generator in which the resulting parser automatically supports a flexible, safe, and efficient macro processor, or as an extensible lightweight compiler generator for domain-specific languages. We show substantial examples of both kinds. We present the metafront tool for specifying safe, flexible, efficient, and extensible syntactic transformations between languages defined by context-free grammars. Safety means that metafront statically guarantees that the transformation of grammatically legal input will always terminate and produce grammatically legal output. Flexibility means that the expressive power is sufficient for realistic tasks and that both the source and target languages may be extended with little overhead. Efficiency means that, given a grammar and transformation, the parsing and transformation is linear in the size of input and generated output. Extensibility means that post-hoc extensions of the source language are easily reflected in similar extensions of the transformation.. We have two main usage scenarios in mind for this versatile tool. First, metafront can be used for lightweight domain-specific compiler prototypes, e.g. for translating Java programs into HTML documentation in the style of JavaDoc. Second, if the source language is a small extension of the target language, then the syntactic transformation is equivalent to a powerful macro mechanism.. In all cases, the programmer may greatly benefit from the advantages that metafront offers. Thus, our tool captures the niche where full-scale compiler generators are too cumbersome and where simpler techniques for syntactic transformation are not expressive enough or do not offer sufficient safety guarantees.. The metafront tool works with two kinds of files: definitions of languages and definitions of transformations.. Languages are defined using fairly standard context-free grammars with nonterminals, terminals, and productions. A simple module system allows languages to be defined through a graph of sublanguages that refer to each other. Classes of terminals are defined by full regular expressions, including intersection and complement.. A central part of such a tool is of course the parsing algorithm that is employed. We have been led to develop a novel algorithm, called specificity parsing, which is a scannerless top-down parser where ambiguities are resolved through notions of specificity. At any stage, the remainder of the input string is confronted with a set of candidates, which are sentential forms stemming from different right-hand sides of productions. First each candidate suggests what the next token should be, and the most specific one wins. The candidates that can accept this token will then each suggest which action to take, and the most specific action wins. This action is then performed and those candidates that agreed on this choice survive to the next challenge round.. This method of parsing is tailored to our intended applications, where languages are extended by different programmers. This requires that the syntax is written in a natural style and that errors and ambiguities can be explained sensibly in terms of the individual productions that are being added. Since we employ a top-down approach, we of course cannot handle left-recursive nonterminals but, apart from this restriction, productions may be written in a quite intuitive manner. Also, when a new production is added we can statically decide if it may cause ambiguities during subsequent parsing. Furthermore, error messages are phrased locally in terms of the added production.. Transformations are specified relative to a source and a target language, which are imported from other files. Each production in the source language is instrumented with a transformation rule. The parse trees that correspond to the nonterminals of the right-hand side are inductively subjected to transformations before the results are inserted into a template that constructs a parse tree of the target language. Transformation rules may accept parse trees as arguments and produce parse trees as results. Since users often specify transformations from an extended language to a core language, each source production has the identity as its default transformation rule.. There are three important characteristics of our notion of transformations. First, they are designed to allow only elaborate well-founded induction, so termination is ensured. Second, we can statically decide if a transformation is guaranteed to map grammatically legal input to grammatically legal output.. Third, the rules are expressive enough to allow sophisticated transformations that rearrange trees in a non-local manner.. The metafront tool accepts as arguments a transformation and a term of the input language. It will then analyze the source and target grammars and the transformation rules and provide error diagnostics or construct the corresponding term of the target language. We plan to implement all optimizations mentioned in Section 2.2.3 and instead of interpretation, generate code for a parser that uses tables and control-flow embedded DFAs. The resulting parser should obtain performance comparable to that of Lex/Yacc combinations.. We want to create a typed algebra of languages and transformations, allowing operators like products and compositions. The extends mechanism will induce a subtype relation.. It is possible to allow transformations to use symbol tables and derived defuse links, while still retaining the safety guarantees. This would extend the expressive power considerably and enable transformations to read and write typed trees across those links and thus seemingly teleport syntax around the tree.. Furthermore, we would like to provide alternative characterizations of the class of languages that specificity parsing can recognize.. In practise, the prohibition of left-recursive grammars has turned out to be a major restriction for some grammars, since the syntax trees sometimes attain impractical shapes. To address this problem, we plan to investigate the possibility of combining specificity disambiguation with bottom-up parsing. The metafront tool provides a flexible, safe, and efficient means for parsing and performing syntactic transformations. Parsing is conducted by a novel parser algorithm, known as specificity parsing, which is designed to support gradual extension of a grammar by statically reporting ambiguities and errors in terms of individual productions as they are being added. Transformations are guaranteed to terminate and to map grammatically legal input to grammatically legal output.. The metafront tool may be used as a parser generator in which the resulting parser automatically supports a powerful syntactic macro mechanism, or as an extensible lightweight compiler generator for domain-specific languages. The implementation is available in 6300 lines of Java code under an open-source license.. A Specificity Grammar G = Σ, T, N, s, π. • Σ finite set of characters (alphabet);. • T ∈ P(Reg(Σ)) finite set of regular languages over Σ;. • N finite set of nonterminals;. • s ∈ N start nonterminal; and. • π : N → P(E * ) production function, where E = T ∪ N B Head-sets There are two main bodies of work that we must relate to: parsing algorithms and source transformation systems.

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


Influence of the condensate and inverse cascade on the direct cascade in wave turbulence During direct numerical simulation of the isotropic turbulence of surface gravity waves in the framework of Hamiltonian equations formation of the long wave background or condensate was observed. Exponents of the direct cascade spectra at the different levels of an artificial condensate suppression show a tendency to become closer to the prediction of the wave turbulence theory at lower levels of condensate. A simple qualitative explanation of the mechanism of this phenomenon is proposed. Description of the water waves appeals scientists attention during several centuries. At the same time, first attempts to explain observed spatial and temporal spectra are relatively recent. One of the first and at the same time most famous works is the paper by Phillips [26] which was, probably, the first attempt to give an explanation for power-like spectra of surface gravity waves observed in numerous experiments. In just one decade statistical theory of water waves, based on the the kinetic equation for waves derived by Hasselmann [15] and solutions of this equation obtained from Zakharov's theory of wave (or weak) turbulence [33, 41] . These solutions [37, 41] are stationary Kolmogorov solutions of the kinetic equation corresponding to flux of energy from large to small scales (direct cascade) and flux of wave action (waves "number") from small to large scales (inverse cascade). Now the kinetic equation is a base tool for wave forecasting.. The Hasselmann kinetic equation for waves was derived under some assumptions, which include Gaussian statistics for the wave field and prevalence of resonant interactions [41] . These assumptions are subject to confirmation. Modern numerical methods allow us to perform wave field modeling in the framework of kinetic equations faster than the real processes in nature. At the same time, it is still not possible to create a wave forecasting model based on direct numerical simulation of the primordial dynamic equations. Fortunately, in practical applications we do not need to know velocity and elevation at every point of the surface. Statistics, especially mean wave height and speed, are what really matters for estimation of operational conditions of oil platforms and cargo ships. Such statistics are exactly the subject of the theory of weak turbulence. As a consequence, the problem of confirmation and correction of the theory of wave turbulence is of great practical importance.. Open sea observations confirm temporal and space spectra predicted by the theory of wave turbulence [8, 16, 30] . A comprehensive review of experiments and comparison with the theory of the weak turbulence can be found in [2, 3, 36] . At the same time even the most recent, state of the art wave tanks experiments give strange results [6, 13] , demonstrating dependence of the spectrum slope on the average steepness or forcing level.. One of the ways from this dead end is direct numerical simulation in the framework of dynamical equations. Such numerical experiments can be separated in two major groups. In swell simulation experiments initial condition is some spectral distribution, there is no pumping. Temporal evolution of such initial condition is simulated and than can be compared with corresponding simulation in the framework of kinetic equation [21, 25, 29, 31, 39, 40] . More interesting and more complex is the simulation of the wave turbulence with pumping. Classical sandbox for such simulations is an isotropic turbulence, which allows us to demonstrate of the features of the wave turbulence and, at the same time, simplifies situation due to additional smoothing of the spectra after angle averaging. Although this situation looks pretty artificial, the isotropic turbulence can be observed in the sea with large amount of broken ice, for example, where waves create isotropic wave field after multiple reflections. But in such a case floating ice have to be taken into account, which makes situation more complex. Simulation of isotropic wave turbulence already confirmed some prediction of the theory of weak turbulence. Direct cascade spectra were obtained in [11, 12, 22] . Inverse cascade spectra, although in simplified equations, were obtained in [1] . For the first time simultaneous simulation of direct and inverse cascades for gravity waves in the framework of primordial dynamical equations was performed in [20] . Formation of the long wave background (condensate) due to inverse cascade flux was observed. The condensate development was influenced by the discreteness of the wavenumbers grid at the origin of the k-space. Such discreteness is unavoidable in finite basin experiments with realistic size of experimental site corresponding to controllable weather conditions and reasonable wavemaker equipment.. Current paper is a continuation of the work [20] , which was a brief declaration of the results of two initial numerical experiments (with fully developed and partially suppressed condensate). Although simulations explained some results of other authors [13, 6] , there was significant amount of questions which needed to be answered and for which only hints for solutions were proposed. The present article will concentrate on the condensate generation and its influence on the direct cascade spectra of wave turbulence of surface gravity waves. A more detailed and deep insight in the mechanism of the condensate influence is presented. Starting from the results of isotropic turbulence simulation author will explore in details how presence of the condensate changes the slope of direct cascade spectrum. It will be demonstrated that the presence of the inverse cascade is also important. At the same time, in the close to pure situation with suppressed both condensate and inverse cascade, observation shows spectrum slope close to previous numerous results of simulations [11, 12, 22] . A simple qualitative explanation of the mechanism of spectrum distortion is provided. Direct analysis of the simulation results supports the theory. The observed phenomena of condensate formation and its influence on the direct cascade have to be quite common for experiments in experimental wave tanks. Finite size of the surface area gives us the same discrete grid of wavevectors as in the case of periodic boundary conditions. It means that at some large scale four-waves nonlinear interaction will be arrested, which provides conditions for condensate formation due to flux corresponding to inverse cascade. Such condensate will distort the direct cascade spectrum, changing its exponent through stimulation of whitecapping, resulting in additional dissipation. It is worth to note that this is threshold phenomenon with respect to average steepness as it was shown in [4] . If such dissipation is strong enough to balance the flux of energy, following [24] we shall get Phillips spectrum, as it was demonstrated in the present paper. Gradually suppressing condensate and inverse cascade one can achieve spectrum corresponding to the stationary solution of the kinetic equation. Simple mechanism of condensate interaction with short waves of direct cascade was proposed. This interaction along with other distortion possibilities (see, for example, [19] ) can be the reason of observed spectra deviation from the weak turbulence predictions. These results can be used for explanation of experimental data obtained in the wave tanks. As it was reported in [20] as a result of simulation we observed formation of both direct and inverse cascades (Fig. 1, solid line) , although exponents of power-like spectra were different from weak turbulent solutions (16) . It is important to note that development of the inverse cascade spectrum was arrested by the discreteness of the wavenumber grid in agreement with [10, 17, 23, 39] . After that, a large scale condensate started to form. The reason of this phenomenon is the following. It can be shown that resonant conditions for four-waves interaction of gravity waves are never fulfilled exactly on the discrete grid of wavevectors (integer number for 2π × 2π box):. Nonlinear frequency shift Γ weakens resonant condition, now resonant curve has finite width:. Nonlinear frequency shift depends on T k 1 k 2 k 3 k 4 , which is homogeneous function. It grows as k 3 when k is increased. This is the reason why it is much easier to get resonant interaction in the direct cascade region (high wavenumbers). It also decreases as k 3 when k → 0. It means that effectively grid become more and more coarse at large scales. It means that at some scale inverse cascade is stopped because four-waves nonlinear interaction is "turned off". At the same time flux of action still brings new waves to this scale. We have "condensation" [9] of waves. Similar processes were observed in 2D-hydrodynamics [5] and plasma [28] . It is worth to mention, that the same mechanism provides broadening of the resonant curve in the high wavenumbers. As a result, the finest numerical grid in our experiment (1024 × 1024) is definitely beyond the threshold which secures resonant interactions for high frequencies (high-k) modes of direct cascade. Reasonable results were obtained already on the grid 256 × 256 in [11] and universality was confirmed later in [12] .. As one can see, the value of wave action |a k | 2 at the condensate region is more than an order of magnitude higher than for the closest harmonic of the inverse cascade. The dynamics of large scales became extremely slow after this point. We managed to achieve downshift of the condensate peak by one step of the wavenumber grid during long time simulation on a small grid (256 × 256) (Fig. 1, line with long dashes) . As one can see, we observed elongation of the inverse cascade interval without significant change of the slope. Unfortunately, the inertial interval for inverse cascade was too short to exclude the possible influence of pumping and condensate.. The question whether these spectra are stationary or not is still open. It was nearly impossible to understand this from the numerical results. Spectrum of inverse cascade was growing very slowly, which resulted in further propagation of the condensate by one step in k-space. A the same time, after the grid was increased and we got direct cascade tail, spectrum was visually stabilized. We were unable to observe any significant change during several hundreds of periods of peak wave. The hypothesis is that due to condensate stimulated whitecapping we have "friction" of condensate and small scale waves (mechanism is described below) which leads effectively to drain of wave action from the region of large scales and stabilization of the spectrum. The confirmation of this hypothesis requires long time simulations in order to compare directly the results obtained on small grid and on large grid at the same moment of time. This simulations are hardly possible with available code and are definitely out of scope of the current article.. For direct cascade spectra we also used a log-log scale. Results are present in Fig. 3 (left) . Formally, in this case we have quite a long inertial interval 32 < k < 256, but in reality damping has an influence on the spectrum approximately up to k 180. Nevertheless, in this case we have more than half of a decade in k-space. The theory of weak turbulence gives us dependence ∼k −4 (16), known as Kolmogorov-Zakharov direct cascade spectrum for gravity waves. Nevertheless, one can see that we observe k −9/2 , known as Phillips [26, 24] spectrum. Possible explanation was provided in [20] . The main idea was the following: presence of the condensate stimulated additional whitecapping and wavebreaking processes by local increase of steepness. These processes provide additional transfer of energy to the dissipation region. When this dissipation is strong enough to balance flux of energy, such mechanism should give Phillips spectrum as a result [24] . The detailed analysis of the fluxes and their balance is a topic of separate work. In order to estimate dissipation due to whitecapping we need to know at least dependence of dissipation function on average steepness. Our recent findings [38] show that we cannot use currently available empirical formulae. At the same time, value of the dimensionless Phillips constant 10 −3 is consistent with the results of experimental observations given in [32] . It was shown, that suppression of the condensate (see Fig. 2 ) changes spectrum exponent to some value closer to the theory of weak turbulence. However, at that time we failed to avoid long waves' influence on the direct cascade spectrum completely. The longest waves of inverse cascade were providing long wave background which influence distorted the spectrum.. In order to eliminate this influence let us suppress inverse cascade completely by artificial damping in low wavenumbers. The result of simulation is shown in Fig. 3 (right panel) .. For comparison we have put in the same figure initial spectrum for direct cascade (left). As one can see, the exponent of the spectrum changed and now almost coincides with the prediction of the weak turbulent theory. The tiny difference may be a result of the influence of the left peak, which is the result of insufficient length of damping region. At the same time, longer artificial damping can start to influence the pumping area and change the input flux significantly.

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