## 5 Application Scenario
### JaCaMo Platform  
For the application development, we use JaCaMo [44], a framework for multi-agent programming that combines three different technologies: (i) Jason, a platform for the development of multi-agent systems that incorporates agent-oriented programming; (ii) CaArtAgO, a framework and infrastructure for programming the environment; and (iii) the \(\mathcal{M}\)oise+ which implements a programming model for the organizational dimension. The platform offers a resource for the scalability of complex applications, thus allowing its distribution on several nodes. In addition, each one of the tools that make up the platform uses a set of abstractions, models, and meta-models for programming. The meta-model defines the dependencies, connections, and conceptual mappings between the three tools that integrate the platform [45].  
According to [46], we can use JaCaMo in several areas: environmental computing applications, intelligent construction management, smart virtual environments, knowledge management, or crisis management, among many others. Figure 11 presents the main vision of this platform.  
* **Jason:** It is a platform for the development of multi-agent systems that incorporates an agent-oriented programming language that implements and extends AgentSpeak(L) [47]. The logic-based BDI-inspired language AgentSpeak(L) is intended  
Figure 10: State-space graph example.  
for developing multi-agent systems. Thus, agents in Jason are based on the _belief-desire-intention_ (BDI) model [48; 49], representing the information, motivational, and deliberative states of the agent. An agent in Jason is an entity composed of (i) a set of beliefs (the agent's information about the world); (ii) a set of goals/desires (tasks that the agent wants to achieve); (iii) a set of intentions (what the agent is committed to doing); and (iv) a set of plans (a plan is a course of action that is triggered by an event). Events include the addition or removal of goals and changes in the agent's belief base.
* **CArtAgO:** It is a framework and infrastructure for the environment's programming and execution in multi-agent systems based on the A&A (agents and artifacts) metamodel [50; 51]. In this model, the environment can be designed and programmed as a dynamic set of computational entities called artifacts (that provide services to the agents), collected into workspaces, possibly distributed among various network nodes. An agent that uses the _focus_ action to focus on an artifact receives its _observable properties_ as perceptions and is able to perform _operations_ (i.e., actions) made available by that artifact. The underlying idea is that we use the environment as a first-class abstraction for designing MASs, as a computational layer encapsulating functionalities and services that agents can explore at runtime.
* **M**oise+: This framework implements a programming model for the organizational dimension [34]. In addition, this approach includes a language for MAS organization and infrastructure specification, with support for organization-based reasoning mechanisms at the agent level. Usually, we write the specification via an XML file containing three different specifications: structural, functional, and normative.