JavaScript Agent Machine Software Framework - Mobile Agents for the Web and IoT
Starting from 10/2023, this repository is not updated frequently (or at all) and any recent updates are only availble here:
http://git.edu-9.de/sbosse/jam
Since 10/2023 github enforces a two-factor or multi-factor authentication, which is neither required in principle nor comfortable in daily use of a code repository. This was introduced for economical reasons (Microsoft as github owner sells 2FA/MFA software solutions and want to remove non-profit, i.e., low-impact, repositories), higher user control, and not for security primarily, and leads to an unnecessary collection of sensitive personal data and linking of services that should be rejected by users and developers.
The JavaScript Agent Machine (JAM) is a multi-agent system framework. The agent processing platform satisfies the following constraints from a software design perspective:
- Portability with low hardware and operating system dependencies;
- Possibility for deployment on low-resource platforms;
- Embeddable in any software application, including Web pages;
- Scalability with respect to agent number and computational agent complexity.
JAM is entirely programmed in JavaScript and satisfies the first and third constraints immediately. The satisfaction of the second and fourth constraints depends on the underlying JavaScript Virtual Machine (JVM). But even the node.js JVM can be deployed on embedded and mobile systems like smartphones (typically requiring at least 1000 MIPS CPU power and 50 MB main memory for satisfying responsiveness and scalability).
- The JAM shell
jamsh
can be used from the command line (requiring node.js, jx, or pl3 JavScript VM) - The JAM Web laboratory
jamweb.html
can be used in any browser - The JAM library
jamlib.js
andjamlib.browser.js
can be embedded in any node.js or Web Browser program. - The Simulation Environment for JAM
sejam2
is a standalone application using nw.js or can be run in a Web browser.
The software can be found in the dist folder.
Crowdsourcing and Simulation with Mobile Agents and the JavaScript Agent Machine