A demon (also see daemon which has a somewhat similar meaning) is a program or process, part of a larger program or process, that is dormant until a certain condition occurs and then is initiated to do its processing. Eric Raymond cites an artificial intelligence ( artificial intelligence ) application as an example. An AI program might include a number of demons, one or more of which might become active when a new piece of knowledge was acquired by the AI program. If the new knowledge affected a particular demon's own sphere of knowledge, it would spring into action and create new pieces of knowledge based on its particular inference rules. Each of these new pieces of knowledge might in turn activate additional demons that would continue to filter through and refine the entire AI knowledge base.
A second example of a demon may be found in personal computer help systems, games, or any application where, when a program so determines by the state of the user interactions with the program, a "popup" window and program is introduced to the user for help, a clue, or a small calculation.