Posts

Showing posts with the label NFR

Adaptive Cruise Control (ACC)

Image
Adaptive cruise control (ACC) is a type of Advanced Driver Assistance System (ADAS) that automatically adjusts the speed of a vehicle to maintain a safe distance from the vehicle in front of it. ACC systems use radar or lidar sensors to detect the speed and distance of other vehicles, and they use this information to adjust the speed of the vehicle accordingly. ACC systems use a variety of sensors to monitor the road and surrounding environment, including: Radar : Radar sensors are used to detect the distance and speed of other vehicles. Laser : Laser sensors are used to detect the distance and speed of other vehicles, as well as the shape and size of objects in the road. Camera : Cameras are used to detect the lane markings and the presence of other vehicles. ACC systems can be classified into two main types: Full-speed range :  Full-speed range ACC systems can operate at all speeds, from a standstill to the maximum speed of the vehicle. Partial-speed range:   ...

ADAS Warning Systems

Image
ADAS warning systems are a type of Advanced Driver Assistance System (ADAS) that warns the driver of potential hazards. These systems use sensors and cameras to monitor the road and surrounding environment, and they can alert the driver to potential hazards through visual, auditory, or haptic alerts. Some of the most common ADAS warning systems include: Lane departure warning (LDW): This system warns the driver if they are drifting out of their lane. Forward collision warning (FCW): This system warns the driver if they are approaching another vehicle too quickly. Blind spot monitoring (BSM): This system alerts the driver if there is a vehicle in their blind spot. Rear cross traffic alert (RCTA): This system alerts the driver if there is a vehicle crossing behind them when they are backing up. Pedestrian detection:   This system alerts the driver if there is a pedestrian in the path of the vehicle. Intersection assist:   This system warns the driver if they are about to enter ...

Checkpointing, A Temporal Redundancy method for Fault Tolerance

Image
Checkpointing is a technique used in embedded systems to improve reliability by saving the state of the system at regular intervals. This allows the system to be restored to the state of the checkpoint if a fault occurs. Checkpointing can be implemented in a variety of ways, but the basic idea is to save the state of all the relevant components in the system, including the processor registers, memory, and any other state information that is needed to restart the system. The checkpoint can be saved to a non-volatile storage device, such as a hard drive or flash memory. Checkpointing can be done using a variety of methods, such as: Periodic snapshots:  The system takes a snapshot of the entire memory state at regular intervals. Incremental snapshots:  The system only saves the changes to the memory state since the last checkpoint. Diff-based snapshots:  The system only saves the differences between the current memory state and the previous checkpoint. The frequency of chec...

Fault Tolerance Using Temporal redundancy

Image
Temporal redundancy is a fault-tolerance technique that rTemporal redundancy , with the results of each of the repetitions being compared to identify any faults. This can be used to detect and correct transient faults, which are faults that occur for a short period of time and then disappear. There are two main types of temporal redundancy: Checkpointing : This involves periodically saving the state of a task, and then restarting the task from the checkpoint if a fault is detected. Rollback recovery:  This involves saving the state of a task at regular intervals, and then rolling back the task to the previous checkpoint if a fault is detected. Temporal redundancy can be used to improve the reliability of a variety of systems, including: Real-time systems:  These systems must operate within strict time constraints, and temporal redundancy can be used to ensure that the system continues to operate even if a fault occurs. Safety-critical systems:  These systems are used...

N-version programming (NVP) For Enhancing Fault Tolerance

Image
N-version programming (NVP) is a software fault-tolerance technique in which multiple functionally equivalent versions of a program are independently developed from the same software specification. The different versions are then run concurrently, and the output of the majority of the versions is used to determine the correct output. NVP is based on the principle that the probability of two or more independently developed versions of a program containing the same fault is very low. This is because different programmers are likely to make different mistakes, and the chances of them making the same mistake are very small. NVP can be a very effective way to improve the reliability of software systems. However, it is important to note that NVP does not guarantee reliability. For example, if all of the versions of the program contain the same fault, then the NVP technique will not be able to detect the fault. Here are some of the benefits of using N-version programming: Increased reliabilit...

Fault tolerant Embedded Systems

Image
  Functional safety is the ability of an embedded system to perform its required functions under all expected conditions, including the occurrence of faults. Fault tolerant methodologies are techniques that can be used to improve the functional safety of an embedded system. Some common fault tolerant methodologies include: Hardware redundancy:  This involves using multiple copies of hardware components, so that if one fails, the others can continue to operate. Software redundancy:  This involves using multiple copies of software, so that if one fails, the others can continue to operate. Error correction codes:  These are codes that can be used to detect and correct errors in data. Time redundancy:  This involves using multiple time steps to perform a task, so that if one time step fails, the others can continue to operate. Fail-safe design:  This involves designing the system so that if a failure does occur, it will not cause a safety hazard. Recovery :...

Non-functional Requirements

Image
  Non-functional requirements for a hard real-time safe fault tolerant system are those that do not directly affect the functionality of the system, but are nonetheless important for its overall performance and reliability. Some of the most important non-functional requirements for a hard real-time safe fault tolerant system include: Safety:  The system must be safe, meaning that it must not cause any harm to people or property. This is especially important for systems that are used in critical applications, such as aircraft control systems or medical devices. Fault tolerance:  The system must be fault tolerant, meaning that it must be able to continue to operate even if some of its components fail. This is important for systems that must be available 24/7, such as power grids or air traffic control systems. Timeliness : The system must be timely, meaning that it must be able to meet its deadlines. This is important for systems that are used to control critical proce...