19 research outputs found

    A technique for doing lazy evaluation in logic

    Get PDF
    AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields lazy evaluation. Its use does not require any change to the PROLOG interpreter. Function definitions run as PROLOG programs and so run very efficiently. It is possible to combine lazy evaluation with nondeterminism and simulate coroutining. It is also possible to handle infinite data structures and implement networks of communicating processes. We analyze this technique and develop a precise definition of lazy evaluation for lists. For further efficiency we show how to preprocess programs and ensure, using logical variables, that values of expressions once generated are remembered for future access. Finally, we show how to translate programs in a simple functional language into programs using this technique

    Fast Design Space Exploration of Nonlinear Systems: Part I

    Full text link
    System design tools are often only available as blackboxes with complex nonlinear relationships between inputs and outputs. Blackboxes typically run in the forward direction: for a given design as input they compute an output representing system behavior. Most cannot be run in reverse to produce an input from requirements on output. Thus, finding a design satisfying a requirement is often a trial-and-error process without assurance of optimality. Finding designs concurrently satisfying multiple requirements is harder because designs satisfying individual requirements may conflict with each other. Compounding the hardness are the facts that blackbox evaluations can be expensive and sometimes fail to produce an output due to non-convergence of underlying numerical algorithms. This paper presents CNMA (Constrained optimization with Neural networks, MILP solvers and Active Learning), a new optimization method for blackboxes. It is conservative in the number of blackbox evaluations. Any designs it finds are guaranteed to satisfy all requirements. It is resilient to the failure of blackboxes to compute outputs. It tries to sample only the part of the design space relevant to solving the design problem, leveraging the power of neural networks, MILPs, and a new learning-from-failure feedback loop. The paper also presents parallel CNMA that improves the efficiency and quality of solutions over the sequential version, and tries to steer it away from local optima. CNMA's performance is evaluated for seven nonlinear design problems of 8 (2 problems), 10, 15, 36 and 60 real-valued dimensions and one with 186 binary dimensions. It is shown that CNMA improves the performance of stable, off-the-shelf implementations of Bayesian Optimization and Nelder Mead and Random Search by 1%-87% for a given fixed time and function evaluation budget. Note, that these implementations did not always return solutions.Comment: 14 pages, 26 figures. arXiv admin note: text overlap with arXiv:2010.0984

    Using service grammar to diagnose bgp configuration errors

    Get PDF
    Often network components work correctly, yet end-to-end services don’t. This happens if configuration parameters of components are set to incorrect values. Configuration is a fundamental operation for logically integrating components to set up end-to-end services. Configuration errors arise frequently because transforming end-to-end service requirements into component configurations is inherently difficult. Such transformation is largely performed in a manual and localized fashion, resulting in high cost of network operations. The Service Grammar technique has been developed to solve the configuration error diagnosis problem, and, more generally, to formalize the process of building complex systems via configuration. At its core is a Requirements Language that contains global, high-level constraints upon configuration parameters. These are derived from identifying the notion of “correct configuration ” associated with different protocols. These are composed to create system-wide requirements on architecture and policies. A Diagnosis Engine checks if constraints in the Requirements Language are true given definite component configurations, and is used recursively to check composite requirements. This paper describes an application of Service Grammar to diagnosing BGP configuration errors. As BGP architecture and policies differ widely from one network to another, it is not possible using previous techniques to check if router configurations implement the intended requirements. Our tools enable administrators to specify system-wide, network-specific requirements and check if they are correctly implemented by component configurations

    Design and Configuration of Firewall Architecture Under Risk, Usability and Cost Constraints

    No full text

    Symbolic Discrete-Event Simulation

    No full text
    The event-scheduling view of the discrete-event simulation technique is widely used to model and simulate dynamic systems. This paper presents DMOD, a formalization of this technique. It offers two main advantages. First, it retains the powerful intuitions behind this technique yet makes it easier to use them. In particular, it proposes a new method for logically specifying event preemption. Second, DMOD permits temporal reasoning about modeled systems. This is done by means of symbolic simulation, i.e. simulation in which input parameters can be constrained variables. Symbolic simulation yields histories parameterized by input variables. Simple manipulation of symbolic histories allows proof of a range of temporal properties such as safety, possibility, or sensitivity. Restrictions upon models are outlined which allow symbolic simulation to proceed efficiently. DMOD is illustrated by means of a hybrid system, a railroad crossing with continuous, non-linear state and discrete events. D..
    corecore