Situated multi-agent systems are decentralized software systems that consist of autonomous entities (agents) that have an explicit position in the environment. The emphasis of situated agents is on direct coupling of perception to action, modularization of behavior, and dynamic interaction with the environment. These properties make situated multi-agent systems particularly suitable to deal with highly dynamic operating conditions. To achieve the overall system functionalities and qualities, situated agents have to coordinate their behavior. The agent environment provides a means to mediate the agents' activities in the system. Laws embedded in the agent environment allow to define application specific constrains on agents’ activities. In this paper, we declaratively specify the semantics of laws for perception, action, and communication in situated multi-agent systems. We illustrate the use of laws with concrete examples in an automated transportation system that we have developed. Mediation of agents' activities via the agent environment improves separation of concerns in multi-agent systems and helps to manage complexity, especially in open and pervasive environments.