Modeling System Architectures Using the Architecture Analysis and Design Language (AADL)
Modeling and validating of quality attributes for real-time, embedded systems is often done with low-fidelity software models and disjointed architectural specifications by various engineers using their own specialized notations. These models are typically not maintained or documented throughout the life cycle, making it difficult to predict the impact of change on attributes that cut across system functionality. The unanticipated effects of design approaches or changes are discovered only late in the life cycle, when they are much more expensive to resolve.
A model-based engineering (MBE) approach offers a better way to design, develop, analyze, and maintain system architecture. Through the application of MBE tools, system architects and developers can
- reduce risk through early and repeated analysis of the system architecture
- reduce cost through fewer system integration problems and simplified life-cycle support
- assess system-wide impacts of architectural choices
- increase confidence because the assumptions made in modeling can be validated in the operational system
The course focuses on fundamental MBE concepts for engineering real-time, embedded software systems through defining and documenting software and system architecture and validating system quality attributes (also commonly referred to as dependability properties and non-functional behavior). The course builds on the SAE AADL (Architecture Analysis and Design Language) standard for engineering real-time, embedded software systems.
- software/system architects and developers who are considering options for engineering embedded, real-time systems
- individuals tasked with the validation of embedded, real-time system performance
- technical managers, managers, and software/system architects who are looking for a solid overview of system and software modeling
- individuals who make decisions about the development or acquisition of real-time, embedded systems
After successful completion of this course participants will have an understanding of the
- value of MBE for system development in their application domain
- fundamental MBE concepts, specifically key principles and methods
- alternative choices for representation and modeling
- core elements of the AADL
- quantitative validation of quality attributes through analysis of system architecture
- introduction to MBE and demonstration of its use in engineering software systems for application domains
- description of different modeling perspectives (runtime, data view, etc., that support quantitative analysis of model)
- introduction of the various AADL modeling constructs and demonstration of their use on application examples
- demonstration of the structured incremental refinement of AADL models
- modeling of software and its mapping to hardware: modeling of runtime software elements (processes, threads, subprogram, etc.), execution platform elements (processors, memory, devices, etc), and the mapping of software to the execution platform
- modeling constructs to facilitate data analysis view such as data, subprograms, and subprogram calls
- demonstration of the ability to model multi-modal systems
- description of the mechanisms to organize the modeling of large-scale systems
- hands-on modeling using AADL within the Eclipse environment
This course consists of lectures, discussion, and exercises. Exercises are provided throughout the course to provide a concrete context for the issues.
- digital media containing lecture material, modeling environment and reference material
- hardcopy of workbook and exercises
- textbook Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis and Design Language.
Course participants should have fundamental knowledge in the areas of developing embedded real-time systems, software engineering, and architectures. Attendees should have working knowledge of a programming language and familiarity with a modeling language and the concept of abstraction. A working knowledge of Eclipse environment is helpful.
Students must bring a personal computer with DVD drive (preferred) or USB port, and configured with:
- Microsoft Windows 7 or higher, Mac OSX 10.7 or higher, or Linux.
- Java 8.0 or higher
- Microsoft Office, or Open Office, LibreOffice
- the latest version of Adobe Reader (this can be downloaded from http://www.adobe.com/products/acrobat/readstep2.html)
2 - Day Course
A system's software architecture is widely regarded as one of the most important software artifacts. Software professionals routinely make decisions that impact that architecture, yet many times that impact is not fully considered or well understood. Which design decisions will lead to a software architecture that successfully addresses the...
2 - Day Course
Although the term software architecture is used frequently in today's software industry, its meaning is not universally understood. What is software architecture? How do you use software architectures in practice? What does a software architect do for an organization? What value does software architecture provide? This course introduces the...
Training courses provided by the SEI are not academic courses for academic credit toward a degree. Any certificates provided are evidence of the completion of the courses and are not official academic credentials. For more information about SEI training courses, see Registration Terms and Conditions and Confidentiality of Course Records.