Robotics C++ Physics II AP Physics B Electronics Java Astronomy Other Courses Summer Session  

Engineering Design Concepts

 

Top Down

Bottom Up

Comparisons

Challenger Disaster Analysis & Richard Feynman

Top-Down

In top-down design, system components are derived from project specifications. The main advantage of a top-down approach is that its strong focus on specific requirements helps to make a design responsive to its requirement. Its disadvantage is that project and system boundaries tend to be application or specification oriented. Thus it is more likely that the "wheel will be reinvented" and that advantages of component reuse will be missed. It also means that the system is likely to miss the benefits of a well structured, simple architecture.

Bottom-Up

In bottom-up design, the emphasis is on applying general solutions to a wide range of problems. The advantage of bottom up design is the economies that result when general solutions can be reused. A disadvantage of bottom-up design is that its focus is not on specific requirements. thus its results may not fit a given need. Another disadvantage is that high quality bottom-up solutions prove very hard to construct and thus most frameworks are to some substantial degree under-designed.

Comparisons

Your position in the ideological debate of top-down versus bottom-up approaches determines how you build a robot. For example, suppose you are building a walking robot. The "Artificial Intelligence" view is that the brain controls the legs in a top-down model. The alternative view is that the dynamics of movement come not from the brain but from the natural physics is a bottom-up model.
Suppose that a designer wants to use the top-down approach to build a robot that will sweep the floor. The overall task of the robot is divided into simpler subtasks: robot has to be able to move forward, turn, move its broom up and down, turn it on, turn it off, etc. Each subtask is divided further and further until a bottom level with only simple tasks for which parts and programs be built and implemented. However, many unexpected phenomena might be discovered when building small parts independently. They will require the design of low-level tasks to be modified. It is now very likely that the parts will not fit together and will fail to build the robot originally planned.
Alternatively, one can use the bottom-up approach. First the designer builds a simple robot that can do only simple things. Next it is tested and debugged. This might require making some changes to the design. More difficult functions of the robot are added later and their design depends on how the robot already looks like.
In actual practice many designers use a hybrid approach where you start at both ends.
*Constraints: Time, money, physics, knowledge, materials, abilities, environment
**Design Options: Top-Down, Bottom-Up, Hybrid

Challenger Analysis and Richard Feynman

His main complaints are about high level design decisions being made without a proper understanding of the lower level constraints such as material properties, and a management culture which dismissed evidence of problems such as components that were operating outside their intended design parameters because the results hadn't previously proved catastrophic.
A thorough understanding of the constraints on how things work at the lower levels, and what is going wrong when they aren't working as designed, is an integral part of what I mean by “feasibility” flowing back up to influence higher level design decisions.
Feynman's book “What do you care what other people think? Further adventures of a curious character” which talks about his experience on the Rogers Commission and the need to understand what is really going on in complex systems.
As always, balance is important. Nobody designs systems in a purely top-down nor a purely bottom-up manner; finding the optimal mix for a given project, technology and organization is what is important.