Practical Constraint Systems for Building Interactive Applications
Tutorial Objectives
Section I: Introduction
What Are Constraints?
Domains
It’s Easier To State Constraints Than To Solve Them
Refinement Semantics (1)
Refinement Semantics (2)
Perturbation Semantics (1)
Perturbation Semantics (2)
Questions and Issues
Section II: Local Propagation
One-way Constraints Example #1
One-way Constraints Example #2
One-way Constraint Algorithms
Lazy Incremental Algorithm
Hudson Algorithm: Change
Hudson Algorithm: Request + Different
Hudson Algorithm: Request + Same
One-way Constraints Scorecard
One-way Constraint Systems
Multi-way Local Propagation Constraints Example #1
Multi-way Local Propagation Constraints Example #2
Multi-way Local Propagation Constraints Example #3
Multi-way Local Propagation Constraint Algorithms
Known Values
Degrees of Freedom
Sample Constraint Graph
Multi-way Local Propagation Constraint Scorecard
Multi-way Local Propagation Constraint Systems
Hierarchical Local Propagation Constraints Example #1
Principle of Least Astonishment
Hierarchical Local Propagation Constraints Example #2
Hierarchical Local Propagation Constraints Example #3
Hierarchical Local Propagation Constraints Example #4
Constraint Hierarchies
Hierarchy Example #1
Hierarchy Example #1
Hierarchy Example #2
Hierarchy Example #2
Hierarchy Example #3
Hierarchies and Refinement
Comparator Framework (1)
Comparator Framework (2)
Predicate Comparator Example
Metric Comparator Example
Existence of Solutions
Some Helpful Propositions
Hierarchical Local Propagation Constraints Algorithms
DeltaBlue
DeltaBlue: Walkabout Strength
DeltaBlue: Walkabout Strength
DeltaBlue: Adding
DeltaBlue: Adding
DeltaBlue: Removing
DeltaBlue: Removing
DeltaBlue: Removing
SkyBlue
SkyBlue: Overview
QuickPlan
QuickPlan: Overview
Hierarchical Local Propagation Constraints Scorecard
Hierarchical Local Propagation Constraint Systems
Workpage #1a
Workpage #1b
Workpage #1c
Workpage #1d
Section III: Non-Local Propagation Constraints
Cycle Example #1
Cycle Example #2
Simultaneous Linear Equation Algorithms
Semi-Symbolic Linear Equation Solver
Semi-Symbolic Linear Equation Solver
Semi-Symbolic Linear Equation Solver
Linear Equation Solver Example
Linear Equation Solver Example
Linear Equation Solver Example
Simultaneous Linear Equation Scorecard
Simultaneous Linear Equation Systems
Inequalities Example #1
Inequalities Example #2
Inequality Algorithms
Local Propagation for Inequalities (1)
Local Propagation for Inequalities (2)
Local Propagation for Inequalities (3)
Example of Local Propagation for Inequalities (1)
Example of Local Propagation for Inequalities (2)
Example of Local Propagation for Inequalities (3)
Bounded Linear Constraint Solver
Simplex Algorithm Review
Simplex-Based Solver (1)
Simplex-Based Solver (2)
Differences between Simplex-Based Solver and Standard Simplex Algorithm
Inequality Scorecard
Inequality Constraint Systems
Non-Linear Numeric Constraints Example #1
Non-Linear Numeric Constraint Algorithms
Non-Linear Numeric Constraints Scorecard
Workpage #2
Workpage #2b
Section IV: Other Constraints
Constraints Over Finite Domains Example #1
Constraints Over Finite Domains - Algorithms
Constraints Over Finite Domains - Algorithms (2)
Constraints Over Finite Domains Scorecard
Uses for Constraints Over Finite Domains
Dynamically Changeable Constraint Sets Example #1
Dynamically Changeable Constraint Sets Example #2
Dynamically Changeable Constraint Sets Algorithms
Dynamically Changeable Constraint Sets Scorecard
Systems Supporting Dynamically Changeable Constraint Sets
Section V: Constraints In Use
Integration via ENVY/Constraints
ENVY/Constraints
Building Interactive Graphical Applications (1)
Building Interactive Graphical Applications (2)
Building Interactive Graphical Applications (3)
Building Interactive Graphical Applications (4)
Building Interactive Graphical Applications (5)
The Good, The Bad, and The Ugly
Workpage #3
Summary
Author’s Addresses
Internet Instructions