5 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

    Kaczmarz Algorithm with Soft Constraints for User Interface Layout

    Get PDF
    The Kaczmarz method is an iterative method for solving large systems of equations that projects iterates orthogonally onto the solution space of each equation. In contrast to direct methods such as Gaussian elimination or QR-factorization, this algorithm is efficient for problems with sparse matrices, as they appear in constraint-based user interface (UI) layout specifications. However, the Kaczmarz method as described in the literature has its limitations: it considers only equality constraints and does not support soft constraints, which makes it inapplicable to the UI layout problem. In this paper we extend the Kaczmarz method for solving specifications containing soft constraints, using the prioritized IIS detection algorithm. Furthermore, the performance and convergence of the proposed algorithms are evaluated empirically using randomly generated UI layout specifications of various sizes. The results show that these methods offer improvements in performance over standard methods like Matlab\u27s LINPROG, a well-known efficient linear programming solver

    Tiling Algebra for Constraint-based Layout Editing

    Get PDF
    The constraint-based layout model is a very powerful model to describe a wide range of graphical user interface (GUI) layouts, based on linear constraints. However, the advantages of the constraint-based layout model come at a price: layout designers have to ensure layouts are sound, i.e., they are solvable and items in the layout do not overlap each other. Keeping a layout sound is non-trivial since editing one constraint may have undesirable effects on other constraints.In this article, we propose a new formalism for constraint-basedlayouts which we call a tiling algebra. Editing operations on layouts are specified algebraically, which guarantees that these operations keep a layout sound. We propose to model tiling operations with two operators that are isomorphic cancellative semigroup operators with involution if seen as binary operators. While these semigroup operators alone already cover an interesting subset of layouts, called fragments, we show that there are more involved layouts, such as the pinwheel layout, which cannot be modelled with these operators alone. For this reason we introduce a third operator which is isomorphic to a Boolean conjunction.Our approach helps to describe constraint-based layoutscorrectly and to make layout editing robust. We apply the proposed algebra to two real constraint-basedsystems, which illustrate how it can be used to support sound layout creation and modification
    corecore