|
@@ -1,13 +1,21 @@
|
|
|
Installation
|
|
|
============
|
|
|
|
|
|
-Installing the Modelverse is not difficult, as it is mere Python code and doesn't use installation scripts.
|
|
|
+Installing the Modelverse is unnecessary, as it is mere Python code and doesn't use installation scripts.
|
|
|
All scripts which are generally useful are found in the 'scripts' directory, and are written in OS-independent Python code.
|
|
|
|
|
|
+There will be two things that you need to do only once:
|
|
|
+
|
|
|
+ 1. Make copies of test files, by executing `scripts/fix_files.py`
|
|
|
+ 2. Generate a bootstrap file, by executing `scripts/generate_bootstrap.py`
|
|
|
+
|
|
|
+That is it!
|
|
|
+You will only have to recreate a bootstrap file if you modify any of the code in the bootstrap folder, which is likely not a good idea unless you know what you are doing!.
|
|
|
+
|
|
|
Starting up the Modelverse
|
|
|
==========================
|
|
|
|
|
|
-Starting up the Modelverse is easy: simply execute the `scripts/run\_local\_modelverse.py` script, with as parameter the port you want to use.
|
|
|
+Starting up the Modelverse is easy: simply execute the `scripts/run_local_modelverse.py` script, with as parameter the port you want to use.
|
|
|
This will compile the Modelverse statechart and execute it afterwards.
|
|
|
You can now directly communicate with the Modelverse user initialisation layer.
|
|
|
It is not recommended that you do this manually, so we will now introduce the action language.
|
|
@@ -17,7 +25,7 @@ Compiling Action Language
|
|
|
|
|
|
For a more user-friendly experience, an Action Language compiler was introduced that can automatically generate Modelverse instructions.
|
|
|
During compilation, a live Modelverse is required, as the bytecodes are immediately uploaded after compilation.
|
|
|
-The Modelverse uses a traditional compilation phase and linking phase, though this is all hidden to the user through the `scripts/make\_all.py` script.
|
|
|
+The Modelverse uses a traditional compilation phase and linking phase, though this is all hidden to the user through the `scripts/make_all.py` script.
|
|
|
The script takes as parameter the address of the Modelverse, the username in whose name to execute the code, and a list of source files.
|
|
|
For realistic applications, we recommend to always link to the bootstrap code, by including the file `bootstrap/\*.alc`.
|
|
|
Even on systems that don't support globbing (e.g., Windows), this will automatically be expanded by the compiler.
|
|
@@ -53,8 +61,8 @@ Performance of the Modelverse is currently rather low, especially in the make\_a
|
|
|
To drastically increase performance, this can be switched to a native implementation and a different compiler.
|
|
|
Additionally, all compilations of source files can happen in parallel, using as many cores as are available.
|
|
|
Even further, you can skip symbol resolution in the linking phase if you know that all symbols are defined.
|
|
|
-To do all of this, use the `scripts/make\_parallel.py` script.
|
|
|
-It is identical to the `scripts/make\_all.py` script, but uses multiple cores and uses native code.
|
|
|
+To do all of this, use the `scripts/make_parallel.py` script.
|
|
|
+It is identical to the `scripts/make_all.py` script, but uses multiple cores and uses native code.
|
|
|
|
|
|
Tests
|
|
|
=====
|