Mon Sep 7 08:55:44 CEST 2009

Too much freedom

OK, I have amb running with parameter swapping, so if non-determinism
(search) is needed when generating code it's there.

But what to do with it?  It looks like I can't go any further without
proper specs.

So, what is the problem?

  - Allow for a number of inequalities to be specified over the data.

  - Because they are essentially free, allow for equalities too

  - Define unsatisfiability: what actions are to be taken?

The real question is: why isn't a simple directional data-flow
approach good enough?  If I have so much trouble trying to understand
why one would abstract out directionality in the constraints, it's
probably not worth the bother..

The missing link is probably that this really needs an _event_ based
approach: the safety monitor needs to

          1. be able to tell something isn't right

          2. appoint blame to the event that broke constraints

          3. if possible, correct or prevent a setting

What about this: for each collection of inputs that can be given as an
event, produce a program that says if this action is valid or not
according to a number of constraints.

This is actually a lot simpler than propagation: it needs only to
associate each collection of inputs to the collection of rules they
are connected to, and check each rule.

The constraing propagation could then be used for directionalizing
equalities that serve only to express extra relations.

Another point: the wikipedia page talks about propagation as
restricting the domains of nodes after eliminating constraints.