Are there any best practices about modeling cases where there are a lot of 1-to-many functional exchanges?
I’m modelling a system which, in practice, uses ROS (Robotic Operating System) to communicate between modular code elements. ROS uses a publisher-server-subscriber model to transfer data between tasks. I.e. one “function” publishes a topic with a defined message type periodically, and other functions may subscribe to that message. In PA, it makes sense to model the ROS server explicitly and have it host a bunch of Duplicate functions.
However, I’m wondering if there’s a best way to model it in LA without assuming a solution that involves this Pub/Sub architecture; i.e. there is no “Server” logical component. Some options are:
- Generating function has 1 function port with exchanges from that port to each consuming function
- Generating function has 1 function port and associated exchange for each consumer
- Generating function has a functional exchange to a sister Duplicate function (which is allocated to the same logical component
a. duplicate function uses a 1-port distribution
b. duplicate function uses a multi-port distribution - other?