Synopses & Reviews
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.
Synopsis
Master SAE AADL: the new international architecture notation standard for cost-effective model-based analysis and validation of mission- safety-critical software-reliant embedded systems. An indispensable resource for professionals throughout the aircraft, space, automotive, autonomous systems, and medical device industries, this book shows how to use AADL to systematically improve systems development through state-of-the-art architecture modeling, analysis, and validation. The first book on this crucial new standard, it presents all aspects of AADL notation in the context of an architecture-centric, model-based engineering approach to discovering problems earlier in the lifecycle, when they can be solved at lower cost. Co-authored by Peter Feiler, the AADL standard's author and technical lead, Model-Based Engineering with AADL is packed with real-world examples. Ideal for both self-learning and classroom instruction, and excellent reference for implementers,it compares AADL with 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. More than 30 leading industrial and government organizations have joined SAE to define and/or pilot the AADL standard -- including leaders like Boeing, Lockheed Martin, Rockwell Collins, DOD, FAA, NASA, ESA, JAXA, Airbus, BAE Systems, Honeywell, GE Aviation, and the US Army. This book gives you all the knowledge and insight you need to join them -- and to succeed in your own AADL initiative.
Synopsis
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.
About the Author
Dr. Peter Feiler is a senior member of technical staff in the Research Technology and Systems Solutions (RTSS) program at the Software Engineering Institute (SEI). He is a 27-year veteran of the SEI. His interests include architecture-centric engineering of safety-critical embedded real-time systems. He is collaborating with researchers at Carnegie Mellon University and other research institutions to develop model-based architecture technology and is investigating its practicality with commercial industry. He is the author and editor of the SAE International (formerly known as Society of Automotive Engineers)
Architecture Analysis & Design Language (AADL) standard. Peter has a Ph.D. in computer science from Carnegie Mellon University and is a senior member and member of ACM, IEEE, and SAE International. He recently received the Carnegie Science Award for Information Technology.
Dr. David P. Gluch is a professor in the department of electrical, computer, software, and systems engineering at Embry-Riddle Aeronautical University and a visiting scientist at the Software Engineering Institute (SEI). His research interests are technologies and practices for model-based software engineering of complex systems, with a focus on software verification. Prior to joining the faculty at Embry-Riddle, he was a senior member of the technical staff at the SEI where he participated in the development and transition of innovative software engineering practices and technologies. His industrial research and development experience has included fault-tolerant computer, fly-by-wire aircraft control, Space Shuttle software modeling, and automated process control systems. He has co-authored a book on real-time UNIX systems and authored numerous technical reports and professional articles. Dave has a Ph.D. in physics from Florida State University and is a senior member of IEEE.
Table of Contents
Preface xv
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