  Implantable and wearable medical devices (IWMDs) are widely used for the
monitoring and therapy of an increasing range of medical conditions.
Improvements in medical devices, enabled by advances in low-power processors,
more complex firmware, and wireless connectivity, have greatly improved
therapeutic outcomes and patients' quality-of-life. However, security attacks,
malfunctions and sometimes user errors have raised great concerns regarding the
safety of IWMDs. In this work, we present a HW/SW (Hardware/Software) framework
for improving the safety of IWMDs, wherein a set of safety rules and a rule
check mechanism are used to monitor both the extrinsic state (the patient's
physiological parameters sensed by the IWMD) and the internal state of the IWMD
(I/O activities of the microcontroller) to infer unsafe operations that may be
triggered by user errors, software bugs, or security attacks. We discuss how
this approach can be realized in the context of a artificial pancreas with
wireless connectivity and implement a prototype to demonstrate its
effectiveness in improving safety at modest overheads.
