{"id":32992091,"url":"https://github.com/tum-esi/wade","last_synced_at":"2026-01-16T07:49:31.497Z","repository":{"id":37797716,"uuid":"248317397","full_name":"tum-esi/wade","owner":"tum-esi","description":"WoT API Development Environment built on top of thingweb.node-wot","archived":false,"fork":false,"pushed_at":"2023-10-05T18:00:11.000Z","size":9628,"stargazers_count":24,"open_issues_count":60,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-09-08T13:09:56.893Z","etag":null,"topics":["electron-application","iot-device","wade"],"latest_commit_sha":null,"homepage":"https://www.ei.tum.de/en/esi/home/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tum-esi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-03-18T18:55:25.000Z","updated_at":"2023-12-02T08:35:20.000Z","dependencies_parsed_at":"2024-04-15T06:30:22.185Z","dependency_job_id":"a64c09d4-d59a-4061-96f6-d484dd795895","html_url":"https://github.com/tum-esi/wade","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/tum-esi/wade","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tum-esi%2Fwade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tum-esi%2Fwade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tum-esi%2Fwade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tum-esi%2Fwade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tum-esi","download_url":"https://codeload.github.com/tum-esi/wade/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tum-esi%2Fwade/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284999741,"owners_count":27097839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-18T02:00:05.759Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron-application","iot-device","wade"],"created_at":"2025-11-13T10:00:26.790Z","updated_at":"2025-11-18T04:01:10.711Z","avatar_url":"https://github.com/tum-esi.png","language":"TypeScript","funding_links":[],"categories":["Section"],"sub_categories":["WoT Implementations"],"readme":"# W-ADE\n\n## Table of Contents  \n1. [Web of Things API Development Environment](**W**eb-of-Things-**A**PI–**D**evelopment–**E**nvironment)    \n2. [What can you do with W-ADE](#what-can-you-do-with-w-ade)  \n3. [Prerequisites](#prerequisites)  \n4. [How to Install the Application](#how-to-install-the-application)  \n5. [How to Get Started with Development (open in dev mode)](#how-to-get-started-with-development)    \n6. [Interaction Timing Vocabulary](#interaction-timing-vocabulary)\n7. [A-MaGe](#-a-mage)\n8. [Errors and Known Problems](#errors-and-known-problems)\n9.  [Adding or Working on Issues](#adding-or-working-on-issues)\n\n---\n## **W**eb of Things **A**PI **D**evelopment **E**nvironment\n\nWade is an API development environment for Web of Things that was designed for the [W3C WoT building blocks](https://w3c.github.io/wot-architecture/). \nIt enables users to interact with IoT devices over various protocols. At the moment the following protocolls are supported: HTTP/HTTPS, CoAP/CoAPS, MQTT.  \nIt is based on [node-wot](https://www.npmjs.com/org/node-wot), the reference implementation of [W3C's Scripting API](https://w3c.github.io/wot-scripting-api/). \nIt is an Electron application.\n\n\n\nSee the related paper **WADE: Timing Performance Benchmarking in Web of Things**.\n```\n@inproceedings{skks:2020,    \n\t  author           = {Verena Eileen Schlott and Ege Korkan and Sebastian Kaebisch and Sebastian Steinhorst},\n    title            = {W-ADE: Timing Performance Benchmarking in Web of Things},\n    booktitle        = {International Conference on Web Engineering (ICWE 2020)},\n    location         = {Helsinki, Finland},\n    year             = {2020},\n    month            = {6},\n    doi\t\t\t\t       = {https://doi.org/10.1007/978-3-030-50578-3_6},\n    url              = {https://s-steinhorst.github.io/PDF/2020-ICWE-W-ADE%20Timing%20Performance%20Benchmarking%20in%20Web%20of%20Things.pdf},\n}\n```\n---\n## What can you do with W-ADE\n\n- Send requests and interact with your IoT device based on its TD\n![alt text](docs/MainEditor.png \"WADE TD Editor\")\n- Test and play around with your [Thing Description](https://w3c.github.io/wot-thing-description/) (TD)\n- Save and organize your Thing Descriptions\n- Get insights on the timing performance behaviour of interactions\n![alt text](docs/Performance.png \"WADE Timing Benchmarking\")\n- Retrieve timing performance benchmarks of your requests\n- Spin up a [Virtual Thing / Shadow Thing](https://github.com/tum-esi/shadow-thing) based on your TD\n![alt text](docs/VT.png \"WADE Thing Simulator\")\n\n---\n## Prerequisites\n\nYou need to have [Node.js](https://nodejs.org/en/) version \u003e= 12.9 installed. It is highly recommended to also have [Yarn](https://yarnpkg.com/) installed\n\n---\n## How to install the application\n\n### Install from sources\n\n**Step 1:** Clone the repository to your local machine.\n\n```\ngit clone https://github.com/tum-esi/wade.git\n```\n\n**Step 2:** Navigate into the main folder and install all dependencies.\n\n```\ncd wade\nyarn install \n```\n\n**Step 3:** Build the electron application. (_If you run into any errors, check here: [Errors and Known Problems](#errors-and-known-problems)_)\n\n```\nyarn run electron:build\n```\n\n**Step 4:** Navigate into the folder 'dist_electron' and install the application. After installing it you can start the application on your machine.\n\n### Install from releases\n\nYou can also download the pre-built version of the application directly from the Releases tab of this repository.\nThe installer specific to your platform can be found within the Assets section of a release.\nKeep in mind, that running the software under Mac OS requires [additional steps](https://support.apple.com/en-mn/guide/mac-help/mh40616/mac). \n\n---\n## How to get started with development\n\n(To be able to easily work and develop functionalities in W-ADE, please read the [architecture documentation](https://github.com/tum-esi/wade/blob/master/docs/ARCHITECTURE.md) first!)\n\nAfter cloning the repository and installing all node dependencies (see step 1 \u0026 2 in [How to Install the Application](#how-to-install-the-application)) do **not** build the app (step 3) but run it in development mode instead:\n\n```\nyarn run electron:serve\n```\nThis allows for hot-reloads and shows you all potential errors.  \n_If you have problems performing this step or run into an error, check the [Errors and Known Problems](#errors-and-known-problems) section for help._\n\nIf you want to add your changes to W-ADE, please fork the repository and create a pull request.  \nAlso checkout the [Adding or Working on Issues](#adding-or-working-on-issues) section.\n\n---\n## Interaction Timing Vocabulary\n\nTo be able to add measured timing performance benchmarks to a Thing Description, a vocabulary set that is aligned with the current Thing Description was developed.   \nIt is called **Interaction Timing Vocabulary**.   \nIt's schema can be found in '/interaction-timing-vocabulary'.\n\n## A-MaGe\n---\n### **A**tomic **Ma**shup **Ge**nerator for the Web of Things\nA-MaGe is a mashup generator for the Web of Things designed to take advantage of the Atomic Mashup abstraction proposed by the [System Description](https://ieeexplore.ieee.org/abstract/document/9191677).\nSee the related paper **A-MaGe: Atomic Mashup Generation for the Web of Things**\n\n```\n@inproceedings{amage:2021,    \n    author           = {Ege Korkan and Fady Salama and Sebastian Kaebisch and Sebastian Steinhorst},\n    title            = {A-MaGe: Atomic Mashup Generator for the Web of Things},\n    booktitle        = {2021 International Conference on Web Engineering (ICWE)},\n    location         = {Biarritz, France},\n    year             = {in press}\n}\n\n```\n![demonstration](demonstration.gif)\n\n---\n### Prerequisites\nFor NLP:  \nLatest version of [Python](https://www.python.org/) and the following packages\n1. [gensim](https://radimrehurek.com/gensim/)\n2. [Flask](https://flask.palletsprojects.com/en/1.1.x/)\n3. [Flask-RESTful](https://flask-restful.readthedocs.io/en/latest/)\n\n---\n To run the NLP-Sever, run the Python script `./NLP/word2vec-api.py`\n\n---\n\n## Errors and Known Problems\n\n- If you already downloaded the W-ADE repository earlier and have problems with either installing the node dependencies or building the application. Delete the node_modules folder and install/ build the application again.\n\n- \n  ```\n  cd wade \n  rm -r -f node_modules\n  yarn install \n  yarn run electron:build\n  ```\n\n- [Install node-aead-crypto to avoid failing dev build and build](https://github.com/tum-esi/wade/issues/9),\n   because coap-binding seems to need it might be necessary (it isn't installed\n   with current node version because it shouldn't be needed anymore). To solve this, a script was added to comment out the part that caused the failure, as it is not needed for Node.js version \u003e= 10. If issue persists, please check if lines 52-55 in `./node_modules/node-dtls-client/build/lib/AEADCrypto.js` are commented out.\n\n- If the W-ADE builds but shows a white screen, it is probably an issue caused by [vm2](https://github.com/patriksimek/vm2) that is used by node-wot servient. The postinstall script comments the problematic parts out but if the issue persists, please check first that lines 3, 15-68 in `./node_modules/@node-wot/core/dist/servient.js` are commented out.\n\n- The [*Shadow Thing*](https://github.com/tum-esi/shadow-thing) package needs to be installed locally (not just a symlink in ./node_modules/) in order to work in the production build, and it has to be installed manually anyway if you want to make **Virtual Thing** work in WADE. The reason therefore is, that automatic installation of shadow thing fails under windows and so would the installation of WADE if Shadow Thing was added to the package.json.\n\n- Vuex version 3.1.2 leads to build problems -\u003e [Issue 10](https://github.com/tum-esi/wade/issues/10)\n\n---\n## Adding or Working on Issues\n\n### Adding Issues\nWhen adding a new issue, please...\n1) Use the following **title style**:\n\n    ```\n    [\u003cTopic\u003e] \u003cshort description of issue\u003e\n    ```\n    E.g.: [Sidebar] Improve UX of sidebar\n\n2) Add a **priority label** to indicate the importance of the issue.   \n\n    Existing priority labels are: \n      - prio-low\n      - prio-mid\n      - prio-high.\n\n3) Add a label indicating the **type** of the issue.   \n\n    Existing type labels are: \n    - Bug\n    - Enhancement (A new feature or functionality)\n    - Improvement (Improvement of existing features/ functionality)\n\n4) Add it to an **Overview-Ticket** (that fits best)  \n    Existing overview-tickets are: \n    - [[Sidebar]](https://github.com/tum-esi/wade/issues/57)\n    - [[[Benchmarking / Timing Performance] Overview Ticket]](https://github.com/tum-esi/wade/issues/61)\n    - [[General]](https://github.com/tum-esi/wade/issues/56)\n    - [[UI]](https://github.com/tum-esi/wade/issues/54)\n    - [[Thing Description Interface]](https://github.com/tum-esi/wade/issues/52)\n    - [[Virtual Thing Plugin]](https://github.com/tum-esi/wade/issues/51)\n\n\n### Working on Issues\n\nWhen you want to work on an issue, please ... \n\n1) Assign issue to yourself: So that multiple persons aren't working on the same issue.\n\n2) Create a new branch, and use the following naming convention:   \n    ```\n    \u003ctype-of-issue\u003e-\u003ctopic\u003e-\u003cshort-description\u003e\n    ```\n    _type-of-issue_ refers to this:   \n    E.g. _bugfix-sidebar-click-error_ or _improvement-ui-better-zooming_\n\n3) Link the according issue in the pull request: When finishing the issue and when creating a pull-request to master, link the issue. The person who merges the pull-request to master can then close the issue.\n\n4) Closed issue also needs to be striked-through on the according overview-issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftum-esi%2Fwade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftum-esi%2Fwade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftum-esi%2Fwade/lists"}