There are 3 types of software control systems based on the nature of their desired functionality and the environment being operating in:
- Security Critical Systems: This category consists of software responsible for ensuring the security of a particular system or its user and thus protecting the privacy of an individual from objects both within the same environment and from outside the environment being operated in. Examples of such systems consists of banks, personal laptops and computers.
Security Critical System: Banking Systems
- Safety Critical Systems: These are the software responsible for operating systems involving a human life. These software are responsible for operating system providing the desired output without posing a threat to a human life involved in the operation. Examples of these systems consists of air crafts flying on auto-pilot, radiation machines such as Therac-25 etc.
Safety Critical System: Therac-25 Radiation Machine - Exhaustive Testing: This method is impracticable as testing of software is dependent on the testing environment and test data. Once the environment changes the testing process has to be started from the beginning identifying system faults according to the new environment. This type of testing is costly in terms of effort required, time required and the budget allocated for software development and complete testing, thus is not practiced in software industry.
- Application of Defined Safety Standards in each phase of Software Development Life Cycle (SDLC): The method is redundant as it required mapping each SDLC phase task onto the standards defined by the safety insurance department such as the aviation authority defining DO-178B Software Consideration in Airborne Systems and Equipment Certification. This allows the software engineers to avoid exhaustive testing of the developed safety critical software system.Once these standards are applied on the software during SDLC phases, the software is certified by the organization defining the standards for that particular safety critical system, declaring the software to be safety critical. Even after such rigorous phases of SDLC the software still has a probability of 1 for failure and the example can be seen in plane crash after disappearance of Boing MH-370 aircraft.
Safety Critical Failure Example: Boing Aircraft MH-370 - Mission Critical Systems: The systems lying in this category are responsible for providing the user with the desired output only. Failure to produce the desired output leads to the failure of mission critical software system. Examples of such systems consists of missiles, and drones.
Mission Critical Software System: Drone Systems
Comments
Post a Comment