## 3 MOVICLOUD Platform
The main novelties included in the developed platform are (a) the possibility to easily model 3D environments using a tool based on _cloud computing_; (b) the use of virtual organizations that model the behavior of people in a work environment (making use of the FIPA ACL communication mechanisms provided by |ADE); (c) the design of a visualization platform in the field of office environments, which offers a vision closer to reality than other generic agent platforms. In addition, through a case study is intended to validate the use of this tool to obtain useful information to reduce accessibility barriers found by disabled people based on simulations carried out in the three-dimensional environment. In the following Sections, the presented architecture is described in detail: in Section 3.1 an overview of the components architecture is done, Section 3.2 describes the implementation of the organizational model, Section 3.3 shows what the structure of the agents that intervene in the simulations is like and finally, Section 3.4 describes how the communication between the agent platform and the three  
system. Through this, it has been possible to provide the system with a set of additional functionalities that maximize the capabilities of MOVICLOUD, allowing a better interactivity and configuration on the part of human experts. These functionalities are detailed below:  
* Ability to use **virtual organizations of agents**, which allow agents to adopt different topologies, such as hierarchies, oligarchies, groups, congregations, etc. [49]. VO allow the artificial representation of human societies in work environments. Thus, the structure of the multi-agent system in each simulation may vary, generating specific components depending on the environment to be modeled. Attending to the simulation that it is intended to be performed, is necessary that the multi-agent system would be able to adopt one of these topologies, so different types of agents must co-exist. JADE does not support the management of VO, so it has been necessary to introduce additional functionality with which to perform this task. To support this functionality, a database has been incorporated into the system in which the topology of the agents present in the system will be stored, making it possible to reuse it in the future. * The tasks that the agents can carry out within the artificial societies that are generated within the framework of the simulations can vary, so that the objectives of the agents can be the same, but the decision-making process to carry them out may differ depending on the kind of disability. In this way, agents with advanced capabilities have been developed for **planning the distribution of tasks** according to the needs and configuration of the organizational structure. The user of the platform is responsible (through a series of functionalities implemented in the visualization tool) to model the different agents that act in representation of the elements that they want to model, thus allowing human-artificial collaborative work. For example, when defining an organization with a hierarchical structure, two kinds of agents will exist. The agents in charge of the decision-making are located at the higher level of the hierarchy-determining which tasks need to be carried out and who should carry them out-and the agents that have a more basic functionality-those in charge of carrying out the designated tasks-will be placed in the lower layers. * **Communication with the 3D environment**, so that all the changes occurred can be reported between the agent platform and the three-dimensional environment in a bidirectional way. Figure 2 shows in detail the different components present in the multi-agent system, as well as the relationships between them. Figure 2: Multi-agent system (MAS) Components. Finally, the **3D environment** that allows real information representation collected from the simulated environment is composed of an editor and a viewer. An organization is surrounded by an environment that is constantly changing.