Skip to content

agent-based-information-flow-simulation/agents-assembly-translator

Repository files navigation

Agents Assembly Translator

Table of Contents

About

A target agnostic translator for Agents Assembly. The translator can be tested live on Agents Assembly website. It is a part of the Agents Assembly ecosystem. Other applications are:

Agents Assembly

Documentation of Agents Assembly can be read here.

Getting Started

Prerequisites

Python 3.10

Installation

The translator package can be installed by running:

pip install aasm

Alternatively, you can download this repository. No additional dependencies are required.

Usage

You can run the translator as a package. To translate agent.aasm to SPADE, run:

python -m aasm.translate agent.aasm

For more usage information, run:

python -m aasm.translate --help

Structure

  • generating
    • code.py - generated code
    • python_code.py - Python code base class
    • python_graph.py - Python graph code generation from the intermediate representation
    • python_spade.py - SPADE agent code generation from the intermediate representation
  • intermediate
    • action.py
    • agent.py
    • argument.py - arguments used in instructions
    • behaviour.py
    • block.py - block of code representation
    • declaration.py - declarations used in actions
    • graph.py
    • instruction.py - instructions used in actions
    • message.py
  • parsing
    • parse.py - parsing environment from Agents Assembly file
    • op/ - Agents Assembly operations
    • state.py - state definition used for the parsing process
  • preprocessor
    • constants.py - constants used in the preprocessor
    • macro.py - macro definitions used in the preprocessor
    • preprocessor_item.py - preprocessor base item
    • preprocessor.py
  • utils
    • exception.py
    • validation.py
    • iteration.py
  • translate.py - entrypoint

Contributing

Please follow the contributing guide if you wish to contribute to the project.