Application of Architectural Patterns and Lightweight Formal Method for the Validation and Verification of Safety Critical Systems

Abstract

This thesis researches the role of software architectural patterns and lightweight formal methods in safety-critical software development. We present a framework that relates the different activities and products from system engineering, safety engineering, system and software requirements, and software architecture explicitly, and demonstrate the proposed framework with a case study involving the architectural design of the software to control the arming device of a fictitious Surface-to-Air Missile. We describe the safety engineering steps for the identification of the system hazards and the critical functions that the software has to provide to avoid premature detonation, resulting in four safety requirements for the software that controls the missile's Electronic Safe Arm Device (ESAD). We formalize the software safety requirements as statechart assertions and validate their correctness via JUnit test. We develop a software architecture for the control software using the Safety Executive pattern, and implement the design in C++ to support a simple time-step simulation to produce the required log files for the automated verification of the design.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 2013
Accession Number
ADA589845

Entities

People

  • Vasileios Karagiannakis

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Energy and Power Technologies
  • Ground and Sea Platforms
  • Human Systems
  • Materials and Manufacturing Processes
  • Weapons Technologies

DTIC Thesaurus Topics

  • Arming Devices
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Control Systems
  • Engineers
  • Explosives
  • Failure Mode And Effect Analysis
  • Operating Systems
  • Reasoning
  • Safety
  • Safety Analysis
  • Safety Engineering
  • Software Design
  • Software Development
  • Systems Engineering

Fields of Study

  • Computer science
  • Engineering

Readers

  • Munitions and Ordnance Engineering
  • Software Engineering.

Technology Areas

  • Microelectronics