the idea that structures organized in a hierarchy (or tree-like environment) work better when the top part learns from the bottom, rather than the bottom part doing what the top wants.

Bottom-up system design is based on one central premise: The overall behaviour of the system should emerge from the behaviour of many simpler components further down the organizational tree. The whole should be greater than the sum of its parts.

Say I'm designing a software program to simulate a tree in a garden. For the simulation to be a convincing one, the tree needs to behave in certain ways. I need to encapsulate the entire behaviour of a tree into my software program. A top-down approach would be to list the behaviour I expect a tree to exhibit, then program it to show this behaviour. This is a complex and time-consuming task - whenever I want to add new behaviour to the tree, I have to consider it as a whole entity. ((I won't go into more detail - this node is called bottom-up, not top-down)).

A bottom-up approach to designing the simulation would be to split the tree down into its constituent parts. Trees have roots, branches, leaves, and a complex biochemistry. A top-down approach to implementing all this would be huge and unwieldy - hence, the bottom-up approach essentially splits the tree simulation into a group of smaller and less complex simulations. You can create a leaf simulation, a root simulation, and a branch simulation. Then you program them to respond and interact with one another. A complex tree system emerges - each individual component is part of the system, but it's not the system in itself. The whole is greater than the sum of its parts.

The behaviour of the overall tree is dictated by the behaviour of these smaller components, which nudge and cajole it in the right direction.

In software, this is often achieved through event-driven object-orientation. But do not suffer the illusion that the concept of bottom-up applies only to software - take the tree as a metaphor for almost anything - an economic system, a government or a school. You have to learn how to manage individual components to nudge the system in the direction you want it to go. The desired behaviour of the system will then emerge from the interactions of the constituent parts.

Log in or register to write something here or to contact authors.