The SEI helps advance software engineering principles and practices and serves as a national resource in software engineering, computer security, and process improvement. The SEI works closely with defense and government organizations, industry, and academia to continually improve software-intensive systems. Its core purpose is to help organizations improve their software engineering capabilities and develop or acquire the right software, defect free, within budget and on time, every time.

Analyzing the Architecture

System Analysis

During its research projects, the Software Engineering Institute has developed several tools for system design, analysis and validation. Among them several tools were designed for analyzing performance criteria, such as latency or bus load. Other analysis are specific to the avionics domain, such as the ARINC653 validation framework that aims at validating system properties related to avionics system (space isolation across partitions, validation of system configuration, analysis of partition communication policy, etc.).

Safety Analysis

Recent focus of the SEI work has been on tools for analyzing system safety in support of industry practice standards (such as SAE ARP4761). Support includes Functional Hazard Assessment (FHA), Failure Mode and Effect Analysis (FMEA), Fault Tree Analysis (FTA), stochastic Dependency Diagram (DD) aka. Reliability Block Diagram (RBD) and Markov Chain analysis. Automation of these currently largely manual practices allow for repeated analysis and trade studies of design alternatives.

Open Source AADL Tool Environment (OSATE)

The Open Source AADL Tool Environment is an Eclipse-based modeling framework for using AADL. It brings AADL support within the Eclipse environment so that architecture practitioners can write their models using the AADL textual syntax. Users can also visualize their model using the graphical notation. OSATE currently supports the latest revision of the language and integrates several validation and analysis plug-in. The Software Engineering Institute has developed several of them for analyzing system security, performance or safety. These plug-ins are available under the Eclipse Public License (EPL), their source code being available under the github repository.

In addition, OSATE supports the Error-Model Annex of AADLv2 for specifying architecture faults and errors. Engineers can specify error occurrence and propagation in their architecture using the textual notation of the language. OSATE includes several functions for processing this additional information and generating validation materials required by validation standards, such as:

Fault-Tree Analysis: hierarchical dependencies between faults occurrence within the architecture. OSATE currently supports the generation of FTA that targets commercial and open-source tools.

Markov Chain Model: analysis of fault-occurrence according to system specification. OSATE actually supports the PRISM tool for Markov-Chain analysis.

OSATE Release Process

OSATE is distributed in two releases: the stable and testing releases

[https://wiki.sei.cmu.edu/aadl/index.php/OSATE_2_download_page].

A stable release is published every 3 months.

The testing release is updated in a daily build and contains experimental features.

AADL/OSATE Community

OSATE is an open-source project, its code being released under the Eclipse Public License (EPL). The AADL community has built a number of tools on top of OSATE. [https://wiki.sei.cmu.edu/aadl/index.php/AADL_tools].

Much of the work has been published and can be found at [https://wiki.sei.cmu.edu/aadl/index.php/AADL_Related_Publications].

AADL Examples

We have made available a set of example AADL models on our public github area. This repository hosts models grouped into separate AADL projects that can be imported within your OSATE workspace to try, test and experiment OSATE. Also, this is a good approach to have some AADL examples and learn how to use modeling patterns.