Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rclc] Executor for multi-threaded and non-POSIX operating systems (AUTOSAR) #340

Open
1 of 5 tasks
JanStaschulat opened this issue Mar 1, 2023 · 3 comments
Open
1 of 5 tasks
Assignees
Labels
enhancement New feature or request in progress Actively being worked on (Kanban column)

Comments

@JanStaschulat
Copy link
Contributor

JanStaschulat commented Mar 1, 2023

Extend rclc-Executor to support

  1. multi-threaded execution (1:1 correspondence of a subscription callback to a thread) using "Dispatcher Executor" concept.
  2. assignment of thread scheduling parameters (e.g. priority) to the thread, which processes a callback (e.g. subscription callback).
  3. non-POSIX operating systems, aka callback is not processed in a thread but in periodic task.

Tasks:

  • baseline branch
  • Executor prototype (only timer, subscription, limited functionality) for single-threaded, multi-threaded API
  • Executor prototype for non-POSIX OS API
  • Discussion and Feedback
  • Feature-complete rclc-Executor API (all other handles and API-functions)

current status: pull request rclc#339

@JanStaschulat JanStaschulat self-assigned this Mar 1, 2023
@JanStaschulat JanStaschulat added in progress Actively being worked on (Kanban column) enhancement New feature or request labels Mar 28, 2023
@Zard-C
Copy link
Contributor

Zard-C commented Oct 7, 2023

Hi Jan, this work has captured my keen interest, could you show some relevant discussions and information?

@JanStaschulat
Copy link
Contributor Author

JanStaschulat commented Oct 13, 2023

Hi @Zard-C , early this year I have been thinking about a better software archicture that would support single-threaded, multi-threaded and non-POSIX executor. Here are the slides about it:

2023-02-design-document-modular-micro-ROS-Executors.pdf

I don't have a written document about it unfortunately, but I think the slides represent the concept quite well. If you have questions/suggestions/remarks, please reach out on micro-ROS slack channel or via email (jan.staschulat@de.bosch.com).

@ros2 ros2 deleted a comment from tulpe1977 Oct 13, 2023
@Zard-C
Copy link
Contributor

Zard-C commented Oct 13, 2023

Hi @Zard-C , early this year I have been thinking about a better software archicture that would support single-threaded, multi-threaded and non-POSIX executor. Here are the slides about it:

2023-02-design-document-modular-micro-ROS-Executors.pdf

I don't have a written document about it unfortunately, but I think the slides represent the concept quite well. If you have questions/suggestions/remarks, please reach out on micro-ROS slack channel or via email (jan.staschulat@de.bosch.com).

Much appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request in progress Actively being worked on (Kanban column)
Projects
None yet
Development

No branches or pull requests

2 participants