[Next] [Previous] [Up] [Top]
The constraint-enforced mode does not allow design violations to occur. A constraint-enforced system still involves evaluation, but the evaluation is in terms of the progression of one model state to the next. A consistent system state is provided and maintained.
Constraints act at the moment and within the process of design. No action is taken or object is created that would violate the constraint space. These often model Newtonian physics and other laws of nature such that one solid object cannot be moved through another solid object. Rather than monitoring the design state for constraint violations, the constraint-enforced system does not permit violations to occur in the first place. As such, the complex problem of non-linear analysis of the design space is consigned to a maintenance of truth constraint tables [Gleicher & Witkin].
Constrained design would be analogous to writing a document not by typing, but by only choosing words from a given list. Less extreme examples are found in cases where selections are far less than the number of words in the English language. User interface design applications such as NextStep, some Computer Aided Software Engineering (CASE) applications, and Design-with-Features CAD systems are all substantially constraint-enforced.