Automatic Co-Synthesis of Hardware and Software Safety Monitors for Embedded Systems

dc.contributor.authorRezvani, Behnazen
dc.contributor.committeechairPatterson, Cameron D.en
dc.contributor.committeememberRavindran, Binoyen
dc.contributor.committeememberNazhandali, Leylaen
dc.contributor.committeememberChantem, Thidapaten
dc.contributor.committeememberFarhood, Mazen H.en
dc.contributor.departmentElectrical and Computer Engineeringen
dc.date.accessioned2024-09-20T08:00:30Zen
dc.date.available2024-09-20T08:00:30Zen
dc.date.issued2024-09-19en
dc.description.abstractEmbedded systems have become pervasive and increasingly complex, especially in modern applications such as self-driving vehicles, where safety requires both accurate functionality and real-time guarantees. However, the complexity and the integration of artificial intelligence and machine learning algorithms in autonomous systems challenge conventional test-based verification methods. Given the continuous evolution and deployment of these systems, verification must keep pace to ensure their reliability and safety. Runtime verification is a promising approach for validating system behaviors during execution using monitors derived from formal system specifications. The adoption of runtime monitoring has historically been limited to experts, primarily due to the esoteric formal notations and verification processes. To overcome this barrier, this dissertation presents GROOT, a novel methodology and framework designed to automate synthesis of hardware and/or software monitors from pseudo- English statements. The automatic steps include translating English properties to formalisms, converting the formalisms into monitor automata, and formally verifying the monitors. GROOT addresses the distinction between functional and timing requirements inherent in real-time embedded systems by providing distinct pseudo-English languages and synthesis flows. This dual approach allows customized verification processes for each category. To make the monitor structure simple, monitor inputs and responses are handled in separate external modules, allowing formal analysis methods to be used. The synthesized monitors can assist system development and be retained in fielded systems. Their lightweight nature enables the deployment of multiple monitors, each focusing on specific circumstances independently and concurrently. Monitor implementations can range from sequential software to parallel hardware, allowing for flexibility in meeting various system constraints. By eliminating the need for manual code generation and verification, GROOT allows practitioners to synthesize monitors without requiring a formal methods background.en
dc.description.abstractgeneralAn embedded system is a computer system that is embedded into a device to perform specific tasks. These systems are designed to function within the device they are built into and are often found in everyday technologies such as cars, household appliances and medical devices. They are programmed to carry out particular functions or operations automatically, without needing human intervention. These systems rely on precise timing and flawless functionality to operate safely and efficiently. However, ensuring that they work as intended, especially as they grow more complex and interconnected, presents significant hurdles. Traditional methods of verifying embedded systems rely on manual testing, which can be time-consuming and prone to errors. To address this issue, this dissertation introduces GROOT, a novel methodology and framework designed to automate the process of monitoring these systems in real-time. GROOT simplifies this complex task by automatically generating monitors from simple English statements. These monitors act as vigilant watchdogs, continuously checking whether the system behaves as intended and responds appropriately to its environment. This automation makes the verification process more efficient and less error-prone. This framework handles both functional requirements (ensuring the system performs its intended tasks) and timing requirements (ensuring tasks are completed within specific time frames). GROOT also offers flexibility in how monitors are implemented, allowing them to be tailored to specific hardware or software configurations. This flexibility allows GROOT's monitors to adapt to various applications, from small-scale prototypes to large-scale deployments.en
dc.description.degreeDoctor of Philosophyen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:41407en
dc.identifier.urihttps://hdl.handle.net/10919/121169en
dc.language.isoenen
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectRuntime verificationen
dc.subjectMonitoren
dc.subjectFunctional requirementsen
dc.subjectTiming requirementsen
dc.subjectReal-time embedded systems.en
dc.titleAutomatic Co-Synthesis of Hardware and Software Safety Monitors for Embedded Systemsen
dc.typeDissertationen
thesis.degree.disciplineComputer Engineeringen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.leveldoctoralen
thesis.degree.nameDoctor of Philosophyen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Rezvani_B_D_2024.pdf
Size:
6.83 MB
Format:
Adobe Portable Document Format