Real-time Human-in-the-loop Simulation with Mobile
Agents, Chat Bots, and Crowd Sensing for Smart
Cities
Stefan Bosse
1
, Uwe Engel
2
1
University of Koblenz-Landau, Fac. Computer Science, Koblenz
2
University of Bremen, Dept. of Social
Science, Bremen
Abstract: Modelling and simulation of social interaction and networks is of high interest in multiple
disciplines and elds of application ranging from fundamental social science to smart city management.
Future smart city infrastructures and management is characterised by adaptive and self-organising con-
trol using real-world sensor data. In this work, humans are considered as sensors. Virtual worlds, i.e.,
simulations and games, are commonly closed and rely on articial social behaviour and synthetic sensor
information generated by the simulator program or using data collected off-line by surveys. In contrast,
real worlds pose higher diversity. Agent-based modelling relies on parameterised models. The selection
of suitable parameter sets is crucial to match real world behaviour. In this work, a framework combining
agent-based simulation with crowd sensing and social data mining using mobile agents is introduced.
The crowd sensing via chat bots creates augmented virtuality and reality by extending simulation worlds
with real world interaction and vice-versa. The simulation world interacts with real world environments,
humans, machines, and other virtual worlds in real-time. Among the mining of physical sensors (e.g.,
temperature, motion, position, light) of mobile devices like smart phones, mobile agents can perform
crowd sensing by participating in question–answer dialogues via a chat blog (provided by smart phone
Apps or integrated in WEB pages and social media). Additionally, mobile agents can act as virtual sen-
sors (offering data exchanged with other agents) and creating a bridge between virtual and real worlds.
The ubiquitous usage of digital social media has relevant impact of social interaction, mobility, and
opinion making, which has to be considered, too. Three different use-cases demonstrate the suitability of
augmented agent-based simulation for social network analysis using parameterised behavioural models
and mobile agent-based crowd sensing. This paper gives a rigorous overview and introduction of chal-
lenges and methodologies to study and control large-scale and complex socio-technical systems using
agent-based methods.
Keywords: Simulation; Agent-based Modelling; Mobile Agents; Crowd Sensing; Smart Trafc Control.
Social Interaction
_______________________________________________________________________________________
1. Introduction
The key concept of this work is the consideration of humans as sensors and the fusion of real and virtu-
al worlds, in particular virtual worlds in social simulation providing a closed-loop simulation. The out-
come of simulations performed in real-time can be feedback to real worlds, e.g., to control crowd
behaviour and ows, thus considering humans ac actors, too. This human-in-the-loop simulation metho-
dology enables a better understanding of crowd behaviour in real worlds and the opportunity to
inuence real worlds by simulation. This concept is highly interdisciplinary and is a merit of social and
computer science if the human sensor data will be coupled with social interaction and networking
models. Social interaction has a high impact on the control of complex environmental and technical sys-
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 1 - 2019
tems, which should be addressed in this work.
The novelty of this work is the seamless fusion of real and virtual worlds by using mobile agents and an
unied agent platform that can be be deployed in strong heterogeneous digital network environments
and in simulation. The real world is sensed by mobile crowd sensing techniques (MCWS) providing in-
put for an agent-based simulator representing the virtual world. Mobile agents are used to bridge both
worlds and to provide loosely coupling required in heterogeneous and mobile environments with ad-hoc
connectivity and operation on a wide range of host platforms with varying software versions.
The approach of an augmented agent-based social simulation is powerful to study large-scale social and
socio-technical interactions. The strength of the framework lies in the potential inclusion of environmen-
tal and real-life interactions and providing feedback to real world environments and humans. The used
agent platform as the core component of both the MCWS and the simulator enables ubiquitous partici-
pation and interaction.
Different use-cases show the strength of the extended simulation framework using self-organising
parameterised behaviour and interaction models with parameter sets derived by crowd sensing. The
crowd sensing is performed by mobile agents that are used to create individual parameterised digital
twins in the simulation from surveys performed by real humans (with respect to the social interaction
model and mobility).
The following introduction gives an overview of agent-based modelling, simulation, and crowd sensing
in the context of social and computer science, and enlightens the key concepts of agent-based human-
in-the-loop simulation.
After the introduction, the role of intelligent systems and the relation to system control is discussed in
Sec. 2, and modelling of socio-technical systems is discussed in Sec. 3.
In Sec. 4 and 5, the proposed simulation architecture and the workow are described. Sec. 6 describes
the agent-based real-world sensing using crowd sensing techniques.
In Sec. 7, a parameterised social interaction model is discussed, and Sec. 8 introduces a crowd mobility
and trafc model.
Finally, in Sec. 9 three use-cases demonstrate the suitability and utilisation of the augmented simulation
approach in different elds of application.
1.1 Preliminary notes on the involved Computational Social Science (CSS) perspective
Even though the present article describes essentially the computer-science basis for a new digital-twin
modelling and simulation approach, the work is aimed at a contribution to the broader framework of
computational social science (CSS). This designation is certainly at risk of being misunderstood as a
branch of social science only. Quite the contrary CSS is an emerging interdisciplinary eld of research
of growing importance at the intersection of computer science, statistics, and social science. On the one
hand, CSS includes a well-known strong formal modelling/simulation branch on articial societies [1].
On the other hand, it includes the trend towards a dynamically increasing eld of automated collection
of digital-trace and text data on the Internet that goes hand in hand with an equally important rise of
widespread applications of machine learning techniques in society [2]. Though both CSS branches offer
undoubtedly valuable scientic insights on their own right, the link between the modelling/simulation
branch, on the one hand, and the social-research and social-media research branch [3] respectively, on
the other hand, remains currently still a quite challenging task.
1.2 Why Agent-based Models?
This work focuses on agent-based modelling (ABM) of social interaction as well as socio-technical sys-
tems. The main advantage of ABM over analytical or machine learning methods is self-organisation us-
ing simple behaviour and interaction models. Typical analytical methods that can be combined with
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 2 - 2019
agent-based modelling are pattern recognition and cluster graph analysis [4], but requiring functional
social models on a global interaction scope not always available. And common social models
oversimplify the real world, a disadvantage that can be avoided by agent-based simulation using only
neighbouring interaction. Agent-based models are especially relevant to simulating social phenomena
that are inherently complex and dynamic [5]. Dealing with complexity is a challenge in social
modelling, and decomposition of complex systems in many simple interacting systems (divide-and-
conquer approach) is well established and reected by agents. The simplest agent model consists of
condition-action rules only, but powerful enough to model trafc and crowd ows.
1.3 Why not Analytical Models?
ABM is in principle the counterpart to analytical modelling and analysis. ABM addreses local interac-
tion between agents posing emergence (the global behaviour), whereas analytical models often cover the
mapping of individual behaviour on global behaviour directly (the hard-to-predict aggregate outcome)
[6]. Analytical models are well established in social science and address both empirical and formal
methods that poses their strength with respect to some of the fundamental analysis challenges in social
science [7]. The main issue of analytical modelling, e.g., spatial analysis, is their limitation to cover a
broad diversity in social models, i.e., addressing minor variances that occur in real world systems [8].
This work demonstrates the introduction of variance of real humans by crowd sensing integrated in
agent-based simulation. It could be shown that small local disturbances have signicant effect on global
structures and interaction that is not covered by current analytical models. But ABM can rely on analyti-
cal micro-scale models, shown, e.g., by the Sakoda segregation model and the social expectation func-
tion (see Sec. 7).
1.4 Explaining simulation-based aggregate effects
This concerns for instance the ways and possible improvements of empirically testing assumptions and
predictions of such simulation models by experiments and survey research, as detailed e.g. in [9] and
[10]. As outlined there, the validation of empirically grounded agent-based models has certainly to con-
sider the targeted degree of realism and the related importance attached particularly to mechanism-based
explanations. This means notably the validation of the mechanisms assumed to produce the expected ag-
gregate effects in the micro-to-macro transition; - and in doing so, the rejection of the popular as-if atti-
tude in model-based explanations [6]. An adoption of this approach implies essentially the view that
validation should not be restricted to empirical tests of the observable model implications alone, simply
because different models can imply the same such implications; validation should also extend to the very
model assumptions from which the observable implications were deduced.
1.5 Why humans in the loop?
Such assumptions are essentially assumptions about the behaviour of individual agents and why they act
as they act. From a sociological point of view, this brings the humans in the loop and the factors under-
lying their behaviour (e.g., their preferences, expectations, values, attitudes, personality traits, habits,
resources). It also introduces the social relations, agents maintain in dyads, networks, and larger groups.
This in fact for an understanding of the - intended and unintended, even paradox - emergent effects
which result from the behaviour of individual agents and their interactions in society. This, moreover, for
intervention and steerage purposes too. Cases in point of relevant effects certainly include shapes of
structural differentiation (segregation vs. intersection)and opinion formation, currently with a strong
scientic attention to opinion polarisation (e.g. [11]; [12]) and extremism due to propaganda in digital
social networks [13].
Among considering humans as sensors feeding the simulation at run-time, the loop considers humans as
actors, too. I.e., the loop provides output data for crowd and ow control, human decision making via
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 3 - 2019
social media, or at least inuencing real world with data from simulation.
1.6 Why simulations in real-time?
Social simulation using mathematical, statistical, and agent-based models is well established to investi-
gate and predict social and socio-technical interaction. Often there is a gap between simplied modelling
and real world observations. The factors underlying human behaviour can change over time. Some tend
to volatility, some to persistence instead, in any case these factors represent genuine sources of variation.
Given that a relevant factor tends to changes in shorter rather than longer periods of time, and given that
such a factor has a share in producing an aggregate effect, models which are capable of both sensing
such changes and simulating the resulting effects in real time, appear most suitable for the testing of
relevant assumptions of simulation models and the possibly wanted derivation of policy recommenda-
tions. Most notably,especially simulations which are capable of dynamically adapting to changing
preconditions at the agent level afford the opportunity to develop realistic scenarios in use-elds where
the level of behavioural change per unit time is rather high than low.
Crowd simulation can be utilised to feedback data from simulation to real world to control crowd ows,
e.g., in cities or domestic services. But this feedback requires the real-time and time-lapse capability of
the simulation, discussed in Sec. 4. The de-facto standard in traditional social simulation is the Netlogo
simulator [14]. Integrating Data Mining in agent-based modelling and simulation was rstly introduced
in [15], but the Data Mining uses real world data collected prior to simulation (delayed coupling of real
and virtual worlds).
1.7 Why sensing?
A real-time human-in-the-loop simulation needs continuously updated empirical information on relevant
model parameter. The sensing and collecting respectively of continuous measurements represents accord-
ingly a rst hub, the integration of related subjective and objective measurements a second one. It then
simply depends on the angle of view which type of measurement is regarded the primary source and
which one the possible enrichment. In the same way as one can enrich survey data with objective sensor
measurements [16], one can enrich sensed physical data with information usually obtained through sur-
vey research. One can even discard the weighting inherent to highlighting one source as primary, and
just talk of empirical (objective, subjective) information obtained by sensing. In this spirit a key concept
of this work is the consideration of humans as sensors and mobile devices such as smartphones are the
instruments for sensing the required empirical information. Data fusion approaches can further enhance
analytical as well simulative methods [4].
1.8 Why crowd sensing?
In order to investigate complex and dynamical societies, appropriate data is required. Unfortunately, ac-
quiring such data is a challenge. The traditional methods of analysis in sociology gather qualitative data
from interviews, observation or from documents and records, and carry out surveys of samples of people
[5].
The crowd comes in for three related reasons. First, the nearly ubiquitous use of mobile devices makes
it simply possible to sense the required information at a large scale, at least in principle. Secondly, a
crowd is necessary: without the information obtained from the set of persons that constitutes a crowd, no
simulation would be possible at all. Thirdly, the focus on crowds goes along with two ongoing paradigm
shifts in social research. The rst concerns the changing survey landscape (trend towards the use of
non-probability samples) and the second one concerns the tendency from survey research towards social
media research. Fourthly, just recently social research encountered the suggestion towards the creation of
mass collaboration for data collecting purposes [17], - a trend in line with similar suggestions towards
citizen sciences.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 4 - 2019
The analysis of crowd sensing data and crowd behaviour can be performed with different methods: 1.
Analytical Methods [4]; 2. Machine Learning (ML); 3. Simulation. Simulation and ML can be seen as
counterparts to analytical methods or can be used in conjunction.
One major drawback of classical surveys is that they come from measurements made at a one moment
in time [5]. Crowd sensing combined with real-time simulation can extend the data time scale
signicantly.
1.9 The role of Incentive Mechanisms
Crowd sensing can be participatory or opportunistic. Furthermore, crowd sensing can be classied in
platform- or sourcer-centric and user-centric architectures [18]. In all cases incentive mechanisms have a
high impact on crowd user selection and participation, directly affecting the quality of sensed data [19].
Although the usage of mobile phones introduce new opportunities in social data sensing, adapted incen-
tive mechanisms are required. Distributed and self-organising crowd sensing requires commonly the ins-
tallation of software, a high barrier for most users, with impact on participation and data bias (young
users vs. older users). Mobile chat-bot agents, e.g., embedded as (JavaScript) code in a WEB page (but
executed on the user device) as considered in this work can overcome this limitation.
Among participation, the quality of the sensed data contributed by individual users varies signicantly
by crowd sensing [19]. Sensor fusion and localised pre-processing (ltering) is required. Correlating the
quality of information provided by user to the incentive rewarded and as part of the auction model can
improve overall data quality of mobile crowd sensing signicantly.
1.10 Smart city management
Today administration and management of public services and infrastructure relies more and more on
user and ubiquitous data collected by many domestic and private devices including smart phones and
Internet services. People use social digital media extensively and provide private data, enabling proling
and tracing. User data and user decision making has a large impact on public decision making processes,
for example, plan-based trafc ow control. Furthermore, intelligent behaviour, i.e., cognitive,
knowledge-based, adaptive, and self-organising behaviour based on learning, emerges rapidly in today’s
machines and environments. Social science itself exerts inuence on public opinion and decision forma-
tion.
Smart city infrastructures and management is characterised by adaptive and self-organising control algo-
rithms using real-world sensor data. In [20], crowds are considered as collective intelligence that can be
employed in smart cities, although such self-organising and self-adapting intelligence driven by a broad
range of individual goals is inaccurate and can compromise society goals.
Trafc is a classic example for group decision making with (social) neighbouring interaction, but com-
monly trafc control relies on physical sensor processing only [21]. In [21], adaptive and partly self-
organising trafc management was achieved by using a agents with multi levels of decision making and
an hierarchical organisational structure. Car trafc control in smart cities can be achieved by global
trafc sign synchronisation. But pedestrian, bicycle, and domestic trafc usage cannot controlled this
way. A future vision to control domestic trafc ows is the deployment of digital and social media with
chat bots to inuence people decision making regarding goal driven mobility, sketched with the methods
introduced in this paper.
Trafc control can be performed by perception and analysis of vehicle and/or crowd ows. Furthermore,
vehicle-ows can be classied, e.g., introducing weights for individual and public vehicles.
Surveys play another important role for modelling and understanding of interaction patterns. Articial
Intelligence (AI) and chat bots shift classical survey methods towards computational methods introduc-
ing possible implications, i.e., usage of different data, different methods, exposition to different threats to
data quality (concerning sampling, selection effects, measurement effects, data analysis), and different
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 5 - 2019
rules of inference are likely to result in comparably different conclusions, public reports, and hence in
different input to public opinion formation. Among eld studies, simulations can contribute to the
investigation and understanding of such interactions.
1.11 The underlying Computer-Science Perspective: A new augmented simulation paradigm
In real worlds, hardware and software robots can be considered close together in a generalised way by
an association to the agent model. One prominent example for a software robot is a chat or social bot.
Additionally, real and articial humans can be represented by the agent model, too. Multi-agent systems
enable modelling of agent interaction and emergence behaviour. Agent-based modelling and simulation
is a suitable methodology to study interaction and mobility behaviour of large groups of relevant human
actors, hardware, and software robots, using methods with inherent elements of AI (e.g. learning algo-
rithms) or which use data which may be inuenced partly by bots.
Agent-based methods are established for modelling and studying of complex dynamic systems and for
implementing distributed intelligent systems, e.g., in trafc and transportation control (see [22] and
[21]). Therefore, agent-based methods can be described by the following taxonomy [15]:
1. Agent-based Modelling (ABM) - Modelling of complex dynamic systems by using the agent
behaviour and interaction model Physical agents
2. Agent-based Computing (ABC) - Distributed and parallel computing using mobile agents related to
mobile software processes Computational agents
3. Agent-based Simulation (ABS) - Simulation of agents or using agents for simulation
4. Agent-based Modelling and Simulation (ABMS)
5. Agent-based Computation, Modelling, and Simulation (ABX) - Combining physical and computa-
tional agents
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 6 - 2019
Figure 1: (Left) Traditional eld studies and agent-based simulation of social systems (Right) New com-
bined agent-based simulation and agent-based crowd sensing enabling bidirectional data exchange
The fth paradigm is the novelty introduced in this work with application to social mobility and crowd
interaction simulation.
Two promising elds of current studies in computer science are Data Mining (DM) and Agent-based
Modelling and Simulation (ABMS) [15]. Agent-based simulation is suitable for modelling complex so-
cial systems with respect to interaction between individual entities, manipulation of the world, spatial
movement, and emergence effects of groups of entities. The main advantage is the bottom-up modelling
approach composing large-scale complex systems by simple entity models. The main disadvantage of
ABM is the (over-) simplied entity behaviour and simplication of the world the entities acting in.
Commonly, simulation bases on synthetic data or data retrieved by eld studies. Many simulations and
models lacking of diversity existing in real world. Commonly, sensor and model data (parameters) used
in simulations (virtual world) is retrieved from experiments or eld studies (real world), shown in Fig. 1.
But there is neither a feedback from the virtual to the real world nor an interaction of the real world
with the virtual world. For example, in [21] self-organised trafc control was simulated with agents by
using the JACK software for intelligent agents, which is an agent-oriented development environment
built on top of and integrated with the Java programming language, and Matlab software. The simulation
based on a parameterised trafc model. Sensor data was created synthetically within the simulation
without real-world coupling.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 7 - 2019
parameterised models (modelling behaviour and interaction), discussed in Sec. 3, play an important role
in ABM and ABS. The achieved results and conclusions rely on the parameter settings, and the selection
of appropriate and representative parameter sets is crucial for modelling real-world scenarios accurately.
Furthermore, parameter sets derived from real-world sensing enables variations and evaluation for dif-
ferent real-world situations.
To overcome the limitations of closed and synthetic simulation worlds, we investigated a new augmented
agent-based simulation paradigm coupling real and virtual worlds in real-time, although this is an op-
tional feature.
Controlling ABS by human participation appears in early work in stock market analysis and prediction
[23].
ABS and ABMS is commonly constructed using collections of condition-action rules to be able to per-
cept and react to their situation, to pursue the goals they are given, and to interact with other agents, for
example, by sending them messages [5]. The NetLogo simulator is an example of an established ABS
tool used in social and natural sciences [14], but is limited to behavioural simulation only (ABM
domain). In this work, a different simulation approach combining ABM, ABC, and ABS methodologies,
is used deploying the widely used programming language JavaScript. JavaScript is used increasingly as a
generic programming language for ABC and ABS [24] [25].
1.12 Sensing the World
In crowd sensing, users of mobile devices are sensors and actuators [20]. Mobile devices like smart
phones are valuable sources for social data [26], either by participatory crowd sensing with explicit par-
ticipation of users providing rst class data (e.g., performing surveys or polls) or implicitly by oppor-
tunistic crowd sensing collecting secondary class data, i.e., traces of device sensor data delivering, e.g.,
actual position, ambient conditions, network connectivity, digital media interaction, and so on. Crowd
sensing and Social Data Mining as a data source contribute more and more to investigations of digital
traces in large-scale machine-human environments characterised by complex interactions and causalities
between perception and action (decision making). This is relevant for the algorithmic and architectural
design of smart cities [20]. Agent-based software is already used in crowd sensing applications [27],
posing advantages by adaptivity over traditional static client-server architectures.
But mobile devices are not limited to being sensors. They can be used as actuators, too, by interacting
with the user via the chat dialogue or social media that can affect the user behaviour (e.g., mobility de-
cisions) .
It is difcult to study such large-scale data collection, data mining, and their effect on societies, domes-
tic services, and social interaction in eld studies due to a lack of reliable data and complexity. Control-
ling all aspects of the virtual world allows to explain the source of structural variation in human interac-
tions, i.e., tackle the hard-to-observe mechanisms of micro-macro interactions. For instance, it is known
that tie creation processes of social networks rely heavily on the (organisational) environment [28].
Utilising real-world interactions together with ABMs in carefully selected, systematically diverging en-
vironments creates a framework in which we can experimentally distinguish between ideal typical situa-
tions and understand how different structures result in similar/diverging behaviour. First applications
might involve hierarchical/unstratied environments represented by different types of organisations. In so
doing, we would add to the question how the same micro-mechanisms (e.g., homophily, balance) are
created by and reproduce different network structures and, hence, extend emerging approaches on net-
work ecological theory.
Agent-based modelling of socio-technical systems is well established [29] and can be applied for smart
city management, however commonly applied in an articial world., i.e., a simulation is performed in
virtual reality worlds only to derive and proof models under hard limitations. In this work, a new con-
cept and framework for augmented virtual reality simulation is introduced, suitable, but not limited to, to
investigate large-scale socio-technical systems. Mobile agents are used already successfully in-eld
crowd sensing [30]. In this work, mobile agents are used to combine in-eld ubiquitous crowd sensing,
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 8 - 2019
e.g., performed by mobile devices, with simulation.
A chat bot agent is capable to perform dynamic dialogues with humans to get empirical data into the
simulation and to propagate synthetic data from the simulation world into the real world. The chat bot
can act as an avatar providing information for users, e.g., for optimised and dynamic trafc control
based on real (covering actual and history data) and simulated data (addressing future predictions).
Chat bot agents (as computational agents) can operate both in real and virtual worlds including games
and providing a fusion of both worlds by seamless migration. Mobile computational agents, i.e., mobile
software, have advantages in strong heterogeneous systems, existing in opportunistic and ad-hoc crowd
sensing environments. Examples are trafc control by smart phone data. Agents are loosely coupled to
their environment and platform and interact with each other, e.g., via tuple spaces (generative data-
driven communication) and via uni-cast or broadcast signals (addressed messages) [31].
The novel MAS crowd sensing and simulation framework, introduced in the next sections, is suitable to
combine social and computational simulations with real-world interaction at run-time and in real-time,
e.g., by integrating crowd sensing, using mobile agents. There are two classes of mobility that can be
modelled in the simulation: (1) Social mobility on short- and long-term time scales, e.g., creating group
formation and segregation (2) Goal driven mobility, e.g., creating trafc.
Agent-based trafc management simulation still neglects social interactions and inuence of social
media, e.g., MATISSE, the Multi-Agent based Trafc Safety Simulation System [32], which is a large-
scale multi-agent based simulation platform designed to specify and execute simulation models for
Agent-based Intelligent Transportation Systems.
Among the capability of real-time simulation, the simulation framework is capable to create simulation
snapshot copies that can be simulated in parallel in non real-time to get future predictions (simulation
branches) from actual simulation states that can be back propagated into the current real-time simulation
world.
2. Intelligent Machines and Socio-technical Systems
There are basically three classes of entities existing in real and virtual worlds: 1. Humans, 2. Machines,
and 3. Robots. Automatic and autonomous vehicles belong to class 3! Semi-automatic driving is, e.g.,
relevant for smart trafc ow management.
Human-machine interaction is an emerging eld. The interaction with intelligent machines is much more
sophisticated and created two classes of interaction: 1. Human-machine (HM), 2. Machine-machine
(MM). Today, robots can be considered as intelligent machines (i.e., AI bots) posing some kind of auto-
nomous behaviour, learning, and interaction with environments and humans. The main advantage of
ABMS and the proposed agent-based framework is the unied handling of totally different entities using
the same agent model. Autonomous vehicles are examples for both HM and MM interaction.
There is a micro-context of everyday life and the macro-context of public decision and opinion forma-
tion related to human-robot interaction, affecting, e.g., future city management like adaptive and dynam-
ic trafc control considering a broad range of participants and vehicles (cars, buses, trains, pedestrians,
bicycles). Automatic and probably autonomous driving systems can be considered as intelligent
machines (i.e., robots) interacting with humans and environments, too. Social behaviour of humans and
interaction with intelligent machines will depend on the way intelligent machines will be controlled and
the way they interact with humans and other intelligent machines. E.g., chat bots inuence human opin-
ions, but humans and other chat bots can inuence the behaviour and knowledge base of chat bots, too.
There are different involved ways of mutual affection that is difcult to investigate in classical eld stu-
dies. The proposed simulation method integrating real world environments by using mobile agents can
boost investigations of such complex interacting environments. For example, decisions of trafc partici-
pants (e.g., car drivers) cause wide range effects on global behaviour (emergence), and centralised or de-
centralised trafc control will inuence individual behaviour.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 9 - 2019
Since both sides (humans and bots) may learn from each other in this interaction, the studies shall ex-
plore possibilities of targeted responses of the human side. That way we expect to reveal options of get-
ting inuence on possible ways AI will shape future society. In addition, we expect to nd out factors in
robot – human interaction that let AI gain acceptance in society. This list of factors shall, amongst oth-
ers, include the visibility of AI during a communication (e.g. can a human discern whether a comment
comes from a bot or a human and what difference makes this to his/her response?) and different pro-
grammable behavioural and ethical principles in robot – human interaction (by systematically varying
the reward function). Furthermore, since we expect in the medium and long-term respectively a trend to-
wards the use of robots that not only assist but replace humans in the daily communication, we project
the development and exploration of a rst scenario in a homely environment, and the evaluation of its
applicability in practice.
At society’s macro level robot-human interaction takes place too, though less visible and less direct. The
investigation of public decision and opinion formation is of high relevance for the design of public
management services. We project an exploration of how this process is shaped in the interaction of
groups of relevant human actors who interact with intelligent machines through its reports of ndings of
projects which either use methods with inherent elements of AI (e.g. learning algorithms) or which use
data which may be inuenced partly by bots. In this regard the study is targeted on possible emergent
effects of AI at the system level of society.
To summarise, the agent model used in this work captures different entity classes, mapping activities
(performing actions like environmental interaction) A, transitions T between activities (that can be condi-
Ag(A, T, V, S):S × A × T × V X
tional based on V and S), data variables V. and sensors S, on actions X , discussed in Sec. 4:
(1)
3. Parameterised Modelling and Emergence
Modelling of social and socio-technical systems can be classied in macro-scale and micro-scale models
addressing a macro- and micro-context discussed in the previous Section.
Commonly, social behaviour is studied on macro-scale level with an unied model assuming a common
mean of individual behaviour or in micro-scale level with an unied behaviour model. Social behaviour
and interaction models with parameters are used to study more heterogeneous and individual behaviour
beyond an unied mean.
On micro-scale level, it is assumed that there is an individual parameterised behaviour model M for indi-
vidual entities or groups of entities, i.e., a model of social interaction, which is used to model physical
entities and digital twins representing individual real humans (with P: Parameter set, S: Sensor set, X:
M(S, P ):S × P X
Action set):
(2)
A set of individual entities (agents) modelled by M(P) interacting with each other within a bound space
will create a specic observation on system level, i.e., emergence effects. One example is a trafc jam
as a result of individual behaviour and constraints.
4. Simulation Architecture and Agent Platform
The proposed framework couples virtual and real worlds by integrating simulations with human interac-
tions by using two classes of agents: (1) Computational agents (chat bots); and (2) Physical agents, both
executed inside the simulation world by a unied agent processing platform. The agent-based simulation
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 10 - 2019
assumes a spatial context and agent interaction within a spatial domain (or range), similar to cellular
automata.
The entire crowd sensing and simulation architecture consists of the following components:
1. Unied Agent Processing Platform programmed in JavaScript for high portability and deployment in
strong heterogeneous environments: JavaScript Agent Machine (JAM) [31];
2. Crowd Sensing Software (Mobile App and WEB Browser using JAM);
3. Agent-based Simulation with Internet connectivity supporting three different agent types:
Physical behavioural agents representing physical entities, e.g., individual articial humans;
Computational agents representing mobile software, i.e., used for distributed data processing and
digital communication, and implementing chat bots;
Simulation agents controlling the simulation and performing simulation analysis (e.g., creation of
physical and computational agents, reading and writing sensor data, accessing data bases)
4. Chat dialogues, Chat bots and mobile agents collecting user and device sensor data;
5. Knowledge-based Question-Answer Systems, Natural Language Processing;
All agents are programmed in JavaScript and executed by the JAM platform in a sandbox environment.
Computational agents can migrate between platform nodes (as mobile process snapshots). This widely
used programming language offers a steep learning curve and JavaScript can be executed on a wide
range of host platforms and software. This features includes execution of mobile agents with a WEB
browser by embedding the agent platform in WEB pages. JavaScript programs and agents offer high
portability which is essential for the deployment in strong heterogeneous environments and to reach a
broad range of crowd sensing data providers.
Simulation is performed by the Simulation Environment for JAM (SEJAM, details are discussed in [33]
and [31]). In this work, the SEJAM simulator is used to create a simulation world (consisting of entities
represented by agents) that is attached to the Internet enabling remote crowd sensing with mobile com-
putational agents. The SEJAM simulator is basically a graphical user interface (GUI) on the top of JAM,
shown in Fig, 2.
SEJAM extends JAM with a simulation layer providing virtualisation, visualisation of 2D- and 3D
worlds, chat dialogues and avatars, and an advanced simulation control with a wide range of integrated
analysis and inspection tools to investigate the run-time behaviour of distributed systems. A SEJAM
world consists of one physical JAM node and an arbitrary number of virtual/logical JAM nodes associat-
ed with a visual object (shape), which can be connected via arbitrary connection graphs to establish
communication and migration of computational agents. In the graphical 2D world virtual JAM nodes can
be either placed at any coordinate or aligned on a grid world.
Each JAM node is capable to process thousands of agents concurrently. JAM and SEJAM nodes can be
connected in clusters and in the Internet (of Things) enabling large-scale "real-world"-in-the-loop simu-
lations with Millions of agents. Agents executed in the simulation have access to an extended simulation
API. Physical agents can use an extended NetLogo compatible simulation API extension, too, enabling
simulation world analysis and control, based on object iterators (ask and create statements, see [14]).
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 11 - 2019









  















