# Top-down y bottom-up

Top-down (‘de arriba abajo’) y bottom-up (‘de abajo arriba’) son estrategias de procesamiento de información características de las ciencias de la información, especialmente en lo relativo al software. Por extensión se aplican también a otras ciencias sociales y exactas.
En el modelo top-down se formula un resumen del sistema, sin especificar detalles. Cada parte nueva es entonces redefinida, cada vez con mayor detalle, hasta que la especificación completa es lo suficientemente detallada para validar el modelo. El modelo top-down se diseña con frecuencia con la ayuda de "cajas negras" que hacen más fácil cumplir requisitos aunque estas cajas negras no expliquen en detalle los componentes individuales.
En contraste, en el diseño bottom-up las partes individuales se diseñan con detalle, y luego se enlazan para formar componentes más grandes, que a su vez se enlazan hasta que se forma el sistema completo. Las estrategias basadas en el flujo de información "bottom-up" se antojan potencialmente necesarias y suficientes porque se basan en el conocimiento de todas las variables que pueden afectar los elementos del sistema.

## Ciencias de la computación

En el proceso de desarrollo de software, los enfoques top-down y bottom-up juegan un papel crucial.
El diseño top-down fue promovido en la década de 1970 por los investigadores de IBM Harlan Mills y Niklaus Wirth. Mills desarrolló los conceptos de programación estructurada para usos prácticos y los probó en un proyecto en 1969 para automatizar el índice de la morgue del New York Times. El éxito administrativo e ingenieril del proyecto hicieron que el enfoque top-down se esparciera por IBM y por el resto de la industria de los computadores. Niklaus Wirth, que entre sus logros está el desarrollo del lenguaje de programación Pascal, escribió el artículo Program Development by Stepwise Refinement, que tuvo mucha influencia.
Los métodos top-down fueron favorecidos en la ingeniería de software hasta que llegó la programación orientada a objetos a finales de los 1980s.
El enfoque top-down enfatiza la planificación y conocimiento completo del sistema. Se entiende que la codificación no puede comenzar hasta que no se haya alcanzado un nivel de detalle suficiente, al menos en alguna parte del sistema. Esto retrasa las pruebas de las unidades funcionales del sistema hasta que gran parte del diseño se ha completado.
Bottom-up hace énfasis en la programación y pruebas tempranas, que pueden comenzar tan pronto se ha especificado el primer módulo. Este enfoque tiene el riesgo de programar cosas sin saber como se van a conectar al resto del sistema, y esta conexión puede no ser tan fácil como se creyó al comienzo. La reutilización del código es uno de los mayores beneficios del enfoque bottom-up.
El desarrollo de software moderno usualmente combina tanto top-down como bottom-up. Aunque un conocimiento completo del sistema se considera usualmente necesario para un buen diseño, haciendo que teóricamente sea un enfoque top-down, la mayoría de proyectos de desarrollo de software tratan de usar código existente en algún grado. El uso de módulos existentes le dan al diseño un sabor bottom-up. Algunos enfoques usan un enfoque en el que un sistema parcialmente funcional es diseñado y programado completamente, y este sistema se va expandiendo para llenar los requisitos del proyecto.

## Ecología

En ecología, el control top-down se refiere a cuando un superdepredador controla la estructura o la dinámica de la población del ecosistema. Las interacciones entre estos superdepredadores y sus presas es lo que influye en los niveles tróficos inferiores. Los cambios en el nivel superior de los niveles tróficos tienen un efecto inverso en los niveles tróficos inferiores. El control top-down puede afectar de forma negativa al ecosistema circundante si hay un cambio drástico en el número de depredadores. El ejemplo clásico es el de los ecosistemas de bosques de algas. En tales ecosistemas, las nutrias marinas son un depredador clave. Se alimentan de erizos que a su vez comen algas marinas. Cuando se eliminan las nutrias, las poblaciones de erizos crecen y reducen el bosque de algas creando páramos de erizos. Esto reduce la diversidad del ecosistema en su conjunto y puede tener efectos perjudiciales en todos los demás organismos. En otras palabras, estos ecosistemas no están controlados por la productividad de las algas marinas, sino por un superdepredador. En este ejemplo se puede ver el efecto inverso que tiene el control top-down; cuando disminuyó la población de nutrias, aumentó la población de erizos.
El control bottom-up en los ecosistemas se refiere a ecosistemas en los que el suministro de nutrientes, la productividad y el tipo de productores primarios (plantas y fitoplancton) controlan la estructura del ecosistema. Si no hay suficientes recursos o productores en el ecosistema, no queda suficiente energía para el resto de animales de la cadena alimentaria debido a la biomagnificación y la eficiencia ecológica. Un ejemplo sería cómo las poblaciones de plancton están controladas por la disponibilidad de nutrientes. Las poblaciones de plancton tienden a ser más altas y más complejas en áreas donde el afloramiento costero trae nutrientes a la superficie.
Hay muchos ejemplos diferentes de estos conceptos. Es común que las poblaciones se vean influenciadas por ambos tipos de control, y todavía hay debates sobre qué tipo de control afecta a las redes tróficas en ciertos ecosistemas.

## Bibliografía

* Palmer S.E., Rosch E., & Chase P. (1981). «Canonical Perspective and the Perception of Objects». En Long J. & Baddely A., ed. Attention and performance IX. Hillsdale, NJ: L. Erlbaum Associates. pp. 135-151. ISBN 978-0757548895.
* Ramskov, Charles B. (2008). Psychology Notes. Kendall Hunt Publishing. ISBN 978-0757548895.
* Solso, Robert L. (1998). Cognitive psychology (5th edición). Needham Heights, MA: Allyn and Bacon. ISBN 978-0757548895. (requiere registro).
* Lynam C. P., Llope M., Möllmann C., Helaouët P., Bayliss-Brown G. A., & Stenseth N.C. (2017). Interaction between top-down and bottom-up control in marine food webs.
* Cohen, Stephen. (2004). Nature of Moral Reasoning. https://philpapers.org/rec/COHTNO

## Bibliografía adicional

* Estes, J. A., Tinker, M. T., Williams, T. M., Doak, D. F. "Killer Whale Predation on Sea Otters Linking Oceanic and Nearshore Ecosystems", Science, October 16, 1998: Vol. 282. no. 5388, pp. 473 – 476
* Malone, T. C.; Conley, D. J.; Fisher, T. R.; Glibert, P. M.; Harding, L.W.; Sellner, K.G. (1996). "Scales of nutrient-limited phytoplankton productivity in Chesapeake Bay". Estuaries. 19 (2): 371–385.