MRRM combines the features of automatic traffic generation with layout control and automation. Thus information about a given Train and its manifest can be combined with real time tracking of a train on a panel, for example. This integration offers enhanced operating sessions as well as new capabilities when running trains in 'museum' mode or when dispatching remotely or running trains remotely.
The software architecture of MRRM is shown in the following block diagram. We have written several software modules that are installed into the JMRI release we provide. These modules include:
- a Java feedback queue manager that collects layout activity and bulk forwards it to MRRM on demand
- several listener jython scripts based on your MRRM inventory of BODs, Signals, Turnouts and Transponders. The listeners forward messages to the feedback queue
- a collection of Java Servlets which command power, turnouts, and signals based on MRRM activity and which poll the feedback queue to return its contents to MRRM for database management and panel updates.
- an alternate Java Signal Rules manager for single mainline operations
- a collection of train run jython scripts based on your specifications are also generated by MRRM and executed by JMRI. These scripts are aware of turnouts and signals. When run in conjunction with a dispatcher, these scripts obey the signals and do not automatically change turnout aspects to meet their needs. However, without a dispatcher, these scripts will run supreme!
The next figure show the current implementation on Tom's layout.