Skip to content

Architecture Interface

Chase edited this page Aug 12, 2020 · 2 revisions

The architecture and current set-up while using the Benchmark can be checked by considering the different interface.yml scripts and determining whether or not you have a continuous workflow. Here are some dependencies you will need to use this feature:

  1. graphviz Package (for Ubuntu 18.04) sudo apt-get install graphviz
  2. graphviz Python Library: python3.8 -m pip install graphviz

Note that right now, all entries in your .yml file need to be populated for architecture.py to work. See: Issue #9

For a general reference on interface.yml, what you need to include in your interface are:

  • requirements - This is what your module needs from other modules
    • module - List all modules that your module references
    • property - List all specific properties from other modules that your module needs
    • function - List of all functions from other modules that your module needs
    • property_dependency - specifies the dependencies between two properties (For example, a cartesian_goal may require a cartesian_state)
  • public - A list of available attributes that your module provides publicly
    • property - List of all properties that your modules provides publicly
    • function - List of all functions that your modules provide publicly

A good example interface is: https://github.com/intelligent-control-lab/Benchmark/blob/master/controller/interface.yml

Clone this wiki locally