https://github.com/me-msc/swarml
UAV swarm task description language with AI policies enhancement
https://github.com/me-msc/swarml
domain-specific-language markov-decision-process multi-agent-system unmanned-aerial-vehicle
Last synced: about 2 months ago
JSON representation
UAV swarm task description language with AI policies enhancement
- Host: GitHub
- URL: https://github.com/me-msc/swarml
- Owner: ME-Msc
- License: gpl-3.0
- Created: 2023-12-21T02:15:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-20T03:38:28.000Z (6 months ago)
- Last Synced: 2025-03-10T20:39:10.323Z (3 months ago)
- Topics: domain-specific-language, markov-decision-process, multi-agent-system, unmanned-aerial-vehicle
- Homepage: https://github.com/ME-Msc/SwarmL-Interpreter
- Size: 257 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SwarmL
[简体中文](README.zh-CN.md)
UAV swarm task description language with AI policies enhancement
## Design Principles
The swarm mission of unmanned aerial vehicles (UAVs) can be divided into three layers:
- The **Task** layer, responsible for coordinating and scheduling multiple UAVs for collaboration and information exchange.
- The **Behavior** layer, describing the action sequences of individual UAVs.
- The **Action** layer, which describes the execution process of an atomic action of a UAV. This process is controlled by rule-based or neural network-based syntax.## Lexcial Conventions
A program consists of one or more translation units stored in a file. The program is reduced to a sequence of tokens.
### Tokens
- Identifiers
- Keywords
- Constants
- Operators### Identifiers
Identifiers begin with a letter or underscore and consist of letters, digits, or underscores. They are case-sensitive. Identifiers can represent various entities such as variables, task names, behavior names, action names, message names, agent types, etc.
### Keywords
- platform, import, Task, Behavior, Action, Agent, Main
- @init, @goal, @routine
- POST, GET, DEGET, MODIFY
- each, order
- if, else, return### Constants
- Integer Constants, also known as decimal integers.
- Floating Constants, consisting of an integer part, a decimal point, and a fractional part.
- String Constants, a sequence of characters surrounded by double quotation quotes, such as `"Hello, swarm."`### Operators
- `+ - * / % = == != > >= < <= || [ ] { } ~ ' "`
## Grammar
[EBNF](EBNF.ebnf)
## Examples
To make examples in VSCode highlight as shown in the image, follow these steps:
- install plug-in [**Highlight**](https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-highlight)
- modify the setting.json of your vscode as [vscode-setting.json](./vscode-settings.json)