CMGTec services in

Safety-Critical Systems


Our services and skills in Safety-Critical Systems can be found below, following the overview of this field.

Safety-Critical Systems (SCS)


SCS refers to systems whose failure could result in loss of life, significant infrastructure damage or damage to the environment. Examples of SCS include air flight control, autonomous systems (terrestrial, aerial, or maritime drones) nuclear systems, railway control systems, industrial Internet of Things, and medical devices to name a few.

Air traffic control

Autonomous systems such as terrestrial, aerial, or maritime drones

Nuclear protection systems

Industrial Internet of Things

Medical systems

Modern SCS, such as autonomous vehicles (drones), involve a variety of disciplines including artificial intelligence, safety systems, cloud computing, energy efficiency, cybersecurity, computer vision, and robotics.

Key aspects for the development of SCS systems (in addition to the stages shown in the figure "Developing safety-critical systems") include: (1) the implementation of process engineering and management so as to tightly control the development process in order to ensure the safety integrity requirements of the system under development; (2) selection of appropriate tools and environment for the development team to effectively test the system through emulation; and (3) addressing any legal and regulatory requirements as specified by safety and other standards.

By setting a standard under which a system must be developed, designers are guided yet forced to comply to the requirements therein specified. There are various safety standards which are used by different industries. The safety standard DO-178 is used in the avionics industry, ISO 26262 in the automotive, IEC 62304 in the medical, and IEC 61513 in the nuclear one. The IEC 61508 is a general-purpose safety standard.

The approach to applying a standard is to carefully code, inspect, document, test, verify and analyse the system. As the system needs to be certified, software is generated from specifications. Formal methods are used to generate proofs that are used to validate that the code meets the safety requirements.

The safety life-cycle follows a series of phases: initiation and specification of safety requirements, design and development of safety features of the safety-critical system, and decommissioning of the system.

The rigorous and careful application of safety standards improve the system quality through testing or through automating the development process, or both. This automation helps reduce the introduction of human errors, which are the most common cause of critical errors.

Key challenges for SCS development

  1. Time to market is resource and time consuming. Since SCS are required adherence to a region-specific regulatory framework, safety audits require presenting evidence of rigorous planning and documentation, i.e. a Design Technical File and a Quality Management System.

  2. The need for detailed formal specifications. In order to meet this challenge, communication and collaboration between development teams needs to be smooth and transparent. To comply with regulatory audits associated with system approval, detailed specifications have to be recorded, including any changes to previously agreed specifications as well as their approval. Teams have to work together to communicate any requirement dependencies, risks, and changes that affect other subsystems in order both to enable the effective integration of the subsystems and to mitigate any potential risks on the subsystems, the purpose being to ensure the effectiveness and safety of the entire system.

  3. A risk-driven approach to ensure that an SCS is safe to use. The regulatory framework requires the assessment and mitigation of all reasonably potential risks prior to deploying an SCS. A risk assessment includes the determination of hazards, risks, failure modes, and mitigations.

  4. Formal validation, verification and traceability. This involves establishing documented verification plans that outline the overall strategy and approach to the testing of the SCS. Test cases are required to be documented with pass/fail criteria and approved prior to the testing. Test results are typically also formally recorded, reviewed and signed off. Additionally, regulatory audits require full traceability of software development activities where checks are implemented to confirm that everything that has been specified was built and that everything that was built has also been appropriately verified.

Please see our experience in SCS which includes applications in the sectors of nuclear power plants, highways industry, and smart sensors.

Our services and skills in SCSs

Services

  • System Verification

    • Software Testing

    • Static Analysis

  • Statistical testing

  • Safety case development

  • Software development of the safety-related components of a system:

    • Software Requirements

    • Software Design

    • Software Coding/Programming

    • Software Testing

    • Software Deployment

    • Software Maintenance.

  • Test Cases Specification

  • Safety Management Project Planning

Skills

  • Safety standard/SHERE: IEC 61508.

  • Software and quality management standards: ISO 9000, TickIt, LRQA, High Integrity C++ standard.

  • Software Testing: dynamic and coverage testing (Cantata++), JUnit, Mutation Testing (Mujava, Protreum), Static code analysis (QAC++, CodeSurfer).

  • Knowledge and experience on both operating systems: Windows and Unix and their derivatives.

  • Real-time embedded systems: Vortex controller, PIC family MPLAB IDE, Motorola HCS12 family, Transputers, Z80, Motorola 68k. ACE (Adaptive Communication Environment) open-source object-oriented (C++).

  • Programming languages: C and C++ among others.