JavaScript Agent Machine (JAM)


JAM: The JavaScript Agent Machine

Heterogeneous data processing networks require an unified agent processing platform, which can be deployed on a wide variety of host platforms, ranging from embedded devices, mobile devices, to desktop and server computers. E.g., in a seismic network some measuring stations are integrated in buoy or installed on small islands, equipped only with low-power low-resource computers. Smart phone usage poses ad-hoc and dynamic connectivity, which can be utilized in mobile crowd sensing applications.

To enable seamless integration of mobile Multi-agent Systems (MAS) in Web and Cloud environments, agents are implemented in JavaScript (JS), executed by the JS Agent Machine (JAM), implemented entirely in JS, too.

JAM can be executed on any JavaScript engine, including browser engines (Mozilla's SpiderMonkey), or from command line interface (CLI) using node.js (based on V8) or jxcore (V8 or SpiderMonkey), Cordova, or low-resource engines like jerryscript and jvm (enhanced jerryscript+iot.js).


Basic architecture of JAM. Central part is the Agent Input-Output System (AIOS). The agents access the AIOS via different and restricted role APIs L0-L3. A scheduler executes agents sequentially in a sandbox environment (Time-limited round-robinson algorithm).


File Version Description
jamsh 1.23.1 200609 JAM Terminal Shell. Needs a JS engine (nodejs, jxcore, jx+) and a terminal
node jamsh
jamsh.debug 1.23.1 200609 JAM Terminal Shell. Debug version 191029 Simple JAMsh examples
jamweb.html 1.6.5 200609 JAM Agent Laboratory for any WEB browser.
jamapp.html 1.6.6W 200609 Crowd Sensing JAMApp for any WEB browser
relay.js 190930 JAM relay script (for chat bots)
jamsh relay.js
cluster.js 200405 JAM cluster script
jamsh cluster.js -- #num
cluster4.js 200528 JAMsh cluster script (4 connected pJAMS)
jamsh cluster4.js -- #num
Demo: Walker Agent
cluster.js 200320 JAMsh cluster script (4 connected pJAMS for walker agent experiment)
jamsh cluster.js
walker.js 200320 Walker Agent for JAMlab
survey.js 200406 Survey Agent for JAMlab
aios.pdf 190927 JAM AIOS Manual
aios.api.pdf 190927 JAM AIOS API Manual
ml.pdf 191007 JAM ML API Manual
jamsh.pdf 191001 JAMsh Manual
jx 1.3.3X jxcore+ JS engine (Linux, 32bit)
pl3 190827 psilab3+ JS engine (Linux, 32bit)