An incremental algorithm for satisfying hierarchies of multiway dataflow constraints

被引:38
作者
VanderZanden, B
机构
[1] Computer Science Department, 107 Ayres Hall, University of Tennessee, Knoxville
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 1996年 / 18卷 / 01期
关键词
constraints; incremental constraint satisfaction; interactive systems;
D O I
10.1145/225540.225543
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
One-way dataflow constraints have gained popularity in many types of interactive systems because of their simplicity, efficiency, and manageability. Although it is widely acknowledged that multiway dataflow constraints could make it easier to specify certain relationships in these applications, concerns about their predictability and efficiency have impeded their acceptance. Constraint hierarchies have been developed to address the predictability problem, and incremental algorithms have been developed to address the efficiency problem. However, existing incremental algorithms for satisfying constraint hierarchies encounter two difficulties: (1) they are incapable of guaranteeing an acyclic solution if a constraint hierarchy has one or more cyclic solutions and (2) they require worst-case exponential time to satisfy systems of multioutput constraints. This article surmounts these difficulties by presenting an incremental algorithm called QuickPlan that satisfies in worst-case O(N-2) time any hierarchy of multiway, multioutput dataflow constraints that has at least one acyclic solution, where N is the number of constraints. With benchmarks and real problems that can be solved efficiently using existing algorithms, its performance is competitive or superior. With benchmarks and real problems that cannot be solved using existing algorithms or that cannot be solved efficiently, QuickPlan finds solutions and does so efficiently, typically in O(N) time or less. QuickPlan is based on the strategy of propagation of degrees of freedom. The only restriction it imposes is that every constraint method must use all of the variables in the constraint as either an input or an output variable. This requirement is met in every constraint-based, interactive application that we have developed or seen.
引用
收藏
页码:30 / 72
页数:43
相关论文
共 49 条
[1]  
ALPERN B, 1990, 1ST P ANN ACM SIAM S, P32
[2]   AN OBJECT-ORIENTED APPROACH TO GRAPHICAL INTERFACES [J].
BARTH, PS .
ACM TRANSACTIONS ON GRAPHICS, 1986, 5 (02) :142-172
[3]   CONSTRAINT-BASED TOOLS FOR BUILDING USER INTERFACES [J].
BORNING, A ;
DUISBERG, R .
ACM TRANSACTIONS ON GRAPHICS, 1986, 5 (04) :345-374
[4]   THE PROGRAMMING LANGUAGE ASPECTS OF THINGLAB, A CONSTRAINT-ORIENTED SIMULATION LABORATORY [J].
BORNING, A .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1981, 3 (04) :353-387
[5]  
Borning A., 1992, LISP and Symbolic Computation, V5, P223, DOI 10.1007/BF01807506
[6]  
BORNING A, 1987, 1987 P ACM C OBJ OR, P48
[7]  
BORNING A, 1989, 6TH P INT LOG PROGR, P149
[8]   CONSTRAINT LOGIC PROGRAMMING-LANGUAGES [J].
COHEN, J .
COMMUNICATIONS OF THE ACM, 1990, 33 (07) :52-68
[9]  
Dennis, 1996, NUMERICAL METHODS UN
[10]  
DINCRAS M, 1988, P INT C 5 GEN COMP S, P248