!"
"#
$$











 



%&'

&('
Figure 2: Principle concept of closed-loop simulation for augmented virtuality: (Left) Simulation frame-
work based on the JAM platform (Right) Mobile and non-mobile devices executing the JAM platform
connected with the virtual simulation world (via the Internet) [24]
The mixed-model simulation world consists of physical and computational agents bound to logical (vir-
tual) platforms (host of the agent) that are arranged or located on a lattice (patch grid world) to provide
world discretisation for the sake of simplicity. The patch grid world was derived from the NetLogo simu-
lator, although the SEJAM simulator is not limited to this world model and can handle arbitrary two-
dimensional non-discretised world coordinate systems (e.g., GPS). The agents are mobile. Computational
agents as mobile software processes can migrate between platforms (both in virtual and real digital
worlds), whereas physical agents are xed to their platform and only the platform is mobile (in the vir-
tual world only).
The JAM agent behaviour model bases on Activity-Transition graphs (ATG, details in [34]). An ATG
decomposes the agent behaviour in activities performing actions (computation, mobility, interaction with
other agents and the world). An activity is related to a sub-goal of a set of goals of the agent. There are
transitions between activities based on the internal state of the agent, basically related to reasoning
behaviour under both pro-active (goal directed) and reactive (event driven) stimuli. Modication of
agents (visual, shape, position, body variables and state) can be performed globally by the world agent
via a simulation interface providing a NetLgo API compatibility layer, or by the individual agents.
Both JAM and SEJAM are programmed entirely in JavaScript, enabling the deployment on a wide range
of host platforms (mobile devices, servers, IoT devices, WEB browser, details described in [35]). JAM
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 12 - 2019
and SEJAM can be connected via IP-based communication links. JAM provides virtualisation and
security (encapsulation) by the Agent Input-Output System (AIOS), tuple spaces for generative or
signal-driven inter-agent communication, and virtual (logical) nodes bound to a world contained in one
physical JAM node. Each physical or logical JAM node can be connected with an unlimited number of
remote JAM nodes by physical links (UDP/TCP/HTTP using the AMP protocol), shown in Fig. 2.
Logical nodes can be connected by virtual communication links. Links provide agent process migration,
signal (message) and tuple propagation.
The agents behaviour denes
a set of sensors and beliefs about the world (its data set), basically stored in the agents body vari-
ables,
a set of events that it will respond to (signals, tuples, sensor changes),
a set of goals that it may desire to achieve, basically implemented by the set of activities, and
a set of plans that describe how it can handle the goals or events that may arise activating activities.
A simulation world consists of multiple virtual JAM nodes (vJAM), which can be connected by virtual
links. In contrast to pure ABM simulators like Netlogo, the SEJAM simulator simulates computational
and physical agents and the agent processing platform itself and is primarily an ABC simulator, but can
be used for ABM like simulations, too. There is a global simulation model dening agent classes
(behaviour and visuals), nodes (visuals), resources, simulation parameters, and the construction of the
simulation world.
Computational agents are always bound to a virtual JAM node. A node can be created dynamically at
simulation run-time or during the initialisation of the simulation world. A node is related to a virtual po-
sition in the two-dimensional world (similar to a patch in the Netlogo world model). Virtual nodes can
be grouped in tree structures and the movement of a parent node (in the virtual world) moves all chil-
dren, too.
In contrast to a Netlogo simulation model using one main script describing the entire world, agents, and
resources, a dedicated world agent (operating on a dedicated world node) controls the simulation in
SEJAM. A node position can be changed by agents (related to the movement of turtles in the Netlogo
model. To summarise, JAM agents play two different roles in the simulation: (1) ABC: Mobile Crowd
Sensing, digital interaction between physical agents and the environment, and simulation control; (2)
ABM: Representation of humans, bots, and digital twins of humans.
There is a signicant difference between traditional closed-world simulations and simulations coupled
with real world and real-time environments (human-in-the-loop simulation). Closed simulations are per-
formed on a short time-scale with pre-selected use cases and input data. The simulation can be pro-
cessed step-wise without a relation to a physical clock. In contrast, open-loop simulation requires con-
tinuous simulation on a large time-scale creating Big Data volumes. A relation to a physical clock is re-
quired, too.
The mapping of physical on virtual worlds and vice versa is another issue to be handled. There are basi-
cally three possible scenarios and world mapping models (illustrated in Fig. 3):
1. The real and virtual worlds are isolated (no agent/human of one world knows from the existence of
the other)
2. The real world is mapped on the virtual simulation world (simulating the real world with real and
articial humans or entities)
3. The virtual world extends the real world, e.g., by a game world, and real and virtual entities known
from each other.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 13 - 2019
Figure 3. (A) Real world only deployed with humans (B) Non-overlapping real and virtual world (C)
Overlapping real and virtual world
Simulation Snapshots
One key capability of the simulator and the agent platform is the creation of agent, world, and entire
simulation snapshots. This feature enables the forking of simulation runs either continuing on a different
time scale (speed-up) or with different parameters and sets of agents. A time-lapsed simulation can be
used to get future time predictions, e.g., of crowd or trafc ows, clusters, or social networks.
5. Workow
The following Fig. 4 shows the principle work and data ow of the proposed architecture. The ABMS
relies on generated data stored in a data base provided by synthetic data, Monte Carlo simulation, and
Data Mining (DM) of sensor data from mobile crowd sensing (MCWS). The MCWS is performed by
mobile chat-bot agents, discussed in Sec. 6.3, which establish the connection between virtual and real
worlds. But the data ow is bidirectional, and agents can carry data generated by the simulation to
mobile devices and users in the real world, e.g., by posting messages in chat blogs or other social
media.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 14 - 2019











Figure 4. Principle work and data ow integrating agent-based crowd sensing in agent-based modelling
and simulation
Simulation data is stored in the data base, too. The simulation data, e.g., monitoring data or articial
sensor data, can be analysed numerically or statistically by DM.
Sensor data can be collected off-line (classical surveys) before the simulation or on-line during the simu-
lation creating incremental simulation runs.
6. Crowd Sensing and Simulation
6.1 Crowd Sensing, Surveys, and Cloning of Digital Twins
The basic crowd sensing and social survey architectures can be classied in (see Fig. 5):
1. Centralised crowd sensing architecture with a single master instance (crowd sourcer)
2. Decentralised crowd sensing architecture with multiple master crowd sourcer instances
3. Self-organising and ad-hoc crowd sensing architecture without any dedicated crowd sourcer master in-
stances
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 15 - 2019
  


Figure 5. Different crowd sensing architectures and strategies with data sourcer and data sources
The survey used in this work relates to the classical central approach, although it can be extended with a
decentralised and self-organised approach, too, handled by the same framework and mobile chat bot
agents.
Among the crowd sensing architecture, there are two different crowd sensing models:
1. Participatory crowd sensing negotiated between a crowd sourcer and user based on utility and reward;
there is strong coupling between crowd sourcer and crowd sensing participants;
2. Opportunistic or ad-hoc crowd sensing with a weak coupling between crowd sourcer and participant
based on immediate reward.
Classical surveys are participatory crowd sensing and the selection of data provider (user) is done care-
fully avoiding biased data. Ubiquitous computing enables opportunistic crowd sensing using mobile dev-
ices, e.g., smart phones, from a broader range of participants (usually not known) in real-time.
Initially, an AB simulation is performed with articial agents relying on model parameters derived from
theoretical considerations, prior sampled experimental data, survey data, which can be combined with
Monte Carlo methods. Augmented virtuality enables dynamic simulations with agents representing real
humans (or crowds). By using crowd sensing it is possible to create digital twins of real humans based
on a parameterised behaviour and interaction model including spatial context. The parameters of arti-
cial humans in the simulation represented by agents are collected by sensor data, i.e., surveys optionally
fusioned with physical sensors like GPS. One simple example is shown in the next Sec. 7.
The crowd sensing via mobile chat bot agents enable the interaction of real humans with agents and di-
gital twins in the simulation world in real-time and vice versa. The digital twins as well as the articial
physical agents in the simulation can interact by dynamically created (inuenced) dialogues reecting
the state of the simulation world.
The survey performed by chat bot agents (computational agents) aims to create digital twins in the virtu-
al world from survey participants in the real world by deriving twin behaviour model parameters P from
the survey feedback answers F retrieved by a user dialogue D. The survey is performed by chat bot
agents that can execute dynamic dialogues via a chat dialogue platform based on previous answers and
survey(D):D F, analyse(F ):F P, twin(P ):P AG
tw in
context.
(3)
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 16 - 2019
Model
M
ABM
Social
Interaction
Clustering
Groups
Segregation
Mobility
ABS
Observation
Structures
CWSABS
Observation
Structure
Observation
No Structure
Observation
New Structure
Digital
Twins
Variance
Fig 6. Crowd sensing combined with ABS adds variance to the synthetic simulation world by digital
twins
Crowd sensing combined with ABM/ABS introduce randomisation and variance in the simulation and
model verication, shown in Fig. 6. The addition of digital twins with behaviour parameters derived
from real humans and CWS can lead to different outcomes of the simulation:
1. The expected structures (emergence) is observed as given by the model (same case as the pure syn-
thetic world simulation)
2. No structures are observed caused by the disturbance of the real world interaction
3. Expected structure and new structures are observed normally not occurring in pure synthetic and
closed worlds.
The ABS-CWS coupling via digital twins enables iterative surveys in multiple rounds, i.e., results from
one round combined with new simulation results can be used for the next survey round.
One major issue in simulation and experimental eld studies is the reproducibility of results. To ensure
reproducibility and to avoid data bias, participants of surveys are commonly chosen carefully and not
randomly (participators crowd sensing). Opportunistic crowd sensing selects users randomly and requires
further data analysis and user classication to ensure simulation stability.
6.2 Security
Participatory crowd sensing have to ensure data privacy and protection against data manipulation. This
crowd sensing strategy can be established via secure channels and by using client-server architectures.
Opportunistic crowd sensing, on the other hand, poses a loosely coupling of data producers and consu-
mers raising security issues.
Security is provided on different levels, either by the JAM platform, e.g., capability protected agent
roles, or by system level agents, e.g., the chat mediator agent, which authorises and lters survey re-
quests, or detects spam or malware agents. A crowd sensing platform can be open (like any other WEB
page), or protected via a capability.
Agent Roles
Physical agents are caught in the simulation world. They can access and modify any other agent in the
virtual world and the simulation world itself. They are executed on a privileged level. But computational
agents can leave the virtual world and enter the real world and vice versa. The loosely coupling of the
simulation with the crowd sensing network and to enable opportunistic sensing requires different agent
privilege roles. Four different roles are supported by the platform:
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 17 - 2019
1. Guest (not trustful, non-mobile)
2. Normal (maybe trustful, mobile)
3. Privileged (trustful, mobile)
4. System (highly trustful, local processing only, non-mobile, creation by platform only)
The agent platform assigns a security level to new received agents (commonly level 0 or 1). The agents
have to negotiate a higher level using the capability-based approach discussed in the next sub-section.
The privilege level determines the set of API functions that an agent can access (e.g., migration, forking,
communication).
Capabilities
Capabilities are keys to enable specic agent API functions like migration. A capability consists of a
service port, a rights bit eld, and an encrypted protection eld generated with a random port known by
the server (node) only and the rights eld. The rights eld enables specic rights. eg., the right to nego-
tiate a higher privilege level. A capability is created by the respective service (e.g., the platform itself)
by encoding the rights eld in a security port using a private port and a one-way function, shown in Fig.
7. Major issues are the secret handling of capabilities on agent migration (requiring secured channels)
and passing the right capability to an agent. A broker server is commonly required to distribute and pass
capabilities to agents based on classical authorisation and authentication.
Capabilities enable ne-grained control of operations that can be performed by agents and allow loosely
coupled self-organising systems, e.g., participation in chats. In self-organising systems the identity of
agents is not of primary interest. Instead the actions they can perform is of primary interest.
Agent
Service Port (48) Rights (8) Security Port (48)
Service
Private Port (48)
OneWay Enc.Rights
Rights (8) Security Port (48)
Private Port (48)
OneWay Enc.
equal?
.
.
.
.
.
.
.
(a) Capability Creation (b) Capability Checking
Figure 7. (Top) Capability format (a) Capability creation by encoding private security port and new
rights eld (b) Capability checking by encoding requested rights eld and private security port and com-
parison with provided security port
6.3 Chat Bots as Mobile Agents in both Worlds
Mobile agents are used in this work for distributed data processing and data mining in the real and vir-
tual simulation world seamlessly. It is assumed that the real world environments consist of communica-
tion access points (i.e., beacons, e.g., using WLAN, WWAN communication technologies) and mobile
devices (smart phones, IoT devices). Commonly there is no globally visible organisational and network
structure, i.e., agents cannot rely on a network world model to reach and identify specic devices. Each
JAM node provides connectivity information, i.e., a list of all connected JAM nodes. Commonly, JAM
nodes are connected peer-to-peer in mesh-like networks via TCP/HTTP or UDP connections.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 18 - 2019
Agents can communicate with each other either by exchanging tuples via a tuple space data base or by
using signals (lightweight messages) that can be propagated remotely along agent migration paths. Tuple
space access is generative communication, i.e., the lifetime of tuples can exceed the lifetime of the gen-
erating agent. Additionally, tuple space communication is data-driven and anonymously (sender and re-
ceiver need no knowledge about each other).
Mobile agents, e.g., chat bots, can be used to carry information from one location to another. Moreover,
mobile devices carrying mobile agents can be used to collect, carry, and distribute data within large re-
gions via tuple spaces, shown in principle in Fig. 8. The virtual simulation world is just another region
in the mobility regions of agents, and chat bots performing crowd sensing can migrate between real and
virtual worlds seamlessly.
6
6(-$0
%HDFRQ
%HDFRQ
%HDFRQ
%HDFRQ
0RELOH 'HYLFH
0RELOH 'HYLFH
0RELOH 'HYLFH
0RELOH ([SORUHU $JHQW
0RELOH 'HOLYHU $JHQW
6WDWLRQDU\ 1RGH $JHQW
Y-$0 Y-$0
Y-$0 Y-$0
-$0
-$0
Figure 8. Virtual simulator world connected to spatially distributed non-mobile beacons, mobile devices
connected temporarily to beacons (cellular or local WIFI networks), and mobile agents (crowd sensing
and chat bots) used for wide-range interaction
6.4 Chat Bots and Human-Agent Interaction
Mobile agents can migrate between different devices. The main goal of explorer agents is to collect
crowd and social data. This data can be retrieved by device sensors (including aggregated virtual sen-
sors) and information provided by users. Privacy and security have to be addressed. Among device sen-
sor data like position, velocity, ambient light, which can be collected by mobile explorer agents automat-
ically, user data can be gained by a human-agent dialogue chat via a WEB Browser or Android/iOS App
(see Fig. 9). Therefore, an explorer agent is capable to interact with humans by performing textual dialo-
gues (question-answer surveys). Due to the distributed and parallel processing of loosely coupled agents
ltering and scheduling of agent dialogue request has to be performed. On each device participating in
crowd sensing there is a mediator agent that manages and assess interaction requests from incoming (ex-
plorer) agents. Passed request are forwarded to a user-bot chat dialogue. Responses to questions (re-
quests) are passed back to the requesting explorer agents.
Each agent migrating to a device operated by humans (i.e., smart phones, navigation computer, or xed
terminals) can ask questions via the APP tuple space by inserting a question tuple, which is handled by
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 19 - 2019
the node mediator agent. The tuple space enables data-driven communication between agents that have
different roots, an situation arising in opportunistic crowd sensing. See [35] for details on tuple-space
communication.
A question request tuple is evaluated by the mediator agent performing security and privacy checks,
nally passing the question to the chat blog waiting for human participation. The answer (if any within a
dened timeout) is passed back to the original requesting agent by an answer tuple, again previously
checking privacy and security concerns.
The principle communication format via the tuple space is shown in Alg. 1. The dialogues can be com-
posed of dialogue trees, i.e., questions and messages that can be dynamic and can depend on previously
answered questions or environmental perception (sensors).
out([’Message’,<id>,<message>])
out([’Question’,<id>,<question>,
{value: <default>,
type:’number’|’string’,
icon:<icon-name>}]
inp.try(timeout,
[’Answer’,<id>,<question>,_],
function (tuple) {
if (tuple) this.result = tuple[3] })
Algorithm 1. Communication of remote chat bot agents with user dialogue mediator agents via an
anonymous tuple space
In doubt, the question or answer is discarded or modied (e.g., ltered or annotated with additional
warnings). The mediator agent performs question request scheduling to satisfy agent request and human
interaction capabilities (high question rates will decrease the user interest and motivation to answer
questions). Additionally, the mediator agent has to monitor chat bot dialogues by using natural language
processing (NLP).
A typical chat dialogue is shown in Fig. 9. It consists of question-answer snippets processed and con-
trolled by the mediator agent operating on each device with user interaction. This chat dialogue is em-
bedded in a JAM platform application software (JAMapp). JAMapp is available for smartphones or as a
WEB-page that can be processed by any JavaScript capable WEB browser.
The mediator agent can pass questions (or just stand-alone messages) to the user chat via a simple plat-
form API providing a question text, possible answers or input elds, and a callback function handling
the result, shown in Alg. 2.
chat.message(<id>,<message>);
chat.question(<id>,<question>,{
size: <test-size>,
icon: <icon-name>,
value: <default value>
sub_type: ’number’|’string’,
placeholder: <placeholder-value>
},function (result) {
this.answer=result;
},timeout);
Algorithm 2. Chat dialogue API accessed by the mediator agent
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 20 - 2019












! 


! 

"#
"#
##$
%&'
##$
%&'

(#
(#
)
)
'*
'*
+
+
,
,
#
+
#
+
"
"





Figure 9. (Bottom) Chat dialogue of the JAM App showing messages and questions from chat bot agents
and principle mediator agent behaviour scheduling the user chat (Top)
The following Def. 1 describes the dialogue script passed to a chat bot agent that is used to perform the
crowd sensing on mobile devices by the chat bot agents. The question dialogue is dynamic: (1) Some
questions are only presented based on answers of previous questions cond function (2) Some ques-
tion texts are updated based on previous answers eval function replacing text variables $ in the ques-
tion text with values returned by an array. The optional param function can be used to change a default
value or a choices list (returning an arrays of alternatives). Among user dialogues, device sensors (e.g.,
light intensity or position) can be requested within the dialogue script, too.
type dialog = message|question|sensor
type message = { message:string }
type question = {
question:string,
choices?:string [] | number [],
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 21 - 2019
value?:number|string,
eval? : function (script) -> string [],
param? : function (script) -> string|string [],
cond? : function (script) -> boolean,
tag : string,
answer?: string
}
type sensor = { sensor:string, default?:*, answer?:* }
type script = dialog []
type job = {script:dialog [], action: function}
Denition 1. Survey job type denition
7. Social Interaction and Mobility by the Sakoda Model
To demonstrate the augmented virtuality approach combining agent-based simulation with agent-based
crowd sensing, social interaction modelled by the Sakoda model [36] was chosen as a simple social in-
teraction and behaviour model between groups of individual humans posing self-organising behaviour
(emergence) and structures of social groups by segregation.
The more well-known Shelling model used to study segregation effects (long-range mobility) bases on
the less known but more general Sakoda social interaction model. The Sakoda model can be used for
long- and short-range mobility, required, e.g., to study interaction and group aggregation effects, e.g., in
cities and trafc.
Modelling social interaction is an example for an individual parameterised behaviour model explained
below. The parameters can be set a-priori or derived by surveys, i.e., using crowd sensing. In this case,
the crowd sensing is only used to provide input data for the simulation. There is no immediate feedback
to the crowd.
The Sakoda behaviour model can be applied on two different spatial and time scales resulting in dif-
ferent self-organising behaviour:
1. Long-time and long-range scale of mobility addressing classical segregation, e.g., in cities and coun-
tries, and
2. Short-time and short-range scale of mobility addressing, e.g., city mobility.
Both time scales are relevant for future city management including trafc management.
The original Sakoda behaviour model [36] consists of social interactions among two groups of individu-
als evolving in a network according to specic attitudes of attraction, repulsion, and neutrality. An indi-
vidual evaluates its social expectative at all possible available locations (starting at its current location),
preferring originally those near individuals associated with attractive (positive) attitudes and avoiding lo-
cations near individuals associated with repulsive (negative) ones. This procedure is repeated randomly
among all possible individuals; henceforth Sakoda’s algorithm is iterated repeatedly developing a spatial-
ly distributed social system to an organised spatial pattern, although this depends on the parameter set of
the model, crowd densities, and individualisation, introduced below.
7.1 Interaction Model
For the sake of simplicity, there is a two-dimensional grid world that consists of places at discrete loca-
tions (x,y). An articial agent occupies one place of the grid. Maximal one agent can occupy a place.
The agents can move on the grid and can change their living position. It is assumed that there are two
groups related to the classes a and b of individuals. The social interaction is characterised by different
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 22 - 2019
S =(s
aa
,s
ab
,s
ba
,s
bb
)
attitudes [36] of an individual between different and among same groups given by four parameters:
(4)
The model is not limited to two groups of individuals. The S vector can be extended to four groups (or
S
abcd
=
s
aa
s
ab
s
ac
s
ad
s
ba
s
bb
s
bc
s
bd
s
ca
s
cb
s
cc
s
cd
s
da
s
db
s
dc
s
dd
generalised) by the matrix:
(5)
The world model consists of N places x
i
. Each place can be occupied by none or one agent either of
group α or β, expressed by the variable x
i
={0,-1,1}, or generalised x
i
={0,1,2,3,4,..,n} with n groups. The
f
i
(x
i
)=
N
k=1
J
ik
δ
s
(x
i
,x
k
)
social expectation of an individual i at place x
i
is given by:
(6)
The parameter J
ik
is a measure of the social distance (equal one for Moore neighbourhood with distance
one), decreasing for longer distances. The parameter δ expresses the attitude to a neighbouring place,
δ
s
(x
i
,x
k
)=
s
αβ
, if x
i
=0andx
k
=0withα = x
i
= x
k
0 , otherwise
given by (for the general case of n different groups):
(7)
Self-evaluation is prevented by omitting the current place (i.e., k i). There is a mobility factor m giv-
ing the probability for a movement.
An individual agent ag
i
of any group α (class from the set of groups) is able to change its position by
migrating from an actual place x
i
to another place x
m
if this place is not occupied (x
m
=0) and if f
i
(x
m
) >
f
i
(x
i
) and the current mobility factor m
i
is greater than 0.5. Among social expectation (resulting in
segregation), transport and trafc mobility has to be considered by a second goal driven function g(x
m
),
commonly consisting of a destination potential functions with constraints (e.g., streets). If g
i
(x
m
) > f
i
(x
m
)
g :(x
i
,x
m
,x
k
,v,t) R
> f
i
(x
i
) than the goal driven mobility is chosen, otherwise the social driven.
(8)
The mobility function g returns a real value [0,1] that gives the probability (utility measure) to move
from the current place x
i
to a neighbouring place x
m
to reach the destination place x
k
with a given velo-
city v. The g function records the history of movement. Far distances from the destination increases g
values. Longer stays at the same place will increase the g level with time t. Social binding (i.e., group
formation) will be preferred over goal driven mobility.
The computation of the neighbouring social expectation values f is opportunistic, i.e., if f is computed
for a neighbouring node assuming the occupation of this neighbouring place by the agent if the place is
free, and the current original place is omitted x
i
for this computation. Any other already occupied places
are kept unchanged for the computation of a particular f value. From the set of neighbouring places and
their particular social and mobility expectations for the specic agent the best place is chosen for migra-
tion (if there is a better place than the current with the above condition). In this work, spatial social dis-
tances in the range of 1-30 place units are considered.
Originally, the entire world consists of individual agents interacting in the world based on one specic
set of attitude parameters S. In this work the model is generalised by assigning individual entities its
own set S retrieved from real humans by crowd sensing, or at least different congurations of the S vec-
tor classifying social behaviour among the groups. Furthermore, the set of entities can be extended by
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 23 - 2019
humans and bots (intelligent machines) belonging to a group class, too.
Segregation effects inhibit individual movement until a different social situation enables a movement.
Transportation mobility triggers movement even if there is no social enabler. This reected in the ex-
tended Sakoda model by the mobility factor m and the goal driven expectation function g that control
mobility and overlays social and transportation and trafc mobility. The mobility function g includes
random walk and diffusion behaviour, too. Constrained mobility is one major extension of the original
Sakoda model presented in this work.
7.2 Model Parameters and Crowd Sensing
Creation of virtual digital twins is the aim of the crowd sensing. The crowd sensing is performed with
chat bot agents. One stationary agent is operating on a user device, e.g., a smart phone, and another
mobile agent is responsible to perform a survey (either participatory with a former negotiation or oppor-
tunistic ad-hoc). The results of the survey, a set of questions, are used to derive the following simulation
model parameters, shown in Def. 2.
parameters = {
group : string "a"|"b"|..,
social-distance: number [1-100],
mobility-distance: number [1-100],
social-attitudes : [saa,sab,sba,sbb] | number [][],
mobility : number [0-1],
position : {x:number,y:number},
destination : {x:number,y:number}
}
Denition 2. Sakoda model parameters
The group parameter sorts the user in one of two classes a/b, the social-distance parameter is an estima-
tion of the social interaction distance, the social-attitudes parameter is the S vector, but limited to a
sub-set of all possible S vector combinations (discussed below), and the mobility parameter is a proba-
bility to migrate from one place to another. The position (in Cartesian coordinates) is derived from the
living centre of the user (global position data, GPS) and mapped on the simulation world (x,y). The S
vector parameter determines the spatial social organisation structure. Typical examples of the S vectors
with relation to social behaviour are [36]:
(1,-1,-1,1): Typical segregation with strong and isolated group clusters
(0,-1,-1,0): Mutual suspicion
(1,-1,1,-1): Social climbers
(1,1,-1,-1): Social workers
(1,1,1,1): Inclusion
(1,0,-1,1): Trafc (a:cars, b:bicycles)
The crowd sensing extends the simulation with the following dynamics and changes:
1. Enhancement of the synthetic simulation with real world data by digital twins not conforming to an
initial parametrisation of the articial individuals (affecting S vector, spatial social interaction distance,
mobility)
2. Adaptation and change of the fraction of different groups (commonly a equally distributed fraction
from each group is assumed)
3. Convergence and divergence of the emergent behaviour of group formation (spatial organisation struc-
tures)
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 24 - 2019
4. Inuence of the real world users by chat bots with data from the virtual simulation world
The dynamics in the simulation world can be back propagated to the real world by chat bot agents, too,
delivering information and opinions formed by the articial entities. Among classical surveys chat bots
can perform manipulation by distributing biased information or opinions via the chat dialog interface.
8. Trafc Prediction and Control
The previously introduced functional social interaction model is suitable to model group formation, but
not group control. Trafc control and prediction of trafc emergence effects, e.g., jams, requires a dif-
ferent algorithmic and iterative agent-based model introducing constraints, i.e., trafc signs and signals,
security distance, crash avoidance. In this model, there are vehicles and humans.
Trafc control can be performed by perception and analysis of vehicle and/or crowd ows. Furthermore,
vehicle-ows can be classied, e.g., introducing weights for individual and public vehicles, and crowd-
ows can be classied the same way, e.g., distinguishing individual from public mobility people or lei-
sure from working mobility. In this work, both analysis approaches should be considered to optimize
vehicle- and crowd-ows.
Among driver and passenger behaviour estimation by crowd sensing, accurate and robust localisation can
be a challenge, especially if it should be performed in a distributed way. Distributed sensor fusion is a
key method for deriving data with high quality and strength. Mathematical and statistical methods are
well established, e.g., Gaussian Processes. In [37], mobile sensors networks and Gaussian Markov ran-
dom elds are proposed for accurate spatial prediction. The authors could proof the distribution of such
method and the deployment in low-resource networks. Clustering effects (e.g., of users and their mobile
devices) can have relevant impact on simulation and trafc prediction, too. Gauss-Poisson models as a
class of clustered point processes are able to capture such clustering effects [38].
8.1 Trafc Model
The trafc model consists of a city map (streets, places, and so on), vehicles, and humans. There are
four sub-classes of vehicle agents:
1. Individual vehicle with one driver agent and zero passengers and dynamic route planning;
2. Shared vehicle with one driver and [1,n] passengers and semi-dynamic route planning;
3. Public vehicle with one driver and [1,m] and m >> n passengers and static route planning.
4. Bicycles with one driver
Each vehicle require at least one twin agent controlling the vehicle (the driver), although a vehicle (ex-
cept bicycles) can be driven automatically or autonomously. In the latter case a driver sets the destina-
tion position only.
Similar to vehicle agents, there are three different sub-classes of twin agents:
1. Driver agent (can be a passenger, too)
2. Passenger agent using a shared or public vehicle
3. Pedestrians or currently non-mobile human
The crowd sensing provides input data for the simulation by creating parameterised digital twins of real
humans, and it provides crowd feedback (output of the simulation), e.g., by suggesting alternative mo-
bility routes or using incentive mechanism to control crowd ows.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 25 - 2019
8.2 Crowd Sensing and Trafc control
The crowd sensing data can be used to analyse current trafc situations (driver class) and to predict
crowd ows resulting in trafc in the near future (passenger and pedestrian classes). The ow,
behaviour, and clustering prediction can be feed back to the real world, e.g., by controlling trafc signal
switching or by inuencing people decision making via social or domestic media.
Trafc control can address optimised signal switching as well as dynamic street sign (e.g., velocity), and
control of vehicles by inuencing drivers (or passengers). Signal control can be static (with respect to
switching times) or dynamic, including signal group switching. Commonly signals are controlled by
evaluating the current trafc ow situation without evaluating the drivers and passengers (e.g., with
respect to destination, attitudes, or goals). If the goal is to optimise the crowd ow rather than the vehi-
cle ow, then public or shared vehicles has to be preferred by priorities.
9. Use-cases and Evaluation
The next sub-sections show three different use-cases showing the deployment of the augmented simula-
tion approach.
The rst use-case is related to social science and addresses segregation as well as short-term and short-
range mobility arising in city trafc (clustering driven by social interaction and behaviour). It is used
primarily to study social networks and interaction. Real and virtual worlds can be different.
The second use-case demonstrates the suitability of the framework for smart light management in cities
by using crowd sensing to deliver real-time data from physical sensors and humans. The simulation is
used to derive optimal street illumination under different constraints, e.g., low-energy constraints. The
simulation is primarily used to control real-world city infrastructure and the real world is mapped on the
virtual world.
Finally, the third use-case demonstrate the study of smart trafc control using crowd sensing delivering
real-time data from physical sensors and humans. Depending of the goal simulation (control or model-
ling), the real world can be mapped on the virtual world, but can be different, too, using articial city
maps only.
The rst use-case relies on a pure mathematical interaction model, whereas the second and third use-
case relies on pure algorithmic interaction models.
9.1 Segregation and Social Interaction
This use-case should demonstrate the impact of real-world humans on simulation of social interaction
and social networks (clusters). Crowd sensing was used to create digital twins in the simulation with
model parameters derived by surveys performed with a WEB-page or suing mobile App software. For
the sake of simplication, the world consists of a regular grid (patch grid). The Sakoda interaction
model introduced in Sec. 7 is basically a local interaction model, in contrast to algorithmic models
shown in the use-cases in Sec. 9.2 and 9.3.
Long-term Mobility
The initial simulation was performed with 200 class a and 200 class b agents and an unied S=(1,-1,-
1,1) setting for all agents (blue and red squares) of both classes and unconstrained mobility leading to
classical segregation structures (strong isolated clusters), shown in Fig. 10.
During the simulation run crowd sensing was performed using chat bot agents. Up to 200 digital twins
(triangles) retrieved form crowd sensing surveys (chat dialogues, see Ex. 1) were added to the simulation
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 26 - 2019
dynamically. The S vector and the social distance r of digital twins now depend on the answers given by
the (real) humans, which can differ from the initial S setting. These agents (if their S differs from the
basic model) create a disturbance in the segregation patterns. Agents with s
αβ
= 0/1 and s
αα
= 0/1 can
be integrated in both groups and are able to bind different groups close together (see the development
and movement of the blue and red clusters inside the red circle in Fig. 10). The gure shows different
simulation snapshots at 500, 1000, and 1500 simulation steps. Each simulation step corresponds to a real
time interval of 10 seconds (to enable crowd sensing in real time). The survey participants were chosen
randomly by the chat bot agents.
Using an initial unied stable parameter set for all agents, digital twins with varying and different
parameter sets based on survey data can be used to test the stability and convergence criteria of structure
formation or mobility patterns like in trafc management on a ne grain scale.
Figure 10. Simulation world with long-term mobility, without spatial and context constraints at different
simulation times (500/1000/1500 steps) consisting of 200/200 a/b class agents (blue/red squares) all with
S=(1,-1,-1,1) and r=3 parameter settings and additionally up to 200 digital twins (triangles with colour
based on individual S/r parameters)
job = [
script : [
{question:’Who are you? Do you think you are poor or rich?’,
choices:[’Poor’,’Rich’,’Do not know’],
tag:’class’},
{question:’How do you rate your relation to people of your own group $1?’+
’Do you like (1) or dislike (-1) them?’,choices:[’-1’,’0’,’1’],
eval:function (dialog) return [dialog[0].answer] end,
cond:function (dialog) return dialog[0].answer!=’Do not know’ end,
tag:’attitudeP’},
{question:’How do you rate your relation to people of the other group $1?’+
’Do you like (1) or dislike (-1) them?’,
choices:[’-1’,’0’,’1’],
eval:function (dialog) return [dialog[0].answer==’Poor’?’Rich’:’Poor’] end,
cond:function (dialog) return dialog[0].answer!=’Do not know’ end,
tag:’attitudeN’},
{question:’Do you have $1 friends?’,choices:[’Yes’,’No’],
eval:function (dialog) return [dialog[0].answer==’Poor’?’rich’:’poor’] end,
cond:function (dialog) return dialog[0].answer!=’Do not know’ end,
tag:’friendsN’},
{question:’How old are you?’,tag:’age’},
{question:’What is your monthly salary?’,
choices :[’<1000’,’1000-3000’,’3000-5000’,’>5000’],tag:’salery’},
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 27 - 2019
{question:’Where do you live [Enter ZIP Code]?’,
value:function () return myIpLocation().city end, tag:’location’},
{question:’How many social contacts do you have?’,tag:’contacts’},
{question:’Do you like to move?’,
choices:[’Yes’,’Maybe’,’No’],tag:’mobility’},
{message:’Thank you!’}
],
action : function (script) {
// create digital-twin from script data;
}
]
Example 1. A typical survey job script for the Sakoda model.
Short-term Mobility
The experiment aims to study crowd formation in cities (places, streets, buildings) based on physical and
virtual social interaction via social media and opinions and was performed with an articial map of a
city (simplied real world). Distributed crowd sensing via chat bots introduce updates and disturbance
in the social formation structures. The mobility of physical agents are modelled by the extended Sakoda
model introduced in Sec. 7 and depends on local social interaction (temporary crowd formation) and a
potential eld attraction regarding the destination in the city that has to be reached. Mobility is spatially
constrained (streets).
The crowd sensing tries to estimate local people movement and compound crowd formation constrained
by urban structures (like streets) based on an estimated individual S matrix. For the sake of simplicity,
two groups are assumed (a,b), but members of each group differ in attitudes and behaviour.
The two groups, for instance, could be car and bicycle users acting as public trafc participants, differ-
ing in social, mobility, and group formation behaviour. The survey can be opportunistic, e.g., ad-hoc and
occasional with an situation-aware dialogue for specic trafc situations, or participatory with a more
general survey character.
The position of the digital twins added to the two-dimensional simulation world is estimated by GPS
and IP localisation collected by the chat bot agent or estimated by user answers.
Mobility constraints by streets were added, shown in Fig. 11. The constraints are synthetically. Mobility
of agents were driven by reaching a destination in the simulation world (either chosen randomly or by
user information in the case of digital twins) and damped or delayed by social interaction, depending on
individual S vector, social and mobile interaction distances. The simulation was carried out with
400/400 class a/b agents.
The results (snapshots after 3500 simulation steps) show an increasing disturbance of social aggregation
patterns resulting from social interaction (mobility due to social attraction) by goal driven trafc mobili-
ty (attraction by destination). Again, s
αβ
= 0/1 and s
αα
= 0/1 twins act as compound glue and brings
homophobic groups closer together. With increasing inuence of goal driven trafc mobility over social
attraction and mobility the social clustering gets more fuzzy and diffuse, shown on the right simulation
snapshot of Fig. 11.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 28 - 2019
Figure 11. World consisting of mobility constraints (streets), 400/400 class a/b agents (blue and red
squares) and digital twins (triangles) with different model parameters. (Left) Only social driven mobility
and clustering (Middle) Social and trafc driven mobility with low attraction of the destination (Right)
Social and trafc driven mobility with high attraction of the destination
Evaluation
In both examples (with respect to long- and short-term mobility), digital twins with varying parameter
sets have a signicant impact on crowd structures and group behaviour. The digital twins poses individu-
al behaviour initially not considered in the synthetic simulation. The behaviour based on crow sensing
surveys performed by real humans. Short-term mobility and interaction based on the Sakoda model can
be used in smart city crowd behaviour prediction.
9.2 Smart City Light Management
The goal of this use-case is to provide a simple demonstrator that uses simulation to investigate crowd
interaction with smart city infrastructures by implementing a self-organised control of ambient light con-
ditions (e.g., in streets or buildings). Crowd sensing provides real-world feedback as input for the aug-
mented simulation to evaluate and predict real-world changes, nally used for decision making processes
(light management) [24]. The crowd gets a feedback from the simulation by the environmental light con-
trol (output of the simulation).
World
This simple demonstrator consists of a simulation containing an articial city area with mobile physical
agents representing humans interacting with mobile devices or machines), beacons (access points) for
sensor aggregation and distribution, and some external beacons connected to the Internet enabling the
connection to mobile devices via the Internet, and nally smart light devices illuminating streets and
buildings, shown in Fig. 12.
Interaction and Control Model
The interaction model is rather simple and pure algorithmic in this use-case. The goal of the simulation
is to control and predict light illumination in city areas based on activity, requirements (constraints), and
people feedback retrieved by crowd sensing.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 29 - 2019
Crowd Sensing
The goal of explorer agents (sent out by mobile or light devices) is information mining in the outside
world via Internet deployed agent processing platforms that can be accessed by simulation nodes and
WEB browser Apps. The collected information is passed back to the root node (e.g., a mobile device of
a passenger) to assist decision making and navigation.
The explorer agents have to estimate the position of the root node by performing sensor mining from
surrounding devices they are visiting and from the outside world (far away) by asking questions
answered by humans via the WEB App chat dialogue. An example dialogue of the explorer agent is
shown below in Ex. 2. The explorer asks a user for its current place and location within a region of in-
terest and an assessment of the current light situation. Depending on the answer a specic action is sug-
gested.
job = {
script:[
{question:’Where are you?’,
choices:[’Street 1’,’Street 2’,’Street 3’,
’Anywhere’,’Other place’]},
{question:’How do you rate ambient light?’,
choices:[’Dark’,’Good’,’Bright’],
cond: function (s) {
return s[0].answer &&
s[0].answer.indexOf(’Street’)==0},
{message:’Thank you!’
],
action: function (script) {
var place;
switch (script[0].answer) {
case ’Street 1’:
case ’Street 2’:
case ’Street 3’:
place=script[0].answer; break;
}
if (place) switch (script[1].answer) {
case ’Dark’: return {light:150,place:place};
case ’Bright’: return {light:50,place:place};
}
}
}
Example 2. Survey job dening a dialogue for an explorer agent that migrates to mobile devices (smart
phones) to participate in a chat dialogue with the user of the mobile device. The aim is to get environ-
mental perception. Finally, an action function evaluating the survey is executed to deliver data
Based on answered questions regarding the current user location, the satisfaction of ambient light condi-
tion, and an optional fusion with device sensor data (light, position ,..), actions are directed to smart
light control devices to change the light condition in streets and buildings by using mobile notication
agents. The action planning bases on the Crowd demands and energy saving constraints. If action is re-
quired, mobile notication agents are sent out to neighbouring nodes to change light intensity based on
directed diffusion, random walk, and divide-and-conquer approaches.
Evaluation
The simulation with the SEJAM simulator was able to be performed with more than 1000 nodes, hun-
dreds of beacons, and more than 10000 explorer agents. Real-time values for one simulation step
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 30 - 2019
depends on the number of active agents to be processed, node and agent mobility (graphics and
communication), and ranges from 1 ms to 1 s. For this use-case, a real-time simulation step of 1s is
more than sufcient to control lights in streets and on places (or within buildings). The minimal
response time from sensor input to actuator control is about 5s.
The user feedback from crowd sensing surveys performed by mobile agents is used to optimise illumina-
tion in public areas like streets with respect to user and energy management constraints. Among energy
saving up to 30% that can be achieved, light pollution can be decreased and citizen satisfaction can be
optimised. Combined with Machine Learning, the simulation (mapping a real-world city region) can be
used to predict future light demands based on crowd sensing and using other physical sensors (e.g.,
crowd and trafc ow sensors).





















Figure 12. A demonstrator: An articial street area consisting of street segments (blue rectangle) and
buildings (red rectangles), beacons (yellow triangles), populated with stationary and mobile devices
(green squares). The grey circles around beacons and nodes show the wireless communication range.
Only overlapping circles connect.
9.3 Smart City Trafc Management
The goal of the trafc simulation is the recognition of ows, jams, and structures (clusters) on streets
and places. In [21], adaptive and partly self-organising trafc management was achieved by using a
MAS with multi levels of decision making and an hierarchical organisational structure.
The simulation results can be nally used to manage real world trafc by agents in real-time. Real-
world trafc ows can be inuenced by technical trafc infrastructure, by trafc information systems, by
vehicle driver behaviour (which can be diverse), or by inuencing people decision making (on a tem-
porally and spatially short-range scale).
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 31 - 2019
World
In general, the simulation world consists of a graph G=(P,S) with nodes P representing places or spatial
regions and edges S representing streets. Here, the world consists of a simplied street map arranging
streets orthogonally in a regular grid, although the trafc simulation is not limited to any specic map or
graph geometry. An example street map is shown in Fig. 13. Streets have a major orientation (horizontal
or vertical) and consists of three tracks (ride, left, middle). Vehicle can move in directions North (N),
South (S), East (E), and West(W).
Figure 13. A typical simulation world consisting of a street map, trafc signals, places, and different
vehicle classes (red:individual, blue:shared, green:public)
Interaction and mobility model
The model parameters of vehicles and their driver agent or passengers (digital twins) are dened in Def.
3. They can be set with default values, by Monte Carlo simulation, or they can be selected and derived
from crowd sensing surveys from real humans (in real-time).
parameters = {
class : string "driver"|"passenger"|"co-driver"|..,
sub-class : string,
security-distance δ : string "correct"|"lower"|"higher" | [0,2],
driving-style ε : string "normal"|"risk"|"defense",
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 32 - 2019
sharing Ω : number [0,1],
group γ : number [1,100],
straight-routing σ : number [0,1],
ignore-signal χ : number [0,1],
position : {x:number,y:number},
from : {x:number,y:number},
destination : {x:number,y:number},
duration-expectation τ : number [1,100],
}
Denition 3. Typical model parameters of drivers and automatic vehicles
The sub-class parameter set can address specic classes like gender, age, or more general attributes like
citizen status, or living conditions. The security-distance behaviour (between vehicles), the driving-style
parameter, and the straight-routing parameter (for route planning) are only relevant for the driver class.
A straight-routing=0 parameter results in a zig-zag routing, otherwise a longer straight line routing is
used following the current street as long as possible (range depends on parameter value). The ignore-
signal parameter is a probability to ignore stop signals (red signal), e.g., if the signal state changes.
A typical survey job script is shown in Ex. 3, passed to a crowd sensing agent. It is used to derive the
actual position, e.g., of a mobile device, motion, and to get information about the user (passenger,
driver). Finally, a parameter set for the behaviour model is derived and digital twins are created.
job = {
script:[
{sensor:’GPS’ },
{sensor:’ACCEL’ },
{question:’Where are you?’,
choices:[’Building’,’Street’,’Walkway’,
’Anywhere’,’Other place’]},
{question:’Is this position $1 correct?’,
choices:[’Yes’,’No’],
cond : function (s) {return script[0].answer},
eval : function (s) {return gps2loc(script[0].answer)}
}
{question:’How do you rate traffic density?’,
choices:[’Full’,’Medium’,’Low’],
cond : function (s) { return s[2].answer==’Street’ && s[3].answer==’Yes’},
},
{question:’Do you like fast driving?’,
choices:[’Yes’,’No’],
cond : function (s) { return s[2].answer==’Street’},
},
{question:’Do you like risks?’,
choices:[’Yes’,’Maybe’,’No’],
},
{question:’How old are youe?’},
{question:’Do you use a navigation device?’,
choices:[’Yes’,’No’],
cond : function (s) { return s[2].answer==’Street’},
...
{message:’Thank you!’}
],
action: function (script) {
// create digital-twin from script data;
}
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 33 - 2019
}
Example 3. A typical crowd sensing script job (JavaScript) for trafc ow exploration passed to a crowd
sensing agent.
MAS
The MAS in the simulation consists of a world agent that controls the simulation and establishes the
connection to the outside world (Internet), vehicle, and twin agents. The twin agent can either be the ac-
tive controller of the vehicle agent (inuencer) or a passive passenger. The vehicle agents implement dif-
ferent overlaid behaviour:
1. Constraint-based trafc mobility following specic rules (generalised behaviour)
2. Social interaction (individual behaviour)
3. Route-planning and optimisation (goal-based individual behaviour)
The vehicle agent consists of a set of activities performing specic actions and represent different
micro-goals, basically: {percept, plan, move, collect, wait}. A vehicle agent represents a mobile entity
and at least one human (a twin agent). The collect activity is able to bind more vehicle or twin agents
(humans) to this vehicle entity, i.e., implementing vehicle grouping or sharing. Twin agents can be cou-
pled to vehicle and communicate with each other via the tuple space of the mobile platform both shar-
ing.
A vehicle has a direction dir and uses a set of sensors {f,l,r,b} providing information about the neigh-
bourhood in front, left, right, and backward relative to current direction. Each sensor is an array with
distance increasing with the array index. New sensor values are collected in the percept activity, shown
in Alg. 3.
The vehicle mobility and its planning is immediately inuenced by its velocity v, the sensors d and i(s,v)
limiting the distance to the next vehicle, and the force to keep the current direction (not turning) k.
There is a current long-range direction dir and a short-range position correction Δ, an (x,y) delta vector,
e.g., required for turns or street and direction changes.
The current street is given by the s sensor. A street s consists of coordinates {x,y,w,h}, a unique
identier id and a set of possible directions dirs. It is assumed that a street has three tracks (left, right,
middle). A street has either an horizontal (N,S
) or vertical alignment (W,E). P(x,y) is place in the world
at position (x,y) with attributes street, vehicle. signal.
In automatic driving mode, the distance to a vehicle in front is limited to d=v
δ
/dk and depends on the
security distance parameter δ and the current velocity of the vehicle.
The vehicle plans the next movement based on perception in activity plan, shown in Alg. 4 (simplied
pseudo code), nally executing the movement in activity move, shown in Alg. 5.
A twin agent is divided in two sub-class behaviour: (1) Driver (2) Passenger. The twin agents implement
basically the goal-driven behaviour of mobility and provides higher planning and routing levels inuenc-
ing the vehicle. A driver twin agent directly controls trafc routing, whereas passenger twin agents
inuence the temporal ow of vehicles (by entering or leaving the vehicle).
k0 update keep going probability (twin)
do update sensors {p,s,d,v,i,f,l,r,b}:
p get current position (x,y)
s get street at this position
d compute distance to destination
v compute speed
v0 update highest speed
i compute default security distance (s,v)
do in current direction:
f get front resources {street,vehicle}
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 34 - 2019
l get left resources {street,vehicle}
r get right resources {street,vehicle}
b get back resources {street,vehicle}
Algorithm 3. Perception activity of the vehicle agent. Sensors k0, v0, and i can depend on twin driver
agents, too.
do find new direction and position correction:
if Δ=0 then
// 0. Check correct direction
if k=0 (dirs p{(x,y):(x,y)s on right side of dir}) then
(dir,Δ)new dir(s,p)
// 1. Check traffic signal (red?)
stop r[1].signal=red r[1].signal.dir=dir
// 2. Navigate to destination
if k<k0 then
case dir of
N => if p.x+ε < dst.x f[1].streets then nextE,Δ←(0,-1)
if p.x-ε > dst.x f[1].streets then nextW,Δ←(-3,-3)
S => if p.x+ε < dst.x f[1].streets then next
E,Δ←(3,3)
if p.x-ε > dst.x f[1].streets then nextW,Δ←(-1,1)
W => if p.y+ε < dst.y l[3].streets then nextS,Δ←(-2,3)
if p.y-ε > dst.y r[1].streets then nextN,Δ←(0,-1)
E => if p.y+ε < dst.y r[1].streets then nextS,Δ←(0,1)
if p.y-ε > dst.y l[13.streets then nextN,Δ←(2,-3)
if next then dirnext,kk0+3
// 3. Check road crossing; keep dir.
if ¬next f[1].streets then kk+4
else if blocked random(1) then
// 4. Escape blocking situation
do dir {N,S,W,E}:
find one neighbour place q of p
with |q-p]=1 streetq=s vehicleq ∧Δ.x/y=0:
Δ←Δ+(q-p)
Algorithm 4. Simplied planning activity of the vehicle agent, which can be depend on twin driver and
partly on passenger agents, too
go true
// 1. Check free distance
do n in {1,2,,..i}:
if f[n].vehicle then go false
if Δ=0 go then
case dir of
N => next{x:p.x,y:p.y-1}
S => next{x:p.x,y:p.y+1}
W => next{x:p.x-1,y:p.y}
E => next{x:p.x+1,y:p.y}
if vehicleP(next) then blocked0,goto(next)
else if v=0 then incr(blocked)
else Δ←gotoXY(Δ,p)
Algorithm 5. Simplied move activity of the vehicle agent. The gotoXY function moves the vehicle one
step to a new free place minimizing minΔ→0
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 35 - 2019
Evaluation
The trafc simulation was initially performed with a closed simulation world using a default behaviour
model and trafc control parameter set. The outcome of this simulation was compared with an open
simulation using agents with the same default behaviour extended with digital twins created from user
surveys via crowd sensing agents. The major goal was to show the inuence of variation by real-word
digital twins on the simulation outcome and to identify relevant model parameters with signicant im-
pact. The trafc ow was controlled by light signals (red and green signals) positioned at each crossing
corner. The default trafc signal switching is periodic with a state sequence {rr,gr,rr,rg}, with the
rst character assigned to all North-South signals, and the second character assigned to all West-East
signals (r:red/g:green). Transition times were t
1
for gr|rg rr transitions, and t
0
< t
1
for rr
gr|rg transitions.
In Fig. 14, a closed simulation with vehicles (individual class) and different trafc signal switching
times were investigated. The simulation started with an initial population of 200 vehicles at random
starting positions. The plots show the time-resolved decrease of driving passengers and increase of arriv-
ing passengers (in this case vehicles with on driver as a passenger) due to arrival at a destination posi-
tion. The rst plot (a) uses a signal switch time (red lrarr green signal state) of 500, the second plot of
200 simulation time units. Either North-South (NS) streets get green lights, or the West-East (WE)
streets. The switching time has a signicant impact on the mean arrival time of vehicles, although vehi-
cles uses NS and WE streets, but the arrival time do not depend on individual parameters, i.e., security
distance and routing strategy (zig-zag versa straight-line). The vehicle ow depends on the routing
behaviour (straight-line shows lower dependence on signal switching times).
In Fig 15, the simulation was extended with MCWS and digital twins posing individual behaviour. The
MCWS users were chosen randomly. The goal of this simulation was to identify jams and the depen-
dence on driver behaviour parameter. Two main parameters were identied: The security distance and
routing (straight-line vs. zig-zag shortest path) behaviour. Again, about 200 vehicles were created, a frac-
tion with a default behaviour, and another fraction with individual behaviour. The value of the security
distance parameter δ has signicant impact on the jam probability (dened by the number vehicles in-
volved in jams relative to the overall number of vehicles). A value δ=1.0 relates to a law-conforming
driving style, a lower value a more risky driving style with lower distances to other vehicles, and a
higher number a more defence driving style. Lower security distances (relative to current vehicle veloci-
ty) increases the jam probability due to a modied vehicle ow (accidents are not considered here). The
is more important if a straight-line routing style (parameter greater than zero) is chosen by the driver.
The last three bars in the plot show a distribution of the security-distance parameter (25%, 33%, 50%).
Even a low fraction of 25% risky drivers increases the jam probability signicantly.
Finally, the trafc control algorithm was evaluated in Fig. 16. Again, the trafc ow of 200 vehicles
with zig-zag routing was evaluated (δ=1.0, σ=0). Two trafc signal control algorithms were compared:
On the left side the static global switching algorithm (with t
1
/t
0
=500/60), and on the right side a dynam-
ic local switching algorithm with dynamic switching times based on vehicle ow densities before each
signal of a crossing. The global mode switches all signals of crossings globally and periodically, the lo-
cal mode switches signals of each crossing individually. The dynamic ow-based switching increases ar-
rival times by 2 times, and the velocity of vehicles shows low modulations and is near by the default
velocity v=50 (arb. units).
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 36 - 2019
   







   







(a)
(b)
Traffic Arrival Analysis
Passenge
r
Figure 14. Simulation with 200 vehicles with static trafc control showing the accumulated number
of moving vehicles/passengers and the number of arrived vehicles/passengers (Left) t
1
/t
0
=500/60 signal
change times (Right) t
1
/t
0
=200/60
aa
aJ




an
aa
l
111
111
111
111
111
111
111
111
111
Figure 15. Simulation with 200 vehicles and different mobility parameters showing the probability of a
jam
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 37 - 2019
   







   







   










   










Traffic Control Analysis
(static)
(dynamic)
Figure 16. Simulation of 200 vehicles (σ=0.0,δ=1.0): (Top) Temporal development of number of mobile
vehicles/passengers and number of vehicles/passengers reached destination (Bottom) Mean velocity of
moving vehicles and number of moving vehicles (Left) Without trafc control with t
1
/t
0
=500/60 signal
change times (Right) With dynamic ow trafc management
To summarise, individualism of behaviour model parameters derived by real-world sensing (eventually in
real-time) like driving style (security distance, routing) can inuence crowd and vehicle ows
signicantly and hence has to be considered by trafc control to optimise trafc and crowd ows. It is
important to get a representative model parameter set from an actual trafc situation to be able to
predict ows and to control trafc.
10. Conclusions
The MAS simulation framework presented in this work provides the bidirectional integration of real-
world data via agent-based crowd sensing, agent-based modelling, and agent-based simulation via Data
Mining, i.e. applying DM in ABMS by creating generated simulation data and applying ABMS in DM
by back propagating generated simulation data. The framework is suitable to combine social and com-
putational simulations with real-world interaction at run-time and in real-time by using mobile compu-
tational agents. The simulator supports two classes of agents. Physical agents only exist in the virtual
world and corresponds to NetLogo agents, whereas computational agents can exist in real and virtual
worlds and create the bridge between the two worlds.
The JAM agent processing platform is the core component in the simulator and crowd sensing system
that can be deployed in heterogeneous networks on a broad range of devices including simulation
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 38 - 2019
software. This is enabled by programming JAM and agents in JavaScript. Chat bots with dynamic
(situation and context dependent) dialogues can be implemented with JAM agents directly using a
unied dialogue structure and API.
A key concept in the augmented simulation approach are parametrisable behaviour models and digital
twins created from surveys via crowd sensing.
Different use-cases demonstrated the augmented simulation approach with social or socio-technical in-
teraction models. First a classical social interaction study was performed based on a parametrisable
Sakoda model, second a reactive and interactive city light management was sketched, and third a
crowd-based city trafc control was investigated. Digital twins retrieved by agent-based crowd sensing
extends agent-based simulation with variance and a broader range of model parameter settings. The
crowd sensing performed by mobile agents is used to create digital twins of real humans (with respect to
the social interaction model and mobility) based on individual surveys via a chat bot dialogue. Chat bots
are the link between virtual and physical worlds.
It could be shown that social interaction and individualism (variance) has relevant impact on trafc con-
trol and crowd or vehicle ows, hence social models overlay technical models. It is important to get a
representative model parameter set and distributions from real-world situations by crowd sensing for ac-
curate system prediction and control.
In the future, we aim to use the framework in order to investigate different environments in quasi-
experimental set-ups with a broader data and user range.
Finally, the system behaviour and cross interaction effects should be studied with hybrid models, i.e., the
combination of the social interaction model describing group formations, e.g., Sakoda model, with mo-
bility models, e.g., mobile vehicles, or by combining agent-based with analytical models to strength the
simulation output.
11. Comparison of NetLogo and SEJAM Simulations
The well known and established NetLogo simulator is (commonly) used for the ABM domain only. In
contrast, the SEJAM simulator is primarily used for the ABC domain, although any physical simulation
can be transformed in a computational task implementing the behaviour of a physical entity. The fusion
of real worlds deploying computational agents (that interact with machines and humans) with virtual
simulation models requires a mapping methodology to be able to simulate physical agents (i.e., artefacts
of real entities) using computational agents.
Computational agents as mobile software processes require a connected communication network of host
platforms (computers) to migrate along a path AB. A human being, in contrast, do not require such a di-
gital transport network. In a simulation world, a physical (pure behavioural) agent can overcome arbi-
trary distances in one step (in principle).
To combine social interaction and computational simulation models, the SEJAM simulation model was
extended by two super classes of agents: (1) Computational (2) Physical agents. A physical agent can
only exist in the virtual simulation world and consists of a <logical node, physical agent> tuple. The
physical agent is bound to his node and can change its position only by moving the node carrying the
agent. In contrast, computational agents are mobile and can hop from one platform to another if there is
a communication link between both platforms by performing process serialisation and deserialisation.
The link can be virtual (inside the simulation world) or physical connecting a logical node of the simu-
lation world with another JAM platform in the real world (e.g., a smartphone) via the Internet.
The mapping of NetLogo model constructs and statements on the SEJAM simulation model basically
consists of an simulation API extension. Physical agents represent turtles (active agents) and resources
representing patches. The patch grid world is discretised, although SEJAM is not limited to and can
model any two-dimensional world. In NetLogo, the agent behaviour is entirely controlled and executed
by a global observer (centralised macro control), whereas in SEJAM the agent behaviour is controlled
and executed by each individual agent (decentralised micro control).
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 39 - 2019
12. References
1. C. Ciof-Revilla, Introduction to Computational Social Science. Principles and Applications,
2nd Edition, 2017, Cham: Springer
2. The Royal Society, Machine learning: the power and promise of computers that learn by ex-
ample, 2017, Retrieved from https://royalsociety.org/˜/media/policy/projects/machine-
learning/publications/machine-learning-report.pdf (last access: August 02, 2019)
3. A. Quan-Haase, L. Sloan, Introduction to the Handbook of Social Media Research Methods:
Goals, Challenges and Innovations, In The Sage Handbook of Social Media Research
Methods. Eds. L. Sloan and A. Quan-Haase, 2017, Kindle edition. Los Angeles: SAGE, Pos.
606 – 859
4. D. Roggen, M. Wirz, G. Tröster, and D. Helbing, Recognition of Crowd Behavior from Mobile
Sensors with Pattern Analysis and Graph Clustering Methods, Networks and Heterogenous
Media,, vol. 6, no. 3, pp. 521-544, 2011.
5. N. Gilbert, Agent-based social simulation: dealing with complexity, 2004.
6. M. Keuschnigg, N. Lovsjö, P. Hedström, Analytical sociology and computational social sci-
ence, Journal of Computational Social Science (2018) 1: 3-14, doi: 10.1007/s42001-017-
0006-5
7. S. de Marchi, Computational and Mathematical Modeling in the Social Sciences, Cambridge
University Press, 2005.
8. P. J. Carrington, J. Scott, and S. Wasserman, Models and Methods in Social Network Analysis,
Cambridge Press, 2005
9. A. Flache, M. Mäs, T. Feliciani, E. Chattoe-Brown, G. Deffuant, S. Huet, J. Lorenz, Models of
Social Inuence: Towards the Next Frontiers, 2017, Journal of Articial Societies and Social
Simulation 20(4) 2. DOI: 10.18564/jasss.3521
10. E. Bruch, J. Atwell, Agent-Based Models in Empirical Social Research, Sociological Methods
& Research. 2015 May ; 44(2): 186–221. doi: 10.1177/0049124113506405
11. D.J. DellaPosta, M.W. Macy, The Center Cannot Hold. Networks, Echo Chambers, and Polari-
zation. In Order on the Edge of Chaos, 2015, Social Psychology and the Problem of Social
Order. Eds.: E.J. Lawler, S.R. Thye, and J. Yoon, 86 – 104. New York: Cambridge University
Press
12. C. A. Bail, L. P. Argyle, T. W. Brown, J. P. Bumpus, H. Chen, M. B. F. Hunzaker, J. Lee, M.
Mann, F. Merhout, A. Volfovsky, Exposure to opposing views on social media can increase
political polarization, 2018, Proceedings of the National Academy of Sciences of the United
States of America 115 (37) 9216-9221 doi: 10.1073/pnas.1804840115
13. E. Ferrara, Emilio, Contagion Dynamics of Extremist Propaganda in Social Networks, (June 5,
2017). doi: 10.2139/ssrn.2982259
14. U. Wilensky and W. Rand, An Introduction to Agent-Based Modeling Modeling Natural, So-
cial, and Engineered Complex Systems with NetLogo,. MIT Press, 2015.
15. O. Baqueiro, Y. J. Wang, P. McBurney, and F. Coenen, Integrating Data Mining and Agent
Based Modeling and Simulation, in ICDM 2009, LNAI 5633, 2009.
16. R. Schnell, Enhancing Surveys with Objective Measurements and Observer Ratings. In Im-
proving Survey Methods. Lessons from Recent Research, 2015, Eds.: Engel, U., B. Jann, P.
Lynn, A. Scherpenzeel, and P. Sturgis, 288 – 302. New York: Routledge
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 40 - 2019
17. M. Salganik, Bit by Bit: Social Research in the Digital Age, Princeton: Princeton University
Press
18. Dejun Yang, Guoliang Xue, Xi Fang, and Jian Tang, Crowdsourcing to Smartphones: Incentive
Mechanism Design for Mobile Phone Sensing in ACM International Conference on Mobile
Computing and Networking (MobiCom), 2012.
19. Haiming Jin, Lu Su, Danyang Chen, Klara Nahrstedt, Jinhui Xu, Quality of Information Aware
Incentive Mechanisms for Mobile Crowd Sensing Systems, the 16th ACM Symposium on
Mobile Ad Hoc Networking and Computing (MobiHoc 2015), Hangzhou, China, June 2015.
20. G. Cardone et al., Fostering ParticipAction in Smart Cities: A Geo-Social Crowdsensing
Platform, IEEE Communications Magazine, no. 6, 2013.
21. H. Hamidi and Ali Kamankesh, An Approach to Intelligent Trafc Management System Using
a Multi-agent System, Int. J. ITS Res. (2018), vol. 16, pp. 112-124
22. F.-Y. Wang, Agent-Based Control for Networked Trafc Management Systems, Intelligent
Transportation Systems, no. September/October, 2005.
23. L. Gulyás and B. Adamcsek, Charting the Market: Fundamental and Chartist Strategies in a
Participatory Stock Market Experiment, in EES 2004 : Experiments in Economic Sciences -
New Approaches to Solving Real-world Problems.
24. S. Bosse, U. Engel, Augmented Virtual Reality: Combining Crowd Sensing and Social Data
Mining with Large-Scale Simulation Using Mobile Agents for Future Smart Cities,
Proceedings, Volume 4, ECSA-5 5th International Electronic Conference on Sensors and
Applications 15–30 November, 2018 DOI 10.3390/ecsa-5-05762
25. T. Calenda, M. D. Benedetti, F. Messina, G. Pappalardo, and C. Santoro, AgentSimJS: A Web-
based Multi-agent simulator with 3D capabilities, 2016.
26. R. K. Ganti, F. Ye, H. Lei., Mobile Crowd Sensing: Current State and Future Challenges.
IEEE Communications Magazine, vol. 49, no. 11 (2011)
27. T. Leppänen, J. Á. Lacasia, Y. Tobe, K. Sezaki, and J. Riekki, Mobile crowdsensing with
mobile agents, Autonomous Agents and Multi-Agent Systems, vol. 31, no. 1, pp. 1-35, 2017.
28. D. A. McFarland, J. Moody, D. Diehl, J. A. Smith, R. J. Thomas, Network Ecology and
Adolescent Social Structure, American Sociological Review, 2014, doi:
10.1177/0003122414554001
29. K. H. van Dam, I. Lukszo, N. Zoa. 2013. Eds., Agent-Based Modelling of Socio-Technical
Systems. Springer Berlin
30. V. C. Raykar et al., Learning From Crowds, Journal of Machine Learning Research, vol. 11,
2010.
31. S. Bosse, E. Pournaras, An Ubiquitous Multi-Agent Mobile Platform for Distributed Crowd
Sensing and Social Mining, FiCloud 2017: The 5th International Conference on Future Internet
of Things and Cloud, Aug 21, 2017 - Aug 23, 2017, Prague, Czech Republic
32. M. Al-Zinati, R. Wenkstern, An agent-based self-organizing trafc environment for urban
evacuations, Proceedings of the The Sixteenth International Conference on Autonomous Agent
and Multiagent Systems, AAMAS ‘2017, Sao Paulo, Brazil, May 2017.
33. S. Bosse, Smart Micro-scale Energy Management and Energy Distribution in Decentralized
Self-Powered Networks Using Multi-Agent Systems, FedCSIS Conference, 6th International
Workshop on Smart Energy Networks & Multi-Agent Systems, 9-12.9.2018, Posznan, Poland,
2018
34. S. Bosse, A. Lechleiter, A hybrid approach for Structural Monitoring with self-organizing
multi-agent systems and inverse numerical methods in material-embedded sensor networks,
Mechatronics, (2016), DOI:10.1016/j.mechatronics.2015.08.005.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 41 - 2019
35. S. Bosse, Mobile Multi-Agent Systems for the Internet-of-Things and Clouds using the
JavaScript Agent Machine Platform and Machine Learning as a Service, in The IEEE 4th
International Conference on Future Internet of Things and Cloud , 22-24 August 2016, Vienna,
Austria, 2016, DOI: 10.1109/FiCloud.2016.43
36. P. Medina, E. Goles, R. Zarama, and S. Rica, Self-Organized Societies: On the Sakoda Model
of Social Interactions, Complexity, 2017.
37. Yunfei Xua, Jongeun Choi, Spatial prediction with mobile sensor networks using Gaussian
processes with built-in Gaussian markov random elds, Automatica 48 (8) (2012) 1735–1740.
http://dx.doi.org/10.1016/j.automatica.2012.05.029.
38. Anjin Guo, Yi Zhong, Member, Wenyi Zhang, Martin Haenggi, The Gauss-Poisson process for
wireless networks and the benets of cooperation, IEEE Trans. Commun., vol. 64, no. 5, pp.
1916–1929, May 2016.
doi: 10.3390/s19204356 Sensors (MDPI)
Stefan Bosse et al. - 42 - 2019