This is a graphical user interface (GUI) for eFLINT. The fastest way to get started is to use Docker Compose, as it also sets up eFLINT (Haskell) and the EFLINT Server (HTTP Web) for you. Works (for instance) with files located in the main folder of eflint-examples.
To set up the GUI using Docker, follow these steps:
- Open a terminal and navigate to the project directory
- Run the following commands:
docker compose build
docker compose up
ordocker compose up -d
to run in background
- Go to
localhost:3000
in your browser - Voila! You should see the GUI
- Docker specific: If you want to start an eFLINT instance that for example requires other files, you can do so:
- Upload all files to the eflint_files folder in this project directory
- In the GUI, you can access the main file by launching an instance via "Launch Files from Path" and entering
/eflint_files/<mainfile>.eflint
in the Absolute Path input field.
You can also set up the GUI manually:
- eFLINT Haskell implementation (eflint-server) installed
- EFLINT Server running on port 8080
- Install prerequisites to compile and execute the program.
- Open a terminal and navigate to the
web-server
directory - Run
mvn compile && mvn exec:java -Dexec.mainClass="eflint.Main"
- Node.js
Before proceeding, ensure that the EFLINT Server (port 8080) is up and running.
Next, open a terminal and navigate to the project directory. Then run the following commands:
npm install
npm run build
npm run serve
The proxy server, which is started together with the serve command, is used in order to avoid CORS problems.
The GUI provides the following features:
- Status overview of the eFLINT instance
- Creation and termination of facts and transitions
- Backtracking capability
- Phrase execution
- View heads / leaf nodes of instance
- View history or path using a tree view (based on eFlint-GUI)
- Facts View
- Killing and creating instances
No support for Actions & Events
No support for Queries
Follow the same steps as in the setup step, but instead of npm run build
, run npm run dev
to start the development server.