We study the development of distributed agent environments as distributed event-based systems specified in the Ambient Event Calculus (AEC). The AEC is a logic-based formalism that is developed here to support the representation of a distributed agent environment as a persistent composite structure evolving over time. Such a complex structure supports the interaction between agents, objects, and containers, entities that have their own external observable state and can be distributed over a network. Interactions between these entities are specified in terms of events that represent actions executed by agents on objects and other agents in the environment. When events happen they are stored in containers and are notified to agent sensors that subscribe to event descriptions and as a result perceive the interactions. The AEC formalism also allows changes caused by events to be delivered across distributed containers, according to the topology of the application environment. We illust...