A Software Defined Real-time Ultra-tightly Coupled (UTC) GNSS-INS Architecture