In this paper we introduce a new formalism to represent multi-agent systems where resources can be exchanged among different agents by maximizing the utility of the agents conforming the systems. In addition to introduce a formalism to specify agents, we provide a formal framework to test whether an implementation conforms to the specification of an agent of the system.