Welcome! This demo showcases the capabilities of Lang2LTL, a powerful software that translates natural language commands into Linear Temporal Logic (LTL) statements.
Clone the project:
git clone https://github.com/Alyssa2026/LTL-Web-Demo.git
Start backend servers
python server/genPropServer.py
python server/LTLServer.py
Navigate to frontend demo
cd client
Install dependencies
npm install
Start frontend server
npm start
The demo starts off at a homepage. Click the "Go to Demo Page" to get directed to the demo.
Enter a natural language command in the first input box and click the "convert to LTL" button.
\ Add more as project progresses
Holds all the frontend components of the demo
Holds all the relevant code that constructs the frontend demo
-
App.js creates a path from the homepage to demopage
-
DemoPage.js creates the demopage
- clickMe takes in user's NL input, gets the OSM coordinates, and sends the coordiantes to the backend server where it is processed by the genProp() method
- OSM API is integrated here
- Local storage is called here to locally store user inputs and the statement converted into a logical statement
-
HomePage.js creates homepage
Holds all the backend components of the demo
-
genPropServer.py is the first server. genProp() method parses/filters an OSM file based on the coordinates passed in from the frontend input
-
LTLServer.py is the second server. convertLTL() method that takes in the JSON file with the propositions, and the NL command, "Go to Slater Hall then Salomon Center for Teaching," and returns the LTL expression back to the frontend, "G(Slater Hall->X(Salomon Center for Teaching))". Note: Using constant inputs/outputs for now before we integrate the LTL software