Some JMRI users have implemented sophisticated capabilities using the JMRI jython scripting facilities. These are much more than the relatively simple examples presented on the Scripting Examples page. The developers have provided more documentation for these "apps" (available in the "scripthelp" directory. In fact, the distinguishing feature of apps listed here versus examples listed on the Examples page is that the developers have provided that additional documentation!
YetAnotherAutoTrain.py (YAAT) provides the ability to define train actions using text files instead of writing Jython code. The text files contain English like phrases, such as "Set speed to .5" or "Wait for 10 seconds".
Dispatcher System aims to simplify the setup of JMRI DispatcherPro, automatically creating everything (signal logic, sections, transits and train info files) required to run trains using Dispatcher.
It allows you to run trains between stations, by clicking provided station buttons, or by using routes. The routes can be scheduled, and the schedules displayed on timetables.