Domain Specific Language of Multi-Agent System Based on both Rules and Neural Networks
The cluster 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.
A program consists of one or more translation units stored in a file. The program is reduced to a sequence of tokens.
- Identifiers
- Keywords
- Constants
- Operators
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 topics, agent types, etc.
- Task, Behavior, Action
- @subtask, @behavior, @action
- @uavTypes, @topic, @init, @goal, @routine
- publish, subscribe, request, from, to
- each, order
- if, else, return
- Agent
- 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."
To make examples in VSCode highlight as shown in the image, follow these steps:
- install plug-in Highlight
- modify the setting.json of your vscode as vscode-setting.json