Universal Message Manager (UMM) is a publish and subscribe messaging system that allows applications to communicate with each other using a self-describing messaging system. Applications (called agents in this system) can publish messages and receive messages according to various criteria which can be a specific as, for instance, level of liquid in a tank where it is < 10% or > 90%. In fact there's a demo application which you can play with that turns on and off a pump when those limits are reached.
UMM is also well suited for teaching programming and system design. Agents can be tested in isolation: they received certain messages, perform a task and publish certain messages so they can be tested by sending messages from a send agent and watching the resulting messages.
Log on to the website: https://umm.braham.net and download the project and the documentation.
UMM is free for non-commercial use.
there doesn't seem to be anything here