-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathindex.html
More file actions
403 lines (396 loc) · 33.5 KB
/
index.html
File metadata and controls
403 lines (396 loc) · 33.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
<!DOCTYPE html>
<html lang="en" dir="ltr" itemscope itemtype="http://schema.org/Article" data-r-output-format="html">
<head>
<meta charset="utf-8">
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
<meta name="generator" content="Hugo 0.160.1">
<meta name="generator" content="Relearn 8.2.0">
<meta name="description" content="The Alchemist Simulator">
<meta name="author" content="Danilo Pianini">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="The Alchemist Simulator :: Documentation for the Alchemist Simulator">
<meta name="twitter:description" content="The Alchemist Simulator">
<meta property="og:url" content="https://alchemistsimulator.github.io/index.html">
<meta property="og:site_name" content="Documentation for the Alchemist Simulator">
<meta property="og:title" content="The Alchemist Simulator :: Documentation for the Alchemist Simulator">
<meta property="og:description" content="The Alchemist Simulator">
<meta property="og:locale" content="en">
<meta property="og:type" content="website">
<meta itemprop="name" content="The Alchemist Simulator :: Documentation for the Alchemist Simulator">
<meta itemprop="description" content="The Alchemist Simulator">
<meta itemprop="datePublished" content="2022-01-19T17:24:57+01:00">
<meta itemprop="dateModified" content="2022-01-19T17:24:57+01:00">
<meta itemprop="wordCount" content="1018">
<title>The Alchemist Simulator :: Documentation for the Alchemist Simulator</title>
<link href="./index.xml" rel="alternate" type="application/rss+xml" title="The Alchemist Simulator :: Documentation for the Alchemist Simulator">
<link href="./index.print.html" rel="alternate" type="text/html" title="The Alchemist Simulator :: Documentation for the Alchemist Simulator">
<link href="./images/logo.svg?1776997909" rel="icon" type="image/svg+xml">
<link href="./css/auto-complete/auto-complete.min.css?1776997909" rel="stylesheet">
<script src="./js/auto-complete/auto-complete.min.js?1776997909" defer></script>
<script src="./js/search-lunr.min.js?1776997909" defer></script>
<script src="./js/search.min.js?1776997909" defer></script>
<script>
window.relearn = window.relearn || {};
window.relearn.index_js_url="./searchindex.en.js?1776997909";
</script>
<script src="./js/lunr/lunr.min.js?1776997909" defer></script>
<script src="./js/lunr/lunr.stemmer.support.min.js?1776997909" defer></script>
<script src="./js/lunr/lunr.multi.min.js?1776997909" defer></script>
<script src="./js/lunr/lunr.en.min.js?1776997909" defer></script>
<script>
window.relearn = window.relearn || {};
window.relearn.contentLangs=['en'];
</script>
<link href="./fonts/fontawesome/css/fontawesome-all.min.css?1776997909" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="./fonts/fontawesome/css/fontawesome-all.min.css?1776997909" rel="stylesheet"></noscript>
<link href="./css/perfect-scrollbar/perfect-scrollbar.min.css?1776997909" rel="stylesheet">
<link href="./css/theme.min.css?1776997909" rel="stylesheet">
<link href="./css/format-html.min.css?1776997909" rel="stylesheet" id="R-format-style">
<script>
window.relearn = window.relearn || {};
// configuration
window.relearn.min = `.min`;
window.relearn.path='\/index.html';
window.relearn.relBasePath='.';
window.relearn.relBaseUri='.';
window.relearn.absBaseUri='https:\/\/alchemistsimulator.github.io';
window.relearn.disableAnchorCopy=false;
window.relearn.disableAnchorScrolling=false;
window.relearn.disableInlineCopyToClipboard=false;
window.relearn.enableBlockCodeWrap=true;
// legal
window.relearn.getItem = (s,n) => {return s.getItem(n)};
window.relearn.setItem = (s,n,v) => {return s.setItem(n,v)};
window.relearn.removeItem = (s,n) => {return s.removeItem(n)};
// translations
window.T_Copy_to_clipboard = `Copy to clipboard`;
window.T_Copied_to_clipboard = `Copied to clipboard!`;
window.T_Copy_link_to_clipboard = `Copy link to clipboard`;
window.T_Link_copied_to_clipboard = `Copied link to clipboard!`;
window.T_Reset_view = `Reset view`;
window.T_View_reset = `View reset!`;
window.T_No_results_found = `No results found for "{0}"`;
window.T_N_results_found = `{1} results found for "{0}"`;
// variant stuff
window.relearn.themevariants = [ 'relearn' ];
window.relearn.customvariantname = "my-custom-variant";
window.relearn.changeVariant = function(variant) {
var oldVariant = document.documentElement.dataset.rThemeVariant;
window.relearn.setItem(window.localStorage, window.relearn.absBaseUri + "/variant", variant);
document.documentElement.dataset.rThemeVariant = variant;
if (oldVariant != variant) {
document.dispatchEvent( new CustomEvent('themeVariantLoaded', { detail: { variant, oldVariant } }) );
window.relearn.markVariant();
}
}
window.relearn.markVariant = function() {
var variant = window.relearn.getItem(window.localStorage, window.relearn.absBaseUri + "/variant");
document.querySelectorAll(".R-variantswitcher select").forEach((select) => {select.value = variant;});
}
window.relearn.initVariant = function() {
var variant = window.relearn.getItem(window.localStorage, window.relearn.absBaseUri + "/variant") ?? "";
if( variant == window.relearn.customvariantname ){
}else if( !variant || !window.relearn.themevariants.includes(variant) ){
variant = window.relearn.themevariants[0];
window.relearn.setItem(window.localStorage, window.relearn.absBaseUri + "/variant", variant);
}
document.documentElement.dataset.rThemeVariant = variant;
}
window.relearn.initVariant();
window.relearn.markVariant();
</script><script src="https://code.jquery.com/jquery-3.6.4.min.js" integrity="sha256-oP6HI9z1XaZNBrJURtCoUT5SUnxFr8s3BzRl+cbzUq8=" crossorigin="anonymous"></script>
<script src="./citations.js"></script>
</head>
<body class="mobile-support html" data-url="./index.html">
<div id="R-body" class="default-animation">
<div id="R-body-overlay"></div>
<nav id="R-topbar">
<div class="topbar-wrapper">
<div class="topbar-sidebar-divider"></div>
<div class="topbar-area topbar-area-start" data-area="start">
<div class="topbar-button topbar-button-sidebar" data-content-empty="disable" data-width-s="show" data-width-m="hide" data-width-l="hide">
<span class="btn cstyle link noborder notitle interactive"><button onclick="toggleNav()" type="button"title="Menu (CTRL+ALT+n)"><i class="fa-fw fas fa-bars"></i></button></span>
</div>
<div class="topbar-button topbar-button-toc" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show">
<span class="btn cstyle link noborder notitle interactive"><button onclick="toggleTopbarFlyout(this)" type="button"title="Table of Contents (CTRL+ALT+t)"><i class="fa-fw fas fa-list-alt"></i></button></span>
<div class="topbar-content">
<div class="topbar-content-wrapper">
<nav class="TableOfContents">
<ul>
<li><a href="#where-to-start">Where to start</a></li>
<li><a href="#alchemist-for-academia">Alchemist for Academia</a></li>
<li><a href="#index-of-contents">Index of contents</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<ol class="topbar-breadcrumbs breadcrumbs highlightable" itemscope itemtype="http://schema.org/BreadcrumbList"><li itemscope itemtype="https://schema.org/ListItem" itemprop="itemListElement" class=""><span itemprop="name">The Alchemist Simulator</span><meta itemprop="position" content="1"></li>
</ol>
<div class="topbar-area topbar-area-end" data-area="end">
<div class="topbar-button topbar-button-edit" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show">
<span class="btn cstyle link noborder notitle interactive"><a href="https://github.com/AlchemistSimulator/Alchemist/edit/master/site/content/_index.md" rel="external" title="Edit (CTRL+ALT+w)"><i class="fa-fw fas fa-pen"></i></a></span>
</div>
<div class="topbar-button topbar-button-print" data-content-empty="disable" data-width-s="area-more" data-width-m="show" data-width-l="show">
<span class="btn cstyle link noborder notitle interactive"><a href="./index.print.html" title="Print whole chapter (CTRL+ALT+p)"><i class="fa-fw fas fa-print"></i></a></span>
</div>
<div class="topbar-button topbar-button-prev" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show">
<span class="btn cstyle link noborder notitle"><span><i class="fa-fw fas fa-chevron-left"></i></span></span>
</div>
<div class="topbar-button topbar-button-next" data-content-empty="disable" data-width-s="show" data-width-m="show" data-width-l="show">
<span class="btn cstyle link noborder notitle interactive"><a href="./tutorials/index.html" title="Tutorials (🡒)"><i class="fa-fw fas fa-chevron-right"></i></a></span>
</div>
<div class="topbar-button topbar-button-more" data-content-empty="hide" data-width-s="show" data-width-m="show" data-width-l="show">
<span class="btn cstyle link noborder notitle interactive"><button onclick="toggleTopbarFlyout(this)" type="button"title="More"><i class="fa-fw fas fa-ellipsis-v"></i></button></span>
<div class="topbar-content">
<div class="topbar-content-wrapper">
<div class="topbar-area topbar-area-more" data-area="more">
</div>
</div>
</div>
</div>
</div>
</div>
</nav>
<div id="R-main-overlay"></div>
<main id="R-body-inner" class="highlightable page" tabindex="-1">
<div class="flex-block-wrapper">
<article class="default">
<header class="headline">
</header>
<h1 id="the-alchemist-simulator">The Alchemist Simulator</h1>
<h1 id="logo"><a href="#R-image-10777ffc708d26032fd8512a7c54b1a1" class="lightbox-link"><img alt="logo" class="lazy lightbox figure-image" loading="lazy" src="images/logo-text-path.svg" style="height: auto;width: auto;"></a>
<a href="javascript:history.back();" class="lightbox-back" id="R-image-10777ffc708d26032fd8512a7c54b1a1"><img alt="logo" class="lazy lightbox lightbox-image" loading="lazy" src="images/logo-text-path.svg"></a></h1>
<p>This website hosts the documentation of the Alchemist Simulator,
created towards the end of 2010 as a by-product of the European Project SAPERE,
and grown ever since into a full-fledged simulation framework.</p>
<video loop playsinline autoplay muted style="max-width: 100%; display: inline-block; ">
<source src="home-animation.mp4" type="video/mp4">
If your browser supported the video tag, there would be a nice video.
</video>
<h2 id="where-to-start">Where to start</h2>
<p>We recommend that you check out our <a href="./showcase/index.html">showcase</a> to understand what you can simulate,
and our <a href="./tutorials/index.html">tutorials</a> to learn how to fiddle with the tool.
Once you are on track, we prepared specific <a href="./howtos/index.html">how-to guides</a> for the most common operations.
To better understand how the simulator works, refer to our <a href="./explanation/index.html">explanation</a> section;
to master it, building your own extensions and advanced scenarios or customizing what is available,
take a look to the <a href="./reference/index.html">reference</a>.</p>
<h2 id="alchemist-for-academia">Alchemist for Academia</h2>
<p>If you happen to use Alchemist for academic purposes,
please add a reference to the following paper:</p>
<div id="cite-9e4d22b6d29fc183" style="font-family:monospace;"></div>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderCitation("10.1057/jos.2012.27", "apa", "cite-9e4d22b6d29fc183");
});
</script>
<p>Here is a BibTeX for LaTeX users:</p>
<div id="cite-ff71e362c9d2dd45" style="font-family:monospace;"></div>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderCitation("10.1057/jos.2012.27", "bibtex", "cite-ff71e362c9d2dd45");
});
</script>
<h2 id="index-of-contents">Index of contents</h2>
<ul class="children children-type-tree children-sort-">
<li class="children-title children-title-1"><a href="./tutorials/index.html">Tutorials</a><p>Tutorials are lessons that take the reader by the hand through a series of steps. They are meant to show a beginner that they can achieve something with Alchemist.</p><ul>
<li class="children-title children-title-2"><a href="./tutorials/quickstart/index.html">Quickstart</a><p>A super-fast way to get an instance of the simulator up and running.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./tutorials/basics/index.html">Step-by-step tutorial</a><p>A (video) guide through the main features of the simulator, as presented at DAIS 2021</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./tutorials/protelis/index.html">Protelis Incarnation Tutorial</a><p>Ready-to-run examples of increasing complexity with the Protelis incarnation</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./tutorials/sapere/index.html">SAPERE Incarnation Tutorial</a><p>Ready-to-run examples of increasing complexity with the SAPERE incarnation</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./tutorials/scafi/index.html">Scafi Incarnation Tutorial</a><p>Ready-to-run examples of increasing complexity with the Scafi incarnation</p><ul></ul></li></ul></li>
<li class="children-title children-title-1"><a href="./howtos/index.html">How-to Guides</a><p>How-to guides take the reader through the steps required to solve a real-world problem. They are recipes, directions to achieve a specific end: while a tutorial is what a beginner needs to know, a how-to guide is an answer to a question that only a user with some experience could even formulate. In how-to guides, we assume some knowledge and understanding, we assume that the user already knows how to do basic things and use basic tools.</p><ul>
<li class="children-title children-title-2"><a href="./howtos/preparation/index.html">Preparation</a><p>Preliminary operations for using Alchemist: installation, setup</p><ul>
<li class="children-title children-title-3"><a href="./howtos/preparation/jar/index.html">Alchemist stand-alone</a><p>The recommended way to run the simulator and fetch all the required modules.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/preparation/gradle/index.html">Alchemist via Gradle</a><p>The recommended way to run the simulator and fetch all the required modules.</p><ul></ul></li></ul></li>
<li class="children-title children-title-2"><a href="./howtos/simulation/index.html">Simulation</a><p>Guides on how to create simulation environments, configure node behaviour, and control the simulation details</p><ul>
<li class="children-title children-title-3"><a href="./howtos/simulation/variables/index.html">Create reusable variables</a><p>Define reusable pieces of information and compute upon them, prepare for the execution of simulation batches.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/repeatability/index.html">Ensure repeatability</a><p>Control randomness, ensuring reproducibility and replicability of experiments.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/cognitive/index.html">Cognitive Agents</a><p>Agents with realistic human behavior.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/link/index.html">Create a network</a><p>Define how nodes should be connected with each other.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/layers/index.html">Create Layers</a><p>Define data layers that live in the environment</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/environment/index.html">Create rich environments</a><p>How to create complex environments (obstacles, and so on)</p><ul>
<li class="children-title children-title-4"><a href="./howtos/simulation/environment/pathfinding/index.html">Find paths indoors</a><p>How to navigate the environment, especially indoors.</p><ul></ul></li>
<li class="children-title children-title-4"><a href="./howtos/simulation/environment/maps/index.html">Maps and GPS traces</a><p>How to simulate using maps and GPS traces.</p><ul></ul></li>
<li class="children-title children-title-4"><a href="./howtos/simulation/environment/indoor/index.html">Simulate indoor</a><p>How to create indoor environments based on planimetries.</p><ul></ul></li>
<li class="children-title children-title-4"><a href="./howtos/simulation/environment/cognitive-physics/index.html">Simulate physical interactions among pedestrians</a><p>Physical interaction between nodes</p><ul></ul></li></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/deploy/index.html">Deploy Nodes</a><p>How to place nodes within Alchemist environments</p><ul>
<li class="children-title children-title-4"><a href="./howtos/simulation/deploy/grid/index.html">(Irregular) Grids</a><p>Deployment of nodes in (possibly irregular) grids.</p><ul></ul></li>
<li class="children-title children-title-4"><a href="./howtos/simulation/deploy/shape/index.html">Nodes inside shapes</a><p>Deployment of nodes randomly inside arbitrary shapes.</p><ul></ul></li>
<li class="children-title children-title-4"><a href="./howtos/simulation/deploy/gps/index.html">GPS Traces</a><p>Deployment of nodes on map-based environments using GPS data.</p><ul></ul></li>
<li class="children-title children-title-4"><a href="./howtos/simulation/deploy/graph/index.html">Graphs</a><p>Deployment of nodes into arbitrary graphs.</p><ul></ul></li></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/export/index.html">Export data</a><p>Select which data the simulator should output, in which format, and where.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/graphql/index.html">Monitor and Control Simulations through GraphQL</a><p>Monitor and Control a Simulation through a set of GraphQL APIs.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/monitors/index.html">Monitoring Simulations through Custom Output Monitors</a><p>Create custom monitors to track simulation progression and interact with standard hooks.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/program/index.html">Program Nodes</a><p>How to define the behavior of nodes</p><ul>
<li class="children-title children-title-4"><a href="./howtos/simulation/program/move-on-maps/index.html">Move nodes on maps</a><p>How to move node around in geospatial environments.</p><ul></ul></li>
<li class="children-title children-title-4"><a href="./howtos/simulation/program/content/index.html">Node contents</a><p>Definition of the initial content of nodes.</p><ul></ul></li></ul></li>
<li class="children-title children-title-3"><a href="./howtos/simulation/smartcam/index.html">Smart cameras and drones</a><p>Simulate robots with a field of view.</p><ul></ul></li></ul></li>
<li class="children-title children-title-2"><a href="./howtos/execution/index.html">Execution</a><p>Execution of multiple simulations, locally or in a distributed environment</p><ul>
<li class="children-title children-title-3"><a href="./howtos/execution/swing-effects/index.html">Customize the Swing GUI</a><p>Customize the look of your simulation.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/execution/termination/index.html">Define the termination criteria</a><p>Decide when the simulator should stop and consider the simulation concluded.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/execution/multivesta/index.html">MultiVeStA</a><p>How to integrate MultiVesta in Alchemist</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/execution/batch/index.html">Parameter Sweeping with simulation batches</a><p>Execute multiple instances of a simulation with different parameters</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/execution/engine/index.html">Simulation Engine Configuration</a><p>Available simulation engine configurations.</p><ul></ul></li></ul></li>
<li class="children-title children-title-2"><a href="./howtos/workarounds/index.html">Workarounds</a><p>Pre-concocted solutions to well-known issues</p><ul>
<li class="children-title children-title-3"><a href="./howtos/workarounds/swing-glitch/index.html">Graphical Glitches in Swing</a><p>Known issues with Swing and OpenGL acceleration, especially with legacy AMD/ATi drivers.</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/workarounds/max-map-count/index.html">Memory leaks under Linux</a><p>Known issue of some Java Virtual Machine implementations when requested to use more than 64GB of RAM</p><ul></ul></li></ul></li>
<li class="children-title children-title-2"><a href="./howtos/extensions/index.html">Experiment-specific extensions</a><p>One-time changes or additions to the simulator behavior</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./howtos/development/index.html">Development</a><p>How to contribute to the project, hence achieving eternal glory</p><ul>
<li class="children-title children-title-3"><a href="./howtos/development/contributions/index.html">Developer's guide</a><p>How to contribute</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/development/graphql/index.html">Enrich the GraphQL API</a><p>How to create a new Query, Subscription, or Mutation using the GraphQL API</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/development/ide-import/index.html">Import Alchemist in an IDE</a><p>The recommended way to get and import the Alchemist project in an IDE</p><ul></ul></li>
<li class="children-title children-title-3"><a href="./howtos/development/building/index.html">Build and run the QA</a><p>How to locally build and test the simulator</p><ul></ul></li></ul></li></ul></li>
<li class="children-title children-title-1"><a href="./explanation/index.html">Explanation</a><p>Explanation, or discussions, clarify and illuminate a particular topic. They are a chance for the documentation to relax and step back from the software, taking a wider view, illuminating it from a higher level or even from different perspectives. You might imagine a discussion document being read at leisure, rather than over the code.</p><ul>
<li class="children-title children-title-2"><a href="./explanation/metamodel/index.html">The Alchemist Meta-Model</a><p>What does Alchemist simulate? A trip on the abstractions that populate the world of Alchemist.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./explanation/engine/index.html">The Alchemist Simulation Engine</a><p>How does Alchemist simulate? What is at its core?</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./explanation/biochemistry/index.html">Biochemistry Incarnation</a><p>Basics of the biochemistry incarnation.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./explanation/cognitive/index.html">Cognitive Agents</a><p>Agents with realistic human behavior.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./explanation/pathfinding/index.html">Pathfinding</a><p>Strategies to navigate the environment.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./explanation/sapere/index.html">SAPERE Incarnation</a><p>Basics of SAPERE and how its concepts are mapped in Alchemist.</p><ul></ul></li></ul></li>
<li class="children-title children-title-1"><a href="./reference/index.html">Reference</a><p>Reference guides are technical, austere, and to the point descriptions of the machinery and how to operate it. Reference guides have one job only: to describe. They are code-determined, because ultimately that’s what they describe: key classes, functions, APIs, and so they list things like functions, fields, attributes and methods, and set out how to use them.</p><ul>
<li class="children-title children-title-2"><a href="./reference/yaml/index.html">YAML simulation specification</a><p>Specification of the YAML-based language simulations are configured with.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/kdoc/index.html">API Docs</a><p>KDoc API docs. Captures both Java and Kotlin API abstractions.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/kdoc-modules/index.html">Per-module API Docs</a><p>KDoc API docs. Captures both Java and Kotlin API abstractions.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/organization/index.html">Project organization</a><p>Locations where things are found: build files, API implementations</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/biochemistry/index.html">Biochemistry Incarnation</a><p>Reference documentation of the reactions language for the biochemistry incarnation.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/cli/index.html">Command Line interface</a><p>Available CLI options.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/default-ui/index.html">Default Graphical User Interface</a><p>Redirect page for the current default graphical interface</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/sapere/index.html">SAPERE Incarnation</a><p>Reference API for the SAPERE Incarnation.</p><ul></ul></li>
<li class="children-title children-title-2"><a href="./reference/swing/index.html">Swing GUI</a><p>Key mappings for the Java Swing-based graphical interface</p><ul></ul></li></ul></li>
</ul>
<footer class="footline">
<i class='fa-fw fas fa-calendar'></i> Jan 19, 2022
</footer>
</article>
</div>
</main>
</div>
<aside id="R-sidebar" class="default-animation">
<div id="R-header-topbar" class="default-animation"></div>
<div id="R-header-wrapper" class="default-animation">
<div id="R-header" class="default-animation">
<div style="white-space: nowrap;">
<div style="max-width: 100%; display: inline-block; ">
<img alt="The Alchemist Logo" src="./images/logo.svg"/>
</div>
</div>
</div>
<search><form action="./search/index.html" method="get">
<div class="searchbox default-animation">
<button class="search-detail" type="submit" title="Search (CTRL+ALT+f)"><i class="fas fa-search"></i></button>
<label class="a11y-only" for="R-search-by">Search</label>
<input data-search-input id="R-search-by" name="search-by" class="search-by" type="search" placeholder="Search...">
<button class="search-clear" type="button" data-search-clear="" title="Clear search"><i class="fas fa-times" title="Clear search"></i></button>
</div>
</form></search>
</div>
<div id="R-homelinks" class="default-animation homelinks">
<div class="R-menu-divider default-animation">
<hr class="padding">
</div>
<div class="R-sidebarmenu R-shortcutmenu-homelinks">
<ul class="space collapsible-menu">
<li class="active " data-nav-url="./index.html"><a class="padding" href="./index.html"><i class="fa-fw fas fa-home"></i> Home</a></li>
</ul>
</div>
<div class="R-menu-divider default-animation">
<hr class="padding">
</div>
<div class="R-sidebarmenu R-shortcutmenu-headercontrols">
<ul class="">
</ul>
</div>
<div class="R-menu-divider default-animation">
<hr class="padding">
</div>
</div>
<div id="R-content-wrapper" class="highlightable">
<div class="R-sidebarmenu R-shortcutmenu-main">
<ul class="enlarge morespace collapsible-menu">
<li class="" data-nav-url="./tutorials/index.html"><a class="padding" href="./tutorials/index.html"><b>1. </b>Tutorials<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-e1e8c1e70c5500b49e8dda2dc550651a" class="collapsible-menu"></ul></li>
<li class="" data-nav-url="./howtos/index.html"><a class="padding" href="./howtos/index.html"><b>2. </b>How-to Guides<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-435cd60099784c14f4922700a72c8414" class="collapsible-menu"></ul></li>
<li class="" data-nav-url="./explanation/index.html"><a class="padding" href="./explanation/index.html"><b>3. </b>Explanation<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-547d30965b8467ddcbfa08ec6013372a" class="collapsible-menu"></ul></li>
<li class="" data-nav-url="./reference/index.html"><a class="padding" href="./reference/index.html"><b>4. </b>Reference<i class="fa-fw fas fa-check read-icon"></i></a><ul id="R-subsections-66002f201bef818664bb81aa67490c58" class="collapsible-menu"></ul></li>
</ul>
</div>
<div class="R-sidebarmenu R-shortcutmenu-shortcuts">
<div class="nav-title padding">More</div>
<ul class="space collapsible-menu">
<li class="" data-nav-url="https://github.com/AlchemistSimulator/Alchemist"><a class="padding" href="https://github.com/AlchemistSimulator/Alchemist" rel="external"><i class='fab fa-fw fa-github'></i> GitHub repo<i class="fa-fw fas fa-check read-icon"></i></a></li>
<li class="" data-nav-url="https://youtube.com/@alchemistsimulator"><a class="padding" href="https://youtube.com/@alchemistsimulator" rel="external"><i class='fab fa-youtube'></i> YouTube channel<i class="fa-fw fas fa-check read-icon"></i></a></li>
<li class="" data-nav-url="./showcase/"><a class="padding" href="./showcase/"><i class='fas fa-fw fa-camera'></i> Use cases<i class="fa-fw fas fa-check read-icon"></i></a></li>
<li class="" data-nav-url="./license/"><a class="padding" href="./license/"><i class='fas fa-balance-scale'></i> License<i class="fa-fw fas fa-check read-icon"></i></a></li>
<li class="" data-nav-url="./tags/"><a class="padding" href="./tags/"><i class='fas fa-fw fa-tags'></i> Tags<i class="fa-fw fas fa-check read-icon"></i></a></li>
</ul>
</div>
<div id="R-footer-margin"></div>
<div class="R-menu-divider default-animation">
<hr class="padding">
</div>
<div class="R-sidebarmenu R-shortcutmenu-footercontrols">
<ul class="">
<li class="R-historyclearer">
<div class="padding menu-control">
<i class="fa-fw fas fa-history"></i>
<span> </span>
<div class="control-style">
<button>Clear History</button>
</div>
<div class="clear"></div>
</div>
</li>
</ul>
</div>
<div id="R-footer"><div class="padding">
<div><strong>Alchemist Simulator 43.0.41</strong></div>
<br>
<a
class="github-button"
href="https://github.com/AlchemistSimulator/Alchemist/releases/latest/"
data-icon="octicon-cloud-download" aria-label="Download Alchemist-full on GitHub"
>
Download
</a>
<a
class="github-button"
href="https://github.com/AlchemistSimulator/Alchemist"
data-icon="octicon-star"
data-show-count="true"
aria-label="Star McShelby/hugo-theme-relearn on GitHub"
>
Star
</a>
<a
class="github-button"
href="https://github.com/AlchemistSimulator/Alchemist/fork"
data-icon="octicon-repo-forked"
data-show-count="true"
aria-label="Fork McShelby/hugo-theme-relearn on GitHub"
>
Fork
</a>
<p>Built with <a href="https://github.com/McShelby/hugo-theme-relearn"><span class="fas fa-heart"></span></a> by <a href="https://gohugo.io/">Hugo</a></p>
<script async defer src="https://buttons.github.io/buttons.js"></script>
</div></div>
</div>
</aside>
<script src="./js/js-yaml/js-yaml.min.js?1776997909" defer></script>
<script src="./js/d3/d3-color.min.js?1776997909" defer></script>
<script src="./js/d3/d3-dispatch.min.js?1776997909" defer></script>
<script src="./js/d3/d3-drag.min.js?1776997909" defer></script>
<script src="./js/d3/d3-ease.min.js?1776997909" defer></script>
<script src="./js/d3/d3-interpolate.min.js?1776997909" defer></script>
<script src="./js/d3/d3-selection.min.js?1776997909" defer></script>
<script src="./js/d3/d3-timer.min.js?1776997909" defer></script>
<script src="./js/d3/d3-transition.min.js?1776997909" defer></script>
<script src="./js/d3/d3-zoom.min.js?1776997909" defer></script>
<script src="./js/mermaid/mermaid.min.js?1776997909" defer></script>
<script>
window.relearn.themeUseMermaid = JSON.parse("{}");
</script>
<script src="./js/clipboard/clipboard.min.js?1776997909" defer></script>
<script src="./js/perfect-scrollbar/perfect-scrollbar.min.js?1776997909" defer></script>
<script src="./js/theme.min.js?1776997909" defer></script>
</body>
</html>