Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language Book Review
|I have attempted to learn AADL and how to use OSATE several times over the years. I would read a good article on it and think to myself I can figure it out this time.|
A day or two into the adventure I would get frustrated with the toolset and getting it configured correctly, and the scattered and confusing details of AADL would put the nail in the coffin of my past attempts.
I was hoping this book would not have me repeating history. I am glad to report it didn't. Finally a resource that puts AADL information into a learnable format.
The book starts off with a nice introduction to model-based software systems engineering and does a good job of putting a AADL into context by comparing it to SysML, VHDL, and UML.
The book is broken down into two main parts and then has some appendixes. I have listed the parts along with the chapters they contain below.
Part I. Model-Based Engineering and the AADL
Chapter 1. Model-Based Software Systems Engineering
Chapter 2. Working with the SAE AADL
Chapter 3. Modeling and Analysis with the AADL: The Basics
Chapter 4. Applying AADL Capabilities
Part II. Elements of the AADL
Chapter 5. Defining AADL Components
Chapter 6. Software Components
Chapter 7. Execution Platform Components
Chapter 8. Composite and Generic Components
Chapter 9. Static and Dynamic Architecture
Chapter 10. Component Interactions
Chapter 11. System Flows and Software Deployment
Chapter 12. Organizing Models
Chapter 13. Annotating Models
Chapter 14. Extending the Language
Chapter 15. Creating and Validating Models
Appendix A. Syntax and Property Summary
Appendix B. Additional Resources
Appendix C. References
The book is broken down into a nice logical flow that starts with simple models and as it continues the authors grow the models complexity.
In Part I the authors use a sample system that builds a powerboat autopilot architecture. By the end of Part I you have a detailed understanding of the AADL capabilities.
In Part II the authors take you on a detailed tour of all the critical elements in AADL. After a describing the different categories the AADL components fall into the authors spend several chapters going into great detail on how to use them.
The book includes a big appendix that summarizes AADL syntax and grammar rules, lists the component type and implementation elements, lists the basic property types and type constructors, lists the AADL reserved words, and the AADL properties.
The authors have a really good writing style which makes the content not only easier read but also easy to understand.
There were only two things that would have made life easier while learning AADL using the book. The authors should make the samples used throughout the book available online for download. There is a lot of typing to do to get the examples working.
The second thing is better coverage of configuring the Open Source AADL Tool Environment (OSATE) used to create the models in the book. The best thing to do is to download TOPCASED (do yourself a favor and download and run the RCP downloads), then install OSATE2, Xtext, and ADELE using the Eclipse Install New Software feature on the Help menu, and uninstall OSATE1 which comes with TOPCASED using the Installation Details button on the About Eclipse dialog.
These two dings don't take anything away from the book, and they probably made me use the tool more and therefore learn more about the tool than had they spoon fed me.
This book is literally the only book on the market available for learning AADL. Luckily it's a great resource and by reading it cover to cover, working through the exercises, and building the models you will definitely learn the AADL language.
I highly recommend the book to anyone who wants to learn AADL!!!
Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language
For more book recommendations check out my .NET, iOS, and Java Architecture and Development Book Recommendations for 2013