Diferencias principales entre agentes y objetos:
Objetos:
• Controlan su estado, pero no su comportamiento.
• Un método de tipo público, debe ser ejecutado cuando sea invocado.
• La ejecución de un método está relacionada con la llamada al objeto.
Agentes:
• Controlan su estado y su comportamiento.
• Pueden rechazar la ejecución de una acción.
• La decisión de ejecutar una acción depende del agente, está basada en sus propios conocimientos.
Las aplicaciones de software que parten de un modelo conceptual orientado a objetos no suelen tener la expresividad necesaria para especificar adecuadamente un sistema en el que los agentes son el componente básico. Dichos sistemas mantienen una interacción constante con su entorno.