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).
Text
File | Version | Description |
---|---|---|
jamsh | 1.36.1 221207 | JAM Terminal Shell. Needs a JS engine (nodejs, jxcore, jx+) and a terminalnode jamsh |
jamsh.debug | 1.36.1 221207 | JAM Terminal Shell. Debug version |
test-jam.zip | 191029 | Simple JAMsh examples |
jamweb.html | 1.8.2 220815 | JAM Agent Laboratory for any WEB browser. |
jamlib.browser.js | 1.35.1 220822 | JAM(shell) Library for any WEB browser (Example: http://edu-9.de/uploads/demo/jamabx/webspy/spy.html) |
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 scriptjamsh 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) |