AADL to Design and Validate Software Architecture of Critical Systems

American professor John Knight wrote that “Safety-critical systems are those systems whose failure could result in loss of life, significant property damage, or damage to the environment”. His primary concern was the consequences of failure. There are many safety-critical system examples such as automotive systems, medical devices, aircraft flight controls, nuclear systems, etc. Malfunctions in these systems could have significant consequences such as severe injuries and mission failure. We know that those systems are dependent on software to the extent that they could not work without the software. So, they should be designed, verified, and validated very carefully to make sure that they obey the system specifications and requirements and are free from errors. So, for that purpose SEI (Software Engineering Institute) developed a description language called AADL which stands for (Architecture Analysis and Design Language) to support the early design phase of a system’s architecture with respect to its criticality.