  We describe the Pan-STARRS Moving Object Processing System (MOPS), a modern
software package that produces automatic asteroid discoveries and
identifications from catalogs of transient detections from next-generation
astronomical survey telescopes. MOPS achieves > 99.5% efficiency in producing
orbits from a synthetic but realistic population of asteroids whose
measurements were simulated for a Pan-STARRS4-class telescope. Additionally,
using a non-physical grid population, we demonstrate that MOPS can detect
populations of currently unknown objects such as interstellar asteroids.
  MOPS has been adapted successfully to the prototype Pan-STARRS1 telescope
despite differences in expected false detection rates, fill-factor loss and
relatively sparse observing cadence compared to a hypothetical Pan-STARRS4
telescope and survey. MOPS remains >99.5% efficient at detecting objects on a
single night but drops to 80% efficiency at producing orbits for objects
detected on multiple nights. This loss is primarily due to configurable MOPS
processing limits that are not yet tuned for the Pan-STARRS1 mission.
  The core MOPS software package is the product of more than 15 person-years of
software development and incorporates countless additional years of effort in
third-party software to perform lower-level functions such as spatial searching
or orbit determination. We describe the high-level design of MOPS and essential
subcomponents, the suitability of MOPS for other survey programs, and suggest a
road map for future MOPS development.
