xMsg represents many-to-many communication model
xMsg creates an environment where various information producers and consumers can communicate all at the same time. Each piece of information can be delivered to various consumers concurrently, while each consumer can receive information from different producers.
Space decoupling
xMsg actors, i.e. information producers and consumers do not need to know each other. Message addressing is based on the message topic. Information is published to a topic or named logical channel. Consumers will receive all messages published to the topic to which they subscribe, and all subscribers to a topic will receive the same message. The producer is responsible for defining classes of message topics to which consumers can subscribe.
Time decoupling
xMsg actors do not have to be actively participating in the information handling at the same time. Information delivery is mediated through the xMsg proxy. Even though synchronization among information processing actors in most cases is not required, xMsg presents synchronized communication channels as well.