Automatic Synthesis of Information Flow Driven Execution Managers for Embedded Software Applications
Nikita A. Visnevski, Teresa Hübscher-Younger, Akshay Rajhans, Baoluo Meng · 2020
This paper presents an approach to simplifying embedded application development process by means of automatic synthesis of portions of application code concerned with information and execution flow management. In this preliminary study, we adopt a simple information flow categorization model which captures characteristics of data periodicity and criticality. This model is then used to define a formal specification of the interface of an embedded application. We show that, given such a specification, it is possible to automatically synthesize an application execution manager state machine that links the core of the application with various contingency management routines. This partially relieves the burden placed on embedded application developers allowing them to focus on development of the application core as well as on definition of actions to be taken when critical information flows are disrupted. They no longer need to create and manage code that monitors the information flows and implements logic for interrupting the execution of the core and invoking contingency management. This aspect would be automatically generated for them based on the design specification. Such automation offers a number of potential benefits to development productivity, cost reduction, software quality, validation, verification, and certification.