demon n.
1. [MIT] A portion of a program that is not invoked
explicitly, but that lies dormant waiting for some condition(s)
to occur. See daemon. The
distinction is that demons are usually processes within a
program, while daemons are usually programs running on an
operating system. 2. [outside MIT] Often used equivalently to
daemon -- especially in the Unix world, where the latter spelling and
pronunciation is considered mildly archaic.
Demons in sense 1 are particularly common in AI programs. For
example, a knowledge-manipulation program might implement
inference rules as demons. Whenever a new piece of knowledge was
added, various demons would activate (which demons depends on the
particular piece of data) and would create additional pieces of
knowledge by applying their respective inference rules to the
original piece. These new pieces could in turn activate more
demons as the inferences filtered down through chains of logic.
Meanwhile, the main program could continue with whatever its
primary task was.