ros-modex

A model extraction and analysis tool for ROS systems


Keywords
ros, variability, model, extraction, feature, models, architecture-modeling, model-extraction, reverse-engineering, roslaunch, static-analysis, variability-analysis, variability-management
License
MIT
Install
pip install ros-modex==0.0.0

Documentation

ROS Model Extractor (WIP)

This project provides a model extraction tool for ROS Launch applications. It should be able to read launch files, interpret them, and build a model of the expected architecture of the ROS system at runtime.

Package Structure

It provides a src directory, under which your own packages sit. Example files for __init__.py, __main__.py and cli.py are already provided.

Tests are placed under the tests directory, and documentation under the docs directory.

To start your new project, you should change its name, URL and metadata details at:

  1. README.md
  2. CHANGELOG.md
  3. setup.py
  4. tests/*.py
  5. src/*

Tooling

This package sets up various tox environments for static checks, testing, building and publishing. It is also configured with pre-commit hooks to perform static checks and automatic formatting.

If you do not use tox, you can build the package with build and install a development version with pip.

Assume cd into the repository's root.

To install the pre-commit hooks:

pre-commit install

To run type checking:

tox -e typecheck

To run linting tools:

tox -e lint

To run automatic formatting:

tox -e format

To run tests:

tox

To build the package:

tox -e build

To build the package (with build):

python -m build

To clean the previous build files:

tox -e clean

To test package publication (publish to Test PyPI):

tox -e publish

To publish the package to PyPI:

tox -e publish -- --repository pypi

To install an editable version:

pip install -e .