Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language, 1st edition
Published by Addison-Wesley Professional (September 25, 2012) © 2013
- Peter H. Feiler
- David P. Gluch
- A print text (hardcover or paperback)Â
- Free shipping
- Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
Conventional build-then-test practices are making today’s embedded, software-reliant systems unaffordable to build. In response, more than thirty leading industrial organizations have joined SAE (formerly, the Society of Automotive Engineers) to define the SAE Architecture Analysis & Design Language (AADL) AS-5506 Standard, a rigorous and extensible foundation for model-based engineering analysis practices that encompass software system design, integration, and assurance. Using AADL, you can conduct lightweight and rigorous analyses of critical real-time factors such as performance, dependability, security, and data integrity. You can integrate additional established and custom analysis/specification techniques into your engineering environment, developing a fully unified architecture model that makes it easier to build reliable systems that meet customer expectations.
Model-Based Engineering with AADL is the first guide to using this new international standard to optimize your development processes. Coauthored by Peter H. Feiler, the standard’s author and technical lead, this introductory reference and tutorial is ideal for self-directed learning or classroom instruction, and is an excellent reference for practitioners, including architects, developers, integrators, validators, certifiers, first-level technical leaders, and project managers. Packed with real-world examples, it introduces all aspects of the AADL notation as part of an architecture-centric, model-based engineering approach to discovering embedded software systems problems earlier, when they cost less to solve. Throughout, the authors compare AADL to other modeling notations and approaches, while presenting the language via a complete case study: the development and analysis of a realistic example system through repeated refinement and analysis.
Part One introduces both the AADL language and core Model-Based Engineering (MBE) practices, explaining basic software systems modeling and analysis in the context of an example system, and offering practical guidelines for effectively applying AADL.
Part Two describes the characteristics of each AADL element, including their representations, applicability, and constraints.
The Appendix includes comprehensive listings of AADL language elements, properties incorporated in the AADL standard, and a description of the book’s example system.
Â
Introduction        1
Â
PART I: Model-Based Engineering and the AADLÂ Â Â Â Â Â Â Â 3
Chapter 1: Model-Based Software Systems Engineering        5
1.1 MBE and Software System Engineering  6
1.2 AADL and Other Modeling Languages  12
Â
Chapter 2: Working with the SAE AADLÂ Â Â Â Â Â Â Â 17
2.1 AADL Models  19
2.2 System Specification and System Instances  26
Â
Chapter 3: Modeling and Analysis with the AADL: The Basics        31
3.1 Developing a Simple Model  31
3.2 Representing Code Artifacts  47
3.3 Modeling Dynamic Reconfigurations  51
3.4 Modeling and Analyzing Abstract Flows  55
3.5 Developing a Conceptual Model  58
3.6 Working with Component Patterns  69
Â
Chapter 4: Applying AADL Capabilities        77
4.1 Specifying System Composition  77
4.2 Component Interactions  84
4.3 Modeling Data and Its Use  97
4.4 Organizing a Design  101
Â
PART II: Elements of the AADLÂ Â Â Â Â Â Â Â 109
Chapter 5: Defining AADL Components        113
5.1 Component Names  113
5.2 Component Categories  114
5.3 Declaring Component Types  114
5.4 Declaring a Component’s External Interfaces  118
5.5 Declaring Component Implementations  121
5.6 Summary  125
Â
Chapter 6: Software Components        127
6.1 Thread  128
6.2 Thread Group  133
6.3 Process  135
6.4 Data  138
6.5 Subprogram  141
6.6 Subprogram Group  144
Â
Chapter 7: Execution Platform Components        147
7.1 Processor  148
7.2 Virtual Processor  151
7.3 Memory  153
7.4 Bus  156
7.5 Virtual Bus  158
7.6 Device  160
Â
Chapter 8: Composite and Generic Components        163
8.1 System  163
8.2 Abstract  165
Â
Chapter 9: Static and Dynamic Architecture        169
9.1 Subcomponents  169
9.2 Modes  173
Â
Chapter 10: Component Interactions         185
10.1 Ports and Connections  186
10.2 Data Access and Connections  210
10.3 Bus Access and Connections  213
10.4 Feature Groups and Connections  217
10.5 Abstract Features and Connections  225
10.6 Arrays and Connections  227
10.7 Subprogram Calls, Access, and Instances  232
10.8 Parameter Connections  240
Â
Chapter 11: System Flows and Software Deployment         245
11.1 Flows  245
11.2 Binding Software to Hardware  256
Â
Chapter 12: Organizing Models        263
12.1 Naming and Referencing Model Elements  263
12.2 Organizing Models with Packages  266
12.3 Evolving Models by Classifier Refinement  273
12.4 Prototypes as Classifier Parameters  281
Â
Chapter 13: Annotating Models        289
13.1 Documenting Model Elements  289
13.2 Using Properties  291
Â
Chapter 14: Extending the Language        303
14.1 Property Sets  303
14.2 Annex Sublanguages  312
Â
Chapter 15: Creating and Validating Models        317
15.1 Model Creation  317
15.2 Model Creation Tools  319
15.3 System Validation and Generation  321
15.4 System Validation and Generation Tools  322
Â
Appendixes        325
Appendix A: Syntax and Property Summary        327
A.1 AADL Syntax  327
A.2 Component Type and Implementation Elements  342
A.3 Basic Property Types and Type Constructors  347
A.4 AADL Reserved Words  348
A.5 AADL Properties  349
A.6 Runtime Services  418
A.7 Powerboat Autopilot System  425
Â
Appendix B: Additional Resources        429
B.1 Modeling System Architectures  429
B.2 Cases Studies  431
Â
Appendix C: References        435
Â
Index        441
Â
Peter H. Feiler, senior member of technical staff at the Software Engineering Institute (SEI), is technical lead and author of the SAE AADL standard. In his 27 years at the SEI he has worked on software development environments, configuration management, and real-time embedded systems. He has collaborated with the research community and has applied resulting technologies such as AADL with customers in avionics, space, and automotive industries, as well as government programs.
David P. Gluch, formerly senior member of the technical staff at SEI and now a visiting scientist there, is a professor of software engineering at Embry-Riddle Aeronautical University. He has held key engineering and technical management positions with high-tech firms where he developed real-time software-intensive systems for commercial fly-by-wire aircraft control, automated process control, and the Space Shuttle.
Need help? Get in touch