Skip to content

System design file format #16

@isamu-takagi

Description

@isamu-takagi

To make configuration more reusable and consistent, I would like to discuss the following suggestions:

Sections

Divide the config file into three main sections (+ others)

  • interface section
  • launch section
  • process section

Interface section: This section covers the public interfaces common to nodes, modules, (and system).
Lists the external interfaces, whether they are implemented by nodes or modules. It consists of the following fields:

  • topic-subscriptions (replaces node.input, module.external_interfaces.input)
  • topic-publishers (replaces node.output, module.external_interfaces.output)
  • service-servers (replaces node.input, module.external_interfaces.input)
  • service-clients (replaces node.output, module.external_interfaces.output)
  • parameter-values (replaces node.parameters, module.external_interfaces.parameters)
  • parameter-files (replaces node.parameter-files)
  • design-arguments (replaces system.modes, system.variables)

Launch section:

  • instances (replaces node.launch, module.instances, system.components)
    • executable (<node>)
    • plugin (<composable_node>)
    • module (<include>)
    • command (<command>)
  • connections
    • topics
    • services

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions