Welcome!

Microservices Expo Authors: AppDynamics Blog, Liz McMillan, TJ Randall, Elizabeth White, Pat Romanski

Related Topics: Microsoft Cloud, Java IoT, Microservices Expo

Microsoft Cloud: Book Review

Book Review: Model-Based Engineering with AADL

An Introduction to the SAE Architecture Analysis & Design Language

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

Appendixes
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

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

Microservices Articles
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (CloudNative) and process redefinition (SRE). Rob Hirschfeld’s recent work in Kubernetes operations has led to the conclusion that containers and related platforms have changed the way we should be thinking about DevOps and...
At its core DevOps is all about collaboration. The lines of communication must be opened and it takes some effort to ensure that they stay that way. It’s easy to pay lip service to trends and talk about implementing new methodologies, but without action, real benefits cannot be realized. Success requires planning, advocates empowered to effect change, and, of course, the right tooling. To bring about a cultural shift it’s important to share challenges. In simple terms, ensuring that everyone k...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
Kubernetes is a new and revolutionary open-sourced system for managing containers across multiple hosts in a cluster. Ansible is a simple IT automation tool for just about any requirement for reproducible environments. In his session at @DevOpsSummit at 18th Cloud Expo, Patrick Galbraith, a principal engineer at HPE, will discuss how to build a fully functional Kubernetes cluster on a number of virtual machines or bare-metal hosts. Also included will be a brief demonstration of running a Galer...
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace....
"There is a huge interest in Kubernetes. People are now starting to use Kubernetes and implement it," stated Sebastian Scheele, co-founder of Loodse, in this SYS-CON.tv interview at DevOps at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...