diff -ur perl/AI/ExpertSystem/Simple/Knowledge.pm udrpwiz/AI/ExpertSystem/Simple/Knowledge.pm --- perl/AI/ExpertSystem/Simple/Knowledge.pm 2004-04-28 12:35:02.000000000 -0400 +++ udrpwiz/AI/ExpertSystem/Simple/Knowledge.pm 2004-05-10 02:25:23.000000000 -0400 @@ -44,6 +44,10 @@ $self->{_value} = $value; $self->{_setter} = $setter; + foreach (@{$self->{_setters}}) { + #print "Setting ", $_->{_name}, " to invalid
\n" if $_->{_state} ne "invalid"; + $_->{_state} = "invalid" ; + } } sub get_value { diff -ur perl/AI/ExpertSystem/Simple.pm udrpwiz/AI/ExpertSystem/Simple.pm --- perl/AI/ExpertSystem/Simple.pm 2004-04-28 12:30:01.000000000 -0400 +++ udrpwiz/AI/ExpertSystem/Simple.pm 2004-05-10 02:25:23.000000000 -0400 @@ -153,6 +153,9 @@ $self->{_number_of_attributes}++; $self->{_knowledge}->{$attribute} = AI::ExpertSystem::Simple::Knowledge->new($attribute); } + + $self->{_knowledge}->{$attribute}->{_setters} ||= []; + push @{$self->{_knowledge}->{$attribute}->{_setters}}, $self->{_rules}->{$name}; } eval { $t->purge(); }