JMRI® is...

Tools
  JMRI provides powerful tools for working with your layout.
Layout Automation
  Use JMRI to automate parts of your layout, from simply controlling a crossing gate to running trains in the background.
Supported Hardware
  JMRI supports a wide range of DCC systems, command stations and protocols.
Installing JMRI
  JMRI can be installed on a variety of hardware and operating systems.