## 2 Background  
This section gives the reader the theoretical background necessary to understand this work entirely. It covers three main topics: (i) the basic concepts of testing and test case generation in the context of MASs; (ii) the \(\mathcal{M}\)oise+ organizational model, which comprehends part of the problem definition, and; (iii) colored Petri nets, which is used as part of the solution in this work.  
Multi-agent systems are composed of multiple interacting computing elements, known as agents. Agents are computer systems with two essential capabilities: (i) they can make autonomous actions, and (ii) they are capable of interacting with other agents [22]. Any MAS architecture has components distributed between three levels: (i) the individual level, where the agents are specified and implemented; (ii) the interaction aspects, where formalized communication protocols are specified; (iii) and the social level, that can be realized in an explicit formalization or can be emerged by non-controlled coordination between the system entities, i.e., the agents themselves [23].  
The individual level can be solved by BDI architectures, using, for example, programming languages such as Jason and JADE [24]. When in the validation phase by testing procedures, this level corresponds to those indicated by [PERSON] et al. [25], such as unit and agent abstractions.  
The interaction aspects cover issues related to communication protocols, such as FIPA [26] and MQTT, yet specified by UML or AUML [27]. In the [PERSON] et al. [25] view, this development step is validated in the integration test abstraction.  
The social level makes collective intentionality feasible when it defines how to coordinate individual actions in global goals. There are two ways to realize this intentionality: (i) it emerges by arising in novel and coherent structures, patterns, and properties during the process of self-organization in complex systems [28]; (ii) it is formally specified by an organizational model. At the testing phase, this level corresponds to the society abstraction defined by [PERSON] et al. [25].  
The social level covers the testing scope proposed in this work. For the individual level, the work proposed by [PERSON] [29] solves the testability for BDI systems. On the other hand, agent interaction protocols (AIP) is a conformance testing technique for agent interaction protocols, using aspect-oriented technology to support and monitor the testing process [30].  
In the testing process proposed here, an organizational model specifies the social level, more specifically, \(\mathcal{M}\text{oise}^{+}\). When executing an MAS, this specification is instantiated by agents once they share social concepts such as goals, plans, groups, and roles. First, however, these social specifications must be assessed on their correctness, which means to evaluate if the resources allocated by plans, groups, and roles are necessary and sufficient to reach the MAS goals.  
On the other hand, Petri nets are a well-known formal method for verification tasks on concurrent systems, such as multi-agent systems. This work adopts a high-level model of Petri nets, colored Petri nets, as a path-traversal generation mechanism since it explores the different possible paths through a transverse representation of the system-under-test. The different paths through the system correspond to different possible executions and test cases.