St. Jude Medical: An Object-Oriented Software Architecture for Embedded and Real-Time Medical Devices