Structures and the Art of Decomposition
By Abigail Mieko Vargus
October 30, 2000
Using pyramid structures, as opposed to the more common tree structures, gives one significant gains. These gains are particularly noticeable in the system’s flexibility and reuse of its components. The gains of a pyramid structure often come at the price of additional overhead. Yet this additional overhead can usually be greatly reduced.
The key to a good pyramid structure is good decomposition of the problem.
The ability to create good pyramidal decompositions comes with experience.
Institute Professor Joel Moses, former provost and dean of engineering, spoke recently spoke at a Systems Design and Management Program seminar. Moses presented the benefits, downfalls, and challenges of pyramid structures in systems architecture. This seminar showed what Moses hoped was a "different view of systems architecture than one would get in a normal systems engineering or software engineering class."
There are several issues to be considered:
- Vertical vs. horizontal hierarchies
- Flexibility vs. optimal performance
- Integration vs. decomposition
- Reusability and its relation to architecture
- Design of a single product vs. platform-based or open-systems architecture
- The role of design infrastructure
"A horizontal organization, Moses explains, "is an example of an organization where rank is important. (A vertical organization) is an example where title is important.
"The tree-structure approach is very general. You don’t have to think very much in using it. It works in nearly every case, at least to some degree. Therefore you are misled to believe it works very well all the time.
"Not so," Moses argued. In fact, recent data shows that 70 percent of new software systems, largely using tree structured hierarchies, failed either because the organization didn’t deliver a system at all or the system was delivered quite late and well above budget.
"Pyramid systems, on the other hand, take a more holistic approach, resulting in several layers and platforms. This leads to the ability to work on product families as opposed to individual products. Moses asserted, "The more platforms or the greater number of layers the better, at least much of the time."
The difficult part, however, is determining what those layers should be. Moses calls this the Art of Decomposition. "A big architectural idea breaks a problem up in really big ways. All you need is one or two of those, and you can win big. It’s not easy to develop such architectures in an environment that does it the other way, but I think as we get more examples, we’ll find it easier."
There are many examples of such architectures in software (a high level language is a horizontal decomposition) or communication systems (the Internet, for example).
One of the greatest payoffs of creating a pyramid system is flexibility. "What you want to do is build in flexibility into a system," Moses said, "so the kinds of changes that the user or customer is likely to want to make are the ones that are easy to implement."
This often leads to a non-optimal design, but "updating an optimal design will oftentimes cause you to make a change which is far from optimal." With the fast rate of change in today’s world, Moses believes "you have to make it easy for the next guy to make changes readily, even if this means the loss of optimality."
Closely connected to flexibility is reusability. Pyramid structures, which are based on platforms, open themselves up automatically to reusability. This in turn gives you greater flexibility.
Moses pointed out, "Once you create a design, then lots of different people can use it and they can be sure it’s going to work because it’s a platform that provides guarantees regarding what it’s supposed to do."
As with everything, there is a downside. "There’s no question; there’s additional overhead associated with every level," Moses warns. "I claim if you have good infrastructure, you can mitigate this overhead so it’s not a critical weakness."
Moses also believes that the complexity is lessened by pyramid structures. "A key point in dealing with a complicated system is to not let it grow too large. Well, how do you deal with a very complex system? Reuse its components like mad!"
Moses left the SDM students with a challenge: How do we marry the advantages of the tree-structured approach with the layered approach? "It’s not clear now how to do that," he observed. "That’s a challenge for the coming years."
Joel Moses is an Institute Professor at MIT, one of only 13 who currently hold that title. In his more than thirty years at MIT, he has served as provost (1995-1998), dean of engineering (1991-1995), chairman of the Electrical Engineering and Computer Science Department (1981-1989), and associate director of the Laboratory for Computer Science (1974-1978). He has been named a fellow of IEEE, and a member of the American Academy of Arts and Sciences and the National Academy of Engineering. Moses also was instrumental in the conceptualization of what is now the SDM Program and in creating the Engineering Systems Division.