Developing Medical Devices from Abstract State Machines to Embedded Systems: A Smart Pill Box Case Study

The development of medical devices is a safety-critical process, because a failure or a malfunction of the device can cause serious injuries to the patients whom use it. The application of a rigorous process for their development reduces the risk of failures since validation and verification activities can be performed in a objective, reproducible, and documentable manner. In this paper we present an approach based on the Abstract State Machine (ASM) formal method. Starting from the model, validation and verification (V&V) techniques can be applied. Furthermore, by step-wise refinement, a final model can be obtained, which can be automatically translated to Open image in new window code. The process is applied to the smart pill box case study. Starting from the ASM model, we generate Open image in new window code for the Arduino platform after the application of V&V activities. Furthermore, we introduce regulation (IEC62304) and guidelines (FDA General Principles of Software Validation) that support the developer in medical software development. In particular, we explain how ASMs formal process can be compliant with them.

[1]  Paolo Arcaini,et al.  A model‐driven process for engineering a toolset for a formal method , 2011, Softw. Pract. Exp..

[2]  Paolo Arcaini,et al.  SMT-Based Automatic Proof of ASM Model Refinement , 2016, SEFM.

[3]  Colin F. Snook,et al.  UML-B: Formal modeling and design aided by UML , 2006, TSEM.

[4]  Chi-Sheng Shih,et al.  Smart Medication Dispenser: Design, Architecture and Implementation , 2011, IEEE Systems Journal.

[5]  Angelo Gargantini,et al.  Asm2C++: A Tool for Code Generation from Abstract State Machines to Arduino , 2017, NFM.

[6]  Nicholas A Ikhu-Omoregbe Formal modelling and design of mobile prescription applications , 2008 .

[7]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[8]  Atif Mashkoor,et al.  Towards the Trustworthy Development of Active Medical Devices: A Hemodialysis Case Study , 2016, IEEE Embedded Systems Letters.

[9]  Paolo Arcaini,et al.  Integrating formal methods into medical software development: The ASM approach , 2017, Sci. Comput. Program..

[10]  Richard A. Kemmerer,et al.  Testing Formal Specifications to Detect Design Errors , 1985, IEEE Transactions on Software Engineering.

[11]  Angelo Gargantini,et al.  A systematic literature review of the use of formal methods in medical software systems , 2018, J. Softw. Evol. Process..

[12]  Hong-Yi Chang,et al.  The intelligent pill box — Design and implementation , 2014, 2014 IEEE International Conference on Consumer Electronics - Taiwan.

[13]  Angelo Gargantini,et al.  A Scenario-Based Validation Language for ASMs , 2008, ABZ.

[14]  Marie T. Brown,et al.  Medication adherence: WHO cares? , 2011, Mayo Clinic proceedings.

[15]  Peter Jordan,et al.  Standard IEC 62304 - Medical Device Software - Software Lifecycle Processes , 2007 .

[16]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .