Welcome to the Mashup Generation for Web of Things using PDDL! This project aims to simplify the process of creating mashups for IoT devices. By utilizing natural language descriptions and the Thing Descriptions (TDs) of available devices, this program automates the generation of PDDL (Planning Domain Definition Language) models and plans, making it easier for end users to connect and operate their IoT devices.
To run this program, you need to have Python installed on your system. Additionally, you'll need to install the OpenAI package.
- Clone the Repository
- and Install dependencies
pip install -r requirements.txt
To run the program, execute gui.py with Python. No special arguments are required.
python gui.py
-
Input System Description:
- Provide a description of your system in natural language. This description should outline what you want to achieve with your IoT devices.
-
Add Thing Descriptions (TDs):
- Move the TDs of the devices you wish to include in your mashup to the ./input_tds subfolder. These TDs should be correctly formatted and true to the extended specification in the thesis.
-
Generate Mashup:
- Print both the domain and problem files with the corresponding buttons
- Click "Generate Goal" to open up the GoalGen screen, which will automatically prompt a goal
- If not satisfied, refine with the description box in the top left
- As soon as satisfied, save the goal which prompts some stuff in the background
- If wanted, it is possible to prompt preconditions now
-
Execute Mashup:
- Make sure everything above is done first
- Click "Start mashup"
- Observe the changes to the output log + the changing problem files
Thank you for using our Mashup Generation tool for the Web of Things! We hope it makes your IoT projects easier and more enjoyable.