6,621 research outputs found

    Speeding up SOR Solvers for Constraint-based GUIs with a Warm-Start Strategy

    Full text link
    Many computer programs have graphical user interfaces (GUIs), which need good layout to make efficient use of the available screen real estate. Most GUIs do not have a fixed layout, but are resizable and able to adapt themselves. Constraints are a powerful tool for specifying adaptable GUI layouts: they are used to specify a layout in a general form, and a constraint solver is used to find a satisfying concrete layout, e.g.\ for a specific GUI size. The constraint solver has to calculate a new layout every time a GUI is resized or changed, so it needs to be efficient to ensure a good user experience. One approach for constraint solvers is based on the Gauss-Seidel algorithm and successive over-relaxation (SOR). Our observation is that a solution after resizing or changing is similar in structure to a previous solution. Thus, our hypothesis is that we can increase the computational performance of an SOR-based constraint solver if we reuse the solution of a previous layout to warm-start the solving of a new layout. In this paper we report on experiments to test this hypothesis experimentally for three common use cases: big-step resizing, small-step resizing and constraint change. In our experiments, we measured the solving time for randomly generated GUI layout specifications of various sizes. For all three cases we found that the performance is improved if an existing solution is used as a starting solution for a new layout

    ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints

    Get PDF
    OR-constrained (ORC) graphical user interface layouts unify conventional constraint-based layouts with flow layouts, which enables the definition of flexible layouts that adapt to screens with different sizes, orientations, or aspect ratios with only a single layout specification. Unfortunately, solving ORC layouts with current solvers is time-consuming and the needed time increases exponentially with the number of widgets and constraints. To address this challenge, we propose ORCSolver, a novel solving technique for adaptive ORC layouts, based on a branch-and-bound approach with heuristic preprocessing. We demonstrate that ORCSolver simplifies ORC specifications at runtime and our approach can solve ORC layout specifications efficiently at near-interactive rates.Comment: Published at CHI202

    Research in constraint-based layout, visualization, CAD, and related topics : a bibliographical survey

    Get PDF
    The present work compiles numerous papers in the area of computer-aided design, graphics, layout configuration, and user interfaces in general. There is nearly no conference on graphics, multimedia, and user interfaces that does not include a section on constraint-based graphics; on the other hand most conferences on constraint processing favour applications in graphics. This work of bibliographical pointers may serve as a basis for a detailed and comprehensive survey of this important and challenging field in the intersection of constraint processing and graphics. In order to reach this ambitious aim, and also to keep this study up-to-date, the authors appreciate any comment and update information

    Tea: A High-level Language and Runtime System for Automating Statistical Analysis

    Full text link
    Though statistical analyses are centered on research questions and hypotheses, current statistical analysis tools are not. Users must first translate their hypotheses into specific statistical tests and then perform API calls with functions and parameters. To do so accurately requires that users have statistical expertise. To lower this barrier to valid, replicable statistical analysis, we introduce Tea, a high-level declarative language and runtime system. In Tea, users express their study design, any parametric assumptions, and their hypotheses. Tea compiles these high-level specifications into a constraint satisfaction problem that determines the set of valid statistical tests, and then executes them to test the hypothesis. We evaluate Tea using a suite of statistical analyses drawn from popular tutorials. We show that Tea generally matches the choices of experts while automatically switching to non-parametric tests when parametric assumptions are not met. We simulate the effect of mistakes made by non-expert users and show that Tea automatically avoids both false negatives and false positives that could be produced by the application of incorrect statistical tests.Comment: 11 page

    Application of discontinuity layout optimization to plane plasticity problems

    Get PDF
    A new and potentially widely applicable numerical analysis procedure for continuum mechanics problems is described. The procedure is used here to determine the critical layout of discontinuities and associated upper-bound limit load for plane plasticity problems. Potential discontinuities, which interlink nodes laid out over the body under consideration, are permitted to crossover one another giving a much wider search space than when such discontinuities are located only at the edges of finite elements of fixed topology. Highly efficient linear programming solvers can be employed when certain popular failure criteria are specified (e. g. Tresca or Mohr Coulomb in plane strain). Stress/velocity singularities are automatically identified and visual interpretation of the output is straightforward. The procedure, coined 'discontinuity layout optimization' (DLO), is related to that used to identify the optimum layout of bars in trusses, with discontinuities (e. g. slip-lines) in a translational failure mechanism corresponding to bars in an optimum truss. Hence, a recently developed adaptive nodal connection strategy developed for truss layout optimization problems can advantageously be applied here. The procedure is used to identify critical translational failure mechanisms for selected metal forming and soil mechanics problems. Close agreement with the exact analytical solutions is obtained
    corecore