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. The course also provides an overview of various types of system and software modeling, such as AADL, MDA, SysML, and UML.
Who should attend?
- 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
- 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.
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
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 equipped with
- Microsoft Windows 7, Windows 2000 Professional with Service Pack 3, Windows XP Home Edition with Service Pack 2, Windows XP Professional with Service Pack 2, or Windows Vista (tested on Windows Vista Enterprise, Business, Home Premium, and Home Basic editions)
- Java 6.0 or higher
This 4.5-day course meets at the following times:
Days 1-4, 8:30 a.m. - 5:00 p.m.
Day 5, 8:30 a.m. - 12:30 p.m.