## 3 The ChildRescue Simulation Framework  
### Methodology  
The difficulty of running real-world controlled experiments to identify the number of users needed in a geographical area to have a successful application is further toughened here due to the subject's highly sensitive nature. These experiments would need to be completed during a missing child incident and at the child's expense. Through simulation,the ethical and practical concerns are withdrawn. Different scenarios can run in identical settings for the independent variable, i.e., the number of users of the citizen sensing app. Current investigations for missing children are supported by missing children response organisations that operate the 116 000 European Hotline for Missing Children, manage the Amber Alert system, and on several occasions exploit their network of certified volunteers and in-field search and rescue teams. They are confronting over a quarter-million cases of missing children every year in the EU alone [78] and around 8 million globally [79]. This is the baseline of our experiment, representing the current situation. In the context of the EU-funded research project ChildRescue, a citizen sensing mobile application has been developed that alerts its users when they are close to a missing child's incident or other critical locations for the child [80]. The application is already being used in real-life cases and downloaded by more than 20,000 citizens in Greece and Belgium. However, the question raised is how many of these users are needed in an examined geographic area to find a child considered lost there, faster than with the current means, i.e., the baseline, which would enable the claim that the application outperforms the existing systems. To answer this question, we have built a simulation framework that is easily reconfigurable to adapt well to the urban environment in question and its citizens' mobility characteristics. We ran simulations in selected geographic areas to identify the users' critical mass, namely the users' threshold from which point on the application is effective for the specific location in question. The mobility characteristics of these locations must be identified beforehand through appropriate analysis. The insights are translated into specific metrics that are easily fed into the system by the users themselves. The simulation platform has been built in the GAMA platform, programmed using the GAMA Modelling Language (GAML), an agent-oriented programming language [81]. GAMA was selected because its meta-model is designed to facilitate the complex representation of the environment and the creation of multi-level models. It enables the modelling and simulation of spatially explicit agent-based systems through the integration of GIS data. According to the developed framework, a geographic area to be examined should be selected. The geodata of this area are inserted in the system as an OSM file, extracted either directly from Open Street Map or other platforms giving this opportunity (e.g., Extract.BBBike [82]). Therefore, actual data about roads, intersections, and buildings of a certain area are used to develop the simulation environment. The geographic area is modelled through building agents, road agents, and additional geographical information, which is part of the simulation's motion graph. This graph supports the movement of the agents within the simulation. On the created simulated space, citizens, hereby 'people agents', live and work, while at the same time a child is missing. In GAMA, different types of agents exist with their own behaviour and skills, supported by functions. Our model has the static agents responsible for developing the virtual geographic environment and the mobile agents, consisting of two species: the people and the missing child. The people agents are citizens who move around the city to commute to work, go back home or perform their daily leisure activities. Both species have movement skills, meaning that the movement of agents is simulated along a graph.