AMIDOL is designed to support models in a number of scientific, physical, social, and hybrid domains by allowing domain experts to construct meta-models in a novel way, using visual domain specific ontological languages (VDSOLs). These VDSOLs utilize an underlying intermediate abstract representation to give formal meaning to the intuitive process diagrams scientists and domain experts normally create. AMIDOL then provides translations from these VDSOLs into an intermediate representation which can be transformed as appropriate to compose models, apply optimizations, and translate them into executable representations allowing AMIDOL's inference engine to execute prognostic queries on reward models and communicate results to domain experts.
You'll need to:
-
install the
sbt
build tool and a recent version of the Oracle JDK for building the backend component -
install the
npm
build tool for building the UI component -
install the
python
interpreter andpip
package manager, then thepysces
andnumpy
packages (by doingpip install pysces numpy
) for the PySCeS backend -
install the
python3
interpreter andpip3
package manager, then thescipy
andmatplotlib
packages (by doingpip3 install scipy matplotlib
) for the SciPy backends -
install Julia and then install
JSON
,DiffEqBiological
,DifferentialEquations
,Plots
, andDiffEqMonteCarlo
(this is done from the Julia REPL runningimport Pkg; Pkg.add("<pkg-to-install>")
)
Once you have done all of this, build and run the system with:
$ git clone https://github.com/GaloisInc/AMIDOL.git && cd AMIDOL
AMIDOL$ sbt run
This opens a back-end web server on http://localhost:8080/ . NOTE: This system was only meant for use/tested on Google Chrome. This version of the system does not support other browsers.
Example models can be found in this repository under the examples
directory. These are JSON
files meant to be loaded into the web browser UI, with the cloud-shaped upload button in the
upper-right. User-drawn models can also be downloaded with the adjacent download button.