/CASE-AADL-Tutorial

A Tutorial for tools developed on the DARPA CASE program

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Distribution Statement “A” (Approved for Public Release, Distribution Unlimited)

CASE-AADL-Tutorial

As part of the DARPA CASE program, tools were developed to aid system engineers in designing complex embedded computing systems with built-in cyber resiliency. This tutorial is intended for MBSE enthusiasts and professionals who want to learn about CASE tooling. The CASE tools use AADL as their language of choice. AADL or the Architecture Analysis & Design Language was standardized by SAE and primarily developed by SEI. Originally intended for the Avionics domain, it has been used for modeling embedded software. The language provides a high level abstraction for describing software components and the connections between them. AADL is extensible, and many annexes have been introduced throughout the years to model different modeling aspects like correctness, cybersecurity aspects, behavior extensions and more.

The two part tutorial is split between training users on how to model systems with AADL and using DARPA CASE tools. The book is divided into two volumes titled - "So You Want To AADL" and "Introduction to DARPA CASE Tooling". The tutorial does not aim to be complete but is instead a starting point that leaves the reader with enough exposure to begin their own modeling journey. No prior experience in the tools are assumed. The tutorial was written in markdown and can be compiled in pdf and html using the included build script.

The two volumes are built using Pandoc and available as Pdfs. Download the latest release to read.

Volume I: So You Want To AADL (AADL-based Tooling for Cyber Resilience)

AADL beginners should start with the this volume. The chapters cover the basics and disparate modeling aspects including authentication, encryption, protocol modeling and message filtering and more. Along with AADL the tutorial uses the AGREE Annex that requires the use of the AGREE tool. More information on this volume can be found in the preface.

Tutorial Requirements

The tutorial has been tested on OSATE 2.10.2. The only other dependency is AGREE and its tested version is discussed in the following table. Some useful references are included below.

Volume II: Introduction to DARPA CASE Tooling (AADL-based Tooling for Cyber Resilience)

The second volume focuses on the tools developed on the DARPA CASE program. Tools that are private were omitted from this tutorial (namely GearCASE). Each chapter is devoted to a single tool and can be read out-of-order. More information on this volume can be found in the preface.

Tutorial Requirements

The tutorial has been tested on OSATE 2.10.2 and the below CASE tool versions.

Tool Version Repository Documentation Developers (PI)
AGREE 2.9.1 GitHub Collins/Loonwerks
(Darren Cofer)
BriefCASE1 0.8.0 GitHub Collins/Loonwerks
(Darren Cofer)
DCRYPPS March2022-v1
(code is archived)
Google Drive Vanderbilt/DOLL Labs
(Bob Laddaga)
HAMR 1.2022.07051018.a740565 GitHub Kansas State University/SAnToS Lab
(John Hatcliff)
RESOLUTE 3.0.0 GitHub Collins/Loonwerks
(Darren Cofer)
VERDICT 1.7.3 GitHub GE/Uni. of Iowa
(Michael Durling)

Related commercial/propritary tools that were not developed on the program include:

Distribution Statement “A” (Approved for Public Release, Distribution Unlimited)

Footnotes

  1. At the time of writing BriefCASE was undergoing intensive development and had not yet reached a stable state, and a decision was made not to include BriefCASE in the book.