Lessons Learned in Inter-Organization Virtual Integration 2018-01-1944
The Architecture Analysis and Description Language (AADL) is a modeling language for predictive analysis of real-time software reliant, safety critical systems that provides both the precision of formal modeling and the vendor-agnostic freedom of a text-based representation. These traits make AADL ideal for virtual integration, a process that enables early detection of integration defects through model integration of software, computer hardware, and interacting physical devices. AADL supports multiple domains of architectural analysis such as timing, latency, safety, scheduling, and security. Adventium Labs conducted an exercise to determine the applicability of agile software development tools and practices (e.g., continuous integration (CI) programming interface (API) sharing, test driven development (TDD)) to the AADL-based process of Architecture Centric Virtual Integration. Our exercise consisted of three teams: vendor, integrator, and customer. We isolated each team and required the use of pre-selected tools (e.g., git) for collaboration between teams. We conducted a series of design reviews; each requiring the teams to exchange AADL models to facilitate increasingly detailed analyses (e.g., processor utilization, then thread schedulability, then fault tree analysis). Through this exercise we identified several modeling best practices and recommendations for extensions and changes to the AADL. Best practices of note include: Read-only git repositories, API definition through test harnesses, and “headless” implementations of analysis tools for use in CI environments. Language recommendations included: Improved semantics for bus access, error model sharing, component “overriding”, and incorporation of Universally Unique Identifiers (UUIDs) into the core SAE AS2C Standard AS5506C, which defines the AADL language.
Tyler Smith, Rand Whillock, Robert Edman, Bruce Lewis, Steve Vestal
Aerospace Systems and Technology Conference