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.
This course is also available via eLearning Modeling System Architectures using the Architecture Analysis and Design Language - eLearning course
Audience
- 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
Objectives
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
Topics
- 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.
Materials
Materials provided:
- 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.
Prerequisites
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.
Required Equipment
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 https://get.adobe.com/reader/)
Course Fees in USD
- Govt/Academic $2,200
- Industry $2,700
- International $3,100
Schedule
This 4 day course meets at the following times:
Days 1-4, 8:30 a.m. - 5:00 p.m.
This course may be offered by special arrangement at customer sites. For details, please email course-info@sei.cmu.edu or telephone at +1 412-268-1817.
IMPORTANT NOTICE:
Carnegie Mellon University/Software Engineering Institute offices will be closed for winter break, December 21, 2024-January 1, 2025. SEI course registrations received during this period will be confirmed and enrollment completed upon our return on January 2, 2025.
Course Questions?
Email: | course-info@sei.cmu.edu |
Phone: | 412-268-7388 |
Related Courses
Modeling System Architectures Using the Architecture Analysis and Design Language (AADL) - eLearning
ONLINE • Software Architecture, Model-Based Systems Engineering
This eLearning course builds on the SAE AADL standard and focuses on fundamental MBE concepts for engineering real-time, embedded software systems through defining and documenting software and system architecture.
Learn MoreSoftware Architecture Design and Analysis
Software Architecture, Cyber Workforce Development
This two-day course, based on the books Designing Software Architectures: A Practical Approach and Software Architecture in Practice, 3rd edition, provides in-depth coverage of the concepts needed to design and analyze a software architecture effectively.
Learn MoreSoftware Architecture: Principles and Practices
Software Architecture, Cyber Workforce Development
This 4-day course introduces participants to essential software architecture concepts in a real-world setting using case studies, examines the technical and organizational issues regarding software architectures, and emphasizes the importance of the business context in which systems are designed.
Learn MoreTraining 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.