Extending a User Interface Prototyping Tool with Automatic MISRA C Code Generation

We are concerned with systems, particularly safety-critical systems, that involve interaction between users and devices, such as the user interface of medical devices. We therefore developed a MISRA C code generator for formal models expressed in the PVSio-web prototyping toolkit. PVSio-web allows developers to rapidly generate realistic interactive prototypes for verifying usability and safety requirements in human-machine interfaces. The visual appearance of the prototypes is based on a picture of a physical device, and the behaviour of the prototype is defined by an executable formal model. Our approach transforms the PVSio-web prototyping tool into a model-based engineering toolkit that, starting from a formally verified user interface design model, will produce MISRA C code that can be compiled and linked into a final product. An initial validation of our tool is presented for the data entry system of an actual medical device.

[1]  Rainer Otterbach,et al.  Development of Safety-Critical Software Using Automatic Code Generation , 2004 .

[2]  Harold W. Thimbleby,et al.  Combining PVSio with Stateflow , 2014, NASA Formal Methods.

[3]  Cinzia Bernardeschi,et al.  Early Prototyping of Wireless Sensor Network Algorithms in PVS , 2008, SAFECOMP.

[4]  Judy Bowen,et al.  Modelling user manuals of modal medical devices and learning from the experience , 2012, EICS '12.

[5]  Harold W. Thimbleby,et al.  PVSio-web: a tool for rapid prototyping device user interfaces in PVS , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[6]  Paul Curzon,et al.  PVSio-web 2.0: Joining PVS to Human-Computer Interaction , 2015, International Conference on Computer Aided Verification.

[7]  Paul Curzon,et al.  Using PVSio-web and SAPERE for rapid prototyping of user interfaces in Integrated Clinical Environments , 2015 .

[8]  Peter Gorm Larsen,et al.  Validated Designs for Object-oriented Systems , 2004 .

[9]  Mirko Conrad,et al.  Safety-Critical Software Development Using Automatic Production Code Generation , 2007 .

[10]  Annika Hinze,et al.  Supporting Mobile Application Development with Model-Driven Emulation , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[11]  F E O'Neill,et al.  USE OF THE C LANGUAGE IN VEHICLE BASED SOFTWARE , 1998 .

[12]  Michael D. Harrison,et al.  Reusing models and properties in the analysis of similar interactive devices , 2013, Innovations in Systems and Software Engineering.

[13]  Marcel Urner Formal Hardware Verification Methods And Systems In Comparison , 2016 .

[14]  Insup Lee,et al.  Safety-critical medical device development using the UPP2SF model translation tool , 2014, ACM Trans. Embed. Comput. Syst..

[15]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[16]  Fabio Paternò,et al.  MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments , 2009, TCHI.

[17]  Michael D. Harrison,et al.  Modelling information resources and their salience in medical device design , 2016, EICS.

[18]  Judy Bowen,et al.  Formal Models for Informal GUI Designs , 2007, FMIS@ICFEM.

[19]  Ayan Banerjee,et al.  Model based code generation for medical cyber physical systems , 2014, MMA '14.

[20]  Andrea Domenici,et al.  Unexcitability analysis of SEus affecting the routing structure of SRAM-based FPGAs , 2013, ACM Great Lakes Symposium on VLSI.

[21]  César A. Muñoz,et al.  Rapid Prototyping in PVS , 2013 .

[22]  Mandayam K. Srivas,et al.  Hardware Verification Using PVS , 1997, Formal Hardware Verification.

[23]  James D. Foley,et al.  History, Results, and Bibliography of the User Interface Design Environment (UIDE), an Early Model-based System for User Interface Design and Implementation , 1994, DSV-IS.

[24]  Guiran Chang,et al.  Developing Mobile Applications on the Android Platform , 2008, WMMP.

[25]  Kishori Sharan Java Native Interface , 2014 .

[26]  Insup Lee,et al.  Verification of interactive software for medical devices: PCA infusion pumps and FDA regulation as an example , 2013, EICS '13.

[27]  Harold W. Thimbleby,et al.  Using PVSio-web to Demonstrate Software Issues in Medical User Interfaces , 2014, FHIES/SEHC.

[28]  Judy Bowen,et al.  Design Patterns for Models of Interactive Systems , 2015, 2015 24th Australasian Software Engineering Conference.

[29]  Michael D. Harrison,et al.  Model Checking Interactor Specifications , 2001, Automated Software Engineering.

[30]  Yi Zhang,et al.  PVSio-web 2.0: Joining PVS to HCI , 2015, CAV.