Quote from their website:
The JMRI project is building tools for model railroad computer control. We want it to be usable to as many people as possible, so we're building it in Java to run anywhere, and we're trying to make it independent of specific hardware systems. JMRI is intended as a jumping-off point for hobbyists who want to control their layouts with a computer without having to create an entire system from scratch.
You can manage your locomotive rosters and easily program your decoders using DecoderPro®.
You can build control panels and control your layout using PanelPro™ to set up signaling and other functions. OperationsPro™ lets you create manifests that route cars across your railroad from shipper to receiver, and provide train crews with operating instructions.