The potential of integrating multi-agent systems and virtual environments has not been exploited to its whole extent. This paper proposes a model based on grammars, called Minerva, to construct complex virtual environments that integrate the features of agents. A virtual world is described as a set of dynamic and static elements. The static part is represented by a sequence of primitives and transformations and the dynamic elements by a series of agents. Agent activation and communication is achieved using events, created by the so called event generators.The grammar defines a descriptive language with a simple syntax and 1 a semantics, defined by functions. The semantics functions allow the scene to be displayed in a graphics device, and the description of the activities of the agents, including Artificial Intelligence algorithms and reactions to physical phenomena.To illustrate the use of Minerva, a practical example is presented: a simple robot simulator which considers the basic features of a typical robot. The result is a functional simple simulator.Minerva is a reusable, integral and generic system, which can be easily scaled, adapted, and improved. The description of the virtual scene is independent from its representation and the elements which it interacts with.