AgentScript is a minimalist Agent Based modeling system based on NetLogo semantics.
It has a Model/View architecture for which this is the Model. A set of Views will be provided in the future.
AgentScript is based on es6 Modules (ESM) which are delivered as two Rollup bundles:
* UMD: agentscript.umd.js * ESM: agentscript.esm.js
The UMD can be used in the browser as a
<script> tag, and in Node using
The ESM is used in es6 import statements.
Both are available in minified form. All are in the project's
The UMD's global name is
AgentScript is available as a npm scoped package: @redfish/agentscript.
To install the package,
yarn add @redfish/agentscript. This places the bundles in
To use the package as a CDN, use unpkg.com.
View the unpkg.dashboard: https://unpkg.com/@redfish/agentscript/
To clone the github repo:
- cd to where you want the agentscript/ dir to appear.
- git clone https://github.com/backspaces/agentscript
- cd agentscript # go to new repo
- yarn install # install all dev dependencies
- yarn build # complete the install
A gh-page is used for the site. It contains the dist/ dir and a models/ dir with sample models also used for testing.
It uses the docs/ simplification for gh-page creation.
The gh-page hosts our sample models. The fire model can be run with:
The Github page can be used as a CDN for experimental use:
- UMD: https://backspaces.github.io/agentscript/dist/agentscript.umd.js
- ESM: https://backspaces.github.io/agentscript/dist/agentscript.esm.js
Our directory layout is:
bin: workflow scripts dist: the umd and esm bundles with their min.js versions. docs: gh-page models: sample models used for tests and demos src: individual agentscript es6 modules test: test files
Copyright Owen Densmore, RedfishGroup LLC, 2012-2018
AgentScript may be freely distributed under the GPLv3 license:
AgentScript is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program, see LICENSE within the distribution. If not, see http://www.gnu.org/licenses/.