This project provides support for the pattern driven analysis and adaptation of software for use in High Assurance applications.

It takes a target language independent approach.  Software source code and UML models are mapped to a common intermediate language (XCIL) that directly supports UML modeling and the JVM and .NET virtual machine execution models.

Analysis and adaptation of the software is based on a catalog of user defined “patterns”, defined formally in a pattern specification language XPSL.  The patterns in the current catalog are intended to address a number of common HA software issues, based on FAA/NASA guidelines for the use of OO software in Aviation, modeling and coding standards for DO-178B certified software, and language standards for safety critical software (such as SPARK).

To verify the correctness of the adaptations identified and performed by toolset, a set of test cases is generated based on formal specifications of the modules that have been changed.

Translation is also possible between supported programming languages and various modeling representations (in addition to UML).  Support is provided by Iowa State University based on their Knowledge Centric Software (KCS) toolset.

To date, this approach has been successfully applied to the Boeing OCP software, a large middleware services layer written in C++.

Follow the link at left or the Services link (below) to contact us about the analysis and adaptation of other software.

Additional links are provided to related documents, past PI meeting presentations, and an overview of the OCP results (at left), and to other SEC web pages (below).