Foundations of software agents - AWS Prescriptive Guidance

Foundations of software agents

1959 – Oliver Selfridge: the birth of autonomy in software

The roots of software agents trace back to Oliver Selfridge, who introduced the concept of autonomous software entities (demons)—programs that are capable of perceiving their environment and acting independently (Selfridge 1959). His early work in machine perception and learning laid the philosophical groundwork for future notions of agents as independent, intelligent systems.

1973 – Carl Hewitt: the actor model

A pivotal advancement came with Carl Hewitt's actor model (Hewitt et al. 1973), which is a formal computational model that describes agents as independent, concurrent entities. In this model, agents can encapsulate their own state and behavior, communicate by using asynchronous message passing, and dynamically create other actors and delegate tasks to them.

The actor model provided both the theoretical foundation and the architectural paradigm for distributed, agent-based systems. This model prefigured modern concurrency implementations such as the Erlang programming language and the Akka framework.