DEV Community

Philip Braham
Philip Braham

Posted on

Teaching programming

UMM (Universal Message Manager) was originally designed for control systems. When we released the finished version we realised that we had something that was extremely powerful and had uses way beyond those we originally envisaged. One use that became apparent was as an aid in teaching programming and system design.

UMM systems are built around small applications (agents) that perform tasks. These may be very simple (such as turning on or off a pump) or quite complicated (such as looking up data in database). Agents are triggered on receiving messages, they perform a function, and then (usually) send messages.

Students as a group can design a full system, design the agents and the messages that need to be sent and received by each one, then groups of students or individuals build each agent according to the specifications. Each agent can be tested stand-alone simply by sending the designated messages and monitoring the behaviour and the messages being returned. The agents are then integrated into a running system.

In the system as supplied we have two examples: a tank monitoring system and more complex parcel sorting machine that show working UMM designed systems.

The basic system is written in Python but agents can be written in any language.

UMM is free for educational use.

Visit our website for more information.

Top comments (0)