ソフトウェアエージェント
ソフトウェアエージェントの持つ基本特性は次の通りである。
タスクとして厳密に管理されないが、自分自身が勝手に起動することはない。
ホスト上で所定のイベントの発生を待ち続けることがある。
動作条件が整うと動作状態になる。
ユーザーからの指示を必要としない。
通信などの他のタスクを呼び出すことがある。
「エージェント」という用語はソフトウェアの抽象化/アイデア/概念を説明するものであり、その意味でオブジェクト指向プログラミングの各種用語(メソッド、クラス、オブジェクトなど)と同類である。エージェントの概念は、ユーザーの代理である程度自律的に行動できる複雑なソフトウェアを説明するための便利で強力な方法を提供する。しかし、メソッドや属性といった用語で定義されるオブジェクトとは異なり、エージェントはその振る舞いで定義される。
様々な人々がそれぞれにエージェントの定義を提案しているが、それらには以下のような概念が共通して含まれている。