This project is fundamentally based on AADL (Architecture Analysis and Design Language) concepts. It provides components with precise semantics to describe system architectures.
Architecture Analysis and Design Language (AADL) is a modeling language that focuses on architecture. It's used for safety-critical embedded systems with tightly coupled components. AADL is used for virtual development, integration, and optimization of complex aerospace products. AADL has a core language that defines a single notation for both system and software aspects. This single model makes it easier for analysis tools to have a single representation of the system. AADL specifies system-specific characteristics using properties. AADL was originally published as SAE AS5506 in 2004. It was refined and extended as AADL V2 and published as AS5506A in 2009. AADL provides components with precise semantics to describe computer system architecture. Software components include: Data, Subprogram, Thread, Thread group, Process. Hardware components include: Processor, Memory, Bus, Device.