or a part of a program
(called a software
routine) that remains active
but in the background until a specific event
or user-action occurs. Upon such occurrence, an intelligent agent performs an action
(or a series of actions) such as sounding an alarm
or displaying a reminder at a certain time or date.