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
$43.99

  • 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.

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

 

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

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â