Das Ziel dieser Bachelorarbeit ist es, ein sinnvolles Werkzeug für die Lehre zu erstellen, um Studentinnen und Studenten die Themen E-Graphs und Equality Saturation näherzubringen. Dabei sollen sie die Möglichkeit haben, sich sowohl auf theoretischer als auch praktischer Ebene mit E-Graphs auseinandersetzen zu können. Die theoretische Ebene soll den Studenten die notwendigen Hintergrundkenntnisse vermitteln sowie einen Einblick in die Implementierung geben. Die praktische Ebene soll Schritt für Schritt aufzeigen, wie der E-Graph aufgebaut wird, und wie an diesem Equality Saturation durchgeführt werden kann. Für größtmöglichen Nutzen soll die Anwendung plattformunabhängig sein und möglichst nur von Open-Source-Software (OSS) Gebrauch machen. Damit wird das Problem der unterschiedlichen Betriebssysteme der Studenten umgangen und zeitgleich die Hürden für Erweiterungen gesenkt.
- Bitte installieren Sie die Dependencies.
- Laden Sie sich den Code herunter.
- Führen Sie den Befehl
fastapi run server.py
im src Ordner aus. - Falls sich der Browser nicht automatisch öffnet, öffnen Sie ihn manuell unter der Adresse http://127.0.0.1:8000.
Die Dokumentation kann in der Anwendung unter Dokumentation gefunden werden (bzw. unter der Adresse http://127.0.0.1:8000/dokumentation.html).
- Graphviz
- PATH: Achten Sie während der Installation darauf, Graphviz zum PATH hinzuzufügen.
- Windows: Achten Sie darauf, dass
dot
vom Terminal aus aufrufbar ist; überprüfbar mitdot --version
. Komplette Anleitung für Windows.
- Die notwendigen Pakete finden Sie in requirements.txt:
pip install -r requirements.txt
Wenn Sie die Tests ausführen möchten, fügen sie entweder Folgendes zu requirements.txt
hinzu: pytest==8.3.3
oder
installieren Sie das Paket händisch: pip install pytest==8.3.3
.
Dieses Projekt wird unter der MIT License veröffentlicht. Für weiterführende Informationen klicken Sie bitte hier. Das Icon im Logo wurde aus dem Framework Bootstrap genommen.