Crowdsourcing and Simulation with Mobile Agents and the JavaScript Agent Machine
Book
Table of Content
Introduction
Software Paradigms
Agents
Modelling Concepts
Capabilities of Agents
JavaScript
Crowdsourcing
Overview
Basics
Distributed Computing as Crowdsourcing
Mobile Crowdsensing
Sensors
Surveys
Simulation
Issues
Platforms and Agents
Programming
Virtual Machines
Mobile and Web Deployment
Agent Processing and JavaScript
The Agent Model
Activity-Transition Graphs
Dynamic Activity Transition Graphs
Composition of Multi-agent Systems
Interaction of Agents
Software Implementations
AgentJS
JavaScript Agent Machine
Agent Worlds: Virtual and Physical Nodes
Agent Communication
Agent Input-Output System (AIOS)
Agent Scheduling and Check-pointing
Scheduling Blocks
Agent Roles
Agent Process Mobility and Migration
JAM Platform Connectivity
Software Architecture and Workflow
AgentJS API
Computation
Agent Environment
Agent Management
Agent Communication
Agent Mobility
Machine Learning
JAM for Users and Programmers
JAM Library
JAM Shell
JAM Web Laboratory
JAM Mobile App
Performance
JavaScript VM
Agent class compilation and agent creation
Migration
Communication
Simulation with SEJAM
Concept and Architecture
Simulation Model and API
Software
Example
Introduction to Augmented Simulation
Simulation of Socio-Technical Systems
Augmented Virtuality
Challenges
Mobile Crowdsensing with JAM
Surveys
Geolocation
MCS-based Surveys
Web Crawling
Augmented Simulation
MAS for Augmented Simulation
Conclusion
Examples
SEJAM2 Simulation Model
Simulation World Agent
Physical Random Walker Agent
Computational Explorer Agent
Computational Micro-survey Agent
Universal Survey Agent
Chat Moderator Agent
Web Page with JAM
References
Index
Preface
Using Mobile Multi-Agent Systems, this book tackles the problem of unified and distributed computing in robust heterogeneous contexts, spanning from Internet Clouds to Sensor Networks. The operational gap between low-resource data processing units, such as single microchips embedded in materials, mobile devices, and generic computers including servers, should be closed by a unified agent behaviour model, agent processing platform architecture, and programming framework, supporting real-world deployment as well as simulation. Major features include robustness, scalability, self-organization, reconfiguration, adaptivity, and learning. This book provides a straightforward introduction to creating JavaScript agents using the JavaScript Agent Machine (JAM) requiring only a few lines of code. In a short amount of time, even beginners may develop robust multi-agent systems.
There are countless application areas, including sensor data processing, structural health monitoring, load monitoring of technical structures, distributed computing, distributed databases, and search, automated design, cloud-based manufacturing, mobile crowdsensing (MCS), and surveys. This book has a strong practical focus on MCS. MCS is a useful tool for data mining because it views people as sensors. In addition, agent-based simulation is addressed, finally coupled to real worlds using MCS and digital twin concepts.
With distinct objectives in mind, intelligence and smartness can be defined at various operational and processing levels. One component is the capacity to adapt and be reliable in the face of sensor, communication, node, and network failures without letting the accuracy and integrity of the information computed suffer.
Crowdsourcing and crowdsensing are elaborated in detail after a brief introduction to agent-based notions. If you are solely interested in the agent platform and its programming, you can skip this chapter. The platform is described in connection to the agent interaction and behaviour model. AgentsJS, a subset of JavaScript that is described in depth in a separate chapter, is used to program agents. Pre-compiled libraries and programs are added to the core programming interface, including a simulator. The simulator uses JAM and has the ability to connect to other JAM nodes, allowing for augmented simulation that incorporates the real world.
Finally, an extended example chapter shows various aspects of agent programming with AgentJS and JAM. The software is freely avaiable from https://github.com/bslab/jam. A lot of exercises provide a practical elaboration of agent-based methods, crowdsourcing, and mobile or Web-based surveys.
This book is based on recent scientific work as well as on different lectures I have held at the University of Bremen and the University of Koblenz-Landau. The lectures address the design and deployment of multi-agent systems as well as mobile crowdsensing. Bachelor and master students in computer science, production engineering, and social sciences are the intended audience.
Samples
Read Online