Diseño de Sistemas Electrónicos Complejos

Anuncio
Universidad Católica del Uruguay
Facultad de Ingeniería y Tecnologías
Ingeniería Electrónica
DISEÑO DE SISTEMAS
ELECTRÓNICOS
COMPLEJOS
Autor: Bach. Gonzalo Sánchez
[email protected]
Tutor: MSc. Manuel Burgos
[email protected]
Orientador: Dr. Roberto Suárez
[email protected]
Proyecto de fin de carrera - Ingeniería Electrónica
2002 - 2006
Este documento, “Diseño de Sistemas Electrónicos Complejos”, desarrollado durante 2002 - 2006,
es mi proyecto de fin de carrera correspondiente a la carrera de Ingeniería en Electrónica,
cursada en el período 1997 - 2001 en la Facultad de Ingeniería de la Universidad Católica del
Uruguay1.
Se permite expresamente su divulgación, exigiendo únicamente que se aclare debidamente
la afiliación del autor y tutores.
Se advierte que si bien el contenido de este documento ha sido revisado y corregido, es
posible que contenga errores u omisiones que hayan escapado a la revisión. Se agradece a los
eventuales lectores que envíen sus observaciones al respecto, debidamente identificadas, las
cuales serán anexadas al documento.
1
Actualmente, Facultad de Ingeniería y Tecnologías de la Universidad Católica del Uruguay.
RESUMEN
Este documento recopila, organiza, y sintetiza el vasto panorama de diseño de sistemas
electrónicos complejos de actualidad, y lo presenta desde una perspectiva de sistemas a modo de
guía al tema, adecuándole a un nivel de grado en ingeniería electrónica.
La primera parte se dedica a establecer una noción de conceptos como ‘sistema’,
‘complejidad’, ‘diseño’, y ‘modelo’, así como la relación entre estos. El carácter de esta primer
parte es mayoritariamente filosófico y abstracto. El alcance de las presentaciones en esta primera
parte del documento no se restringe al campo de la ingeniería electrónica, sino que se les
confiere la mayor generalidad posible, incluso allende la ingeniería. Así, se llegan a presentar
los fenómenos meta - matemáticos de incompletitud, incomputabilidad, y aleatoriedad
algorítmica, y sus implicancias en las matemáticas, la física contemporánea, y la ingeniería,
particularmente en sus ramas informática y electrónica.
La segunda parte del documento presenta los conceptos, metodologías, y herramientas que
intervienen y/o asisten en los procesos de diseño de sistemas electrónicos complejos de
actualidad, como sistemas embebidos y sistemas en un único encapsulado. El carácter de esta
segunda parte es de ingeniería, y mantiene un mínimo nivel de abstracción compatible con el
objetivo de presentar un panorama del diseño de sistemas electrónicos complejos. Se parte con
una exposición de la evolución histórica de los sistemas electrónicos, tomando como punto de
partida la consecución del primer circuito integrado, y se avanza hasta presentar las
problemáticas y desafíos que enfrenta el diseño electrónico de actualidad en virtud de su
evolución, y particularmente, su sinergia con el desarrollo informático. Se continúa con la
proposición de una estructura abstracta del proceso de diseño de sistemas electrónicos complejos
de actualidad, que permite describir y comprender tanto las metodologías de diseño
tradicionales como las de actualidad. Se presenta la descripción de cada uno de sus niveles de
abstracción, y de los procesos de síntesis y análisis que les relacionan. A la proposición y examen
de esta estructura abstracta, sigue la presentación de su refinamiento en términos de los
elementos concretos con los cuales puede ejecutarse un proceso de diseño, como lenguajes de
programación y descripción de dispositivos electrónicos y herramientas de diseño asociadas.
En el marco de las estructuras abstracta y concreta de diseño electrónico, se presentan
conceptos recientemente elaborados en el área de las ciencias de la computación para
aplicación al diseño electrónico, y las metodologías de diseño electrónico que este tipo de
conceptos permite desarrollar.
ÍNDICE DE CONTENIDO
[ 1 ] COMPLEJIDAD Y SISTEMAS COMPLEJOS.....................................................................27
[ 1.1 ] Consideraciones iniciales.........................................................................................................27
[ 1.1.1 ] Detalles y Abstracción..................................................................................................................................27
[ 1.1.2 ] Escala y Evolución.......................................................................................................................................29
[ 1.2 ] ¿Definición o Significado?.......................................................... ..............................................31
[ 1.3 ] Sistemas...................................................................................................................... ................32
[ 1.3.1 ] La visión ‘clásica’..........................................................................................................................................33
[ 1.3.2 ] La visión actual.............................................................................................................................................35
[ 1.3.3 ] Nociones formal e informal de ‘sistema’.......................................................................................................36
[ 1.4 ] Complejidad...................................................................... ..........................................................39
[ 1.4.1 ] El Fenómeno de la Complejidad..................................................................................................................39
[ 1.4.2 ] Fuentes de Complejidad...............................................................................................................................40
[ 1.4.3 ] Escalamiento de la Complejidad..................................................................................................................41
[ 1.5 ] Sistemas Complejos..................................................................................................................42
[ 1.5.1 ] Jerarquía......................................................................................................................................................42
[ 1.5.2 ] ‘Modularidad’................................................................................................................................................43
[ 1.5.3 ] Símbolos sencillos........................................................................................................................................44
[ 1.6 ] Resumen......................................................................................................................................45
[ 1.7 ] Conclusiones........................................................................ ......................................................48
[ 2 ] DISEÑO EN INGENIERÍA.....................................................................................................53
[ 2.1 ] Proceso y Producto de Diseño.................................................................................................53
[ 2.1.1 ] El Proceso de Diseño...................................................................................................................................53
[ 2.1.1.1 ] Características del proceso de diseño..................................................................................................54
[ 2.1.1.2 ] Aspectos sicológicos del proceso de diseño.........................................................................................55
[ 2.1.1.3 ] Aspectos operacionales del proceso de diseño....................................................................................56
[ 2.1.1.4 ] Estructura del proceso de diseño..........................................................................................................63
[ 2.1.2 ] El Producto de Diseño..................................................................................................................................66
[ 2.1.2.1 ] El ‘diseño’ como descripción.................................................................................................................66
[ 2.1.2.2 ] El lenguaje de descripción....................................................................................................................68
[ 2.1.2.3 ] El ‘diseño’ como ‘sistema’.....................................................................................................................70
[ 2.2 ] Metodologías, Flujos, y Herramientas de Diseño...................................................................71
[ 2.2.1 ] Diseño ascendente y descendente..............................................................................................................73
[ 2.2.1.1 ] Diseño descendente.............................................................................................................................73
[ 2.2.1.2 ] Diseño ascendente...............................................................................................................................74
[ 2.2.1.3 ] El proceso de diseño en el tiempo: ciclo descendente-ascendente.....................................................75
[ 2.3 ] Teorías de diseño........................................................................................ ...............................78
[ 2.3.1 ] El enfoque axiomático..................................................................................................................................79
[ 2.3.2 ] Posibilidades derivadas del enfoque formal.................................................................................................84
[ 2.4 ] El Espacio de Diseño.................................................................................................................85
[ 2.4.1 ] Exploración del Espacio de Diseño..............................................................................................................89
[ 2.4.1.1 ] Métodos para la exploración del espacio de diseño.............................................................................90
[ 2.4.1.2 ] El proceso de diseño desde la perspectiva de la exploración del espacio de diseño...........................92
[ 2.5 ] Resumen......................................................................................................................................94
[ 2.6 ] Conclusiones........................................................................ ......................................................99
[ 3 ] MODELOS.........................................................................................................
..................101
[ 3.1 ] Características y propiedades generales..............................................................................101
[ 3.2 ] Modelos verbales y formales..................................................................................................103
[ 3.2.1 ] Introspección, deducción, robustez, incompletitud.....................................................................................104
[ 3.2.2 ] Modelos matemáticos informales...............................................................................................................105
[ 3.2.3 ] Modelos matemáticos y modelos formales de modelos ‘verbales’.............................................................107
[ 3.3 ] Modelos matemáticos............................................................................................................ ..110
[ 3.3.1 ] Consideraciones iniciales...........................................................................................................................110
[ 3.3.2 ] La naturaleza del método matemático.......................................................................................................112
[ 3.3.3 ] Interludio histórico......................................................................................................................................113
[ 3.3.3.1 ] Paradojas lógicas: la crisis en los fundamentos de la matemática.....................................................113
[ 3.3.3.1.1 ] El infinito matemático: la teoría de conjuntos infinitos de Cantor................................................114
[ 3.3.3.1.2 ] La paradoja de Russell................................................................................................................114
[ 3.3.3.2 ] Estrategias para la resolución de la crisis en la lógica........................................................................116
[ 3.3.3.2.1 ] Constructivismo o Intuicionismo..................................................................................................117
[ 3.3.3.2.2 ] Formalismo..................................................................................................................................119
[ 3.3.4 ] Sistemas Axiomáticos Formales ...............................................................................................................123
[ 3.3.5 ] La ‘espada de Gödel’..................................................................................................................................126
[ 3.3.5.1 ] Teoremas de Indecisión e Incompletitud de Gödel.............................................................................126
[ 3.3.5.2 ] Consecuencias de los teoremas de Gödel.........................................................................................131
[ 3.3.6 ] Indecisión, Incompletitud, Incomputabilidad e Indeterminismo – De Gödel a Turing y Chaitin..................135
[ 3.3.6.1 ] El autómata de Turing, los reales incomputables, y el problema de finalización................................136
[ 3.3.6.1.1 ] Números reales incomputables...................................................................................................137
[ 3.3.6.1.2 ] El Problema de Finalización........................................................................................................138
[ 3.3.6.1.3 ] Consecuencias de la Incomputabilidad y la insolubilidad del Problema de Finalización............140
[ 3.3.6.2 ] Aleatoriedad como incompresibilidad – la Teoría de Información Algorítmica de Chaitin..................142
[ 3.3.6.2.1 ] Aleatoriedad estadística, aleatoriedad estructural, aleatoriedad algorítmica..............................143
[ 3.3.6.2.2 ] Teorías científicas, sistemas formales, y programas: compresibilidad de la información...........145
[ 3.3.6.2.3 ] Teoría de Información Algorítmica..............................................................................................146
[ 3.3.6.2.4 ] El número Ω: aleatoriedad algorítmica en matemáticas..............................................................151
[ 3.3.6.2.5 ] Consecuencias de la Teoría de Información Algorítmica............................................................163
[ 3.3.6.2.5.1 ] ¿Matemáticas cuasi-empíricas?..........................................................................................163
[ 3.3.6.2.5.2 ] De regreso a Leibniz y a Heráclito: Física de Procesos......................................................168
[ 3.3.6.2.5.3 ] Formalismos informáticos fútiles..........................................................................................172
[ 3.3.7 ] Consideraciones finales.............................................................................................................................174
[ 3.3.7.1 ] Los números reales son irreales - argumentos físicos y matemáticos en contra del continuo...........174
[ 3.4 ] Modelos ejecutables................................................................................................................178
[ 3.4.1 ]
[ 3.4.2 ]
[ 3.4.3 ]
[ 3.4.4 ]
Concepto de Programa, Modelo Ejecutable, y Simulación........................................................................178
Ventajas y desventajas de los Modelos Ejecutables / Simulaciones.........................................................181
Limitaciones fácticas de los modelos ejecutables......................................................................................183
Objetos y Procesos....................................................................................................................................184
[ 3.5 ] Modelado en Ingeniería...........................................................................................................185
[ 3.5.1 ] Consideraciones iniciales...........................................................................................................................185
[ 3.5.2 ] Consideraciones finales.............................................................................................................................186
[ 3.6 ] Resumen....................................................................................................................................187
[ 3.7 ] Conclusiones................................................................................ ............................................196
[ 4 ] EVOLUCIÓN HISTÓRICA DE LA ELECTRÓNICA..........................................................207
[ 4.1 ] Sinopsis del desarrollo electrónico (1970-2000)..................................................................208
[ 4.1.1 ] Década de 1970 ........................................................................................................................................208
[ 4.1.2 ] Década de 1980 ........................................................................................................................................209
[ 4.1.3 ] Década de 1990 ........................................................................................................................................211
[ 4.2 ] Sinopsis de la fabricación de circuitos integrados..............................................................213
[ 4.2.1 ] Tendencias históricas y proyecciones........................................................................................................213
[ 4.2.2 ] Dificultades actuales y desafíos futuros.....................................................................................................215
[ 4.3 ] Sinopsis de la evolución estructural de las herramientas informáticas para diseño
electrónico.......................................................................................................... ..................................218
[ 4.3.1 ]
[ 4.3.2 ]
[ 4.3.3 ]
[ 4.3.4 ]
[ 4.3.5 ]
Herramientas CAD independientes............................................................................................................219
Entornos de herramientas CAD integradas................................................................................................219
Entornos de herramientas CAD integradas, abiertos y flexibles................................................................220
Estándares para intercambio de información entre herramientas CAD.....................................................221
Clasificación abstracta de herramientas CAD............................................................................................222
[ 4.4 ] Presentación de la problemática y desafíos del diseño actual de sistemas electrónicos
complejos..............................................................................................................................................222
[ 4.4.1 ]
[ 4.4.2 ]
[ 4.4.3 ]
[ 4.4.4 ]
[ 4.4.5 ]
Complejidad y Sistemas.............................................................................................................................222
Abstracciones adecuadas..........................................................................................................................224
Sistemas embebidos heterogéneos...........................................................................................................229
Sistemas electrónicos analógicos..............................................................................................................231
Aspectos externos......................................................................................................................................233
[ 4.5 ] Resumen....................................................................................................................................233
[ 5 ] DISEÑO DE SISTEMAS ELECTRÓNICOS COMPLEJOS .............................................239
[ 5.1 ] Introducción.................................................................................................................. ............239
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos.............................241
[ 5.2.1 ] Especificación del sistema.........................................................................................................................244
[ 5.2.2 ] Procesos de síntesis s1,2...........................................................................................................................245
[ 5.2.2.1 ] Captura de especificaciones...............................................................................................................245
[ 5.2.3 ] Modelo del sistema: el prototipo virtual......................................................................................................247
[ 5.2.4 ] Procesos de síntesis s2,3...........................................................................................................................252
[ 5.2.4.1 ] Exploración del Espacio de Diseño.....................................................................................................253
[ 5.2.4.2 ] Partición en modelos de módulos ‘hardware’ y ‘software’ - mapeo función → arquitectura................253
[ 5.2.5 ] Modelos de módulos ‘hardware’ y ‘software’: el prototipo virtual diferenciado...........................................255
[ 5.2.6 ] Procesos de síntesis s3,4...........................................................................................................................257
[ 5.2.6.1 ] Síntesis de módulos ‘hardware’..........................................................................................................258
[ 5.2.6.1.1 ] Descripción comportamental/funcional de módulos ‘hardware’..................................................260
[ 5.2.6.1.2 ] Síntesis comportamental s3,4 A..................................................................................................262
[ 5.2.6.1.3 ] Descripción RT............................................................................................................................265
[ 5.2.6.1.4 ] Síntesis RT - lógica s3,4 B..........................................................................................................268
[ 5.2.6.1.5 ] Descripción lógica.......................................................................................................................269
[ 5.2.6.1.6 ] Síntesis lógica - física s3,4 C......................................................................................................269
[ 5.2.6.1.7 ] Descripción física........................................................................................................................270
[ 5.2.6.1.8 ] Procesos de manufactura y configuración s4,5...........................................................................272
[ 5.2.6.1.9 ] Implementación física..................................................................................................................273
[ 5.2.6.1.10 ] Análisis: Validación / Verificación / Retroanotación...................................................................274
[ 5.2.6.2 ] Síntesis de módulos ‘software’............................................................................................................279
[ 5.2.6.2.1 ] Consideraciones iniciales............................................................................................................280
[ 5.2.6.2.1.1 ] Modelos de módulos ‘software’ y programas.......................................................................280
[ 5.2.6.2.1.2 ] Generación e Interpretación................................................................................................282
[ 5.2.6.2.1.3 ] Precisiones respecto a los términos ‘síntesis’ y ‘compilación’.............................................285
[ 5.2.6.2.2 ] Descripción comportamental/funcional en lenguaje de alto nivel (HLL)......................................286
[ 5.2.6.2.3 ] Preprocesamiento, Compilación, y Optimación...........................................................................289
[ 5.2.6.2.4 ] Descripción de secuencias de microinstrucciones en lenguaje ensamblador (LLL)...................293
[ 5.2.6.2.5 ] Ensamblado y Enlazado estático................................................................................................295
[ 5.2.6.2.6 ] Descripción de secuencias de código de máquina binario (ML).................................................297
[ 5.2.6.2.7 ] Carga, Enlazado dinámico, y Ejecución......................................................................................298
[ 5.2.6.2.8 ] Intérprete físico: Procesador de silicio.........................................................................................299
[ 5.2.6.2.9 ] Análisis: Validación / Verificación / Depuración...........................................................................299
[ 5.2.6.2.9.1 ] Optimación / Auditoría y Perfil de Desempeño....................................................................299
[ 5.2.6.2.9.2 ] Herramientas de depuración tradicionales..........................................................................305
[ 5.2.6.2.9.3 ] Análisis según nivel de abstracción.....................................................................................313
[ 5.2.6.2.10 ] Consideraciones finales............................................................................................................315
[ 5.2.6.2.10.1 ] Características de la programación de sistemas embebidos............................................316
[ 5.2.6.2.10.2 ] Requerimientos para la síntesis de programación embebida............................................320
[ 5.2.6.3 ] Síntesis de interfases y sistemas operativos......................................................................................321
[ 5.2.6.3.1 ] Interfases ‘hardware-hardware’: conexiones eléctricas y lógica de transducción.......................323
[ 5.2.6.3.2 ] Interfases ‘hardware-software’: administradores de dispositivos................................................324
[ 5.2.6.3.3 ] Interfases ‘software-software’: comunicación/sincronización de tareas/procesos......................324
[ 5.2.6.3.4 ] Sistemas Operativos (OS) como interfases ‘hardware-software’ y ‘software-software’..............326
[ 5.2.6.3.5 ] Sistemas Operativos de Tiempo Real (RTOS)............................................................................335
[ 5.2.7 ] Módulos ‘hardware’ y ‘software’: el prototipo realizable.............................................................................342
[ 5.2.8 ] Procesos de síntesis s4,5...........................................................................................................................342
[ 5.2.8.1 ] Traducción de descripciones, documentación, realización.................................................................342
[ 5.2.9 ] Implementación del sistema.......................................................................................................................343
[ 5.2.10 ] Análisis: Validación / Verificación.............................................................................................................343
[ 5.2.10.1 ] Análisis a5,4......................................................................................................................................344
[ 5.2.10.2 ] Análisis a4,3......................................................................................................................................344
[ 5.2.10.3 ] Análisis a3,2......................................................................................................................................345
[ 5.2.10.4 ] Análisis a2,1......................................................................................................................................345
[ 5.2.10.5 ] Análisis formal...................................................................................................................................345
[ 5.3 ] Refinamiento del esquema abstracto de diseño electrónico: Plataformas de Diseño....351
[ 5.3.1 ] Concepto de Plataforma de Diseño............................................................................................................351
[ 5.3.2 ] Plataformas de Diseño de Sistemas Electrónicos Complejos....................................................................357
[ 5.4 ] Metodologías de Diseño por Refinamiento...........................................................................363
[ 5.4.1 ]
[ 5.4.2 ]
[ 5.4.3 ]
[ 5.4.4 ]
Diseño en base a Modelos.........................................................................................................................364
Diseño en base a Plataformas...................................................................................................................364
Diseño en base a Interfases.......................................................................................................................365
Diseño en base a Actores..........................................................................................................................367
[ 5.5 ] Modelos de Cómputo y Lenguajes de Programación..........................................................369
[ 5.5.1 ] Ejemplos de modos de cómputo................................................................................................................370
[ 5.5.1.1 ] Secuencial (VN, Von Neumann).........................................................................................................370
[ 5.5.1.2 ] Tiempo Continuo (CT, ‘Continuous Time’)..........................................................................................371
[ 5.5.1.3 ] Máquinas de Estados Finitas (FSM, ‘Finite State Machines’).............................................................371
[ 5.5.1.4 ] Redes de Procesos (‘Process Networks’)...........................................................................................372
[ 5.5.1.5 ] Redes de Procesos de Kahn y Redes de Flujo de Datos (KPN, ‘Kahn Process Networks’; DPN,
‘Dataflow Process Networks’)..........................................................................................................................372
[ 5.5.1.6 ] Redes de Petri (‘Petri Nets’; CPN, ‘Coloured Petri Nets’)...................................................................372
[ 5.5.1.7 ] Eventos Discretos (‘Discrete Events’).................................................................................................373
[ 5.5.1.8 ] Disparo por Tiempo (TT, ‘Time - Triggered’).......................................................................................373
[ 5.5.1.9 ] Síncrono / Reactivo (SR, ‘Synchronous / Reactive’)...........................................................................374
[ 5.5.1.10 ] Punto de encuentro (‘Rendezvous’); Procesos Secuenciales Comunicantes (CSP, ‘Communicating
Sequential Processes’)....................................................................................................................................374
[ 5.5.2 ] Composición de Modelos de Cómputo.......................................................................................................375
[ 5.5.3 ] Lenguajes de Programación, Integración, y Coordinación.........................................................................376
[ 5.6 ] Codiseño ‘software’ - ’hardware’........................................................................................ ....378
[ 5.6.1 ] Filosofía de codiseño – concepto, hipótesis, y objetivos............................................................................379
[ 5.6.1.1 ] Concepto.............................................................................................................................................380
[ 5.6.1.2 ] Hipótesis.............................................................................................................................................380
[ 5.6.1.3 ] Objetivo...............................................................................................................................................380
[ 5.6.2 ] Aspectos operativos y de investigación......................................................................................................381
[ 5.6.2.1 ] Requerimientos para un entorno de codiseño....................................................................................381
[ 5.6.2.2 ] Categorías de codiseño / Esquemas de codiseño..............................................................................382
[ 5.6.2.3 ] Aspectos claves del proceso de codiseño..........................................................................................383
[ 5.6.2.3.1 ] Modelado del sistema..................................................................................................................383
[ 5.6.2.3.2 ] Particionamiento ‘software’ - ‘hardware’ / Cosíntesis / Reutilización de componentes IP...........383
[ 5.6.2.3.3 ] Cosimulación / Codepuración......................................................................................................385
[ 5.7 ] Resumen....................................................................................................................................386
[ 5.8 ] Conclusiones................................................................................ ............................................388
[ 6 ] REFERENCIAS...................................................................................................................391
ÍNDICE DE FIGURAS
Fig. 2.1: Esquema de diseño en ingeniería ([Dix79], p. 20).................................................................................................57
Fig. 2.2: Esquema del proceso de diseño en ingeniería electrónica ([Ras00], p. 13) ........................................................59
Fig. 2.3: Proceso de diseño en ingeniería eléctrica ([HBEED], p. 4)...................................................................................62
Fig. 2.4: ‘Celda de diseño’: ciclo de diseño elemental.........................................................................................................64
Fig. 2.5: El proceso de diseño como ‘fractal’ de ‘celdas de diseño’....................................................................................65
Fig. 2.6: Fases descendente y ascendente de un ciclo del proceso de diseño, en situación de conocimiento y tecnología
inmaduros. (Adaptado de [TTOV98], p. 24.)...........................................................................................................75
Fig. 2.7: Proceso de diseño asistido con herramientas de diseño ‘ascendente’, y costo del diseño, en función del tiempo.
................................................................................................................................................................................76
Fig. 2.8: Proceso de diseño formalizado y asistido por herramientas de diseño ‘descendente’ y ‘ascendente’.................77
Fig. 2.9: Teorías de diseño a partir de estrategias ascendente y descendente (adaptado de [Zen02], p. 2)......................79
Fig. 2.10: Entidad y Concepto de Entidad; Teoría General del Diseño – Yoshikawa (1981) ([Zen02], p. 20).....................80
Fig. 2.11: Ejemplo trivial de ‘espacio de diseño’..................................................................................................................86
Fig. 2.12: ‘Conjunto solución’ dentro del ‘espacio de diseño’..............................................................................................87
Fig. 2.13: ‘Conjunto solución’ factible, en el ‘espacio de diseño real’..................................................................................88
Fig. 2.14: ‘Pirámide de abstracción’.....................................................................................................................................92
Fig. 2.15: Alternativas de implementación para la especificación dada, y alternativas de especificación para la
implementación dada..............................................................................................................................................93
Fig. 3.1: Correspondencia entre un Sistema Axiomático Formal y el autómata de Turing................................................137
Fig. 3.2: Analogía entre la Teoría de Información Algorítmica (AIT), el Método Científico, y la formulación ‘computacional’
de los Sistemas Axiomáticos Formales tipo Frege-Hilbert, respecto de la complejidad algorítmica de la
información de salida (su compresibilidad en la información de entrada)............................................................147
Fig. 3.3: Ecuación Diofantina Ordinaria Universal; representación del autómata de Turing, o el computador universal. .161
Fig. 3.4: Ecuación Diofantina Exponencial de Chaitin (1987). Sus soluciones varían de una cantidad finita a infinita,
según el n - ésimo bit de Ω sea 0 o 1...................................................................................................................162
Fig. 3.5: Representación gráfica de la limitación Gödeliana de los sistemas sintácticos auto-referentes, desde la
perspectiva de la Teoría de Información Algorítmica de Chaitin. La ‘frontera de Gödel’ confina aquellos objetos
cuya estructura permite describirlos en forma concisa en término de los axiomas y reglas de inferencia del
sistema axiomático formal. Las reglas del sistema no permiten acceso a objetos allende la ‘frontera de Gödel’,
los cuales pueden ser alcanzado sólo mediante meta-reglas (o la ampliación de la base axiomática). Estos
objetos son algorítmicamente aleatorios respecto del sistema axiomático formal en cuestión. (Adaptado de
[Cah03], p.12; Fig. 2)............................................................................................................................................170
Fig. 3.6: Visión de los sistemas sintácticos desde la perspectiva de la Física de Procesos de Cahill y Klinger. Los
sistemas sintácticos serían inducidos por el sistema semántico auto-referente, en virtud de la percepción de
estructuras inducidas por el proceso estocástico, amenas al tratamiento mediante sistemas formales. (Adaptado
y simplificado de [Cah03], p. 14; Fig. 2)................................................................................................................171
Fig. 4.1: Datos de la Tabla 4.1 aproximados por un modelo exponencial (recuadro interno de la gráfica).......................214
Fig. 4.2: Datos de la Tabla 4.1 y la Tabla 4.2, aproximados por modelos exponenciales (recuadros internos de la gráfica)
..............................................................................................................................................................................215
Fig. 4.3: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 1). Herramientas
independientes. Requieren interfases ad hoc para intercambio de información (Adaptado de [TTOV98], p. 8)..219
Fig. 4.4: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 2). Entornos CAD Integrados.
Herramientas comparten Base de Datos e Interfaz de Usuario (Adaptado de [TTOV98], p. 8)...........................220
Fig. 4.5: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 3). Entornos CAD Integrados,
Flexibles y Abiertos. Herramientas comparten Base de Datos e Interfaz de Usuario, y se dispone de facilidades
para integrar nuevas herramientas y mecanismos de gestión del flujo de diseño (Adaptado de [TTOV98], p. 8).
..............................................................................................................................................................................220
Fig. 4.6: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 4). Estándares Electrónicos,
Informáticos, Mecánicos. Herramientas independientes, especializadas, comparten información en base a
estándares electrónicos, informáticos, mecánicos, etc. de dominio público (Adaptado de [TTOV98], p. 8)........221
Fig. 5.1: ‘Celda de Diseño’ (ver sección 2.1.1.4, Fig. 2.4).................................................................................................241
Fig. 5.2: Expansión ‘fractálica’ del proceso de diseño en términos de la ‘celda de diseño’ de la Fig. 5.1 (ver sección
2.1.1.4, Fig. 2.5). Nótese a la ‘celda de diseño’ representando tanto al proceso de diseño ‘completo’ como a
cualquier etapa intermedia, y a su vez, la consideración de esa etapa cualquiera como un proceso de diseño
‘completo’..............................................................................................................................................................242
Fig. 5.3: Esquema abstracto del proceso de diseño electrónico actual, en términos de la ‘celda de diseño’ de la Fig. 2.5 y
su ‘expansión fractálica’ de la Fig. 5.2 (o las respectivas figuras 2.4 y 2.5 en la sección 2.1.1.4). Adviértase que
la terminología que figura en el esquema es empleada por diferentes culturas y grupos de diseño con
significados que no necesariamente se corresponden entre sí, ni con el que les asigna el presente documento.
..............................................................................................................................................................................243
Fig. 5.4: ‘Esquema Y’ de evaluación de arquitecturas programables para diferentes aplicaciones, adaptado a la
evaluación de arquitecturas para el prototipo virtual (Adaptado de [LSS98], p. 3; [LWDV99], p. 182, y otros).. .255
Fig. 5.5: Esquema del proceso de síntesis de ‘hardware’. Los niveles de abstracción designados “descripción
comportamental y/o funcional”, “descripción RT”, “descripción lógica”, “descripción física”, y los procesos
etiquetados s3,4 A ... s3,4 C y a4,3 A ... a4,3 C (enmarcados en la zona rectangular al centro del esquema)
constituyen un refinamiento entre los niveles 3 (“modelos de módulos”, o “prototipo virtual diferenciado”) y 4
(“módulos”, o “prototipo realizable”) del esquema de la Fig. 5.3. A diferencia de estos, el nivel designado
“implementación física” se corresponde con el nivel 5 (“implementación”) de la Fig. 5.3, y los procesos
asociados s4,5 y a5,4, con sus homónimos en la referida figura.........................................................................259
Fig. 5.6: Descripción VHDL funcional de una puerta OR (líneas 11 a 17). Nótese en la linea 13 la concurrencia explícita
entre las señales A y B, y en la línea 15 la temporización explícita de la señal Z, típicas construcciones de un
lenguaje orientado a la descripción de ‘hardware’. Esta descripción puede también considerarse
comportamental, puesto que establece el comportamiento de la entidad, independientemente que esta ejecute
una función en el sentido tradicional.....................................................................................................................261
Fig. 5.7: Modelo abstracto de la arquitectura RT de un procesador digital (adaptado de [TTOV98], p. 198) que no
explicita la señal de reloj suministrada a ambas unidades...................................................................................266
Fig. 5.8: Esquema arquitectural RT (arquitectura RT objetivo) de la herramienta HLS ‘HYPER’, de Berkeley (adaptado de
[CCGLPSV99], Figura 5.23, p. 227).....................................................................................................................267
Fig. 5.9: Esquema de la máquina secuencial síncrona de Huffman (adaptado de [TTOV98],FIGURA 4-9, p. 197).........268
Fig. 5.10: Geometría de un flip-flop estático, tipo D, sin controles de establecer (‘set’) y restablecer (‘reset’), que requiere
dos fases de reloj complementarias (Eshraghian). La tecnología de fabricación objetivo es CMOS escalable
(SCMOS, de MOSIS) de dos capas metálicas (escala λ=0.8, para tecnologías obsoletas de un ancho mínimo de
canal de 1.5 μ). La topología es de típica celda lógica CMOS, organizada entre líneas de alimentación y tierra,
con conexiones entre celdas mediante canales de cableado por encima de la fila de celdas
([Tew96], s. 4, pp. 6-8)..........................................................................................................................................271
Fig. 5.11: Vista 3D de la geometría de un circuito generador de fases de reloj complementarias, constituido por dos
inversores CMOS. Obsérvese la disposición de capas en sentido vertical, y las vías de interconexión entre estas.
..............................................................................................................................................................................271
Fig. 5.12: Topografía de un registro de desplazamiento, constituido en base a las celdas representadas en las figuras
5.10 (8 instancias) y 5.11 (1 instancia). Obsérvese el área requerida por las interconexiones para la tecnología
de 2 capas de metal seleccionada........................................................................................................................272
Fig. 5.13: Simulación dirigida por eventos, típica de simuladores HDL (adaptada de [TTOV98], FIGURA 2-3, p.41). La
etiqueta (‘tag’) que es asignada a los eventos señala el instante de tiempo en el cual el evento se produce
(‘timestamp’).........................................................................................................................................................278
Fig. 5.14: Esquema del proceso de síntesis de módulos ‘software’. Los niveles de abstracción designados “descripción
comportamental y/o funcional”, “descripción en secuencias de microinstrucciones”, “descripción en secuencias
de código de máquina (binario)”, y los procesos etiquetados s3,4 A, s3,4 B, a4,3 A, y a4,3 B (enmarcados en la
zona rectangular al centro del esquema) constituyen un refinamiento entre los niveles 3 (“modelos de módulos”,
o “prototipo virtual diferenciado”) y 4 (“módulos”, o “prototipo realizable”) del esquema de la Fig. 5.3. A diferencia
de estos, el nivel designado “intérprete físico” se corresponde con el nivel 5 (“implementación”) de la Fig. 5.3, y
los procesos asociados s4,5 y a5,4, con sus homónimos en la referida figura....................................................280
Fig. 5.15: Árbol de derivación (‘parse - tree’) de una cadena de símbolos terminal en un lenguaje formal. Este tipo de
grafo suele emplearse como formato intermedio en herramientas de compilación/síntesis de descripciones
HLL/HDL, y es sobre el cual generalmente se efectúan las tareas de optimación..............................................291
Fig. 5.16: Esquema de procesos, hilos (‘threads’) y subprocesos o procesos livianos (lwp, ‘light-weight processes’) a
nivel de aplicaciones de usuario, e hilos del núcleo (‘kernel threads’) en un sistema operativo Solaris
([Sun02], pp. 9-11)................................................................................................................................................328
Fig. 5.17: Inversión de prioridades. La tarea A, de mayor prioridad que la B, se bloquea esperando un recurso adquirido
previamente por B, por lo cual el sistema se comporta como si se hubiesen invertido las prioridades
preestablecidas entre las tareas A y B (adaptado de [Edw02], p. 31). El ejemplo muestra además que ello puede
ocasionar que se viole el período de expiración de la tarea A.............................................................................340
Fig. 5.18: Las dos dimensiones posibles de reutilización de componentes ‘hardware’ y ’software’ de un sistema: tiempo y
espacio..................................................................................................................................................................352
Fig. 5.19: Espacio de Aplicaciones y Espacio de Arquitecturas (plataforma ‘hardware’). La plataforma ‘hardware’ soporta
las aplicaciones a diferente costo dependiendo de la instancia particular de la plataforma que se implemente. 353
Fig. 5.20: Pirámide de abstracción (ver Fig. 2.14). Exploración descendente del espacio de diseño determinado por la
plataforma ‘hardware’, que busca minimizar el coste (en sentido amplio del término) de la implementación
resultante (una arquitectura de la familia que representa la plataforma, la instancia I0; ver Fig. 5.19)...............354
Fig. 5.21: Esquema semejante a un ‘reloj de arena’ que resulta del empleo de una plataforma de sistema en el proceso
de diseño. La plataforma ‘software’ o Interfaz de Programas de Aplicación (API) presenta la plataforma
‘hardware’ a las aplicaciones como si estuviese constituida por una única arquitectura. Esto permite desacoplar
el proceso de mapeo de la aplicación sobre la ‘plataforma del sistema’ de la implementación de las posibles
instancias arquitecturales de la plataforma ‘hardware’ subyacente (adaptado de [FS99], p. 8)..........................356
Fig. 5.22: Generalización de Lee et al del concepto de plataforma introducido por Sangiovanni-Vincentelli et al (ver Fig.
5.21). Con la definición de plataforma como conjunto de diseños, las flechas del esquema - que representan los
procesos de mapeo que llevan de una plataforma a la subyacente - resultan relaciones entre conjuntos, lo cual
habilita a formalizar la estructura del proceso de diseño, independientemente de la semántica (adaptado de
[LNW02], p. 5).......................................................................................................................................................358
Fig. 5.23: Plataformas de diseño de sistemas electrónicos (adaptado de [LNW02], p. 6; fig. 3). Este esquema sintetiza en
forma visual el contenido de la sección 5.2, aplicando los conceptos presentados en la sección 5.3: es un
refinamiento del esquema abstracto de diseño de sistemas electrónicos (ver Fig. 5.3) que detalla los niveles de
abstracción del diseño de sistemas electrónicos de actualidad, mediante ejemplos de aplicación de algunos
lenguajes de descripción y herramientas de diseño pertinentes a cada nivel, y aplicables entre diferentes niveles.
..............................................................................................................................................................................359
Fig. 5.24: Relación entre la estructura abstracta del proceso de diseño de sistemas electrónicos (Fig. 5.3) y las
plataformas de diseño de sistemas electrónicos (Fig. 5.23).................................................................................360
Fig. 5.25: Dimensiones Abstracción - Tiempo del Proceso de Diseño: relación entre los niveles de abstracción del
proceso de diseño (Fig. 5.3) y el desarrollo temporal del proceso de diseño (en un encare descendente; Fig. 2.8)
..............................................................................................................................................................................363
Fig. 5.26: Diseño en base a interfases: separación de la comunicación y el comportamiento ([RS97], p. 1, fig. 1)........365
Fig. 5.27: Ejemplo de un posible método de refinamiento de la comunicación entre dos entidades del diseño, un emisor y
un receptor ([RS97], p. 2, fig. 2)............................................................................................................................366
Fig. 5.28: Sintaxis abstracta y abstracción jerárquica del diseño en base a actores........................................................368
Fig. 5.29: Diferencias entre componentes orientados a objetos y actores (Adaptado de [Lee03], p. 2, fig. 2). Nótese la
clara orientación a procesos (ver sección 3.4.4) de estos últimos.......................................................................368
Fig. 5.30: Sustrato de modelado integrado en un proceso de codiseño. .........................................................................382
ÍNDICE DE TABLAS
Tabla 2.1: Fases del proceso de diseño en ingeniería [Dix79] (ver Fig. 2.1)......................................................................58
Tabla 2.2: Evolución de las teorías axiomáticas de diseño ([Zen02], p. 23).......................................................................82
Tabla 3.1: Método diagonal para la demostración de existencia de un número real R incomputable (Turing).................138
Tabla 4.1: Proyección de desarrollo tecnológico de semiconductores – SIA 1999...........................................................214
Tabla 4.2: Proyección de desarrollo tecnológico de semiconductores – SIA 2001...........................................................214
PRÓLOGO
Este documento, “Diseño de Sistemas Electrónicos Complejos”, es mi memoria para la obtención
del título de grado correspondiente a la carrera de Ingeniería en Electrónica, cursada durante
el período 1997 - 2001 en la Facultad de Ingeniería de la Universidad Católica del Uruguay2.
El presente Prólogo se ha estructurado en secciones, donde se presentan:
•
las motivaciones que me impulsaron a adoptar el tema de estudio;
•
los objetivos que persigue el trabajo;
•
la organización del material;
•
algunas aclaraciones sobre decisiones y estilos de redacción, tipografía y notaciones que se
usan en el documento, y su formato de presentación;
•
los agradecimientos pertinentes.
Naturalmente, puede evitarse este Prólogo, y dirigirse directamente a la Introducción, sin
perder información relevante para la comprensión del tema central del trabajo.
G.S.
AGOSTO DE 2006.
MOTIVACIONES
Al momento de iniciar los cursos correspondientes al último año (2001) de la carrera de
ingeniería electrónica, los procesos de diseño e implementación de sistemas electrónicos que
como estudiante estaba acostumbrado a seguir, eran básicamente guiados por una sensata
aplicación del ‘sentido común’, educado por los estudios realizados hasta entonces3. La
expresión ‘metodología de diseño’ era una mera voz formal y compacta con la cual podía
referirme elegantemente a cualquier serie de procedimientos empleada para el diseño de
circuitos electrónicos, serie establecida en cada caso a partir del conjunto de procedimientos
aprendidos independientemente en cursos previos, y dictada por el educado sentido común
referido. Sofisticaciones tales como técnicas de verificación y depuración, tolerancia a fallas,
reutilización, y documentación de los sistemas, parecían cuestiones concernientes al ámbito
profesional, y de hecho no habían constituido requerimientos para los diseños realizados en
forma curricular, dada su función estrictamente académica. Consecuentemente, por
extrapolación de los resultados exitosos obtenidos hasta ese entonces en casos relativamente
sencillos, me sentía proclive a pensar que la capacidad humana era suficiente para soportar la
abstracción de los procesos de diseño e implementación también en el ámbito profesional, y
que simplemente en éste se manejaba un conjunto más amplio de procedimientos de los cuales
poder elegir para la tarea de diseño, mediante ejercicio de un ‘sentido común’ cada vez más
educado y experimentado.
En marzo de 2001, estimulados y apoyados por MSc. M. Burgos y por Dr. R. Suárez 4,
nuestro grupo universitario asistió al curso ‘Interfacing Microsystems’, brindado por el Proyecto
Iberchip [Iber01]. En este seminario se presentó la actual tendencia de integración de
elementos ópticos y mecánicos directamente en las pastillas de los circuitos integrados, y los
2
Actualmente, Facultad de Ingeniería y Tecnologías de la Universidad Católica del Uruguay.
3
Este ‘sentido común educado‘ es el que Dixon denomina, muy acertadamente, ‘sentido de la ingeniería’
([Dix79], p. 186). Este puede diferenciarse drásticamente del ‘sentido común’ usual, en el sentido que
este último no siempre devuelve respuestas razonables: a modo de ejemplo palmario, Dixon observa
que el ‘sentido común’ indicaría que el mundo es plano. Podría extenderse esta denominación de Dixon
a un ‘sentido de la ciencia’, en general, como el aplicado por Galileo pese a la sensación geoestacionaria, o
Einstein frente a la concepción de tiempo absoluto e independiente del espacio, que parece conferir el
‘sentido común’.
4
A la fecha de redacción de estas motivaciones, profesor de la Facultad de Ingeniería de la Universidad
Católica del Uruguay, y Director de las carreras de Ingeniería en Electrónica e Ingeniería en
Telecomunicaciones de la Universidad Católica del Uruguay.
desafíos de diseño y verificación que conlleva la conformación de tales ‘microsistemas’ de alta
complejidad. En ese contexto de microsistemas complicados, por vez primera adquirí
conciencia de la existencia, utilidad y necesidad de metodologías y herramientas formales de
diseño5, probada la incapacidad humana ante los niveles de complejidad presentados por estos
microsistemas. No obstante, tales formalismos metodológicos y sus herramientas asociadas
eran - desde mi perspectiva en ese momento - circunscritos al ámbito específico de diseño de
circuitos integrados de alta escala de integración. Y por lo tanto, parecía que quedaba lugar
para continuar la aplicación de métodos de diseño manuales y no del todo formales a los
sistemas electrónicos de escala ‘macroscópica’ a los que estaba acostumbrado, cuya
complejidad comparativa con los ‘microsistemas’ era aparentemente pequeña - al menos como
para no requerir formalismos estrictos ni herramientas especializadas de diseño.
Poco tiempo después, sobre el fin de la etapa académica, y antes de comenzar esta memoria,
fui invitado a participar en un proyecto impulsado por la Armada Nacional para modernizar
sus sistemas de radares de navegación. Entre los varios objetivos de este proyecto figuraba la
implementación de un prototipo de consola de operador que procesara digitalmente las
señales de radar, objetivo particular para el cual se me convocaba. Acepté entusiasmado, y
durante el período comprendido entre abril de 2001 y julio de 2002 colaboré activamente en el
diseño de ese prototipo. Al inicio, mediante elementales consideraciones de disponibilidad
comercial, flexibilidad, costo y confiabilidad, se decidió diseñar la consola a base de un
computador convencional de calidad industrial, dotado de un convertidor analógico - digital
adecuado, y ampliado en su capacidad de cálculo por módulos de procesadores de señales
digitales. Sin embargo, al iniciarse la fase siguiente de selección de los equipos y subsistemas,
hubo de admitirse la carencia de un procedimiento que asistiera al proceso de selección - por
ejemplo, que permitiera estimar a priori la capacidad de cálculo necesaria, para determinar el
tipo y cantidad de procesadores adicionales que se requerirían. El proceso de selección de
equipos se vio adicionalmente complicado por el vencimiento de una partida presupuestal
asignada al proyecto, por lo que en definitiva la elección debió efectuarse por exclusiva
aplicación de ‘sentido común’, circunstancia que claramente evidenció las limitaciones
inherentes al mismo. Con posterioridad a la selección, emergió el usual problema de no poder
integrar automáticamente el modelo matemático inicial del sistema a las herramientas de
programación de los equipos elegidos, lo que implicó que ello se debiera realizar en forma
manual. Si bien esta era la forma usual de trabajo hasta entonces, la complejidad del caso
probó la facilidad de generación y propagación de errores inherente a todo proceso manual. Y
durante esta etapa, conforme se experimentaba la inconveniencia de la traslación de los
modelos de uno a otro entorno de desarrollo, emergió adicionalmente la cuestión de cómo
garantizar que el sistema cumpliría las especificaciones y expectativas proyectadas,
apoyándose en una mínima serie de pruebas adecuadas - mínima, puesto que pruebas ‘de
campo’ para un radar de navegación requieren navegar, al costo de zarpar una fragata.
De modo que - a posteriori de lo visto en el seminario de microsistemas, y a posteriori de mi
participación en el diseño de un sistema electrónico complejo6 - he debido asumir que la
capacidad humana de abstracción para diseño e implementación de sistemas puede ser
insuficiente inclusive en casos de sistemas electrónicos ‘macroscópicos. Superado cierto nivel
de complejidad, es necesario asistir la capacidad de abstracción con procedimientos formales y
sistemáticos, que a su vez requieren el conocimiento suficiente y la capacidad de uso eficiente
de herramientas informáticas de diseño asistido por computador. He debido admitir que las
tareas de diseño requieren más que ser una simple colección de procedimientos organizados
por ‘sentido común’.
En consecuencia, el haber asistido a un seminario sobre diseño e implementación de microsistemas,
así como el haber participado en un proyecto de diseño de un sistema electrónico complejo donde pude
experimentar la necesidad de contar con procedimientos y herramientas formales de diseño, la necesidad
de comprender tales procedimientos, y la necesidad de saber manejar las herramientas correspondientes,
5
En particular metodologías de diseño al nivel de sistema, de tipo ‘descendente’, que con asistencia de
herramientas automatizadas permiten ‘bajar’ de una descripción abstracta hasta niveles de
implementación concreta de circuitos.
6
Diseño parcial; el proyecto debió suspenderse por motivos económicos en julio de 2002, a causa de la
crisis financiera que se desató en Uruguay en esa fecha.
constituyen las motivaciones principales para estudiar en esta memoria de grado el proceso actual de
diseño e implementación de sistemas electrónicos complejos.
No incidentalmente, la suspensión que en julio de 2002 truncara al mencionado proyecto
antes de su finalización (a causa de la severa crisis financiera desatada en Uruguay en esa
fecha) constituye una motivación complementaria para sintetizar, documentar y analizar
retrospectivamente el trabajo realizado, desde la óptica de diseño de sistemas complejos que se busca
presentar en esta memoria de grado. Es mi esperanza que en el futuro se pueda retomar el
proyecto, particularmente por la significación que tiene la generación de desarrollos propios
para países tecnológicamente segregados, como es el caso de Uruguay7. Espero que esta
memoria implique un aporte útil en esa dirección, como marco teórico para una posible
reprogramación del proyecto, y en ese caso, como referencia para quienes prosigan la tarea.
Finalmente, y desde una perspectiva radicalmente distinta a las anteriores, también me
motiva la idea de lograr con esta memoria una guía, que al nivel de estudiante de grado en
ingeniería electrónica sirva como referencia introductora al amplísimo tópico de diseño de
sistemas complejos. Como estudiante de grado percibo que la bibliografía referente al tema
escapa largamente a mi nivel, y, por tanto, considero útil elaborar una guía que facilite
establecer el nexo entre los conocimientos básicos adquiridos en facultad y el formidable y
creciente cúmulo de información de actualidad. Naturalmente, este incesante crecimiento de la
información no es novedad: desde el desarrollo de la escritura el conocimiento humano ha
crecido en forma consistente, y la invención de la imprenta revolucionó la tasa de actualización
de ese conocimiento hasta su actual forma exponencial, al punto que para mantenernos al frente
de una hilera formada por todos los libros nuevos que se publican ¡deberíamos desplazarnos a
150 km/h! ([Haw02], p. 158). Si se desea que las nuevas generaciones puedan beneficiarse del
rico patrimonio adquirido a lo largo de la historia de la humanidad, y se pretende además que
sobre este generen nuevos conocimientos, no hay más opción que sintetizar in perpétuum la
experiencia acumulada, puesto que de no hacerse, no habría tiempo para reconstruir y
expandir los conocimientos sin prolongar o potenciar de alguna forma la vida humana
([Haw02], cap. 6). Con esto en consideración, el hecho que mi memoria de grado pueda contribuir al
necesario proceso de síntesis continua del conocimiento – en el área de diseño de sistemas electrónicos,
naturalmente - constituye un estímulo adicional para lanzarme al abordaje de tan dinámico y abstracto
tema.
OBJETIVOS, METAS, Y RESULTADOS ESPERADOS
Este documento, “Diseño de Sistemas Electrónicos Complejos”, pretende presentar el actual
panorama de diseño de sistemas electrónicos, a un nivel de estudiante de grado de ingeniería
electrónica sin formación en ciencias computacionales.
Es la intención de esta memoria de grado el coleccionar, seleccionar, ordenar, y estudiar
adecuadamente la información concerniente a los procesos de diseño electrónico actuales, de
forma de presentarla al estudiante de grado en electrónica en forma efectiva y comprensible,
tal que guíe su acceso a los canales de información. Intenta así llenar un vacío detectado en el
curso de la investigación bibliográfica, durante la cual no fueron hallados documentos a nivel
de grado en ingeniería electrónica que no supusieran formación adecuada en ciencias de la
computación.
Este trabajo se basa en la firme convicción que la única opción viable para iniciar la
comprensión de la filosofía de diseño electrónico actual, es centrarse en ciertos conceptos
claves, a partir de los cuales la intuición y el sentido común - educados por el estudio permitan completar el panorama, obteniendo una visión global del espacio de diseño
electrónico. El objeto no es, por tanto, describir ni estudiar flujos o herramientas de diseño
electrónico particulares. El objeto es comprender las metodologías, su filosofía, sus
mecanismos e implementaciones subyacentes, como única manera de sobrevivir a los rápidos
ciclos de obsolescencia tecnológica, y la inundación de información concomitante. En esta
búsqueda de comprensión conceptual no se requiere - ni se otorga - la capacidad para
desarrollar metodologías o herramientas de diseño, y tampoco se supone u otorga el
7
Probablemente ‘auto - segregados’ por propia idiosincrasia, actitud que considero debe ser combatida
hasta su reversión. Quizás el objetivo subyacente - y más importante - del mencionado proyecto, fuese
precisamente un impulso en ese sentido.
conocimiento o habilidad para el uso de herramienta alguna: se pretende únicamente
comprender patrones de comportamiento, función, y utilidad, tal que permitan discernir
posibles limitaciones de las metodologías o de las herramientas, generar formas de soslayar
tales limitaciones, o manejarse ante una eventual carencia de metodologías o herramientas.
ORGANIZACIÓN Y SINOPSIS DEL DOCUMENTO
El presente documento se halla estructurado en dos partes. La primer parte, que comprende
los capítulos 1 al 3, se dedica a establecer una noción de conceptos como ‘sistema’,
‘complejidad’, ‘diseño’, y ‘modelo’, así como la relación entre estos. La segunda parte, que
comprende los capítulos 4 y 5, presenta los conceptos, metodologías, y herramientas que
intervienen y/o asisten en los procesos de diseño de sistemas electrónicos complejos de
actualidad.
En el capítulo 1 se abordan las nociones de sistema y complejidad. Se hace hincapié en las
limitaciones del reduccionismo en la ciencia contemporánea, en la línea de Von Bertalanffy, y
se establece la noción de sistema complejo jerárquico - modular en la línea de Simon.
El capítulo 2 presenta las nociones de proceso y producto de diseño en ingeniería. Inicialmente
se adopta una perspectiva tradicional para describir los procesos de diseño en ingeniería, y
luego se reforma esta visión mediante la noción de estrategias de diseño ascendente y
descendente, y el concepto de espacio de diseño y sus técnicas de exploración y poda. Se
establece que el proceso de diseño presenta una estructura de carácter fractálico, y se propone
la estructura abstracta básica que le da forma, la celda de diseño. En sintonía con estos
conceptos, se propone que el producto de un proceso de diseño es esencialmente inmaterial,
constituido por un par de descripciones con ciertas características, lo cual permite identificarle
como un modelo y a su vez relacionarle con el proceso de diseño que le dio origen. Se
introduce la preocupación por el lenguaje de descripción de los modelos.
El capítulo 3 se dedica a discutir la noción de modelo, donde el hincapié se hace en los
modelos de tipo matemático y de tipo ejecutable (programas ejecutados en un computador).
Un tema central en este capítulo lo constituye la presentación de las limitaciones
meta - matemáticas de indecisión e incompletitud (Gödel), incomputabilidad y el problema de
finalización (Turing) y la aleatoriedad algorítmica (Chaitin). Se discuten sus implicancias en el
terreno de las matemáticas, la física contemporánea, y la ingeniería, particularmente en el área
informática.
El capítulo 4 expone la evolución histórica de los sistemas electrónicos, tomando como punto
de partida la consecución del primer circuito integrado, avanzando hasta presentar las
problemáticas y desafíos que enfrenta el diseño electrónico de actualidad en virtud de su
evolución, y particularmente, su sinergia con el desarrollo informático. Se presta particular
atención a los desafíos de diseño que presentan los designados sistemas embebidos, puesto que
es el ejemplo de referencia para el siguiente capítulo.
El capítulo 5 propone una estructura abstracta para enmarcar los procesos de diseño de
sistemas electrónicos complejos, que permite describir y comprender tanto las metodologías de
diseño tradicionales como las de actualidad. Se presenta la descripción de cada uno de sus
niveles de abstracción, y de los procesos de síntesis y análisis que les relacionan. A la proposición y
examen de esta estructura abstracta, sigue la presentación de su refinamiento en términos de
los elementos concretos con los cuales puede ejecutarse un proceso de diseño, como lenguajes
de programación y descripción de dispositivos electrónicos y herramientas de diseño
asociadas. En el marco de las estructuras abstracta y concreta de diseño electrónico, se
presentan conceptos recientemente elaborados en el área de las ciencias de la computación
para aplicación al diseño electrónico, y las metodologías de diseño electrónico que este tipo de
conceptos permite desarrollar.
ACLARACIONES
DEMOSTRACIONES
En virtud del carácter introductor y de recopilación de este trabajo, no se hará en el mismo
ningún tipo de demostración.
El propósito es comprender la idea detrás de las propuestas y no las eventuales
demostraciones de su validez lógica. Por tanto, en lugar de demostraciones formales, se
desarrollarán - permítaseme el abuso del lenguaje - ‘mostraciones’, es decir, se presentarán
argumentos que apelen a la intuición. Tales argumentos se basarán en la hipótesis que la
formación del lector es al nivel de grado en ingeniería electrónica, o similar.
No necesariamente se habrá comprendido - o siquiera leído - alguna demostración, ya sea
porque la misma excede al nivel de comprensión, o bien por estar fuera del alcance pretendido
para el trabajo. No obstante, en tales casos las fuentes donde encontrar las demostraciones
serán debidamente referidas y, en lo posible, suministradas junto con este documento8.
REFERENCIAS BIBLIOGRÁFICAS
Con excepción de las referencias que remiten a libros o cursos, se dispone de copia
electrónica de cada una de las restantes referencias bibliográficas citadas, la mayoría de las
cuales fueron obtenidas de la red global Internet, desde sitios disponibles al público general9.
Debido a la dinámica de este medio, es probable que las copias electrónicas de tales referencias
sean reubicadas o eliminadas de los sitios de origen en el corto o mediano plazo, y por ello, en
ciertos casos se ha optado por no proveer el enlace correspondiente. Asimismo, tampoco se
provee el enlace en los casos no se ha registrado debidamente el origen de la referencia; estos
casos corresponden mayormente a las referencias obtenidas mediante búsquedas genéricas y
masivas en la red, y no en sitios universitarios o empresariales específicos.
En virtud de lo anterior, se pretende entregar - en un disco compacto (‘CD’) junto con este
documento - la copia electrónica de las referencias bibliográficas, estudiando para cada caso la
forma de evitar incurrir en violaciones de los intereses o derechos de los autores o editores de
las referencias en cuestión.
NOTACIÓN Y TIPOGRAFÍA
El ‘spanglish’, injuriante conmistión de las lenguas Española e Inglesa - impuesta merced a la
connivencia del subdesarrollo y la dominación cultural contemporáneos - es una construcción
que se intentará evitar con denuedo en este documento.
Se hará el mayor esfuerzo para que en este trabajo no aparezcan inconsistencias idiomáticas
como ‘codiseño software - hardware’10, sin poner en cuarentena tales abusos del lenguaje
mediante adecuadas comillas como se indica en este preciso ejemplo, y aclarando su
significado y el motivo que obliga a su uso en una correspondiente nota al pie. Entre las
escasas justificaciones aceptables para este tipo de expresiones puede aducirse que, en muchos
casos, la tal expresión es la forma empleada habitualmente en la literatura, y que una
expresión en español equivalente y compacta es de difícil construcción, en virtud de la
inevitable alegorización proveniente del ambiente informático, cuyo desarrollo - que anticipa al
de la lengua - es además llevado a cabo mayoritariamente por personas de habla inglesa. No
obstante, se intentará encontrar en cada caso una expresión en Español semánticamente
equivalente, y se adjuntará la voz usual en la literatura como referencia.
Al lector atento, que advertirá el eventual uso de voces latinas como a priori o in perpétuum
sin justificaciones expresas ni aclaraciones complementarias, corresponde aclararle que tales
expresiones son definidas en el diccionario de la Real Academia Española [RAE84], lo que
valida sin más su inclusión en este texto. Su empleo en este documento obedece
8
Ver las aclaraciones sobre Referencias Bibliográficas en esta misma sección de Aclaraciones.
9
En algunos casos se han obtenido copias impresas de los documentos citados; las mismas fueron
obtenidas mediante solicitud correspondiente a los sitios de origen en la red global Internet, y obtenidas
vía correo postal ordinario, sin costo de recepción.
10
Expresión derivada de la voz inglesa ‘software - hardware codesign’, de aparición circa 1990 en la
literatura. Indica diseño concurrente o simultáneo, al mismo nivel, e interactivo, de los dispositivos
electrónicos programables y su programación asociada, donde los cambios en una parte influyen
significativamente en la otra. El concepto es extensible a sistemas que integran componentes
miniaturizados no tradicionales, como ser mecánicos, ópticos e inclusive biológicos.
Nota adicional: Esta nota al pie sólo intenta ejemplificar el uso de aclaraciones, y no debe ser interpretada
como explicación del concepto. La expresión en cuestión deberá quedar meridianamente clara en el
desarrollo de este documento, o de lo contrario indicará en forma evidente que no se ha conseguido el
objetivo de esta memoria.
principalmente a funciones de énfasis, no respondiendo a razones de uso habitual en la
literatura.
CRITERIOS DE REDACCIÓN
Se ha intentado ajustarse en este trabajo a una serie de criterios de redacción, con objeto de
lograr una comunicación eficiente y al mismo tiempo amena. Estos criterios se han extraído de
“El arte de redactar buenos informes técnicos” [Slo01], y se anotan a continuación:
•
Primero describa el problema: de a sus lectores la oportunidad de experimentarlo y
eventualmente resolverlo.
•
Conozca a sus lectores: sea consciente de los supuestos que utiliza.
•
Conozca a sus lectores: los lectores no leerán materiales por encima de su nivel; muy pocos
acudirán a otros textos para poder interpretar el suyo. Si el nivel del texto es muy inferior al
de sus lectores, lo pasarán por alto.
•
Sea claro: si no puede expresar su idea en el reverso de una tarjeta personal, es que no tiene
clara la idea.
•
Escriba oraciones cortas (menos de 25 palabras). Como regla, presente una idea en una
oración. Ante la duda, use signos de puntuación: el punto separa ideas; la coma ordena la
oración, cambia el sentido; el punto y coma relaciona frases fuertemente conectadas.
•
Sea breve. Simplifique las expresiones.
•
Use términos simples en aras de una comunicación más directa. Defina todos los términos.
•
Evite la ambigüedad; es preferible ser reiterativo.
•
No sea verborrágico, ni exagerado. No use expresiones débiles, doble negación, lenguaje
vulgar, o jerga.
•
Use tercera persona, pero lenguaje activo; evite el uso de voz pasiva.
•
Conecte las frases: cuente una historia, no un conjunto de hechos.
Seguramente, muchas partes de este documento no se ajustarán a la mayoría de los criterios
precedentes - particularmente el referido a usar oraciones cortas. No obstante, se ha hecho el
esfuerzo de ceñirse a estas directivas, para evitar que este documento resulte en una mera
descarga apresurada de información, limitada a cumplir su finalidad académica en el menor
plazo posible.
Se busca con estos criterios que este documento sea efectivamente accedido por terceros
lectores amen de quienes integren el tribunal examinador de esta memoria, y además, de
forma tal que les resulte comprensible - no debe olvidarse que es tanto una motivación como
un objetivo de esta memoria, el que reporte esa utilidad a nivel de grado en ingeniería
electrónica.
PRESENTACIÓN
Es la intención el presentar una versión electrónica de este documento, en un disco
compacto (‘CD’). Se prefiere para ello el formato pdf (‘Portable Document Format’) en virtud de
la existencia de varias aplicaciones - disponible gratuitamente para varias combinaciones de
plataformas y sistemas operativos - capaces de interpretar el formato referido. Estos lectores de
archivos pdf proveen capacidades de exploración de documentos mediante ‘hiperenlaces’, es
decir, referencias cruzadas en documentos de ‘hipertexto’ (texto con referencias cruzadas
‘activas’) y en algunos casos, índices y tablas de contenidos. Se pretende de esta forma proveer
la posibilidad de navegación inmediata y cómoda entre los enlaces ‘activos’ internos o externos
que se incluyen en el documento.
Entre los enlaces internos del documento figuran las referencias cruzadas entre tablas,
figuras, notas al pie, y secciones. Los enlaces denominados externos se refieren a direcciones
de sitios en la red global Internet, direcciones de correo electrónico, y enlaces con otros
documentos en formato electrónico que se incluyan en el disco compacto al que se refiere esta
Presentación.
De particular importancia se consideran los enlaces internos con las referencias
bibliográficas. En un formato impreso (‘hardcopy’, en la literatura de habla inglesa) la
constatación de cada referencia bibliográfica conforme se desarrolla la lectura resulta una tarea
tediosa, puesto que las referencias se listan al final del documento, no en el punto donde se
mencionan11. El ejercicio de búsqueda que implica la constatación de la referencia completa, a
la larga resulta incómodo y constituye un factor de distracción, por lo cual solamente quien se
encuentre decididamente interesado se tomará el trabajo de realizar la constatación de la
referencia completa. Sin embargo, en formato electrónico - particularmente en el formato pdf
escogido - este inconveniente se soslaya proveyendo enlaces internos a las referencias, y
contando con los ágiles comandos de navegación provistos por la mayoría de los programas
para saltar a la referencia, y retornar al punto de lectura sin ulteriores complicaciones ni fatiga.
Consecuentemente, se busca con la pretendida presentación electrónica que este documento
resulte en una guía efectiva al tema, suministrando inmediata y cómodamente el acceso a las
referencias.
11
Se entiende aquí que no se incluye en el lugar donde se menciona la referencia a todos los datos
correspondientes, es decir, no se inserta en el sitio a la referencia completa, sino sólo una mención a ella.
Cabe aclarar que no se adopta en este documento el estilo de indicar las referencias en notas al pie de
página, como es de uso en humanidades y ciencias sociales; se sigue el uso en ingeniería o actividades
tecnológicas que ubican las referencias al fin del capítulo o al fin del documento.
AGRADECIMIENTOS
ACADÉMICOS
Este trabajo, como cualquier otra memoria de grado o actividad académica, se beneficia
directa o indirectamente, consciente o inconscientemente, de los innumerables e intangibles
aportes de todo el cuerpo académico de la facultad, brindados desinteresadamente y a lo largo
de los años de formación. A todos ellos, sin excepción, mi sincero reconocimiento.
Es inevitable, sin embargo, que ciertos docentes del cuerpo académico hayan efectuado
aportes significativos, y en forma directa. De hecho, son quienes han dejado una clara
impronta en este documento. En particular, quiero agradecer profundamente al Dr. Suárez
Ántola, al Prof. Mario Guerra, y al Ing. Carlos Zamalvide por haberme generado la curiosidad
por los problemas filosóficos subyacentes a cualquier disciplina académica - ya sea de
ingeniería o no - y haberme motivado y guiado para aproximarme a estos, y apreciar su
verdadera relevancia y magnitud con el debido respeto. Hoy siento este invalorable aporte
nada menos que como lo que permite diferenciar entre el mero ejercicio de una profesión
estando inmerso y restringido en ella, de su consideración crítica en el contexto más amplio del
conocimiento. También debo agradecer a MSc. Manuel Burgos, no solamente por haber
ejercitado una paciencia casi infinita como tutor en este trabajo, sino por el apoyo moral y la
motivación permanente a lo largo de todos estos años, y - lo más importante - por mostrarme
la ingeniería electrónica desde una perspectiva hasta el momento insospechada por mí; me ha
resultado más enriquecedor el trabajar en esta monografía que el haberme dedicado a elaborar
un proyecto de fin de carrera más circunscrito a los aspectos tecnológicos, que perfectamente
podré realizar como profesional. Finalmente, no puedo omitir mi más sincero agradecimiento
al Prof. Pablo García, quien contribuyó de una manera decisiva a que yo pudiera romper con
ciertos prejuicios que traía al momento de iniciar los cursos, en los cuales permanecería aún
atascado, y que me hubieran impedido aprovechar adecuadamente todo cuanto me fue
ofrecido a lo largo de estos años en la facultad.
PERSONALES
Quiero agradecer a mi pareja, mi familia, y mis amigos, por todas las angustias, críticas, y
preocupaciones que han enmarcado estos cuatro años que - egocéntricamente - he dedicado a
satisfacer mi interés.
Estoy en deuda con mis padres, mi hermana, tíos, primos, y abuelos - los que viven, y los
que permanecen vivos en mi memoria. Estoy en deuda con mis amigas y amigos. Estoy en
deuda con Lilián, con Fernando y, fundamentalmente, con Isabel.
He recibido de todos, de una u otra forma, la muestra suprema del afecto; el regalo más
valioso que se puede recibir: su tiempo, conmigo.
A todos: ¡Gracias!
“La mayoría de los errores realmente importantes se comete el primer día”
Eberhard Rechting, ‘Systems A rchitecting’, 1991.
INTRODUCCIÓN
Omitiendo las indispensables consideraciones de tipo ecológico, social, y ético que debieran
pautar las acciones y omisiones de la humanidad - la necesidad de mantener el hábitat, las
fuentes de aire y agua potables, alimentos, energía, servicios de salud, estabilidad política,
etc. - la irresponsable tenaza económica actual constriñe al conjunto de las actividades
humanas, en pos de un desarrollo de dudosa significación, pero de indudable riesgo.
Ante una sociedad fuertemente dependiente de la tecnología para mantener la estructura
social civilizada, el afán económico incide particular y nefastamente en los tiempos de
investigación, desarrollo y producción de tecnología, ocasionando - entre otras adversidades una carrera tecnológica desenfrenada. El ciclo de realimentación así creado entre avances
científico-tecnológicos y demanda tecnológica, registra períodos cada vez más cortos, y en el
caso particular del desarrollo electrónico, sigue un ritmo exponencial declarado
tempranamente en 1965 por la ‘Ley de Moore’ para la industria de semiconductores. La
violenta escalada tecnológica actual, combinada con la complejidad inherente a los sistemas a
diseñar, ejerce una presión desmesurada sobre los diseñadores en áreas de tecnología, y genera
una brecha creciente entre su capacidad de diseño y las actuales posibilidades de producción.
En particular, en el área electrónica, la incesante evolución tecnológica permite en la
actualidad la conformación de sistemas completos en una sola pastilla de silicio, habilitando la
integración de los tradicionales dispositivos electrónicos con elementos ópticos y mecánicos, y
en un futuro no muy lejano, con elementos químicos y biológicos. La complejidad de tales
sistemas emana tanto de su escala como de su heterogeneidad, planteando a los diseñadores
de sistemas electrónicos problemas formidables de diseño, como consideración de efectos
cuánticos y relativistas, control de millones de elementos operando concurrentemente en red, y
manejo de efectos mecánicos, ópticos y electrónicos en permanente interacción. La complejidad
de estos microsistemas se ve además escalada por su aplicación en contextos de sistemas más
generales, como sistemas de cómputo o control distribuidos, sistemas de tiempo real, sistemas
dinámicos, modificables en tiempo de ejecución mediante reprogramación o reconfiguración.
Adicionalmente, la complejidad de estos sistemas es escalada por exigentes etapas de prueba,
verificación, y documentación, y en última instancia, por la necesidad de administrar las
anteriores cuestiones en interacción con el medio - incluyendo este a los seres humanos y su
fustigador flagelo económico.
Como única salida viable al desfase creciente entre capacidad de diseño electrónico y
complejidad, actualmente se proponen y emplean metodologías de diseño descendentes,
asistidas por herramientas informáticas basadas en rigurosos formalismos matemáticos,
promoviendo diseños ‘correctos por construcción’. Estas herramientas informáticas permiten a
la electrónica diseñar mejores plataformas de cómputo, sobre las cuales la informática puede
generar nuevas y más potentes herramientas para su propio desarrollo; a su vez, el desarrollo
informático permite la gestación de nuevas herramientas para diseño electrónico, cerrándose
de esta forma un ciclo de soporte mutuo entre electrónica e informática, cada vez más
interdependiente.
A pesar de esta sinergia entre electrónica e informática, la diferencia en la usual formación
de ingenieros informáticos y electrónicos dificulta a los primeros el brindar las abstracciones
necesarias a los segundos para que modelen adecuadamente el mundo físico, y a los segundos
el comprender los beneficios de los procesos de abstracción desarrollados por los primeros,
quienes los han empleado con éxito indiscutible en aplicaciones que no interactúan
directamente con el mundo físico. Esta brecha ha determinado la emergencia de una ‘ciencia
de la computación’12 que busca consolidar el desarrollo mutuo electrónico-informático. Esta
disciplina ha permitido - sobre el fin del siglo XX - el desarrollo de metodologías formales de
diseño, soportadas por una parafernalia de herramientas asociadas a flujos concretos de
12
‘Computer Science’ como se refiere habitualmente en la literatura de habla inglesa. Debe diferenciarse
de la habitualmente denominada ‘computación científica’, la cual trata algoritmos y métodos de cálculo
numérico orientados a actividades científicas, pero no se dedica al desarrollo de herramientas de diseño
ni sistemas de cómputo.
diseño. Tales metodologías intentan automatizar los procesos de análisis y toma de decisiones
del diseño electrónico, para asistir a la minimización de costos de diseño y producción, en el
sentido amplio del término - minimización de costos económicos, errores, probabilidad de
fallas, y maximización de las garantías en los sistemas: fiabilidad, seguridad, disponibilidad,
calidad de servicio, etc.
El desarrollo mutuo electrónico-informático, en el marco de la precedentemente mencionada
carrera tecnológica, ha instrumentado sistemas de comunicación que proveen un cúmulo de
información avasallante. Sin embargo, en gran medida esta información está desorganizada, es
irrelevante, redundante o directamente inexacta, generando más confusión que claridad.
Adicionalmente, la contienda mercantilista instaurada en los diversos círculos de proveedores
de herramientas de diseño, fabricantes de semiconductores, dispositivos electrónicos, e
integradores tecnológicos, agita aún más el turbulento flujo de información, de forma que el
caudal de información se presenta particularmente turbio para estudiantes de grado de
ingeniería electrónica no especializados e inexperientes.
Este documento, “Diseño de Sistemas Electrónicos Complejos”, pretende presentar el actual
panorama de diseño de sistemas electrónicos, a un nivel de estudiante de grado de ingeniería
electrónica sin formación en ciencias computacionales. Es la intención de esta memoria de
grado el coleccionar, seleccionar, ordenar, y estudiar adecuadamente la información
concerniente a los procesos de diseño electrónico actuales, de forma de presentarla al
estudiante de grado en electrónica en forma efectiva y comprensible, tal que guíe su acceso a
los canales de información. Intenta así llenar un vacío detectado en el curso de la investigación
bibliográfica, durante la cual no fueron hallados documentos a nivel de grado en ingeniería
electrónica que no supusieran formación adecuada en ciencias de la computación.
Este trabajo se basa en la firme convicción que - en las hipótesis mencionadas, y ante el vasto
universo de conocimiento que se presenta - la única opción viable para iniciar la comprensión
de la filosofía de diseño electrónico actual, es centrarse en ciertos conceptos claves, a partir de
los cuales la intuición y el sentido común - educados por el estudio - permitan completar el
panorama, obteniendo una visión global del espacio de diseño electrónico. El objeto no es
describir ni estudiar flujos o herramientas de diseño electrónico particulares; el objeto es
comprender las metodologías, su filosofía, sus mecanismos e implementaciones subyacentes,
como única manera de sobrevivir a los rápidos ciclos de obsolescencia tecnológica, y la
inundación de información concomitante. En esta búsqueda de comprensión conceptual no se
requiere - ni se otorga - la capacidad para desarrollar metodologías o herramientas de diseño, y
tampoco se supone u otorga el conocimiento o habilidad para el uso de herramienta alguna: se
pretende únicamente comprender patrones de comportamiento, función, y utilidad, tal que
permitan discernir posibles limitaciones de las metodologías o de las herramientas, generar
formas de soslayar tales limitaciones, o manejarse ante una eventual carencia de metodologías
o herramientas 13.
13
Cuestión no menor para diseñadores en países de escasos recursos económicos, ante el costo de las
herramientas de diseño, así como de sus plataformas de ejecución.
PARTE I
[1]
COMPLEJIDAD Y SISTEMAS COMPLEJOS
¿Es usted ‘Aristotélico’ o ‘Platónico’?
Me refiero a si usted es de los que, como Aristóteles, considera que lo fundamental es la
realidad física - el universo es - y la matemática es sólo una aproximación útil a esa realidad, o
si por el contrario, es afecto a la visión de Platón: la realidad es matemática, y los observadores
percibimos imperfectamente su estructura como el universo ‘físico’ en el que vivimos...
Bien, admito que este cuestionamiento pueda parecer una digresión absolutamente
irrelevante, si de “Diseño de Sistemas Electrónicos Complejos” se va a discutir. Sin embargo, ¿ha
observado Ud. si los procesos de diseño en electrónica varían o no, según la complejidad de los
sistemas a diseñar? ¿No le inquietan las oscuras connotaciones que podría poseer el adjetivo
complejo empleado en el título de este documento? ¡Sea honesto! ¿Ha reflexionado Ud. alguna
vez acerca del fenómeno de la complejidad - que es, cual es su esencia - y cómo puede eso
incidir en las tareas de diseño electrónico?
Por inconspicuo que pueda parecer el adjetivo complejo empleado en el título de este
documento, he de advertirle que la complejidad es, en efecto, eje y causa de los procesos de
diseño electrónico actuales. Consecuentemente, la discusión acerca de diseño de sistemas
electrónicos complejos que se pretende desarrollar aquí se iniciará estudiando, precisamente, el
fenómeno de la complejidad en sí mismo.
Si tiene Ud. la paciencia de seguir adelante, espero poder mostrarle la relación existente
entre los actuales procedimientos de diseño de sistemas electrónicos, el fenómeno de la
complejidad, y la adopción de una visión ‘Aristotélica’ o ‘Platónica’ del universo que ha dado
inicio a esta aparente digresión.
[ 1.1 ]
CONSIDERACIONES INICIALES
[ 1.1.1 ] DETALLES Y ABSTRACCIÓN
En un reciente artículo de la publicación ‘Scientific American’, M. Tegmark expone la visión
de la física teórica contemporánea acerca de la existencia de universos paralelos [Teg03]. Sin
entrar en una discusión sobre lo que universos paralelos son o significan - basta con asumir la
noción intuitiva de universos que se desenvuelven en forma simultánea con el universo
‘conocido’ y ‘visible’ en el cual habitamos - según Tegmark tales universos paralelos pueden
clasificarse en niveles, existiendo entre estos niveles una relación de orden. Esta ordenación se
obtiene mediante una progresiva abstracción de los detalles pertenecientes a cada nivel de
universos. Dado que las descripciones de los niveles superiores carecen de los detalles
particulares correspondientes a los niveles inferiores, los niveles superiores resultan más
generales, siendo más numerosas las colecciones de universos comprendidas en los mismos14.
14
Alternativamente, piense en conjuntos, y sus sucesivas colecciones e inclusiones en otros conjuntos.
Esta idea podrá ser revisada a la luz de lo que se expone en la sección 1.3.
Gonzalo Sánchez - Ingeniería Electrónica – Universidad Católica del Uruguay
28 - [ 1 ] Complejidad y Sistemas Complejos
Pletórico de detalles, ‘nuestro’ universo usual se hallaría en el nivel más bajo según esta
clasificación.
Tegmark compara este escalamiento de abstracciones, con un conjunto de ecuaciones y una
solución específica de las mismas. Afirma que el conjunto de ecuaciones es más sencillo que
cualquiera de sus soluciones específicas, puesto que no contiene las condiciones iniciales o de
borde que seleccionan una solución particular del conjunto de todas las soluciones.
Recíprocamente, esta abstracción de condiciones particulares implica una mayor generalidad,
al comprender el conjunto de ecuaciones a todas y cada una de sus soluciones particulares
- una sola estructura matemática describe simple y elegantemente al conjunto.
Esta organización por niveles de abstracción, combinada con el principio antrópico15, es
usada por Tegmark para proponer que la complejidad del universo - desde la perspectiva
Aristotélica de un observador inserto en el mismo - responde a la infinidad de detalles
concretos que permiten a ese observador identificar al universo particular en el cual se halla. Y
que mediante un proceso de sucesiva abstracción de detalles - como eliminación de
condiciones iniciales, abolición de la invariabilidad de las leyes físicas, abatimiento de
asimetrías, etc. - es posible ir reconociendo la existencia de conjuntos de universos cada vez
más amplios, los cuales podrían describirse en forma más sencilla y elegante por estructuras
matemáticas cada vez más compactas. Este proceso de abstracción supone, en definitiva,
migrar de una visión Aristotélica del universo - que nos ha resultado intuitiva por siglos - a
una visión Platónica, la cual facilita el reconocimiento y descripción de estos universos
paralelos en forma matemática. Tegmark llega incluso a postular la simetría completa entre
física y matemática, proponiendo que todas las estructuras matemáticas existen físicamente, y
recíprocamente, que todas las estructuras físicas son representables matemáticamente. Con
ello, establece la equivalencia entre ambos puntos de vista - el Aristotélico y el Platónico librando entonces a la mera preferencia o conveniencia del observador la aplicación de una u
otra visión para describir la realidad del ‘multiverso’ de universos paralelos en el cual nos
hallamos insertos.
No obstante la superficialidad de la precedente reseña del artículo de Tegmark sobre
universos paralelos, es posible señalar una serie de aspectos implícitos en el artículo original,
relativos a la complejidad y los sistemas complejos:
•
se asocia complejidad con detalle
•
se asocia la consideración de detalles con el ejercicio de un punto de vista Aristotélico, que
- en contexto - implica la consideración de particularidades en el universo (en contraposición
a la consideración de cuestiones generales)
•
se propone la abstracción como una simplificación del binomio complejidad~detalle
•
se asocia el proceso de abstracción con la adopción de un punto de vista Platónico, que - en
contexto - implica una consideración a nivel general del ‘multiverso’ (en contraposición a la
consideración de cuestiones particulares)
15
Principio que otorga al propio observador un carácter céntrico en el chequeo de consistencia de una
teoría física fundamental (recuerde que si bien las teorías físicas son refutables, no es posible ‘probarlas’
en el sentido de asegurar su veracidad; de allí que se hable de ‘chequeo de consistencia’ o ‘careo’). El
carácter fundamental en cuestión es un ‘efecto de selección’ que permite identificar un ente dentro de un
‘ensemble’. “El término ‘principio antrópico’ fue acuñado por Brandon Carter en un trabajo de 1974, donde lo
definía como «... lo que podemos aspirar a observar debe estar restringido por las condiciones necesarias
para nuestra presencia como observadores». (...) Si bien el propio Carter nunca dudó como interpretar y aplicar
el principio, no lo explicó suficientemente en una forma filosóficamente transparente como para habilitar a sus
lectores a hacer lo mismo. El problema comienza con el nombre. El razonamiento antrópico no tiene nada que ver
con el ‘homo sapiens’. (...) Carter se ha lamentado por no haber usado un nombre distinto (Carter 1983) sugiriendo
que quizás ‘el principio sicocéntrico’, ‘el principio de cognición’ o ‘el principio de auto - selección del observador’
hubieran sido más adecuados. (...) La etapa de reforma del término probablemente haya expirado, pero enfatizar que
que el principio antrópico concierne a observadores inteligentes en general y no específicamente a observadores
humanos debería ayudar a prevenir malinterpretaciones.” ([Bos02], pp. 43-44). El principio antrópico es a la
fecha un tema altamente controversial.
Diseño de Sistemas Electrónicos Complejos
[ 1.1 ] Consideraciones iniciales - 29
De los aspectos relativos a la complejidad implícitos en el artículo de Tegmark, pueden
inferirse las siguientes relaciones, si se reemplaza ad hoc la idea de ‘universo’ por la de
‘sistema’:
•
la complejidad en un sistema esta asociada al grado de detalle de su descripción, y los detalles
concretos de esa descripción otorgan al sistema su particularidad o grado de originalidad, la
cual es usual examinar desde una perspectiva Aristotélica
•
la abstracción es el proceso que permite una simplificación de la complejidad inherente a un
sistema, mediante la disminución del grado de detalle de su descripción, proceso que
resulta más conveniente encarar desde una perspectiva Platónica
Cabe cuestionarse si la ‘simplificación’ que aparentemente se obtiene por la abstracción de
detalles y reconocimiento de estructuras matemáticas que los contengan, redunda
efectivamente en una disminución de la complejidad que prima facie presenta nuestro universo
particular. Me refiero, ¿no se estaría, simplemente, cambiando la complejidad de lugar? ¿Trocando
una complejidad ‘Aristotélica’, por una complejidad ‘Platónica’? ¡Razonablemente, el hecho
que ciertas estructuras matemáticas sean duales de un ‘multiverso’ físico de gran complejidad,
lo primero que sugiere es que - por más elegantes y compactas que estas estructuras
matemáticas resulten - no deben ser del todo sencillas! ¿Cual sería entonces la ventaja de
cambiar una descripción complicada debido a su detalle, por una descripción matemática
compacta pero intrínsecamente complicada?
Aunque una descripción del universo à la Platón no implique, en esencia, más que la
transmutación de la complejidad hacia la matemática, su utilidad es inobjetable: en primer
lugar, las estructuras matemáticas son generales, y por tanto aplicables a otras cuestiones
aparte de las que maneja la física teórica, lo que implica la posibilidad de reutilización; y en
segundo lugar, es posible intentar la exploración de las estructuras matemáticas mediante
cálculo numérico, a diferencia de otras actividades de índole más ‘Aristotélica’ donde similares
exploraciones serían imprácticas o directamente imposibles.
Dispénseme la insistencia, pero le recomiendo que lea el artículo de Tegmark;
probablemente constituya un significativo aporte al acervo cultural personal.
[ 1.1.2 ] ESCALA Y EVOLUCIÓN
¿Será nuestro futuro como ‘Star Trek’16 o no?
Tranquilícese. Esto no constituye otra digresión al estilo de la visión Aristotélica o Platónica
del universo... aunque aparentemente se insista en el ámbito de la física teórica: con esa
pregunta, el reconocido físico teórico Stephen Hawking intitula el sexto capítulo de su última 17
obra de divulgación [Haw02], y ese cuestionamiento que Hawking hace a la visión de la
humanidad del futuro à la ‘Star Trek’ - una sociedad esencialmente estacionaria en cuanto a
ciencia y tecnología - radica esencialmente en reconocer el fenómeno de la complejidad y su
desarrollo.
Hawking avizora un crecimiento de la complejidad biológica y electrónica, y dedica todo un
capítulo a justificar “Como la vida biológica y electrónica se seguirá desarrollando en complejidad con
un ritmo cada vez más rápido”18. Para iniciar la justificación de tales asertos sobre el escalamiento
de la complejidad, Hawking elige ciertos indicadores como el crecimiento de la población
16
Afamada serie de televisión de fines del siglo XX, que presenta la humanidad del futuro mediante las
circunstancias en las que se ve envuelta la tripulación de una nave espacial, que se ubica a la vanguardia
de la exploración del universo. Contrariamente a una superficial clasificación en la categoría de
‘ciencia - ficción’, cabe destacar a la serie como una cuidada exposición de cuestiones sociales; un buen
espejo de las facetas de la actual cultura humana proyectadas en un ambiente futurista.
17
A la fecha de redacción de este capítulo.
18
Así se subtitula el sexto capítulo de [Haw02] citado precedentemente, y declara precisamente su
objeto.
Ingeniería Electrónica – Universidad Católica del Uruguay
30 - [ 1 ] Complejidad y Sistemas Complejos
humana desde los orígenes de la humanidad, el crecimiento del consumo energético, y el
crecimiento en la tasa de cambio de la actualización de la información (primero con el
surgimiento de la escritura y luego con la invención de la imprenta). Hawking aduce que las
trazas de estos indicadores registran que los respectivos cambios se vienen produciendo en
forma exponencial19, y se pregunta si existirán límites para estos crecimientos desenfrenados de
población, consumo energético, y transmisión del conocimiento... Bien, según Hawking, tales
límites no existirán. Sostiene que - a diferencia de lo que acontece en la sociedad representada en
‘Star Trek’ - no se alcanzarán estados científicos ni tecnológicos estacionarios, “no parece que
tengamos que alcanzar un estado estático en la aplicación de dichas leyes 20 o en la complejidad de los
sistemas que podamos producir mediante ellas” (sic). Definitivamente, no cree en un futuro à la
‘Star Trek’.
Hawking sostiene que la vida biológica y la electrónica se seguirán desarrollando en
complejidad en base a la innovación científica y tecnológica, la cual - nos guste o no - se
seguirá produciendo21 de la misma manera que lo ha venido haciendo hasta nuestros días. La
evolución biológica, actualmente producida mediante mutaciones - un camino aleatorio en el
espacio de las posibilidades genéticas de la molécula de ADN - tiene una tasa de innovación
del orden de 1 ‘bit’22 por año. Tal ritmo es absolutamente insuficiente para seguir la tasa de la
transmisión de la información mediante la escritura, actualmente del orden de 1 millón de ‘bits´
por segundo. Dado este defasaje, Hawking anticipa una inevitable manipulación del ADN
humano - inclusive, su completo rediseño - con objeto de nivelar el desarrollo biológico con la
tasa de actualización de la información por vía escrita. Por otro lado, Hawking reconoce el
desarrollo sostenido que ha registrado la electrónica, el cual ha sido impulsado
fundamentalmente por el permanente incremento en la velocidad de operación de los
dispositivos, concomitantemente con su progresiva reducción de tamaño. A pesar del
inminente límite físico impuesto por la escala atómica de la materia a los procesos de
miniaturización, Hawking cree que la evolución electrónica se seguirá produciendo de todas
formas, mediante esquemas de procesamiento paralelo similares a los cerebrales. Ante este
panorama de inminente manipulación genética e incontenible avance electrónico, Hawking
cree que el compromiso entre capacidad y velocidad - presente en los actuales sistemas
biológicos, que son capaces pero lentos, y los actuales sistemas electrónicos, veloces pero
comparativamente poco capaces - podría eventualmente resolverse por cooperación
electro - biológica. Y, en definitiva, es esta visión de sistemas electrobiológicos operando en un
futuro no muy lejano, lo que induce a Hawking a afirmar que el crecimiento en complejidad de
los sistemas biológicos y electrónicos es inexorable.
No es mi intención - ni remotamente está a la altura de mis capacidades - ponerme en el
lugar de un individuo como Hawking, pero al igual que con el artículo de Tegmark citado en
la sección precedente, es posible extraer de esta breve exposición una serie de implicancias al
respecto de la complejidad y los sistemas complejos:
•
se asocia complejidad con escala
19
Otros autores estiman que estos incrementos - como el ritmo de crecimiento cultural - no son
exponenciales o de ‘interés compuesto’, sino de superaceleración según una curva log - log. ([Ber93], p. 25;
citando a Hart).
20
Se refiere a las leyes físicas.
21
Mientras la humanidad no se autodestruya, o desaparezca por causas singulares como el impacto de
un meteorito con la Tierra, antes que sea factible la colonización espacial. No es el propósito de Hawking
discutir la ética del desarrollo científico - tecnológico y de sus consecuencias socio - políticas; convencido
que este proseguirá independientemente de tales cuestionamientos, aduce en consecuencia que se debe
estar preparado para abordar tales temas, aunque no necesariamente resulten agradables.
22
Del inglés ‘binary digit’: dígito binario. Es, a la fecha, considerado como la unidad de información.
Puede distinguir únicamente dos estados de algún ente referido, comúnmente codificados como {1, 0},
{VERDADERO, FALSO}, o {SI, NO}.
Diseño de Sistemas Electrónicos Complejos
[ 1.1 ] Consideraciones iniciales - 31
•
se plantea un problema de inexorabilidad del incremento en complejidad, en virtud de ser esta
concomitante a procesos evolutivos inexorables
•
se implica que es esperable un escalamiento adicional de la complejidad a partir de la
interacción de sistemas o procesos evolutivos complejos per se
Extrapolando ad hoc la visión de Hawking acerca de la evolución biológica y electrónica, es
posible inferir que la complejidad está relacionada con la escala alcanzada en procesos
evolutivos en general, los cuales, además, no necesariamente encontrarán un límite para su
desarrollo. Adicionalmente, la posible interacción entre esos procesos evolutivos contribuiría
escalando aún más la complejidad que portaban consigo por separado.
La cuestión planteada por Hawking en su exposición no es un asunto menor: ante el
panorama vaticinado, se impone la responsabilidad de reaccionar ante ciertos temas, y discutir
en forma abierta y constructiva las implicancias éticas y sociales concomitantes, antes que su
complejidad devenga inmanejable. Incidentalmente - ¿o quizás no? - la electrónica es parte
fundamental en esta proposición.
[ 1.2 ]
¿DEFINICIÓN O SIGNIFICADO?
Las siguientes son las definiciones de ‘sistema’ y ‘complejo’ que devuelve una consulta al
diccionario de la Lengua Española23 [RAE84]
•
sistema. (Del lat. systêma, y este del gr. σύστημα.) m. Conjunto de reglas o principios sobre
una materia enlazados entre sí. ║2. Conjunto de cosas que ordenadamente relacionadas
entre sí contribuyen a determinado objeto.
•
complejo. (Del lat. complexus, p. p. de complecti, enlazar.) adj. Dícese de lo que se compone
de elementos diversos. ║3. Conjunto o unión de dos o más cosas.
Por composición ad hoc de las anteriores definiciones, se obtiene la siguiente ‘definición’ de
sistema complejo:
Un Sistema Complejo es un conjunto de elementos diversos ordenadamente
enlazados que contribuye a determinado objeto.
Prima facie, aunque en apariencia correcto, el precedente concepto no resulta explícito. Lo
que no debe sorprender, puesto que es directa consecuencia de que definición y significado no
son necesariamente coincidentes. La definición de una palabra es una aseveración establecida
por una fuente como un diccionario, mientras que su significado depende de la interpretación
personal de cada individuo, condicionados por su cultura, entorno y experiencia. Y de hecho,
en los diccionarios se registra más de una acepción para gran cantidad de palabras, en
reconocimiento que su definición cambia, en primera instancia, según el contexto.
Resulta esencial, por tanto, establecer un significado para ‘complejidad’ y ‘sistema complejo’.
No es admisible limitarse a dar una definición, ni es prudente asumir que el significado pueda
ser sobreentendido por quienes lean este documento, y que además tal significado sea el
mismo en todos los casos. El significado puede entenderse como noción, que aporte una visión
común de complejidad y sistema complejo, que evite interpretaciones disímiles de los términos.
Como primera aproximación al significado de complejidad y sistema complejo, en la sección
1.1 se han inferido algunas características de la complejidad asociada a sistemas, a partir de los
resúmenes de un artículo y un libro de divulgación, ambos pertenecientes al área de la física
teórica. Dado que la física teórica es un tema absolutamente ajeno a la electrónica, y en virtud
de haber admitido cierta laxitud e informalidad al extrapolar las ideas sobre complejidad
implícitas en el artículo y el libro citados, corresponde revisar los resultados obtenidos, antes
de emplearlos sin más para dar un significado o una noción de complejidad y sistema complejo
23
Se han eliminado acepciones que, a mi juicio, no contribuyen en absoluto a la presente discusión.
Ingeniería Electrónica – Universidad Católica del Uruguay
32 - [ 1 ] Complejidad y Sistemas Complejos
adecuado a los propósitos de este trabajo. Esas consideraciones iniciales se resumen como
sigue:
•
La complejidad en un sistema aumenta con el grado de detalle de su descripción
•
Conforme se incrementa el detalle en una descripción, necesariamente se produce un
incremento en la cantidad de información descriptiva, de forma que la complejidad puede
inferirse también a partir de consideraciones de escala
•
En procesos de tipo evolutivo se observa un inexorable aumento de escala;
consecuentemente, es previsible el aumento de la complejidad asociada a procesos
evolutivos. De la interacción entre procesos evolutivos, complejos per se, es esperable un
escalamiento adicional de la complejidad
•
Dado que son precisamente los detalles concretos de una descripción los cuales otorgan a
un sistema su particularidad o grado de originalidad, es usual examinarlos desde una
perspectiva Aristotélica. La conveniencia de tal encare dependerá de si el objeto del examen
es la identificación de detalles, o no
•
La abstracción es el proceso que - mediante la disminución del grado de detalle - permite
una simplificación en la descripción acabada de un sistema inherentemente complejo. Una
perspectiva Platónica sería más adecuada si la descripción de un sistema persigue un afán
de generalización, caso en el cual conviene deshacerse de los detalles.
En las secciones que siguen, se contrastarán estas consideraciones iniciales con apreciaciones
de otros autores quienes han abordado el tema de la complejidad y los sistemas complejos en
forma específica, en la búsqueda de un significado para esos conceptos.
No obstante, tales nociones se basan en un concepto de índole más básica: el concepto de
sistema. Hasta el momento, se ha abusado del término, en la hipótesis que a nivel de grado de
ingeniería el concepto de sistema, a fuerza quizás de reiteración, es adquirido en forma
indirecta y subliminal - diríase, por ‘ósmosis y difusión’ - aunque no en forma explícita,
intencional, u organizada. Ante esa ‘omisión’, es la intención en este trabajo el establecer desde
el inicio una noción concreta del concepto de sistema - y sobre esta, el concepto de complejidad
asociada a sistemas, el concepto de diseño, el concepto de modelo, y otros - aunque que no se
desarrollen tratamientos rigurosos y formales. Se pretende así no solamente proveer una
mínima base conceptual para el presente trabajo - ¿de que estamos realmente hablando?
¿pensamos acaso todos en igual forma? - sino instalar la preocupación por la necesidad de
estudio de estos temas en mayor profundidad. Si bien el concepto de sistema ameritaría al
menos un capítulo completo, se ha optado por ‘comprimirlo’ en el mismo capítulo que el
concepto de complejidad, puesto que la finalidad del presente documento es el diseño
electrónico, y no el tratamiento de sistemas complejos cualesquiera.
[ 1.3 ]
SISTEMAS
“Están ingresando en la esfera del pensamiento científico entidades de naturaleza esencialmente
nueva. En sus diversas disciplinas - ya fueran la química, la biología, la sicología, o las ciencias sociales la ciencia clásica procuraba aislar los elementos del universo observado - compuestos químicos, enzimas,
células, sensaciones elementales, individuos en libre competencia, y tantas cosas más - con la esperanza
de que volviéndolos a juntar, conceptual o experimentalmente, resultaría el sistema o totalidad - célula,
mente, sociedad - y sería inteligible. Ahora hemos aprendido que para comprender no se requieren sólo
los elementos sino las relaciones entre ellos - digamos, la interacción enzimática en una célula, el juego
de muchos procesos mentales conscientes e inconscientes, la estructura y dinámica de los sistemas
sociales, etc.” ([Ber93], pp. xiii-xiv). De esta manera presenta Von Bertalanffy su “Teoría general
de los sistemas”, que data del año 196824.
24
Cabe notar que las ideas iniciales de Von Bertalanffy se pueden ubicar, según sus propias palabras, en
la tercer década del siglo XX, circa 1928. Puede así constatar el lector que el material presentado en esta
sección no constituye ninguna novelería.
Diseño de Sistemas Electrónicos Complejos
[ 1.3 ] Sistemas - 33
Por anticuada que parezca la precedente observación, cabe reconocer en el sistema educativo
actual una estructura alineada con lo que Von Bertalanffy denomina ‘ciencia clásica’: la división
del pensamiento o conocimiento en materias o asignaturas que tienden a estudiar aisladamente
cierto ‘elemento’ del ‘universo observado’. Nuestros docentes - desde maestros escolares y
liceales a profesores universitarios - cuestionan cada día con mayor insistencia esta
compartimentación o especialización del conocimiento, que atenta contra la integración de los
mismos, en especial al momento de su aplicación25. En esencia, constituye un reconocimiento
de la carencia de un enfoque de ‘sistema’ en la educación26. “Es necesario un enfoque más sencillo
y unificado de los problemas científicos, necesitamos practicantes de la ciencia, no de una ciencia; en una
palabra, necesitamos generalistas científicos.” (Bode et al., 1949; citado en [Ber93], p. 50).
[ 1.3.1 ] LA VISIÓN ‘CLÁSICA’
“El campo de la ciencia como empresa nomotética - es decir, que trata de establecer un sistema de leyes
explicativo y predictivo - coincidía prácticamente con la física teórica. En consecuencia, la realidad física
pareció la única otorgada por la ciencia. La consecuencia fue el postulado del reduccionismo, el principio
de que la biología, el comportamiento y las ciencias sociales habrían de manipularse de acuerdo con el
parangón de la física, y al fin reducirse a conceptos y entidades de nivel físico. En virtud de adelantos en
la física misma, la tesis fisicalista y reduccionista se tornaron problemáticas y hasta se manifestaron como
prejuicios metafísicos.” ([Ber93], pp. 95-96).
Una lectura global de [Ber93] devuelve que, entre los problemas esenciales que la ciencia
clásica ‘fisicalista’, ‘reduccionista’, y ‘mecanicista’ descuidó - o directamente no consideró -, se
encuentran la organización por diferenciación progresiva, el mantenimiento de un cambio
continuo, y la regulación27, equifinalidad28, directividad (teleología29). Estas cuestiones
surgieron mayoritariamente del campo de las ciencias biológicas, las ciencias sociales, y la
sicología, por el simple hecho que estas actividades lidian con entidades que, ante todo,
presentan una organización manifiesta. Estos conceptos recalcitrantes a la metodología
‘fisicalista’ indican que la ciencia clásica no habría elaborado el concepto de ‘sistema’,
limitándose al esquema de “unidades aislables actuantes según causalidad unidireccional.”
([Ber93], p. 45).
La ciencia clásica, afirma Weaver, se ocupaba de vías causales lineales, o sea de problemas
de dos variables, o de ‘complejidades no organizadas’ 30. Estas últimas son tratables mediante
métodos estadísticos y se empalman a fin de cuentas con el segundo principio de la
termodinámica. “De acuerdo con el segundo principio de la termodinámica la tendencia general de los
25
Al menos mis coterráneos contemporáneos (Uruguay, a fines del siglo XX y principios del XXI)
podrán identificarse con esta afirmación acerca del sistema educativo y las alertas de nuestros docentes.
26
Permítaseme el empleo del vocablo ‘sistema’, cuya aclaración está aún pendiente, carencia que - ahora
admitida - obliga al uso de las comillas en torno al término.
27
Relacionado con la Cibernética de Wiener, o el mantenimiento homeostático de un estado característico.
28
Equifinalidad: tendencia a un estado final característico a partir de diferentes estados iniciales y por
diferentes caminos, fundada en interacción dinámica en un ‘sistema’ abierto que alcanza un estado
uniforme ([Ber93], p. 46); independencia del estado final de equilibrio respecto de las condiciones iniciales.
Concepto originado en las ciencias biológicas, a raíz de características de los organismos vivos.
29
teleología. (Del gr. τελος, -εος, fin, y -logía.) f. Fil. Doctrina de las causas finales [RAE84]. En esencia,
se refiere a la dependencia del comportamiento de un sistema en eventos futuros conocidos de antemano.
Una breve reseña del problema de la finalidad (teleología estática - adecuación -, teleología dinámica
- directividad de procesos: estructura, homeostasia, equifinalidad, intencionalidad) se da en
[Ber93], pp. 79-82: Tipos de finalidad. Véase también [Kli69], p.270 por una breve aclaración acerca de la
relación entre el principio teleológico o anticipatorio y el principio de causalidad, que muestra que estos
son perfectamente compatibles.
30
Es necesario aquí apelar a la noción usual de ‘complejidad’, cuyo estudio - en especial, en relación a
‘sistemas’ - se pospone hasta las secciones 1.4 y 1.5. Asimismo, se debe apelar a la noción intuitiva de
‘sistema’, la cual aún no ha sido conferida en la sección actual.
Ingeniería Electrónica – Universidad Católica del Uruguay
34 - [ 1 ] Complejidad y Sistemas Complejos
acontecimientos en la naturaleza física apunta a estados de máximo desorden 31 y a la igualación de
diferencias, con la llamada ‘muerte térmica’ del universo como perspectiva final, cuando toda la energía
quede degradada como calor uniformemente distribuido a baja temperatura, y los procesos del universo se
paren.” ([Ber93], pp. 40-41). Sin embargo, en la física y la biología modernas salen sin cesar al
paso ‘problemas tocantes a la complejidad organizada’, interacciones entre muchas - pero no
infinitas - variables, que requieren nuevas herramientas conceptuales. “En contraste, el mundo
vivo exhibe, en el desarrollo embrionario y en la evolución, una transición hacia un orden superior,
heterogeneidad y organización.” ([Ber93], p. 41).
La aparente contradicción entre entropía y evolución planteada precedentemente, se
desarticuló en principio mediante la introducción del concepto de ‘sistemas abiertos’32. Estos
pueden mantenerse en un estado de cambio uniforme, y así evolucionar hacia formas
organizadas y estados de orden crecientes, mediante la ‘importación de entropía negativa’33
- en el caso de los organismos vivos, por ejemplo, asimilando moléculas ricas en energía libre.
De esta forma, parecía posible la extensión de los conceptos de la física al resto de las
actividades científicas sin necesidad de abandonar las tesis analíticas ‘atomistas’.
Sin embargo, subsiste el problema que plantean ‘las interacciones entre muchas - pero no
infinitas - variables’. Este problema, si bien parece tratable con la ‘máquina de Turing’ 34,
resulta inviable. “El enunciado fundamental de la teoría de los autómatas es que los aconteceres que
pueden definirse con un número finito de ‘palabras’ son realizables por un autómata (p. ej. una red
neuronal formal según McCulloch y Pitts, o una máquina de Turing) (Von Neumann, 1951). La
cuestión reside en el calificativo de ‘finito’. El autómata puede, por definición, realizar una serie finita de
acontecimientos (por larga que sea) pero no una infinita. Pero ¿y cuando el número de pasos requeridos
es ‘inmenso’, o sea no infinito pero superior, p. ej., al número de partículas del universo (estimado del
orden de 1080) o al de acontecimientos posibles en el alcance temporal del universo (...) 35? Tales números
inmensos aparecen en muchos problemas con exponenciales, factoriales, y otras funciones explosivamente
crecientes. Surgen incluso en sistemas con número moderado de componentes que interactúan con fuerza
(en grado no desdeñable) 36. Para ‘delinearlos’ en una máquina de Turing haría falta una cinta de
longitud ‘inmensa’: que excediera no sólo a las limitaciones prácticas sino a las físicas.37”
([Ber93], p. 24). Una consecuencia para nada trivial de estos problemas de números ‘inmensos’
(así como también los ‘infinitos’) es la posibilidad que existan ‘leyes de la naturaleza’ que estén
fuera del alcance, no ya de la comprensión de la ciencia, sino de sus posibilidades de
percepción o detección.
Así, a pesar de la introducción del concepto de ‘sistema abierto’, la visión clásica de la ciencia
no considera el concepto de ‘sistema’ tal como se concibe en la actualidad. En la sección
siguiente se pretende introducir el cambio de perspectiva que permite la concepción de
‘sistema’ de la ciencia actual, aunque este no se halle, a la fecha, satisfactoriamente expresado o
descrito.
31
Una forma alternativa de formulación del segundo principio de la termodinámica establece que la
entropía es una medida de la probabilidad, lo cual se traduce en que los sistemas cerrados tienden al
estado de distribución más probable.
32
Según Von Bertalanffy, la teoría termodinámica de los sistemas abiertos es la llamada termodinámica
irreversible (Meixner y Reik, 1959).
33
Según Von Bertalanffy, esta expresión es debida a Schrödinger.
34
La máquina o autómata de Turing se describe en la sección 3.3.6.1.
35
Como datos adicionales: el universo observable a la fecha (el ‘volumen de Hubble’) se extiende a unos
4·1026m.; la cantidad de protones en ese volumen se estima del orden de 10118 (a una temperatura no
superior a 108 ºK). [Teg03]
36
Por ejemplo, una gráfica dirigida de n nodos presenta 2 n(n - 1) posibilidades de conexión de los nodos. A
modo de idea de la magnitud, ya para n=10, las posibilidades superan la cantidad de átomos en el
universo conocido. ([Ber93], p. 25)
37
Debe entenderse esto, en el estado actual del conocimiento y del universo.
Diseño de Sistemas Electrónicos Complejos
[ 1.3 ] Sistemas - 35
[ 1.3.2 ] LA VISIÓN ACTUAL
La ciencia clásica omitió considerar adecuadamente las interacciones entre los ‘elementos’ a
los que sus técnicas de análisis ‘reducían’ la ‘realidad observable’, mediante la imposición de la
hipótesis que éstas interacciones se limitaban a la superposición, es decir, a la suma de los efectos
producidos por cada ‘elemento aislado’ del ‘sistema’.
Actualmente, la aplicación en ‘sistemas’ de la hipótesis de superposición - o linealidad, como
se le denomina en matemáticas - ha debido a fortiori ceder su sitial de privilegio ante la realidad
fuertemente no lineal de muchos ‘sistemas’. Esta alinealidad, esta interacción entre partes que
no es meramente aditiva, es en gran medida responsable de que hoy se califique como
complejos a aquellos ‘sistemas’ que presenten esta característica 38.
Así, en el transcurso del siglo XX se debió reconocer que - en general - la relación entre las
partes constitutivas de un ‘sistema’ dista de ser un problema trivial. Según Von Bertalanffy,
“El problema de los sistemas es esencialmente el problema de las limitaciones de los procedimientos
analíticos de la ciencia.” ([Ber93], p. 17). Considérese, a modo de ejemplo manifiesto, que el
aparentemente sencillo problema de la interacción entre tres cuerpos es analíticamente
insoluble con las herramientas matemáticas actuales, sólo siendo factible abordarle mediante
aproximaciones. Como se mencionó, estas limitaciones analíticas se soslayan bajo la hipótesis
de superposición (o de directa independencia entre las ‘partes’ del ‘sistema’): “La aplicación del
procedimiento analítico depende de dos condiciones. La primera es que no existan interacciones entre
‘partes’, o que sean tan débiles que puedan dejarse a un lado en ciertas investigaciones. Sólo con esta
condición es posible ‘deslindar’ las partes - real, lógica, y matemáticamente - y luego volverlas a ‘juntar’.
La segunda condición es que las relaciones que describan el comportamiento de partes sean lineales, sólo
entonces queda satisfecha la condición de aditividad, o sea que una ecuación que describa la conducta del
total tiene la misma forma que las ecuaciones que describen la conducta de las partes; los procesos
parciales pueden ser superpuestos para obtener el proceso total, etc.”. “Semejantes condiciones no las
cumplen las entidades llamadas ‘sistemas’, o sea consistentes en partes ‘en interacción.’39”
([Ber93], pp. 17-18).
Se desprende de [Ber93] que la ciencia clásica ha debido abdicar sus visiones reduccionistas
fundamentalmente en virtud de un innegable y omnipresente ‘orden jerárquico’ 40 en el
universo, que se evidencia sucesivamente en las partículas elementales, los átomos, moléculas,
estructuras intracelulares, las células mismas, los seres vivos, y hasta las organizaciones
supraindividuales, tanto en el reino animal como en lo que respecta al ser humano. Se observa,
además, una jerarquía parecida tanto en estructuras (orden entre partes) como en funciones
(orden entre procesos). Este ‘orden jerárquico’ está ligado a cuestiones de ‘diferenciación’,
‘evolución’ y ‘medición’ de la organización, que no parecen ser expresables como es debido en
términos de entropía negativa ([Ber93], pp. 26-27). Requiere, por tanto, un encare conceptual
diferente: un enfoque de ‘sistemas’. “Es necesario no sólo estudiar partes y procesos aislados, sino
también resolver los problemas decisivos hallados en la organización y el orden que los unifican,
resultantes de la interacción dinámica de partes y que hacen diferente el comportamiento de éstas cuando
se estudian aisladas o dentro del todo.” ([Ber93], p. 31). Se llega así a una concepción que - en
contraste con el ‘reduccionismo’ de la ciencia clásica - se podría denominar ‘perspectivismo’.
([Ber93], p. 49).
En consecuencia, según Von Bertalanffy el problema fundamental en la ciencia actual es el
de la complejidad organizada41. En sí, los problemas de la ‘totalidad’ son problemas de
organización, fenómenos no descomponibles en acontecimientos locales, e interacciones dinámicas,
38
Ver nota 30, p. 33.
39
Aquí, ‘interacción’ debe entenderse como ‘interacción no lineal’.
40
El término jerarquía aquí mencionado es un concepto vital que se examina con mayor detalle en la
sección 1.5.
41
Un análisis pormenorizado del significado de complejidad se desarrolla en las secciones 1.4 y 1.5, en
donde se aborda también al problema del ‘orden jerárquico’.
Ingeniería Electrónica – Universidad Católica del Uruguay
36 - [ 1 ] Complejidad y Sistemas Complejos
que se manifiestan en la diferencia de conducta de las partes cuando estas se consideran
aisladamente o en una configuración superior ([Ber93], p. 37). Esto requiere un cambio en las
categorías básicas que sustentan el pensamiento científico, de forma de ver el universo como
organización.
[ 1.3.3 ] NOCIONES FORMAL E INFORMAL DE ‘SISTEMA’
El advenimiento de un ‘enfoque de sistemas’ en la ciencia actual, o ‘perspectivismo’ en la
terminología de Von Bertalanffy, ha obligado al surgimiento de nociones concretas de sistema.
Como es natural, las nociones de tipo informal - es decir, no expresadas en forma lógicomatemática rigurosa - preceden históricamente a las nociones formales42.
Una noción burda e informal de sistema es expresada comúnmente como “el ‘todo’ es más que
la suma de sus ‘partes’”, y reside en que las características constitutivas de la entidad ‘todo’ no
son explicables a partir de las características de sus ‘partes’ constitutivas aisladas, sino que se
requiere considerar además las relaciones o interacciones entre las partes. Implica, además
- “... la suma de las partes...” - que tales relaciones o interacciones no son lineales, o aditivas.
Confiere así la idea que ‘sistema’ es un agregado de partes en forma no aditiva.
En virtud de la importancia y utilidad de la formalidad lógico - matemática, que en la ciencia
y la ingeniería es una herramienta fundamental de prolífica aplicación, y motor de su
desarrollo, no debe extrañar el hecho que se intente o haya intentado formalizar la noción o
significado de sistema. En forma independiente, han surgido teorías formales que
- intencionalmente o no - abordan parcialmente o se solapan con la “Teoría General de Sistemas”
de Bertalanffy. Así, este autor se refiere a la “Teoría de los Juegos” de Von Neumann y
Morgenstern (1947) la “Cibernética” de Wiener (1948) la “Teoría de la Información” de Shannon y
Weaver (1949) la “Teoría de los Compartimientos” de Rescigno y Segre (1966) la “Teoría de los
Conjuntos” de Mesarovic (1964) y Maccia (1966) la “Teoría de los Autómatas” de Minsky (1967) la
“Teoría de la decisión”, la “Teoría de las Gráficas”, la “Teoría de las Redes” y la “Teoría de las colas”.
Cada una de estas teorías formales es la expresión en un determinado campo, orientada a
determinadas aplicaciones, del concepto de sistema.
De acuerdo a Von Bertalanffy, con la designación (algo laxa) de axiomático se cubren aquellos
enfoques que persiguen una noción rigurosa del sistema y de sus implicaciones, derivada por
métodos lógico-matemáticos modernos43. Así, una noción formal ‘axiomática’ de sistema es
factible en términos ‘topológicos’ de conjuntos y relaciones entre sus elementos:
Un sistema es un conjunto de elementos en interacción, donde ‘interacción’
significa que los elementos e están en relaciones R, de forma que el comportamiento
de un elemento de e en R difiere de su comportamiento en otra relación R’. Si los
comportamientos en R y R’ no difieren, entonces no hay interacción, y los elementos
se comportan independientemente con respecto a las relaciones R y R’.44
Los conceptos de ‘conjunto’ y ‘relación’ no admiten se les establezca un significado: “Estas
ideas de unidad45 y conjunto son ‘primitivas’, es decir, no reducibles a otras más simples, y tienen valor
puramente relativo, pues todo ente es, a su vez, un conjunto de otros entes que lo componen, y todo
conjunto puede considerarse a su vez como una nueva unidad, pudiéndose formar con estas unidades
compuestas (también llamadas ‘de orden superior’) nuevos conjuntos, y así sucesivamente”.
42
Esta mención simplista de las nociones de ‘formalidad’ e ‘informalidad’, disimula importantes
cuestiones: en primera instancia, a la utilidad relativa de uno y otro tipo de noción, y en segunda
instancia, al tema subyacente del lenguaje y su incidencia en la ‘apercepción’ de la realidad.
Introducciones a estos tópicos se presentan en las secciones 3.2 y 2.1.2.2, respectivamente. Las nociones
de ‘formalidad’ e ‘informalidad’ se discuten en más profundidad en las secciones 3.2 y 3.3.
43
‘Modernos’ debe interpretarse como el estado del conocimiento a mediados del siglo XX.
44
Esto ha sido adaptado de [Ber93], p. 56.
45
O ‘elemento’.
Diseño de Sistemas Electrónicos Complejos
[ 1.3 ] Sistemas - 37
([PCT60], V. I, p. 1). “La idea de ‘relación’ es también ‘primitiva’ (como las de unidad y conjunto), es
decir, no reducible a otras más simples”. ([PCT60], V. I, p. 8).
Si bien la precedente noción formal de sistema no parece un aporte significativo sobre la
noción informal presentada inicialmente, esta noción de sistema como conjunto topológico es
un punto de partida prometedor, y sugiere la siguiente serie de observaciones:
•
La noción de sistema como conjunto sugiere inmediatamente la de subsistema como
subconjunto. Dado que un subconjunto es en sí un conjunto, un subsistema sería en
consecuencia un sistema - lo que efectivamente es coherente con la noción intuitiva de
sistema y subsistema. A su vez, esta noción de subsistemas como subconjuntos sugiere su
aplicación recursiva para subconjuntos de subconjuntos, es decir, sugiere considerar
subsistemas anidados empleando idéntica noción. En otras palabras, esto no es más que
una reformulación del ‘valor relativo’ de los conceptos ‘unidad’ y ‘conjunto’ de
[PCT60], V. I, p. 1.
•
La noción de sistema como un conjunto sugiere asimilar la frontera o borde del conjunto al
‘límite’ del sistema46. A su vez, esto sugiere identificar el complemento del conjunto con el
‘medio ambiente’ o ‘entorno’ del sistema. Esta identificación conjunto - complemento con
sistema - entorno además implica la existencia de determinado universo, como conjunto
colección de los dos subconjuntos disjuntos mencionados (el sistema y su entorno).
•
La definición de un conjunto en base a una colección de subconjuntos admite que estos sean
tanto disjuntos dos a dos, como que presenten intersecciones, siempre que constituyan una
cobertura exacta del conjunto original47. Desde el punto de vista del conjunto, esto permite
identificar como equivalentes a las diferentes colecciones de subconjuntos que lo pueden
determinar unívocamente. Así, distintos esquemas de partición 48 de un conjunto en
subconjuntos, serían asimilables a distintas formas de descomponer un sistema en
subsistemas. Si bien con esto se admitiría que una división del sistema en subsistemas
pudiera efectuarse mediante subsistemas con partes comunes y no comunes
simultáneamente, ello estaría probablemente identificando a una descripción confusa del
sistema, que prima facie podría clarificarse dividiendo a los subsistemas ‘solapados
parcialmente’, en partes que representen sus ‘intersecciones’ y partes que representen los
complementos de las primeras a los subsistemas originales.
•
De acuerdo a una determinada partición del sistema, puede emplearse el término
‘elemento’ para designar a las partes del esquema resultante, significando que desde la
perspectiva que originó la partición se ha llegado a un punto tal que no cabe o interesa una
división ulterior o más fina. Sin embargo, no implica que desde otra perspectiva estos
‘elementos’ resulten indivisibles49.
Con este significado de ‘sistema’, se deben identificar las nociones ‘topológicas’ con las
‘reales’ en cada caso concreto (sistemas biológicos, sociales, físicos, etc). “Hay dos caminos para
definir o determinar un conjunto, también llamado ‘clase’, métodos que los lógicos designan por
‘extensión’ y ‘comprensión’”. “Este método (por ‘extensión’) para determinar los conjuntos es el más
frecuente en la vida ordinaria, pero sólo es apropiado para conjuntos con pocos elementos. Por otra parte
los conjuntos infinitos sólo pueden definirse por ‘comprensión’, es decir, ‘dando un criterio que permita
reconocer para cada ente arbitrario, si pertenece o no al conjunto’”. ([PCT60], V. I, p. 1). La
imposibilidad para determinar un conjunto por extensión en caso de tener éste infinidad de
elementos es evidente, pero asimismo, el considerar conjuntos con un número ‘inmenso’ de
elementos pone de manifiesto la ya mencionada limitación de la ‘máquina de Turing’ en este
tipo de problemas, lo que implica también una imposibilidad en el caso de número ‘inmenso’
46
En particular, ello habilita a tratar las usuales cuestiones de sistemas ‘abiertos’ o ‘cerrados’ en relación
a la inclusión o no de la frontera en el propio conjunto que representa al sistema.
47
Por exacta, se debe entender que no debe cubrir en exceso, es decir, un conjunto más amplio.
48
Al referirse a partición de un conjunto, se asume una cobertura exacta del conjunto.
49
Esto es otra consecuencia de que las ideas de elemento y conjunto son primitivas.
Ingeniería Electrónica – Universidad Católica del Uruguay
38 - [ 1 ] Complejidad y Sistemas Complejos
de elementos. Consecuentemente, es esperable que los métodos de designación de sistemas por
comprensión resulten, en la práctica, no sólo más convenientes, sino los únicos factibles en el
caso general. Cabe observar, además, que cuanto más general es un conjunto, es decir, cuanto
menor es su comprensión, tanto mayor puede ser su extensión. ([PCT60], V. I, p. 3). Así, el
hecho que las designaciones por comprensión puedan hacer referencia a conjuntos cada vez
más numerosos conforme se ‘simplifican’, supone una interesante coincidencia con lo expuesto
en la sección 1.1.1, acerca de la progresiva abstracción de detalles requerida en el proceso de
migración de la concepción ‘Aristotélica’ a la ‘Platónica’ del universo.
La noción formal de sistema es expresable matemáticamente de varias maneras
([Ber93], Ap. I, pp. 262-267). En particular, para aquellos sistemas en los cuales debe
considerarse su evolución en el tiempo50 - sistemas dinámicos - se distinguen dos grandes
modos de descripción:
•
Descripción interna: Se define el sistema merced a un conjunto de n medidas, llamadas
variables de estado. Usualmente, para el caso de sistemas continuos51, su cambio en el tiempo
se se expresa analíticamente por un conjunto de n ecuaciones diferenciales simultáneas de
primer orden, llamadas ecuaciones dinámicas52. En el caso de sistemas discretos, se emplean
ecuaciones en diferencias. El cambio en el sistema es expresado por las trayectorias
descritas por las variables de estado en el espacio de estados, o sea, el espacio de n
dimensiones de posibles localizaciones de dichas variables. Fundamentalmente se busca
distinguir los comportamientos asintóticamente estables, neutralmente estables, e inestables, en
virtud de ser la estabilidad un concepto central en las teorías dinámicas.
•
Descripción externa: El sistema es visto como una ‘caja negra’, y se describe mediante
entradas y salidas, lo cual prioriza la relación entre el sistema y su entorno. Las relaciones
entre entradas y salidas están dadas por ‘funciones de transferencia’, tanto en casos de
sistemas continuos como discretos.
La descripción interna es esencialmente estructural, puesto que procura describir el
comportamiento del sistema en términos de variables de estado y su interdependencia. La
descripción externa es esencialmente funcional, puesto que describe el comportamiento por su
interacción con el medio, prescindiendo de los detalles internos. Estos modos de descripción se
corresponden, en esencia, con un ‘orden de partes’ y un ‘orden de procesos’, respectivamente,
y en determinadas circunstancias es factible la transmutación entre ambos modos descriptivos.
Ahora bien, la precedente visión de sistema como conjunto ‘topológico’ podría también ser la
expresión formal de la visión de la ciencia clásica ‘reduccionista’ y ‘mecanicista’. Es importante
remarcar entonces que es el agregado explícito de la consideración de las relaciones entre los
‘elementos’ del conjunto (y, por extensión de la idea, con el entorno) lo que le confiere la
perspectiva de la ciencia actual a esta noción. En este contexto, debe considerarse que las
relaciones entre los ‘elementos’ de un conjunto dependerán de como se efectúe la división de
este en subconjuntos. Esta partición es factible en forma de subconjuntos disjuntos o
intersecados, anidados o no, hasta obtener la discriminación de los ‘elementos’.
Consecuentemente, en la división de un sistema en subsistemas están implicadas las relaciones
entre los subsistemas resultantes, y una división tal que las relaciones resultantes sean ya
intensas, ya alineales, fomenta la complejidad asociada al sistema53. De forma que - após de la
identificación de las características topológicas con las concretas - resta identificar las relaciones
entre los elementos del conjunto/sistema; se debe lograr una forma de traducir las relaciones
50
La ciencia ‘Occidental’ expresa particular preocupación por el ‘tiempo’. Según algunos autores, lo
interpreta y representa supeditada a condicionantes lingüísticas y culturales (ver sección 2.1.2.2).
51
Como se interpreta usualmente, sistemas continuos son aquellos en los cuales la variable tiempo se
expresa como una cantidad continua, en el sentido de continuidad de una variable matemática.
Correspondientemente, en los sistemas discretos el tiempo se expresa en formas ‘no continuas’.
52
Sistemas que presentan variaciones espaciales se describen mediante ecuaciones diferenciales en
derivadas parciales.
53
El concepto de complejidad se aborda en la sección 1.4, y la noción de sistema complejo, en la sección 1.5.
Diseño de Sistemas Electrónicos Complejos
[ 1.3 ] Sistemas - 39
concretas y reales a relaciones ‘topológicas’, cuidando el posible escalamiento de la
complejidad en dicho proceso. Se requiere, entonces, una noción concreta de ‘complejidad’.
Conferida así la noción de sistema, se retoma en este punto el objeto principal del presente
capítulo: el estudio de la complejidad y su asociación a los sistemas.
[ 1.4 ]
COMPLEJIDAD
[ 1.4.1 ] EL FENÓMENO DE LA COMPLEJIDAD
“Hoy en día, ‘complejidad’ es una palabra muy de moda. Hemos aprendido muy bien que muchos de
los sistemas que intentamos abordar en nuestra ciencia e ingeniería contemporáneas, son verdaderamente
complejos. Son tan complejos, que no resulta obvio que aquellos poderosos trucos y procedimientos que
nos han servido durante centurias para el desarrollo de la ciencia e ingeniería modernas, nos permitan
hoy comprender y manejar los sistemas complejos contemporáneos. Estamos comenzando a percibir la
necesidad de una ‘ciencia de sistemas complejos’, y estamos comenzando a construirla” 54 [Sim01]
Estas palabras corresponden al discurso de H. Simon (‘Nobel’ de Economía 55 en 1978) ante el
5° Congreso Mundial de Diseño Integrado y Procesos. Declaran en forma lúcida una cuestión
subyacente - y, me atrevo a agregar, normalmente inadvertida - en múltiples y diversas
actividades humanas: la necesidad del estudio de la complejidad en sí misma: “No es novedad
para la ciencia el intentar comprender sistemas complejos”. “Lo que es nuevo acerca de la presente
actividad, no es el estudio de sistemas complejos particulares, sino el estudio del fenómeno de la
complejidad en sí mismo”56 (H. Simon, citado en [MET02])
Esta necesidad del estudio del fenómeno de la complejidad surge, según el citado discurso
de Simon, de la ineficacia de los métodos tradicionales ante las dificultades que presentan para
la comprensión humana los actuales sistemas científico-tecnológicos. Sin embargo, el mismo
Simon (con formación en ciencias sociales - economía, ciencia política - organizaciones y
administración, entre otras cosas) así como también otros autores, no duda al clasificar los
sistemas sociales contemporáneos como sistemas complejos [Sim01]. Consecuentemente, me
atrevo a afirmar que la necesidad del estudio de la complejidad per se es algo a reconocer y
encarar también en áreas como la economía y las ciencias sociales (por citar solamente un par
de áreas controversiales que afectan hasta el más común de los mortales57) y que no
necesariamente
corresponde
este
estudio
a
temas
circunscritos
al
ámbito
científico - tecnológico.
Notablemente, la noción de complejidad como fenómeno es manifiesta y explícita en la
visión de Hawking del futuro de la humanidad que se presentó sucintamente en la sección
1.1.2. Asimismo, la propuesta de Tegmark de adoptar un punto de vista Platónico para
54
Texto traducido del original, en inglés. Si bien se ha intentado reproducir fielmente el espíritu del
texto original, es posible se hayan introducido sesgos de acuerdo a la percepción personal tanto del texto
como de su contexto.
55
Es importante aclarar que el “Premio Nobel de Economía” NO EXISTE. Es, en realidad, una
denominación errónea del “Premio del Banco de Suecia en Ciencias Económicas en memoria de Alfred Nobel”,
el cual es otorgado - por igual monto, y en la misma fecha que los premios Nobel - por el Banco Central
de Suecia, institución que lo estableció en 1969. Recientemente, uno de los herederos de Alfred Nobel
puso sobre el tapete esta controversia, impostura que en ámbitos científicos está denunciada desde hace
tiempo. “La controversia sobre el ‘premio del Banco de Suecia en Ciencias Económicas’ - un premio cuyo objetivo
era conferir a esta profesión un aura de ciencia - hizo que resurgieran todas estas importantes cuestiones. Una
impostura científica se pone en juego.” ([HH05], p. 34).
56
Texto traducido del original, en inglés. Ver nota 54, p. 39.
57
La distinción que efectúo entre economía y ciencias sociales responde al uso cotidiano de los términos
que percibo actualmente; de hecho, se contrapone a mi firme convicción que la economía debiera ser
prima facie una ciencia social, y no una pretensión de axiomatizar rígidamente los comportamientos
sociales.
Ingeniería Electrónica – Universidad Católica del Uruguay
40 - [ 1 ] Complejidad y Sistemas Complejos
simplificar la descripción de un modelo de universos paralelos (presentada en la sección 1.1.1)
estaría sustentando de hecho a la afirmación de Simon referente a la ineficacia de los métodos
tradicionales para resolver los temas de nuestra ciencia contemporánea. Naturalmente, adhiero
a las palabras de Simon, y pretendo que estas sirvan de hilo conductor del pensamiento a lo
largo de todo el presente documento58.
Cabe efectuar una observación, y ésta es que - irónicamente, dado el propósito de esta
sección - resulta difícil hablar de complejidad sin hacer referencia a los sistemas donde esta se
manifiesta. No obstante, en todo momento se sigue con el propósito de considerar la
complejidad como un fenómeno en sí mismo, y se debe hacer el ejercicio de desligarla de los
sistemas, identificándola como un ‘factor común’.
En lo que resta de este capítulo, se busca establecer el significado59 de ‘complejidad’ y ‘sistema
complejo’, desde una perspectiva general. Las manifestaciones particulares de la complejidad
en sistemas científico - tecnológicos - especialmente los electrónicos - serán objeto de otros
capítulos en este documento.
[ 1.4.2 ] FUENTES DE COMPLEJIDAD
¿Son los sistemas complejos en sí mismos, o aparentan serlo porque no comprendemos sus
mecanismos intrínsecos y sus interacciones?
Una primer aproximación al fenómeno de la complejidad es proporcionada por Warfield,
citado por Maxwell, Ertas y Tanik en [MET02], quien establece la existencia de dos fuentes de
la complejidad asociada con cada sistema: “Similar a la diferencia entre la definición y el significado
de una palabra, existen siempre diferencias entre la realidad de un sistema” (complejidad
circunstancial60, asociada al sistema en sí; el sistema es la fuente de complejidad) “y la
percepción que de ese sistema tienen los individuos.” (complejidad cognitiva, asociada al observador
humano). “Los seres humanos no podemos recolectar y analizar suficiente información acerca de
sistemas complejos, tal que permita la total comprensión y conocimiento del sistema, y para empeorar
aún más las cosas, no interpretamos correctamente la información que recibimos. La complejidad podría
también ser definida como la limitación de la mente humana y sus capacidades de razonamiento”61.
En principio, la respuesta según Warfield a la pregunta que abre esta sección, es que los
sistemas pueden ser complejos en sí, pero que además, nosotros podemos no ser capaces de
comprenderlos adecuadamente. La complejidad emana de ambas fuentes; la primer fuente es
el propio sistema y la información o características que de alguna manera ‘emite’, que están
disponibles para ser coleccionadas y comprendidas por los observadores humanos. La segunda
fuente es la distorsión o mal interpretación de tal información por el receptor.
Maxwell, Ertas y Tanik citan también a Wolfram, quien propone tres fuentes para la
complejidad (asociada a un sistema): la primera, corresponde a la permanente interacción del
sistema con su entorno; la segunda fuente proviene de las condiciones iniciales aleatorias o
complejas a las que está sometido el sistema, y la tercera es intrínseca al sistema, dado que este
puede ‘producir’ complejidad sin estímulos desde el entorno.
Un análisis algo burdo devolvería que la proposición de Wolfram meramente agrega detalles
a la complejidad circunstancial definida por Warfield, poco afectando al concepto de
complejidad cognitiva. Sin embargo, cabe notar que - dependiendo de como se considere el
límite entre el sistema y el entorno - la primera y la tercera fuentes de complejidad aducidas
por Wolfram pueden dar origen a confusiones en tal burdo análisis: si el entorno del sistema
involucra a los observadores humanos, podrían superponerse de forma poco clara las fuentes
58
Y con ellas reivindico las muy probables injurias proferidas contra mi persona ante las digresiones
iniciales acerca de física teórica
59
Ver sección 1.2
60
‘Situational complexity’ en el original.
61
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 1.4 ] Complejidad - 41
de complejidad según Wolfram con las fuentes cognitiva y circunstancial de Warfield. No
obstante, el presente trabajo no busca dilucidar este tipo de aspectos; lo que interesa es alertar
sobre las posibles fuentes de complejidad, de forma que se habilite a comprender las
estrategias empleadas en los procesos de diseño electrónico para lidiar con las mismas - temas
que se tratarán más adelante en capítulos específicos.
[ 1.4.3 ] ESCALAMIENTO DE LA COMPLEJIDAD
En [MET02] se cita a Warfield afirmando que la complejidad de un sistema puede
incrementar con el transcurso del tiempo, y que - de hecho - lo hará. Afirma además que la
interacción entre subsistemas aumenta la complejidad del sistema, y dado que los sistemas
pueden cambiar y adaptarse, estas interacciones pueden ser más frecuentes con el tiempo.
En primera instancia, y con escaso esfuerzo, se pueden reconocer las inferencias realizadas
en la sección 1.1.2 reflejadas en las afirmaciones precedentes, sobre el inevitable incremento en
la complejidad de los sistemas. Es claro que bajo ningún concepto pueden estas afirmaciones
considerarse una ‘demostración’ de la veracidad de tales inferencias, aunque sí cabe reconocer
que constituyen una opinión perfectamente alineada con las mismas. Y como se verá más
adelante, estas afirmaciones pueden ser fundadas en la concepción de ‘sistema complejo’ que
propone H. Simon, a introducirse en la siguiente sección.
Warfield describe un par de consideraciones adicionales al respecto del escalamiento de la
complejidad, que se deben a la escala del problema y al factor ‘humano’, las cuales son de
particular importancia. Afirma que cuando el problema es pequeño, el equipo de trabajo es
capaz de ‘rodearlo’, y por tanto capaz de ‘ver’ la totalidad del sistema y comprender todas sus
ramificaciones y requerimientos - inclusive a medida que el sistema evoluciona. Sin embargo,
en problemas de gran escala, es el sistema quien ‘envuelve’ al equipo humano, y por tanto éste
puede no ser consciente de grandes partes del sistema, y puede no ser capaz de apreciar
completamente las interacciones entre sus componentes - quizás ni siquiera logre ver la
totalidad de los componentes del sistema. En esta situación, la percepción del equipo es
inicialmente limitada, pero debido a su evolución temporal, el sistema emitirá información de
sus subsistemas e interacciones, haciéndolos visibles al equipo con el correr del tiempo. Según
Warfield, este incremento de información en el tiempo es el mecanismo responsable del
escalamiento de la complejidad, causado por la (gran) escala de los sistemas. A este factor de
escalamiento, Warfield adiciona la complejidad cognitiva, pero ahora entendida como la
interacción entre integrantes del equipo de trabajo, quienes deben establecer una visión común
del sistema en cuestión. Este último es un problema no menor, puesto que involucra las
percepciones, intereses, identidad y política individuales de cada miembro del equipo,
problemas no presentes en situaciones individuales.
Nuevamente, es posible encontrar entre las observaciones de la sección 1.1.2, coincidencias
con las afirmaciones precedentes. En particular, la visión de Hawking acerca de la necesidad
de potenciar el desarrollo biológico para nivelar la capacidad humana con la tasa de
actualización de la información escrita, constituye un reconocimiento de la gravedad del
‘problema que rodea al equipo’ - y, más bien, de sus posibles consecuencias. Aunque en forma
más velada, igualmente es posible reconocer una situación similar en el planteo de Tegmark,
revisado en la sección 1.1.1: su argumento en pro de una visión Platónica del universo es, en
definitiva, un intento por ‘rodear’ al problema, y abarcarlo hasta contener todas sus
ramificaciones; la visión Aristotélica se correspondería con la situación inversa, donde el
problema tiende a rodear al equipo, o éste está ‘inmerso’ en el sistema.
Aún es posible adicionar otros términos al escalamiento en complejidad: cambios en la
naturaleza del sistema, o en la comprensión que tiene el equipo del mismo; el objetivo de un
diseño o proyecto puede cambiar o redefinirse, así como los recursos disponibles. Todos estos
factores contribuyen al incremento de la complejidad, y deben ser tomados en cuenta
adecuadamente, no siendo aconsejable subestimarlos a priori.
Ingeniería Electrónica – Universidad Católica del Uruguay
42 - [ 1 ] Complejidad y Sistemas Complejos
Naturalmente que el sentido común permite intuir la pertinencia de las afirmaciones de
Warfield, sin necesidad de más careos de opinión. Sin embargo, como se mencionó en 1.2, no
se considera prudente asumir que tal visión surge indefectiblemente en cada uno de nosotros,
ni que posee una interpretación única; la inclusión explícita de estas afirmaciones
aparentemente triviales responde precisamente a esa intención de ser explícitos, en pos de
asegurar una visión común.
[ 1.5 ]
SISTEMAS COMPLEJOS
Un sistema, de acuerdo a la discusión que se presenta en la sección 1.3, es un orden dinámico
de partes y procesos en interacción no trivial ni despreciable cuyo grado de complejidad está dado
fundamentalmente por el carácter de la relación entre las partes. En la presente sección se
pretende fundamentar la precedente afirmación, en base a una caracterización genérica de las
relaciones entre las partes de un sistema, las que conforman su estructura.
“Axelrod y Cohen (1999) establecen que ‘la complejidad deriva de causas fundamentales, y no siempre
puede ser eliminada’. Más aún, comentan: ‘Si bien los sistemas complejos pueden ser arduos de predecir,
pueden tener un cierto grado de estructura y así permitir el mejoramiento mediante una intervención
consciente’. De forma que, el identificar la estructura de un problema puede ser una de las maneras de
lidiar con su complejidad. Axelrod y Cohen también se apegan a la idea presentada por Murray
Gell - Mann (1995) quien propone que los sistemas complejos son difíciles de predecir no porque sean
aleatorios, sino porque sus regularidades no se pueden describir en forma concisa62. Por tanto, la
complejidad se diferencia de la aleatoriedad” 63 [MET02]. Sin embargo, puede observarse en la citada
afirmación que la inexorabilidad sería característica del fenómeno de la complejidad. Esto se
había inferido en la sección 1.1.2, donde esa característica estaba asociada a procesos
evolutivos inevitables. Si bien aquí se afirma que los sistemas complejos no necesariamente son
aleatorios, mientras que en los referidos procesos evolutivos - estrictamente, en los biológicos se adujo que el azar formaba parte del proceso de formación de sistemas complejos, esto no
constituye una contradicción, puesto que lo que se afirma es que la aleatoriedad no se presenta
en el sistema, y nada se menciona acerca de su proceso de formación. Consecuentemente, en la
discusión acerca de la estructura de sistemas catalogados como complejos, no se debiera hallar
la aleatoriedad como elemento constitutivo.
[ 1.5.1 ] JERARQUÍA
Simon provee una idea más elaborada sobre las características de los sistemas complejos que
las simples afirmaciones precedentes, aportando indicios para la justificación de tales asertos.
“Uno de los aspectos de la complejidad que ha suscitado considerable interés, es que la mayoría de los
sistemas complejos que encontramos en la naturaleza (estructuras como átomos y moléculas, y sistemas
como organismos vivos) así como los más complejos artefactos que hemos aprendido a diseñar y construir,
comparten una característica general: son de naturaleza jerárquica.”64 [Sim01]
Esta propiedad de jerarquía asociada por Simon a los sistemas que él clasifica como
complejos, es posible reconocerla inmediatamente en el ejemplo presentado en la sección 1.1.1,
donde la jerarquía es dada por los niveles de universos paralelos que propone Tegmark.
Considero innecesario el discutir que el sentido común clasificaría al ‘multiverso’ de Tegmark
como un sistema verdaderamente complejo - quizás, el más complejo que se pueda considerar,
habida cuenta que todos los sistemas a los que nos podamos referir están a fortiori incluidos en
62
No subestime el lector esta afirmación. El problema de la descripción concisa se trata específicamente en
la sección 3.3.6.2, pero se halla relacionado con un problema filosófico trascendental, cuya cobertura es
esencialmente el contenido completo de la extensa sección 3.3 de este documento.
63
Texto traducido del original, en inglés. Ver nota 54, p. 39.
64
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 1.5 ] Sistemas Complejos - 43
este. No obstante, resta dilucidar si la jerarquía es realmente una característica común a los
sistemas considerados como complejos, y a su vez, esto implica un consenso previo en cuanto a
que significa sistema complejo – significado que aún no ha sido establecido.
[ 1.5.2 ] ‘MODULARIDAD’
“Estos sistemas tienden a presentar una característica adicional: las conexiones e interacciones
internas en cada subsistema son más frecuentes y rápidas que aquellas entre subsistemas. Sistemas que
ostentan esta propiedad son llamados modulares65, y no es casualidad que la mayoría de los sistemas
complejos - naturales, o concebidos por la humanidad - sean modulares. En particular, la ‘modularidad’
facilita su formación, e incrementa significativamente su posible tasa de evolución y desempeño - y por
ende incrementa su chance de supervivencia en la competencia con otros sistemas.”66 [Sim01]
A la característica jerárquica de los sistemas complejos, Simon adiciona la precedente
propiedad de ‘modularidad’, la cual les confiere ventajas o beneficios para su formación,
evolución y rendimiento. Sustenta su proposición efectuando las siguientes observaciones:
•
Considérese sistemas pequeños, que posean la propiedad de poder formar en primera
instancia pequeñas agrupaciones, las que a su vez podrán agruparse en conglomerados de
mayor tamaño, y así sucesivamente. Tales sistemas pequeños podrán gradualmente
generar sistemas de mayor tamaño y complejidad67. El punto es que serán capaces de
hacerlo más frecuente y rápidamente que si la estructura final, más grande, debiera ser
obtenida a partir de los mismos componentes más pequeños en una sola etapa.
Debidamente elaborado, este proceso podría explicar, por ejemplo, la evolución desde
moléculas simples a complejas68, e incluso hasta los organismos como virus y bacterias.
•
Supóngase que ya se posee un sistema complejo69, formado por partes especializadas. Si los
subsistemas están levemente acoplados (por ejemplo, sólo mediante relaciones de entradasalida) y sus procesos internos se conservasen independientes, cada uno de los subsistemas
podría mutar a formas más eficientes sin alterar a los demás, ni degradar la funcionalidad
del sistema total. En ambientes donde prima la ‘selección natural’, esta característica les
conferiría una evolución más rápida frente a sistemas que, sin esa posibilidad de mejorar
‘por partes’, deberían hacerlo ‘completamente’ - y con éxito - para sobrevivir.
Simon aduce que estos argumentos son expresables rigurosamente en forma matemática, y
que “... Esta idea (por primera vez formalizada matemáticamente en 1956) ya anunció la efectividad del
venerable concepto de ‘programación estructurada’ de la ingeniería informática”70 [Sim01]
A efectos ilustrativos, Simon cita el caso de los ‘algoritmos genéticos’, cuya implementación
computacional ha permitido observar - mediante simulaciones - que la tasa evolutiva de
aquellos sistemas con la propiedad de modularidad es efectivamente superior a la de sistemas
que no poseen tal propiedad. Un resultado de tal tipo de simulación se puede ver en [Haw02]
65
Simon los define como ‘nearly decomposable’, algo que traducido literalmente - abusando del lenguaje es ‘casi descomponibles’, y que en realidad quiere significar ‘pasibles de ser descompuestos en partes’, a
las que usualmente se las llama subsistemas. He preferido emplear el término ‘modulares’ para evocar
la expresión original en forma compacta, aunque luego me vea en el incómodo aprieto de emplear el
inexistente sustantivo ‘modularidad’ para referirme a la propiedad de ser modular.
66
Texto traducido del original, en inglés. Ver nota 54, p. 39.
67
Implícitamente, Simon asocia escala con complejidad. Sin embargo, cabe notar que de sus palabras se
infiere que un mero agrupamiento de sistemas que no interactúan entre sí, no califica como sistema.
68
En principio, aquí debe entenderse ‘complejas’ en el sentido empleado por quienes estudian esta área
del conocimiento (químicos, biólogos moleculares, etc.) y no como una referencia circular: aún no hemos
dado significado a ‘complejidad’. Pero, naturalmente, el significado que pretende dar Simon a ‘sistema
complejo’ está alineado con ‘complicación’, como se interpreta comúnmente; lea entonces ‘sistema
complicado’.
69
Aquí, ‘complejo’ depende de la interpretación personal del ‘sujeto omitido’ en la frase.
70
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
44 - [ 1 ] Complejidad y Sistemas Complejos
, p. 162. Personalmente, he visto un ensayo de algoritmos genéticos, elaborado por estudiantes
de informática en mi facultad, aplicado a la generación de ‘jugadores’ capaces de aprender
ciertos juegos implementables computacionalmente. De acuerdo a los resultados obtenidos por
estos estudiantes – ejemplificados mediante ejecución de una simulación - tal tipo de jugadores
‘genéticos’ efectivamente presentaban una eficacia superior a sus contrincantes generados con
capacidades prefijadas, y de hecho, lograban la superioridad en pocas generaciones.
Cabe notar que el concepto de ‘modularidad’ no es de exclusivo interés teórico. Para quienes
diseñan organizaciones y empresas, aparece bajo el nombre de ‘división del trabajo’, y
constituye un paradigma esencial; similarmente, para aquellos que diseñan procesos de
producción y lo emplean bajo la denominación de ‘especialización’, la ‘modularidad’ es un
concepto significativo71. De hecho, Simon cree que el concepto de ‘modularidad’ debe ser una
restricción central de diseño, si se pretenden obtener sistemas comprensibles - para nosotros, o
para los sistemas mismos - y perfectibles mediante revisión72.
[ 1.5.3 ] SÍMBOLOS SENCILLOS
Maxwell, Ertas y Tanik resumen estas y otras propiedades de los sistemas complejos
enunciadas por Simon:
“Las cuatro características de los sistemas complejos, de acuerdo a Simon, son:
•
Los sistemas complejos son frecuentemente jerárquicos
•
La estructura de los sistemas complejos emerge vía procesos de evolución, y esos sistemas jerárquicos 73
evolucionarán mucho más rápidamente que aquellos que no lo son
•
Los sistemas complejos organizados jerárquicamente, pueden ser descompuestos en subsistemas para
el análisis de su comportamiento
•
Dada su naturaleza jerárquica, los sistemas complejos pueden ser frecuentemente descritos, o
representados, en términos de un conjunto de símbolos relativamente sencillo”74 [MET02].
Del último punto se sigue que, a las características de los sistemas complejos en la visión de
Simon (discutidas precedentemente) se adiciona una característica más: la de poder ser
expresados en términos relativamente sencillos. Sin embargo, los autores citados reconocen que la
posibilidad de descomponer un sistema jerárquico en subsistemas –lo que proporcionaría un
método que aplicado recursivamente podría llevar hasta el conjunto de símbolos sencilloslamentablemente dista de ser una tarea trivial75.
71
Este concepto de ‘sistema modular’ de Simon, así como la evolución de la visión de la ciencia ‘clásica’
a la actual en función del concepto de organización (secciones 1.3.1 y 1.3.2) y el concepto de sistema de
Bertalanffy (sección 1.3.3) son manifiestos en varios de los artículos de la publicación nº10 de PRISMA,
sobre la “Cultura y cambio en las organizaciones contemporáneas” [GASBRMLG98]. F. Sorondo explica que
el cambio acaecido en la concepción de las organizaciones - el cual pasa de una perspectiva ‘racional’ a
una ‘cultural’ - es consecuencia del reconocimiento de la significativa incidencia que tienen las
interacciones entre grupos e individuos que integran las organizaciones (pp. 53-59). A. García concibe la
relación entre los conceptos de organización y sistema (pp. 12-15) similarmente a Bertalanffy, y el concepto
de sistema modular es manifiesto en el artículo de C. Baráibar, donde se visualiza a la empresa como un
‘sistema sociotécnico abierto’ (pp. 68-72) conformado por ‘equipos semiautónomos de producción’ (pp.
72-74).
72
Particulariza la idea en los sistemas informáticos, para los cuales anuncia en el discurso citado una
serie de recomendaciones en forma de ‘objetivos de diseño’ [Sim01]
73
El texto original emplea el término ‘hieratic’ en lugar del término ‘jerárquico’ que se tradujo en su
lugar. “hierático, ca. ║4. Dícese de la escultura y la pintura religiosas que reproducen formas
tradicionales” [RAE84]. No encuentro motivo para el empleo del término ‘hierático’, con excepción
quizás de la mención a ‘reproducción de formas tradicionales’.
74
Texto traducido del original, en inglés. Ver nota 54, p. 39.
75
Debe notarse que el concepto de ‘modularidad’ aparece implícito con el de jerarquía en la cita.
Diseño de Sistemas Electrónicos Complejos
[ 1.5 ] Sistemas Complejos - 45
Si bien descomponer un sistema jerárquico en subsistemas no es una tarea trivial, la
posibilidad teórica de describir a un sistema complejo a partir de un conjunto relativamente
sencillo de símbolos, permite relacionar el grado de complejidad del sistema con el detalle y
escala de su descripción. Si se pretende describir un sistema complejo de estructura jerárquica
modular en términos de un conjunto pequeño de símbolos, y hacerlo en una forma compacta,
esa descripción necesariamente aprovechará las características enunciadas del sistema: en
virtud de la ‘modularidad’, los símbolos primarios deberán usarse principalmente para
describir los módulos; siguiendo la jerarquía, estos módulos constituirán la estructura, pero en
este nivel de descripción los símbolos primarios quedan ’encapsulados’ en la descripción de los
módulos, siendo estos últimos los símbolos que mayoritariamente describirán la estructura76.
Si, por el contrario, se abate la jerarquía estructural, y se ignoran o fusionan las fronteras que
delimitan los módulos, el volumen de información necesario para realizar la misma
descripción del sistema desde esta perspectiva ‘plana’ - en términos de los símbolos primarios
exclusivamente - será significativamente superior al caso anterior77.
En virtud del carácter de las relaciones entre las partes de un sistema, puede inferirse que la
descripción ‘plana’ del sistema presenta una complejidad significativamente superior a la
descripción estructurada. De esta forma, la escala - interpretada como el volumen total de
información descriptiva de un sistema, en términos de un conjunto de símbolos sencillos - es
un indicador de la complejidad del sistema. Conviene aclarar que la escala de un sistema no
debe interpretarse como algo relacionado con su ‘volumen físico’ o ‘extensión’, sino
relacionada a la cantidad de información de una descripción - la escala podría asimilarse al
índice del conjunto de entes componentes del sistema, que la descripción habilita a diferenciar.
Equivalentemente, el detalle - asimilado como el volumen de información descriptiva en
términos de los símbolos primarios,de parte del sistema, relativo al total - es también un
indicador de complejidad. De esta forma, detalle y escala pueden emplearse respectivamente
como indicadores ‘local’ y ‘global’ de complejidad de un sistema, tal como se ha inferido
tempranamente en las secciones 1.1.1 y 1.1.2 de este capítulo.
[ 1.6 ]
RESUMEN
Desde la visión ‘perspectivista’ de la ciencia moderna, sistema es un conjunto de elementos y sus
relaciones, las cuales representan interacciones entre los elementos del conjunto y con el
entorno, que son de carácter dinámico, y no necesariamente ‘débiles’ ni ‘lineales’. En otras
palabras, sistema es un orden dinámico de partes y procesos en interacción no trivial ni despreciable.
Se consideran dos modos de descripción formal de un sistema, la descripción interna y la
externa, que en determinadas circunstancias pueden convertirse una en otra e intercambiarse.
La descripción interna consiste usualmente en un conjunto de n medidas (variables de estado) cuyo
cambio en el tiempo (trayectorias en el espacio de estados n-dimensional) se expresa
analíticamente - en el caso de sistemas cuyas variables de estado varían con continuidad
(sistemas continuos) - por un conjunto de ecuaciones diferenciales simultáneas de primer orden,
ordinarias o en derivadas parciales, lineales o alineales (ecuaciones dinámicas) o mediante
ecuaciones a diferencias para los sistemas cuyas variables de estado no son de tipo continuo
(sistemas discretos). Es una descripción esencialmente estructural, puesto que procura describir
el comportamiento del sistema en términos de ‘elementos internos’ y su interdependencia. La
descripción externa considera al sistema como una ‘caja negra’ y expresa la relación de este con
el entorno mediante funciones de transferencia entre ‘entradas’ y ‘salidas’. Es esencialmente
76
Naturalmente, este procedimiento de ‘encapsular’ detalles en unidades más abstractas puede
reiterarse, dando origen a múltiples niveles de ‘encapsulamiento’.
77
Groseramente, podría asimilarse esta situación a la descripción de un conjunto por comprensión y
extensión, respectivamente.
Ingeniería Electrónica – Universidad Católica del Uruguay
46 - [ 1 ] Complejidad y Sistemas Complejos
funcional, puesto que describe el comportamiento del sistema por su interacción con el medio,
prescindiendo de los detalles internos.
Si bien la interacción dinámica entre partes o procesos de un sistema puede sugerir una
incipiente complejidad, en este documento se promueve la consideración de esta última como
un fenómeno en sí mismo, de forma de admitir la clasificación de sistemas tanto como
complejos como no complejos.
La complejidad es un fenómeno asociado a sistemas y a las limitaciones de la mente humana,
que deriva de causas fundamentales y no siempre es posible eliminar. Los sistemas a los cuales
se asocia el fenómeno de la complejidad pueden ser de la más diversa índole, no
necesariamente limitándose el fenómeno a los sistemas científico-tecnológicos, sino afectando a
la totalidad de los sistemas con los que interactúa el ser humano. De la capacidad para extraer
la complejidad como ‘factor común’ a los sistemas complejos, y comprender el fenómeno de la
complejidad en sí, dependerá en gran medida el éxito que se tenga en la solución de los
problemas que enfrenta actualmente la humanidad, entre los cuales se cuentan la necesidad de
mantener el hábitat, las fuentes de aire y agua potables, alimentos, energía, servicios de salud,
estabilidad política, etc.
Maxwell, Ertas, y Tanik consolidan las observaciones acerca de la complejidad como
fenómeno asociado a sistemas de ingeniería: “La complejidad emana de la naturaleza de los
grandes sistemas interconectados, y es escalada por las características personales, las
perspectivas, y el entorno de los individuos que conforman el equipo de diseño. Es importante
que los ingenieros comprendan la complejidad en sí, y cómo esta afecta la comprensión y
capacidad de predicción del comportamiento de los sistemas. Es más importante aún el
manejar la complejidad de forma que no desborde la capacidad de diseño, e impida el
desarrollo de soluciones efectivas” 78 [MET02].
Como fenómeno, a la complejidad pueden reconocérsele fuentes u orígenes. Se identifican
básicamente dos fuentes de complejidad asociada a sistemas: la primer fuente es el propio
sistema y la información o características que de alguna manera ‘emite’, las que están
disponibles para ser coleccionadas y comprendidas por los observadores humanos, y que
Warfield a bautizado como complejidad circunstancial por derivar del propio sistema en cuestión.
La segunda fuente es la distorsión o mal interpretación que efectúa el receptor de la
información emitida por el sistema, a la cual Warfield denomina complejidad cognitiva por estar
asociada a las limitaciones de la mente humana y sus capacidades de razonamiento. Debe
advertirse que es esencial para la correcta identificación de las fuentes de complejidad, la
adecuada distinción entre lo que se considera el sistema y lo que es considerado su entorno,
distinción que - en ciertos casos, por el propio desconocimiento del sistema - no es factible
realizar con certeza o precisión. Al respecto, cabe considerar dos situaciones: la primera, donde
el sistema es pasible de ser abarcado por el o los individuos que lo tratan, y la segunda
- verdaderamente problemática - donde es el sistema quien ‘rodea’ al equipo. Es en el último
caso donde las fuentes circunstancial y cognitivas de la complejidad pueden inicialmente ser
indistinguibles, y solamente la emisión de información conforme evoluciona el sistema en el
tiempo, eventualmente habilitará a la distinción entre ambas fuentes de complejidad.
En cuanto fenómeno, además de orígenes, a la complejidad asociada a sistemas cabe
reconocerle determinadas características. El reconocimiento de estas características, y su
adecuada interpretación, son esenciales al momento de plantear estrategias para lidiar con los
sistemas complejos.
“En resumen, podríamos definir un sistema o un problema complejo como uno que contiene muchos
componentes y subsistemas, organizados jerárquicamente, y que presentan múltiples interconexiones, no
lineales, que son difíciles de comprender, reconocer, y predecir.”79 [MET02].
78
Texto traducido del original, en inglés. Ver nota 54, p. 39.
79
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 1.6 ] Resumen - 47
Una de las características más significativas que presentan los sistemas complejos, es que
son frecuentemente estructurados, y que esta estructura generalmente es jerárquica. En virtud de
estas dos propiedades, resulta factible la descomposición de sistemas complejos en
subsistemas, siguiendo la estructura y jerarquía del sistema original. Obtenida una adecuada
descomposición, se puede trasmutar el análisis del sistema original por el análisis de cada
subsistema por separado más el análisis de las interacciones entre los mismos. Siendo
altamente probable que cada subsistema presente un grado de complejidad menor que el
sistema completo, es esperable obtener una reducción significativa de la complejidad. Sin
embargo, debe considerarse si la adición del análisis de las interacciones entre subsistemas no
torna esta ventaja en aparente.
Los sistemas complejos tienden a presentar una importante característica adicional: las
conexiones e interacciones internas en cada subsistema son más frecuentes y rápidas que
aquellas entre subsistemas, lo que les confiere ‘modularidad’. En particular, la estructura
modular de aquellos sistemas complejos que emergen vía procesos de evolución facilita su
formación, e incrementa significativamente su posible tasa de evolución y desempeño, como es
el caso de sistemas biológicos. Este hecho tiene una importante consecuencia, y es que reduce
significativamente la complejidad en las interacciones entre los subsistemas componentes de
un sistema complejo, por lo cual un análisis de este tipo de interacciones entre subsistemas se
torna factible y - relativamente - sencillo.
Aquellos sistemas complejos en los cuales se combinen las características enunciadas
precedentemente, poseerán una estructura jerárquica modular. En virtud de la propiedad de
‘modularidad’, la interacción entre subsistemas no adquiere la complejidad desplazada por la
descomposición jerárquica del sistema en partes, por lo que efectivamente es posible trabajar a
un nivel de complejidad significativamente inferior al original mediante una adecuada
descomposición.
Los sistemas complejos de estructura jerárquica y modular pueden ser frecuentemente
descritos o representados en términos de un conjunto de símbolos relativamente sencillo. Esta
propiedad es evidente, por ejemplo, en el caso de los computadores de uso general. Se puede
desarrollar una vasta y compleja variedad de tareas80 a partir de un conjunto de símbolos
relativamente sencillo, como son las instrucciones del procesador81. La complejidad del sistema
final está dada por la combinación de módulos de código82 en forma jerárquica, donde las
interconexiones entre módulos son simples y escasas en relación a las conexiones internas o al
conjunto de interconexiones de módulos en un nivel jerárquico inferior.
Dada la posibilidad de describir a un sistema complejo a partir de un conjunto relativamente
sencillo de símbolos, es posible inferir el grado de complejidad de un sistema a partir del
detalle de su descripción, es decir, del volumen de información requerido para describir parte
del sistema, relativo al volumen que se requeriría para describirlo en su totalidad. Asimismo,
entendiendo por escala del sistema el volumen total necesario de información - en términos de
los símbolos primarios - que lo describe en forma no estructurada, es posible emplear la escala
del sistema en forma equivalente al detalle descriptivo del sistema. Tal como se emplean en
este documento, detalle y escala pueden entonces asimilarse a indicadores de la complejidad,
80
No incidentalmente, la complejidad de tales tareas es factible mediante incesantes procesos de
evolución; esto refuerza la idea que los sistemas que surgen de procesos evolutivos exitosos ostentan la
propiedad de ‘modularidad’.
81
Las ‘instrucciones del procesador’ se refieren efectivamente a las micro - instrucciones del dispositivo
programable de silicio, y no a las instrucciones en algún posible lenguaje ensamblador, o instrucciones y
construcciones de algún lenguaje de programación de nivel superior.
82
Aquí, ‘código’ debe interpretarse como código fuente, es decir, legible por el ser humano; el código
objeto (interpretable directamente por el procesador) puede haber sufrido durante el proceso de
ensamblado (o compilación/ensamblado) de un abatimiento de jerarquía, fusión de módulos, u otras
modificaciones.
Ingeniería Electrónica – Universidad Católica del Uruguay
48 - [ 1 ] Complejidad y Sistemas Complejos
generados respectivamente a partir de medidas locales o globales del volumen de información
descriptiva del sistema.
“Un sistema complejo involucra agentes, personas, organizaciones, entidades políticas, programación
de computadoras, etc., capaces de crear, destruir, o cambiar partes y subsistemas y adaptar las
interacciones entre partes y subsistemas.”83 [MET02]. Así, la complejidad asociada a sistemas no es, en
general, un fenómeno estático. Se observa que los sistemas considerados complejos - según el
significado de sistema complejo y complejidad establecidos precedentemente - experimentan
en general un inexorable incremento en complejidad.
Una de las causas del incremento en la complejidad de los sistemas es el incremento en su
escala. Y, en esencia, este escalamiento deriva de su evolución. Los procesos evolutivos tienden
a aumentar constantemente la escala de los sistemas que engendran, como es posible observar
en los procesos biológicos, así como en gran número de procesos evolutivos asociados a
actividades humanas84. Así, es esperable que sistemas surgidos de procesos evolutivos hereden
esa propiedad de escalamiento progresivo e inevitable y, consecuentemente, experimenten un
inexorable incremento en complejidad. Asimismo, de la interacción entre procesos evolutivos es
esperable un escalamiento adicional de la complejidad.
Otro de los factores de incremento de la complejidad en sistemas es la degradación de su
estructura modular. Este factor, al igual que el incremento en escala, también deriva de la
evolución de los sistemas. Dado que en el curso de su evolución los sistemas pueden cambiar y
adaptarse, las interacciones entre componentes pueden hacerse más frecuentes con el tiempo,
y este incremento en la interacción entre subsistemas puede desvirtuar la estructura modular,
según la clase y dinámica de las nuevas conexiones. Cabe notar que este factor de incremento
en complejidad compromete el éxito evolutivo del sistema. En particular, para el caso de
actividades humanas, probablemente sea causa frecuente del fracaso de proyectos,
estancamiento de estructuras sociales, soluciones deficientes, etc.
Desde la perspectiva del ser humano, el escalamiento en la complejidad puede provenir de
cambios en la naturaleza del sistema o problema, o en el grado de comprensión del mismo.
Esto último, sintetizado en el concepto de complejidad cognitiva, debe ser aplicado tanto en casos
individuales como en casos donde está involucrado un conjunto de individuos. Por tanto, se
entiende que la limitación de la mente humana y sus capacidades de razonamiento para
comprender la información, incluye aspectos derivados de la interacción entre individuos que
intentan establecer una visión común de cierto problema o situación.
En definitiva, la complejidad - como fenómeno que deriva de causas fundamentales - no
siempre se puede eliminar. No obstante, se admite la posibilidad de gestionar esa complejidad
mediante intervención consciente, en función de las características de la complejidad y las
propiedades de los sistemas a los cuales se asocia este fenómeno. En particular, se descarta que
la aleatoriedad constituya un factor de complejidad, pese a que pueda intervenir en la
formación o dinámica de sistemas complejos.
[ 1.7 ]
CONCLUSIONES
DESCOMPOSICIÓN JERÁRQUICA MODULAR DE SISTEMAS COMPLEJOS
Admitiendo que los sistemas complejos frecuentemente poseen una estructura jerárquica
modular pasible de ser descrita en términos de un conjunto de elementos relativamente
sencillos, se concluye que
83
Texto traducido del original, en inglés. Ver nota 54, p. 39.
84
Considere nuevamente el desarrollo informático como claro ejemplo de proceso evolutivo, que
inexorablemente incrementa su escala (a partir del mismo conjunto de símbolos elementales, aplicando
una jerarquía modular, incrementa en tamaño y requerimientos) y que permanentemente incrementa su
complejidad, como se deduce de sus requerimientos cada vez más exigentes en recursos y
mantenimiento, así como sus prestaciones.
Diseño de Sistemas Electrónicos Complejos
[ 1.7 ] Conclusiones - 49
lidiar con sistemas complejos de estructura jerárquico-modular requiere, en esencia,
identificar la estructura jerárquica modular del sistema, y descomponerla siguiendo
su jerarquía y división modular; de ser necesario, los subsistemas así obtenidos
pueden ser descompuestos siguiendo este mismo criterio, hasta que se alcance un
estadio de complejidad manejable.
En consecuencia,
la dificultad central a la gestión de la complejidad en sistemas de estructura
jerárquico-modular, radica en como efectuar correctamente la identificación de la
estructura del sistema, y como ejecutar recursivamente la descomposición modular.
La identificación de la estructura de un sistema complejo, y su posterior descomposición
exitosa, no son tareas factibles mediante exclusivo empleo de ‘sentido común’, en virtud de las
fuentes de complejidad circunstancial y cognitiva implícitas. Se requiere la estricta adherencia
a metodologías, que eviten se desvirtúe ese proceso de ‘divide y vencerás’ conforme se
manifiestan ambos tipos de complejidad en el proceso de descomposición85.
Al respecto, Maxwell, Ertas y Tanik señalan entre sus conclusiones en [MET02] que la
gestión de sistemas complejos requiere:
•
desarrollar un grupo de trabajo (equipo humano) integrado y bien organizado
•
continuamente actualizar la estructura del sistema para incorporar nueva información y
cambios
•
identificar y suministrar herramientas que pueda requerir el equipo de trabajo, en
particular aquellas para comunicación, manipulación y presentación de datos e información
•
reconocer que no existen procedimientos mágicos para eliminar la complejidad de los
sistemas de gran escala, pero que liderazgo, motivación, organización y comunicación son
los elementos claves que pueden conceder al equipo la habilidad de gestionar la
complejidad
No obstante, no se propone en [MET02] como identificar la estructura del sistema, y como
descomponerla. Al respecto, en este documento se sugiere una línea de trabajo, en base a la
siguiente serie de observaciones:
•
la pretensión de una aplicación en forma recursiva del proceso de identificación y
descomposición de la estructura jerárquica modular de un sistema, sugiere la ejecución de
un proceso ‘fractálico’, auto-semejante para cada nivel jerárquico, y para cada módulo de la
estructura del sistema86
•
tal proceso de descomposición estructurado y recursivo, sugiere inmediatamente la
posibilidad de ser descrito en forma algorítmica, y consecuentemente, admitiría en ese caso
una correspondiente implementación computacional
•
una implementación computacional de la descomposición de un sistema, para ser
operativa, requiere un modelo adecuado del sistema en términos computacionales87
•
es posible pensar, entre otras posibilidades, la instrumentación de modelos
computacionales de sistemas complejos a partir de modelos matemáticos de los mismos
En consecuencia,
85
El concepto de metodología y su incidencia en los procesos de descomposición jerárquica de sistemas
complejos es objeto de la sección 2.2.
86
Nótese que la metáfora del fractal se refiere al proceso de identificación y descomposición de la
estructura jerárquica modular del sistema complejo en cuestión, no implicando que el sistema posea una
estructura estrictamente fractálica; ésta se ha caracterizado, a lo más, como jerárquica y modular, pero
no necesariamente auto - semejante. Sin embargo, el considerar a priori la estructura como fractálica
(aunque ad post no resulte serlo) puede constituir una interesante y genérica hipótesis de trabajo inicial.
87
Más adecuadamente denominado como “modelo ejecutable”, en virtud de ser código pasible de
ejecución en un computador. El concepto de modelo se estudia en el capítulo 3.
Ingeniería Electrónica – Universidad Católica del Uruguay
50 - [ 1 ] Complejidad y Sistemas Complejos
a efectos de abordar la dificultad central a la gestión de la complejidad en sistemas
de estructura jerárquico-modular, se sugiere el empleo de modelos matemáticos
adecuados del sistema, implementables computacionalmente, y procesos
automatizados de exploración y descomposición estructural, también implementados
en forma computacional; de no ser posible la implementación computacional, se
sugiere el seguimiento del mismo procedimiento, en forma manual.
Sin embargo, cabe aclarar que la línea de trabajo sugerida precedentemente adolece de los
siguientes inconvenientes
•
la proposición de métodos de identificación de estructuras de sistemas complejos, y procedimientos de
descomposición recursiva de tales estructuras, son cuestiones que al momento constituyen problemas
abiertos
•
la definición y elaboración de modelos computacionales adecuados para los sistemas complejos, junto
con sus correspondientes algoritmos de descomposición, se presenta como un arduo problema
adicional
ABSTRACCIÓN DEL DETALLE EN SISTEMAS COMPLEJOS
Admitiendo que los sistemas complejos son en general de gran escala, es decir, son sistemas
cuya descripción completa en forma ‘plana’ requiere volúmenes significativos de información;
admitiendo además que a esa descripción ‘plana’ se puede estratificar, o clasificar en niveles, y
en virtud de las limitaciones inherentes a la mente humana y sus capacidades de
razonamiento, que dan origen a la faceta cognitiva del fenómeno de la complejidad, se concluye
que
lidiar con sistemas complejos de gran escala requiere, en esencia, reducir la
cantidad de información disponible a volúmenes manejables en forma comprensible,
manteniendo únicamente la información relevante al nivel de trabajo en la
descripción del sistema; esta selección requiere la abstracción del detalle de niveles
inferiores.
En consecuencia,
la dificultad central a la gestión de la complejidad en sistemas de gran escala radica
en como realizar la abstracción del detalle, y como determinar la estratificación
adecuada de la descripción del sistema que habilite lo anterior
Al respecto, en este documento se adhiere a las siguientes afirmaciones:
•
la existencia de una estructura jerárquica en un sistema determina la estratificación
adecuada para la descripción de un sistema complejo
•
de ostentar el sistema una estructura jerárquica modular, cabe efectuar la abstracción del
detalle en base a los módulos respectivos, amén de efectuarse siguiendo la estratificación
derivada de la jerarquía
•
aquellos mecanismos que permitan la identificación de una estructura jerárquica modular
en un sistema, también deben permitir - o al menos asistir - a la abstracción del detalle
•
la dualidad físico-matemática propuesta por Tegmark en [Teg03] habilita a pensar lo
anterior en términos de modelos matemáticos adecuados del sistema en cuestión
•
similarmente al proceso de descomposición jerárquico modular propuesto en la sección
precedente, se sugiere la posibilidad de implementación computacional del proceso de
abstracción de detalles, de contarse con un modelo adecuado del sistema en términos
computacionales
En consecuencia,
a efectos de abordar la dificultad central a la gestión de la complejidad en sistemas
de gran escala, se sugiere el empleo de modelos matemáticos adecuados del sistema,
implementables computacionalmente, y procesos automatizados de abstracción de
Diseño de Sistemas Electrónicos Complejos
[ 1.7 ] Conclusiones - 51
detalle, también implementados en forma computacional; de no ser posible la
implementación computacional, se sugiere el seguimiento del mismo procedimiento,
en forma manual.
Sin embargo, cabe aclarar que la línea de trabajo sugerida precedentemente adolece de los
siguientes inconvenientes, similarmente al proceso de descomposición jerárquico-modular
presentado en la sección previa:
•
la identificación de la estructura de sistemas complejos es una cuestión que al momento permanece
como un problema abierto
•
la definición y elaboración de modelos computacionales adecuados para los sistemas complejos, se
presenta como un arduo problema adicional
EQUIVALENCIA ENTRE ABSTRACCIÓN DEL DETALLE Y DESCOMPOSICIÓN JERÁRQUICA MODULAR
La descomposición de sistemas jerárquicos modulares, ejecutada a partir de modelos
abstractos del sistema en cuestión - ya sean modelos implementables computacionalmente, o
no - puede considerarse como un proceso en sentido inverso al proceso de abstracción de detalles
examinado en la sección precedente y en la sección 1.1.1:
•
el proceso de abstracción de detalles propende al cambio de una descripción complicada de un sistema
debido a su detalle (descripción ‘Aristotélica’) por una descripción matemática compacta, pero
intrínsecamente complicada (descripción ‘Platónica’)
•
el proceso de descomposición parte de una descripción abstracta à la Platón, y la descompone hasta
redescribir el sistema original en términos de símbolos sencillos - en esencia, ‘Aristotélicos’ - más
cercanos a la intuición
Cabe entonces cuestionarse si el proceso de descomposición (que fue sugerido como
herramienta para simplificar el tratamiento de los sistemas complejos de estructura jerárquicomodular) ahora visto como proceso en sentido inverso al proceso de abstracción (que fue
sugerido como herramienta para simplificar el tratamiento de sistemas complejos de gran
escala) no implicaría una flagrante contradicción: ¿es posible la simplificación en ambos sentidos,
o constituye - precisamente - un contrasentido?
Que sea posible reducir la complejidad de la descripción de un sistema complejo, tanto
mediante los procesos de descomposición (que operan en sentido del detalle) como mediante
los procesos de abstracción de detalles (que operan en sentido inverso) no constituye una
contradicción:
un proceso de descomposición u otro proceso de abstracción de detalles redundará en
una descripción simplificada del sistema en cuestión, dependiendo si lo que se
pretende es detallar la descripción, o si por el contrario, el propósito es
generalizarla; los procesos de descomposición y abstracción son sugeridos para
efectuar las respectivas tareas, coadyuvando a la gestión de la complejidad
emergente en cada uno de los sentidos de operación.
En cualquier caso, la limitación de la mente humana - parte de la faceta cognitiva de la
complejidad - restringe el volumen de información manejable en forma comprensible a una
cantidad finita y escasa de conceptos o entes. De acuerdo al objetivo descriptivo que se persigue,
desde el estadio inicial en la descripción de un sistema, se intentará generalizar y sintetizar88
esa descripción, o detallarla y analizarla89. Consecuentemente, en el caso asimilable a la
generalización, conforme se incorpora información correspondiente a los módulos y estratos del
88
Aquí, sintetizar se emplea en el sentido de resumir. Sin embargo, el término ‘síntesis’ también se
emplea en el sentido de generar o diseñar (de hecho, así se emplea en la mayor parte del presente
documento);como esto último se refiere a procesos en el sentido del aumento del detalle, se produce así
una desafortunada contradicción, la cual sólo puede dirimirse prestando la debida atención al contexto.
89
Aquí, analizar se emplea en el sentido de examinar. Similarmente a lo que sucede con el término
‘síntesis’ (ver nota 88, p. 51) el término ‘análisis’ sugiere nociones contradictorias según el contexto.
Ingeniería Electrónica – Universidad Católica del Uruguay
52 - [ 1 ] Complejidad y Sistemas Complejos
sistema que se van acopiando, necesariamente se requiere un descarte u ocultamiento selectivo
de elementos informativos a fin de mantener acotado su volumen total; ello redunda en una
pérdida progresiva de la noción de particularidades del sistema. En el segundo caso, el afán
por ahondar en el detalle, incorpora información correspondiente al módulo o estrato local
conforme este se explora, por lo que también es mandatorio el descarte selectivo de
información para mantener acotado su volumen total; en este caso, se tiene una progresiva
pérdida en la noción de la conectividad modular y de la globalidad del sistema. Los respectivos
procesos de abstracción y descomposición propuestos asisten al mantenimiento de la
coherencia en el manejo de la información, y a la permanencia dentro de las limitaciones
impuestas por la complejidad:
lo que se requiere es mantener acotado el campo de visión, de forma que en todo
momento el volumen de información sea manejable y comprensible 90.
Recurriendo a la metáfora del fractal: los procesos de abstracción de detalles y
descomposición, si realizados suponiendo que la estructura jerárquico - modular de un sistema
complejo de gran escala es de carácter auto - semejante, son entonces procesos ‘equivalentes’, en
el sentido que son un mismo proceso ejecutado en distinto sentido según el objeto que persiga la
descripción del sistema.
En virtud de su usual estructura jerárquico - modular, es conveniente efectuar el
tratamiento de sistemas complejos mediante procedimientos de descomposición o
composición que sigan la propia estructura jerárquico - modular del sistema, según
se pretenda detallar o generalizar su descripción, respectivamente. Estos procesos,
que podemos denominar procesos de ‘descomposición o composición jerárquica
modular’, pueden asimilarse a operaciones de acercamiento y alejamiento respecto
de una imagen fractálica, tal que mantienen acotado el volumen de información
mediante la incorporación o descarte adecuado de puntos conforme se modifica el
campo visual. Se trata en esencia de un mismo proceso, ejecutable en dos sentidos
opuestos, según se busque el detalle o la abstracción de la descripción.
En los siguientes capítulos se discute el diseño en ingeniería, el modelado en ingeniería, y la
evolución del diseño electrónico, a la luz de estas consideraciones acerca de la complejidad, los
sistemas complejos, y la gestión de la complejidad en los sistemas complejos mediante
abstracción y descomposición.
90
En ejemplo: la combinación del tiempo de vida y capacidad mental humanas, es lo que impide a un
médico ser especialista en todas las ramas de la medicina contemporánea. Por tanto, en aras de una
visión integral, el médico general debe resignarse a no ver detalles, mientras que el médico especialista
se ve dedicado al detalle inherente a su área de acción (y correspondientemente tiene vedado el detalle
de otras especialidades). No obstante, esta ‘limitación’ de tipo práctico no implica una contradicción
entre las actividades, que inclusive podrían confundirse en una si los médicos vivieran lo suficiente, o
tuvieran una capacidad superior al ‘homo sapiens’. La consulta al médico general o al especialista será
más adecuada de acuerdo a la circunstancia, es decir, de acuerdo al nivel de abstracción o
descomposición que se requiera para el diagnóstico.
Diseño de Sistemas Electrónicos Complejos
[2]
DISEÑO EN INGENIERÍA
El presente documento se refiere, según indica su propio título, al “Diseño de Sistemas
Electrónicos Complejos”. En virtud de la alusión al término, en el capítulo 1 se acomete la
necesaria discusión acerca del significado de sistema complejo. Así, con idéntica intención a la
que se esgrimió para tratar el concepto de sistema complejo en el capítulo 1, se plantea en este
capítulo una discusión acerca del significado del término diseño.
No obstante, como se sugiere desde el título del presente capítulo, el significado del término
diseño se establece específicamente en relación a la ingeniería, no intentándose un planteo en
términos generales. Responde esto a una razón concreta, y es que el objeto de este trabajo es
presentar el espacio de diseño de sistemas complejos de tipo electrónico; consecuentemente, se
pretende ir focalizando progresivamente el trabajo sobre este propósito, de forma que a partir
de este capítulo las discusiones se concentrarán en el área de ingeniería, y luego más
específicamente en el área de la ingeniería electrónica.
[ 2.1 ]
PROCESO Y PRODUCTO DE DISEÑO
¿Que entiende Ud. por diseño?
Prima facie, cabe distinguir el empleo del vocablo ‘diseño’ en referencia a la acción de diseñar,
es decir, al acto de crear o generar un determinado producto material o intelectual, del empleo
del vocablo ‘diseño’ como sustantivo, en referencia al propio producto material o intelectual
obtenido.
En ingeniería, es usual referirse al ‘proceso de diseño’ como la serie de acciones con que se
crea algún ente material o intelectual, y luego referirse al propio producto o ente como ‘el
diseño’. En las siguientes secciones se examina entonces el concepto de diseño en ingeniería,
desde las dos perspectivas derivadas de esta diferenciación inicial entre verbo y sustantivo.
[ 2.1.1 ] EL PROCESO DE DISEÑO
Las siguientes son algunas visiones sobre el diseño en ingeniería - particularmente, el diseño
en ingeniería electrónica - que hacen uso del término en referencia a la acción de diseñar.
“El diseño de ingeniería es el proceso mediante el cual se crea un sistema, componente o proceso para
satisfacer ciertas necesidades. Es un proceso de toma de decisiones (con frecuencia, iterativo) en el que se
aplican las ciencias básicas, las matemáticas y las ciencias de la ingeniería para convertir los recursos de
manera óptima y cumplir un objetivo establecido.” ABET (Comité de Acreditación para Ingeniería y
Tecnología) citado en [Ras00], p. 15.
Para J. Dixon, el diseño en ingeniería consiste en “idear, sujetándose a ciertas restricciones
respecto a la forma de resolver el problema, un componente, sistema o proceso, para llevar a cabo
óptimamente un trabajo específico, sujetándose a ciertas restricciones en la solución del problema.”
([Dix79], p. 18).
Gonzalo Sánchez - Ingeniería Electrónica – Universidad Católica del Uruguay
54 - [ 2 ] Diseño en Ingeniería
Rashid propone que el diseño transforma especificaciones en implementación; particularizando
en el área de ingeniería electrónica, aduce que “Un diseño transforma las especificaciones en
circuitos que satisfacen tales especificaciones.” ([Ras00], p. 12).
En el “Handbook of Design in Electrical Engineering” se lee que el diseño es un plan, o
composición ordenada de cuestiones técnicas y prácticas para implementar un producto o
sistema. Este plan requiere documentación adecuada, tal que permita su evaluación e
implementación ([HBEED], p. 7).
“Diseñar es el acto de definir un sistema. Habitualmente, esto consiste en definir uno o más modelos
del sistema, y ‘refinar’ estos modelos hasta que se obtiene la funcionalidad deseada, sujetándose a un
conjunto de restricciones.”91 [PtP01].
Según surge de las precedentes citas, se puede convenir que el diseño en ingeniería es - en
esencia - un proceso intelectual y ejecutivo (ideas/razonamiento y acciones) que presenta
determinadas características y requisitos.
Corresponde profundizar en estas cuestiones, las cuales se dan por sobrentendidas en las
fuentes citadas. En cuanto proceso intelectual, se requiere considerar los aspectos sicológicos del
proceso de diseño, y en cuanto proceso ejecutivo, cabe estudiar sus aspectos operacionales. La
discusión de estos aspectos constituye el propósito de las secciones 2.1.1.2 y 2.1.1.3. Previo al
planteo de los aspectos sicológicos y operacionales del proceso de diseño en ingeniería, en la
siguiente sección 2.1.1.1 se señalan sus características más relevantes.
[ 2.1.1.1 ] CARACTERÍSTICAS DEL PROCESO DE DISEÑO
Una interpretación de las citas de la sección 2.1.1 permite caracterizar al proceso de diseño en
ingeniería por: 92
•
objetivo: el proceso tiene una finalidad, es específico; no se trata de una actividad guiada por
mera curiosidad o exclusivo afán de exploración (que serían más bien procesos de
investigación)
•
especificaciones: el objeto o finalidad del proceso conlleva asociada ciertas indicaciones a ser
cumplidas o respetadas93, que constituirán parte de las restricciones al proceso y a su
producto, ya sea este material o puramente intelectual
•
planificación: el proceso requiere un plan, un orden de trabajo
•
recursos: es imprescindible contar con recursos de índole material, económico o intelectual
- capital, materia prima, maquinaria, herramientas, personal, conocimiento teórico, experiencia
práctica, etc. - según sea el objeto o finalidad de diseño
•
inventiva: se pretende la creación de algún ente, material o abstracto, lo que necesariamente
implica generación de ideas
•
toma de decisiones: cada opción que se plantea fuerza a una determinación; las resoluciones
son inevitables, o se trata de un caso de proceso sin alternativas (reales, o no percibidas)
•
restricciones: amén de las restricciones derivadas de las especificaciones (las cuales son
indicaciones adrede al diseño) el proceso de diseño se ve sometido a otros tipos de
restricciones, entre las cuales se cuentan las económicas (en ejemplo, por limitaciones del
presupuesto asignado, o por causas externas dinámicas como crisis económicas) decisiones
externas (como decisiones estratégicas, políticas, etc.) criterios aplicables (de construcción,
prueba, evaluación, optimización, etc.) que pudieren venir implícitos - o no especificados -
91
Texto traducido del original, en inglés. Ver nota 54, p. 39.
92
Los requerimientos son extraídos directamente de las citas, mas los comentarios explicativos son de
autoría personal.
93
Las especificaciones son omnipresentes, y bien como restricciones o necesidades serán impuestas
formando parte del objetivo, o bien se establecerán aparte del objetivo en forma de indicaciones, o - en
caso de no provenir de restricciones, necesidades o indicaciones - necesariamente se generarán
especificaciones que definan o particularicen el producto (material o intelectual) del proceso.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 55
en los conocimientos y teorías empleadas, y limitantes de tipo físico y práctico (como la
causalidad, el universo disponible, etc.)
•
iteraciones: no necesariamente el proceso de diseño es lineal (lineal, en el sentido de
directo); en ocasiones (a causa de cambio o incumplimiento en especificaciones, constricción
de restricciones, decisiones expresas, etc.) se requiere reiterar o rehacer parte o todo el
proceso, de forma que - de concepción a implementación - pueden existir múltiples
iteraciones en el flujo de diseño (las iteraciones son particularmente habituales en procesos
de refinamiento de modelos)
Estas características confieren la idea inicial acerca del diseño como actividad; sin embargo,
no constituyen más que una expresión concreta de la idea intuitiva que se tiene a nivel del
grado en ingeniería sobre el diseño, y nada describen del proceso en sí. Por ejemplo, cabe
preguntarse si los procesos de diseño en las distintas ramas de la ingeniería siguen un
esquema común, o por el contrario, se realizan según esquemas diferentes de acuerdo a la
actividad. ¿Y que hay respecto a distintos diseños dentro de una misma área? Además, ¿como
se conjugan las precedentes características en un proceso de diseño efectivo, real? Planificación
e inventiva ¿no serían características contradictorias?, es decir, ¿es posible planificar una
creación, es decir, algo que se ‘inventa’? Ninguno de estos cuestionamientos se pueden
examinar y decidir exclusivamente en base a la información anterior.
[ 2.1.1.2 ] ASPECTOS SICOLÓGICOS DEL PROCESO DE DISEÑO
Del estudio del proceso de diseño en ingeniería, Dixon concluye que este se puede
descomponer en tres actividades intelectuales distintas: la inventiva, el análisis, y la toma de
decisiones ([Dix79], pp. 391-392):
•
inventiva: Es la habilidad de aportar ideas fructíferas para la solución de los problemas de
ingeniería. Se caracteriza por su infinita amplitud, por su dependencia en la percepción y la
experiencia, y por su tendencia a inhibirse por las restricciones y predisposición mentales.
El objeto de la inventiva es obtener muchas respuestas posibles.
•
análisis: Es la habilidad de obtener - dentro de un tiempo y costos razonables - respuestas
significativas a las interrogantes que plantea la ingeniería. Se caracteriza por su
convergencia natural, y su dependencia del juicio y conocimiento especializado de la
materia. Involucra la construcción de modelos físico-matemáticos, la aplicación al mismo de
principios físicos fundamentales, y la interpretación de los resultados. El objeto del análisis es
obtener una respuesta real.
•
toma de decisiones: Es un proceso de selección entre todas las alternativas. Se caracteriza
por estar involucrada con la información, fijación de valores, y optimización. El objeto de la
toma de decisiones es seleccionar la mejor respuesta.
En la mayoría de los casos, los ingenieros de diseño deben necesariamente ejecutar cada una
de estas actividades, y con frecuencia, cambiar continua y rápidamente de una a otra actividad
intelectual. Se plantea aquí un serio problema en esta integración de la inventiva, el análisis y
la toma de decisiones:
Existe evidencia de que una sólida habilidad analítica o un firme adiestramiento,
interfiere con el funcionamiento de la inventiva. Y muy poco se conoce sobre la
posible interferencia que pueda existir entre la habilidad para tomar decisiones y la
inventiva o el análisis94.
El primer tipo de interferencia, entre la inventiva y el análisis, es objeto de discusión en
[Dix79]. El otro tipo de interferencia, entre la toma de decisiones y las otras actividades
intelectuales, puede delinearse si se admiten las siguientes cuatro ‘áreas’ en el conocimiento95:
94
Más aún, ciertas decisiones iniciales para un proyecto deben tomarse, por lo que en muchos casos,
algunas decisiones preceden al análisis, complicando así el proceso de diseño ([Dix79], p. 392).
Ingeniería Electrónica – Universidad Católica del Uruguay
56 - [ 2 ] Diseño en Ingeniería
1. lo que se sabe que se sabe: se refiere al conocimiento que cada individuo sabe perfectamente
que posee y que domina, abarcando desde cuestiones rutinarias como saber conducir un
vehículo hasta el conocimiento empírico o el profesional, más probablemente aquel que es
de ejercicio frecuente.
2. lo que no se sabe que se sabe: se refiere a aquellos conocimientos que el individuo no es
consciente de poseer pero que efectivamente posee, surgiendo ‘sorpresiva y exitosamente’
en situaciones no frecuentes o no rutinarias
3. lo que se sabe que no se sabe: se refiere a las cuestiones que el individuo es plenamente
consciente de no dominar (como por ejemplo pilotar un transbordador espacial, tarea que la
mayoría de los individuos fehacientemente sabemos que somos incapaces de efectuar).
Afortunadamente, es factible determinar esta área, lo que permite identificar algunas
fuentes de sorpresas
4. lo que no se sabe que no se sabe: se refiere las cuestiones que el individuo no percibe, y que
además, desconoce. Presenta el gran inconveniente de ser, por definición, imposible de
delimitar en forma precisa, siendo entonces fuente de sorpresas - generalmente
desagradables - que se advierten como consecuencia de errores, y por tanto, siempre a
posteriori de sucedidos
Así, es el área 3 en donde corresponde ubicar la ignorancia acerca de la interferencia entre
toma de decisiones y las otras actividades de diseño. Sin embargo, no significa que las
implicancias de esta ignorancia sean fáciles de identificar, siendo posible que ciertos aspectos
clasifiquen de hecho en el área 4. Dado que en un proceso de diseño se ejecutan todas las
actividades intelectuales, el potencial riesgo de verse sorprendido desagradablemente por
interferencias entre toma de decisiones e inventiva o análisis, es algo con lo que - por el
momento - se debe coexistir, en estado alerta.
Dixon propone que el proceso de diseño en ingeniería no es un arte, sino que es posible
educar y desarrollar aptitudes que coadyuven a las mencionadas actividades intelectuales de
los procesos de diseño: “Únicamente el conocimiento y el estudio consciente de los procesos para
resolver problemas de diseño y análisis (así como de sus éxitos y fracasos) mejorarán la probabilidad de
éxito en el futuro” ([Dix79], p. 18). Con este objeto, plantea métodos para incentivar la inventiva
([Dix79], Parte I) educar la capacidad de análisis ([Dix79], Parte II) y racionalizar la toma de
decisiones ([Dix79], Parte III). En frecuentes ocasiones, un mismo individuo deberá oficiar de
creativo, analista, y ejecutor96 en un proceso de diseño, siendo entonces necesario su
desempeño competente en cada una de las áreas; no siempre se podrá contar con un equipo de
diseño en el cual las distintas actividades intelectuales sean ejecutadas por diferentes personas,
de forma de minimizar las interferencias mutuas.
En este trabajo no se estudian los aspectos sicológicos del proceso de diseño. No obstante, es
esencial esta noción de actividades intelectuales inherentes al proceso de diseño para comprender
la importancia y utilidad de las metodologías de diseño y las herramientas que asisten al proceso
de diseño97, debido a su incidencia sobre el fenómeno de interferencia mutua entre las
actividades intelectuales de diseño.
[ 2.1.1.3 ] ASPECTOS OPERACIONALES DEL PROCESO DE DISEÑO
Após de enunciar las características generales del proceso de diseño en ingeniería, y delinear
sus aspectos sicológicos, se intenta en esta sección conferir una idea del proceso en sí, es decir,
su aspecto ejecutivo u operacional.
95
Esta consideración se ha tomado de un comentario efectuado en el curso “Instrumentación y Medidas
Eléctricas” dictado por D. Slomovitz en la Universidad Católica del Uruguay (2000).
96
En el sentido de quien toma las decisiones.
97
Los conceptos de metodologías y herramientas de diseño se introducen en la sección 2.2.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 57
Como punto de partida, se presenta la visión del proceso de diseño de Dixon [Dix79]98. Este
autor propone que la actividad de diseño en ingeniería sigue un proceso cuyo esquema se
reproduce en la Fig. 2.1, y se explicita en la Tabla 2.1.
Definición del problema
Reconocimiento de la meta
Especificación de la tarea
Definición de conceptos
Análisis ingenieril
Desarrollo de un plan
Estructuración del modelo
Analítico
Experimental
Aplicación de
principios
físicos
Recolección de
datos
Especificación de la solución
Cálculo
Producción
Comprobación
Distribución, ventas, servicio
Evaluación
Optimización
Fig. 2.1: Esquema de diseño en ingeniería ([Dix79], p. 20)
El esquema de Dixon presupone que el proceso de diseño en ingeniería es general, común a
las diversas ramas de la ingeniería. Incluye explícita o implícitamente a todas los
requerimientos y características que se mencionan en la sección 2.1.1.1. Puede observarse que
objetivo (o meta) y especificaciones figuran explícitamente en el esquema de la Fig. 2.1, aunque
los recursos necesarios se deben inferir donde corresponda, siendo razonable que aquellos de
tipo material correspondan en su mayoría a las fases rotuladas ‘Producción’ y ‘Distribución’.
Se asigna la planificación explícitamente a la fase de Análisis, pero se puede inferir que - fuera
de la fase rotulada como ‘Definición de Conceptos’ - la planificación se requiere también en el
resto del proceso de diseño. Según Dixon, el proceso de diseño no siempre sigue un orden
estricto, sino que es iterativo, existiendo realimentación entre sus distintas fases; esto se sugiere
mediante el empleo de flechas de doble punta en el diagrama99. Además, aclara que el proceso
de diseño está sujeto a limitaciones económicas, temporales, infraestructurales, de
disponibilidad, y de habilidad, que limitan las posibilidades de optimación de resultados100
([Dix79], p. 75). Aduce que existe una fase adicional en el análisis en ingeniería: la comunicación
de los resultados y recomendaciones, actividad que debe ejecutarse en forma persuasiva, clara,
completa, confiable, y eficiente101 102.
98
Esta visión data al menos del año 1979; debe tenerse en cuenta que la primer edición de [Dix79] es del
año 1966.
99
El diagrama en [Dix79], p. 20, no usa flechas de doble sentido para el detalle de la fase de “Análisis
Ingenieril”, por lo que tampoco se han empleado en este documento; no obstante, se admite la
realimentación entre subprocesos de esta fase, de forma que aquí también debieran ser consideradas
como flechas de doble punta, para mantener la coherencia.
100
Esta aclaración se efectúa en el texto, mas no en el diagrama.
Ingeniería Electrónica – Universidad Católica del Uruguay
58 - [ 2 ] Diseño en Ingeniería
Tabla 2.1: Fases del proceso de diseño en ingeniería [Dix79] (ver Fig. 2.1)103.
Reconocimiento de la meta
Especificación de la tarea
Definición de los conceptos
Análisis ingenieril
Definición del problema
Desarrollo de un plan
Estructuración del modelo
Aplicación de principios físicos
y recolección de datos
Cálculo
Comprobación
Evaluación
Optimación
Especificación de la solución
Producción
Distribución, ventas, servicio
Se debe reconocer el objetivo asignado o auto-impuesto para el
diseño, y realizar las consideraciones éticas pertinentes.
Debe especificarse la tarea concreta a realizar, tal que se cumpla
con la meta u objetivo general 104.
Formulación del concepto que lleve a cabo la tarea. Requiere
ideas, inventiva. Determina en gran parte la calidad de la
solución. Es la parte fundamental del proceso de diseño 105.
Análisis de la idea generada. Fase de gran importancia en el
proceso general de diseño106.
Generación de preguntas o cuestiones que pueden contestarse en
términos de parámetros calculables o mensurables: debe ser una
definición operacional y específica. Condiciona tipo y profundidad
de los análisis a llevar a cabo.
Planificación del conjunto de análisis a llevarse a cabo.
Desarrollo de modelos (aproximaciones idealizadas) analíticos o
experimentales, lo suficientemente sencillos para hacerlos
factibles, manejables, e interpretables, pero que contengan la
esencia del problema (en detalle suficiente) para que devuelvan
resultados significativos.
Aplicación de principios físicos de la ciencia o ingeniería a los
modelos, y obtención de datos experimentales. Debe apelarse a
los principios más fundamentales disponibles.
Análisis de datos, u obtención de resultados analíticos y/o
numéricos, según el caso.
Comprobaciones matemáticas y de ingeniería de los resultados
obtenidos: control de consistencia.
Evaluación de resultados; análisis de posibles generalizaciones de
los mismos.
Optimación de resultados, siguiendo criterios de costos en
sentido amplio, y sujeto a las restricciones aplicables.
Transcripción de la solución en términos de producción: se debe
especificar como se fabricará el producto.
Producción de la solución según las especificaciones.
Distribución, ventas, y servicio posventa de los productos.
Si bien los aspectos sicológicos del proceso de diseño no se explicitan en el diagrama de
Dixon, es factible identificar que la actividad creativa radica básicamente en la fase rotulada
como ‘Definición de Conceptos’, mientras que la actividad de análisis se desarrolla
fundamentalmente en la fase homónima del diagrama (‘Análisis Ingenieril’) en tanto que la
actividad de toma de decisiones es subyacente al proceso completo, no siendo pasible de
adjudicación a ninguna fase en particular.
101
Estas consideraciones son también aplicables a la documentación del producto terminado, no
solamente a la documentación del análisis ingenieril.
102
Esta última característica (eficiencia) es de particular relevancia en caso de informes de resultados
- estos deben contener la esencia de los mismos; en sí, requieren un diseño cuidadoso.
103
Las descripciones de las fases del proceso de diseño no son tomadas directamente de [Dix79], sino
que son una interpretación del texto de Dixon, pudiendo por tanto existir algún sesgo respecto a la
intención original del citado autor. Por el contrario, el diagrama es una reproducción fiel del original, sin
interpretaciones de tipo personal.
104
Requiere toma de decisiones previo al análisis.
105
También requiere toma de decisiones previo al análisis.
106
Para su adecuada descripción, se descompone en ocho tareas que se indican en tipo cursiva , en la
columna izquierda.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 59
El proceso de diseño según Dixon transcurre desde la idea a la implementación, pasando por
etapas de especificación, definición de conceptos, y análisis. Estas dos últimas son
consideradas por Dixon como críticas en el proceso de diseño, en virtud de su incidencia en el
producto final; particularmente la definición de conceptos, en cuanto fase ‘creativa’, es la que
presenta los mayores desafíos. En esta visión de Dixon se admite la posibilidad de iteraciones
conforme se detectan errores o posibilidades de mejora durante la ejecución del proceso, que
exigen o motivan la realimentación de información, y del esquema se interpreta que estas
iteraciones pueden ocurrir en y entre cualquier etapa del proceso de diseño. Si bien es notorio el
énfasis del autor en las etapas creativa y de análisis, las posibles iteraciones del proceso de
diseño no se explicitan ni extensa ni sucintamente.
En esencia, el esquema del proceso de diseño en ingeniería propuesto por Dixon es
una expresión concreta de la noción intuitiva que se tiene a nivel de grado en
ingeniería acerca de la ‘acción de diseñar’: ir de la idea a la implementación,
pasando por etapas de especificación y análisis (modelado, verificación) admitiendo
posibles iteraciones en este proceso.
Rashid ([Ras00], p. 13) propone un esquema para el proceso de diseño en ingeniería
electrónica más conciso que el propuesto por Dixon, el cual se reproduce en la Fig. 2.2.
Fig. 2.2: Esquema del proceso de diseño en ingeniería electrónica ([Ras00], p. 13)
Según Rashid, “Un diseño transforma las especificaciones en circuitos que satisfacen tales
especificaciones. (...) En el trabajo de diseño, primero se atacan las actividades más desafiantes y luego,
las más sencillas. En esa forma, si no puede hallarse una solución aceptable para los problemas difíciles,
no se desperdician tiempo y dinero para resolver cuestiones más fáciles.” Por lo tanto, “... el proceso de
diseño de ingeniería sigue una jerarquía en la que los sistemas se diseñan primero con la ayuda de
diagramas funcionales de bloques, luego se prosigue con el diseño de los circuitos y los dispositivos.”
([Ras00], p. 12). Así, el proceso de diseño es una forma sistemática de hacer la transformación
de especificaciones en implementación ([Ras00], p. 19). Rashid distingue además los conceptos
de análisis y síntesis (diseño): “El análisis es el proceso mediante el cual se hallan las especificaciones
únicas o propiedades de un circuito determinado. Por otra parte, el diseño es el proceso creativo que sirve
para desarrollar la solución a un problema” ([Ras00], p. 14).
Ingeniería Electrónica – Universidad Católica del Uruguay
60 - [ 2 ] Diseño en Ingeniería
Si bien el proceso de diseño propuesto por Rashid se refiere específicamente al proceso de
diseño en ingeniería electrónica, es factible su generalización. Así, el proceso de diseño en
ingeniería, o síntesis, es un procedimiento sistemático para transformar especificaciones en
implementación, en forma jerárquica. Se acometen primero las cuestiones de mayor complejidad, para
pasar a dirimir cuestiones de complejidad inferior solamente en caso de tener solución las primeras. Se
parte de un nivel funcional hasta alcanzarse el nivel de implementación, admitiéndose iteraciones en esta
ejecución. Este procedimiento permite ahorrar costos en el sentido amplio del término. El proceso inverso,
o análisis, es el proceso mediante el cual se obtienen las especificaciones correspondientes a una
implementación dada.
Basándose en esta ‘generalización’, es admisible comparar el esquema propuesto por Rashid
(Fig. 2.1) con el esquema propuesto por Dixon (Fig. 2.2). Prima facie, los esquemas de Dixon y
Rashid concuerdan en la orientación del proceso de diseño: ambos van de idea a implementación.
Asimismo, por mera inspección de las etapas o fases descritas en cada esquema de proceso, se
puede determinar que varias de las mismas coinciden en carácter y secuencia: ambos
esquemas introducen etapas iniciales de especificación del producto que se pretende, y de
‘definición de conceptos’ o ‘diseño en forma de diagrama de bloques’, equivalentes a una
descripción funcional del producto pretendido; seguidamente indican fases de modelado
(eventualmente prototipos) y simulación107 de los conceptos e ideas iniciales; posteriormente
proponen etapas de prueba y verificación108, y finalmente etapas de producción109. Pese a esta
alineación, el esquema de Dixon resulta más ‘monolítico’, sugiriendo visualmente que el
proceso de diseño en ingeniería es básicamente secuencial, aunque admita iteraciones. Por el
contrario, el esquema de Rashid explicita la forma y momento de ejecución de las posibles
iteraciones en el proceso de diseño. Estas retornan siempre a la misma fase del proceso, una de
las más tempranas, que sigue a las iniciales de descripción general y definición de
especificaciones del diseño: la descripción funcional del diseño. Esto no necesariamente implica
que exista una diferencia entre ambas propuestas, dado que el proceso de diseño propuesto
por Dixon simplemente no explicita el mecanismo de las posibles iteraciones en el diseño, las
que entonces podrían suponerse tal como las propone Rashid. Sin embargo, existe una
diferencia: Rashid hace énfasis en la jerarquía que debe respetarse en la ejecución del proceso
de diseño, más que en las etapas que deben cumplirse.
Cabe notar el empleo del los términos jerarquía y bloque en el planteo de Rashid, en relación a
sistemas. En el capítulo 1 de este trabajo se efectúa una discusión sobre sistemas complejos,
donde se afirma que estos son frecuentemente jerárquicos y modulares. La jerarquía
estructural de un sistema complejo está dada por el detalle descriptivo de los subsistemas que
lo componen, y su modularidad por el grado de interacción entre los subsistemas respecto a su
actividad interna. Acorde a esto, un proceso de descomposición jerárquico-modular es
adecuado para desglosar ese tipo de sistemas en sus partes constitutivas. Los sistemas
complejos pueden ser además descritos en término de símbolos sencillos, lo que corresponde a
efectuar la descripción del sistema al mínimo nivel de abstracción. En general, partiendo de
cualquier nivel de abstracción, es posible obtener descripciones a niveles de abstracción
superior mediante un proceso de composición jerárquico-modular, que sería un proceso en
107
Los conceptos de modelo y simulación se analizan en mayor detalle en el capítulo 3; al momento se
apela a la noción intuitiva a nivel de grado en ingeniería.
108
Dixon agrupa las etapas de modelado y verificación dentro de lo que designa análisis ingenieril. Cabe
notar que Rashid emplea el término ‘análisis’ como dual de ‘síntesis’, en el sentido de proceso que
obtiene especificaciones a partir de una implementación dada. No resulta esto del todo contradictorio, si
se considera que la comprobación o verificación que Dixon ubica en el análisis ingenieril, implica
contrastar implementación con especificaciones, partiendo de la primera.
109
Debe entenderse producción como consecución del producto. Si bien esto podría sugerir que el resultado
del proceso de diseño es necesariamente un objeto material, cabe aclarar que podría aplicarse esto a un
producto ‘inmaterial’, como por ejemplo, un algoritmo o un programa informático. Así, se prefiere en
este documento el término implementación. La discusión sobre el producto de un proceso de diseño se
efectúa en la sección 2.1.2.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 61
sentido contrario al de descomposición. Coincidentemente, la noción de jerarquía en el proceso
de diseño de Rashid se asocia con distintos niveles por los que transita el proceso de diseño, o
síntesis. Este proceso va desde un nivel funcional, donde la descripción se efectúa mediante
diagramas de bloques, hasta uno de implementación - descrito en términos de elementos110 que es mínimo nivel de abstracción requerido para la consecución del diseño. Asimismo,
Rashid menciona un proceso en sentido inverso111 - desde el nivel de implementación al nivel
funcional -y le denomina análisis, porque el mismo devuelve las especificaciones a partir de
una determinada implementación112. En virtud de esto, puede plantearse una analogía entre
los procesos de diseño y análisis de Rashid, y los procesos de descomposición y composición
jerárquico modular de un sistema complejo; entre el nivel de implementación del proceso de
Rashid, y el nivel de descripción en términos sencillos de un sistema complejo, y entre la
descripción en diagramas de bloques de Rashid y una estructura modular de un sistema
complejo.
Si se identifica la descripción de un sistema complejo en términos de subsistemas,
con un diseño a nivel funcional mediante diagramas de bloques, los bloques
representan los subsistemas, y la conectividad entre bloques su interacción. Es
posible concebir así un diseño a nivel funcional que respete la ‘modularidad’ en el
sentido de Simon respecto a los sistemas complejos (sección 1.5.2). Asimismo, el
nivel de implementación del diseño se puede identificar con la descripción de un
sistema complejo en término de símbolos sencillos (sección 1.5.3) y los procesos de
síntesis y análisis en el sentido de Rashid pueden asimilarse a los procesos de
descomposición y composición jerárquico-modular de sistemas complejos, en el
sentido descrito en la sección 1.7. Tenemos así una analogía entre el ‘proceso
de descomposición de un sistema complejo’ y el ‘proceso de diseño’ según
Rashid, y sus respectivos procesos duales. Esta analogía implica que los
productos de un proceso de diseño son sistemas complejos113.
La Fig. 2.3 esquematiza otra visión del proceso de diseño en ingeniería electrónica, la cual se
presenta en el “Manual de Diseño en Ingeniería Electrónica” (“Handbook of Design in Electrical
Engineering”, [HBEED]).
De acuerdo a este esquema, el desarrollo de un producto sigue un proceso de diseño en tres
niveles114:
110
Elementos sustituye a ‘circuitos y dispositivos’, que son los términos empleados por Rashid, quien se
refiere al diseño de sistemas electrónicos en particular.
111
Menciona, mas no presenta un esquema de índole similar al que propone para el proceso de diseño
(Fig. 2.2)
112
Se insiste en que los términos síntesis y análisis se refieren aquí a obtener una implementación a partir de
ciertas especificaciones, y obtener las especificaciones de determinada implementación, respectivamente. En
ocasiones, el término análisis puede ser empleado en el sentido de efectuar un examen, y por tanto, no
relacionarse necesariamente con ninguna de las orientaciones del proceso de diseño (especificación a
implementación, o viceversa).
113
Sistemas complejos, en el sentido establecido en el capítulo 1 de este trabajo. En la sección 2.1.2.3 se
propone argumentación adicional en pro de esta analogía.
114
Nótese en el esquema la asociación implícita entre ‘proceso de diseño’ y ‘sistemas’. Ver sección
2.1.2.3.
Ingeniería Electrónica – Universidad Católica del Uruguay
62 - [ 2 ] Diseño en Ingeniería
Nivel Global
Nivel de Sistema
Nivel de Circuito/Dispositivo
Diseño Final
Fig. 2.3: Proceso de diseño en ingeniería eléctrica ([HBEED], p. 4)
•
Nivel Global: Fase inicial, donde se toman las decisiones de diseño. Las decisiones a este nivel
incluyen la determinación de las características que cumplirán las necesidades percibidas, y
las interacciones requeridas con otros equipos o con los operadores.
•
Nivel de Sistema: Fase de descripción del producto y su operativa, en base a diagramas de
bloques funcionales. Involucra la resolución de cuestiones tecnológicas.
•
Nivel de Circuito o Dispositivo: Fase de diseño e implementación de los bloques funcionales, y
especificación de componentes, dimensiones, etc. Los detalles del diseño se deben
completar en esta fase.
Si bien este esquema es orientado a la ingeniería eléctrica, es posible extenderlo sin dificultad
alguna para el caso general, simplemente sustituyendo el rótulo “Nivel de Circuito /
Dispositivo” por el rótulo “Nivel de Implementación”. Así ‘generalizado’, es evidente que - al
igual que los procesos de diseño propuestos por Dixon y Rashid - este proceso también
transcurre de idea a implementación, y admite iteraciones en la ejecución. “Existen desafíos
creativos y tecnológicos específicos a cada nivel. Sin embargo, el avance no necesariamente es lineal; en
cualquier momento el ingeniero puede requerir o verse obligado a retornar a una etapa anterior, en la
medida que la evaluación revele fallas, errores - o alternativas - a las decisiones tomadas con
anterioridad. Si bien el proceso admite volver directamente del último al primer nivel, siempre recorre
todos los niveles en dirección descendente, pasando por el Nivel de Sistema”115 ([HBEED], p. 3).
Así, no solamente se reencuentra en el esquema de la Fig. 2.3 la característica de
realimentación entre etapas del proceso de diseño (iteraciones) sino además se
explicita que en caso de iteración, el proceso de diseño retoma las etapas en
dirección descendente, sin saltearse ninguna. Responde esto a una cuestión
fundamental, que consiste en propagar a todo el diseño las posibles
modificaciones, lo cual se logra de manera efectiva respetando la jerarquía
del proceso de diseño; al respecto, es análogo al proceso propuesto por Rashid
(Fig. 2.2) donde las posibles iteraciones del proceso de diseño retornan a la fase de
‘descripción funcional’, para luego transitar por las etapas intermedias en sentido
‘descendente’ sin saltearse ninguna.
No obstante, el esquema de la Fig. 2.3 resulta menos explícito que el esquema de Rashid en
cuanto a las fases que atraviesa el proceso de diseño, y significativamente menos explícito que
el proceso de diseño propuesto por Dixon (Fig. 2.1). Cabe cuestionarse si esta pérdida de
especificidad se debe a el enfoque del diseño electrónico, o si es que confiere alguna ventaja al
115
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 63
momento de comprender los procesos de diseño, o si quizás es una forma de evitar ciertos
problemas en el planteo del proceso de diseño general o el electrónico en particular.
“El proceso de diseño es frecuentemente considerado como una secuencia de pasos que transforman un
conjunto de especificaciones descritas informalmente, en una especificación detallada que puede usarse
para fabricación. Todos los pasos intermedios se caracterizan por una transformación de una descripción
más abstracta en una más detallada. Un diseñador puede ejecutar uno o más pasos en este proceso. Para
el diseñador, el punto de partida es una especificación, y la descripción final del diseño es una
implementación.” ([ELLS97], p. 3). “El problema de la especificación se refiere a la representación del
diseño en cada uno de estos pasos; el problema de la validación es chequear que la representación sea
consistente tanto dentro de un mismo paso como entre pasos; y el problema de la síntesis es transformar
el diseño entre pasos. (...) síntesis se refiere a un paso en el proceso de refinamiento del diseño donde la
representación del diseño se hace más detallada.”116 ([ELLS97], p. 56-57).
La precedente cita, correspondiente a un trabajo acerca de diseño de sistemas electrónicos
embebidos, pareciera confirmar que el despojo de detalle en los esquemas de proceso de diseño
en ingeniería es causado por quienes se dedican al diseño electrónico en particular. Para
comprender la posible razón de ello, obsérvese la suposición subyacente en la cita, que
considera factible el proceso de diseño electrónico como una sucesión de etapas de diseño de
estructura semejante; los mismos autores ejemplifican este hecho: “... Por ejemplo, un
programador puede ver un conjunto de rutinas escritas en C como una implementación de su diseño,
aunque todavía puedan ejecutarse muchos otros pasos antes que el diseño esté listo para fabricación.”117
118
([ELLS97], p. 3-4).
La visión del proceso de diseño como la concatenación de la secuencia
‘especificación – síntesis – implementación - análisis’, que transforma una
descripción más abstracta en una más detallada en cada paso, supone la ejecución
de una actividad ‘autosemejante’, análoga al proceso de descomposición jerárquicomodular de sistemas complejos que se propone en la sección 1.7 de este trabajo.
En la sección 1.7 se sugiere la posibilidad de una implementación computacional de este tipo
de proceso de diseño ‘fractálico’. En particular, el diseño electrónico - y fundamentalmente, el
digital - constituye en la actualidad un caso emblemático donde tiene sentido la ejecución del
proceso de diseño con herramientas informáticas. Consecuentemente, en esa área se promueve
la búsqueda de una descripción del proceso de diseño, que admita ser tratada en términos
manejables por las herramientas informáticas de diseño. Así, la aparente pérdida de
especificidad en los esquemas del proceso de diseño electrónico es debido al interés de
priorizar la estructura del proceso, respecto a las fases o etapas concretas por las cuales éste ha
de transcurrir.
Si bien la idea de una estructura subyacente al proceso de diseño se presenta a partir del
área de diseño electrónico, se pretende en este trabajo extender esta idea al diseño en
ingeniería en general. El objeto de la sección 2.1.1.4 es, precisamente, proponer una estructura
para el proceso de diseño en ingeniería.
[ 2.1.1.4 ] ESTRUCTURA DEL PROCESO DE DISEÑO
En virtud de los diversos esquemas de proceso de diseño en ingeniería presentados y
descritos en la sección 2.1.1.3, y sus analogías con el proceso de descomposición jerárquicomodular de sistemas complejos que se presenta en la sección 1.7 de este trabajo, en el presente
116
Texto traducido del original, en inglés. Ver nota 54, p. 39.
117
Texto traducido del original, en inglés. Ver nota 54, p. 39.
118
Si bien la cita propone la manufactura como fin del proceso de diseño, esto no se aplica al caso de
productos de tipo intelectual, como puede ser el desarrollo de un programa informático, o el código para
un procesador de señales digitales, por dar un par de ejemplos. El producto de un proceso de diseño se
estudia en la sección 2.1.2. Ver nota 109, p. 60.
Ingeniería Electrónica – Universidad Católica del Uruguay
64 - [ 2 ] Diseño en Ingeniería
documento se propone considerar el proceso de diseño como la concatenación de la siguiente
‘estructura elemental’ de diseño, o ‘celda de diseño’119 (Fig. 2.4):
Especificación
síntesis
análisis
Implementación
Fig. 2.4: ‘Celda de diseño’: ciclo de diseño elemental.
Esta ‘celda de diseño’ representa un paso en el proceso de diseño, que transforma una
descripción más abstracta en una más detallada. Cada paso del proceso de diseño en este
sentido supone el tránsito de un nivel jerárquico superior a uno inferior. Así, respecto del nivel
jerárquico en que se halla el proceso de diseño, la descripción más abstracta es una
especificación, y la más detallada es una implementación; respecto del proceso total, el nivel
más abstracto es ‘la especificación’, y el nivel más detallado es ‘la implementación’ del diseño.
Cada ‘celda de diseño’ puede descomponerse en dos o más ‘celdas de diseño’, dado que las
actividades de síntesis y análisis - en cuanto transformaciones de una descripción en otra
descripción - pueden efectuarse, prima facie, con granularidad arbitraria. En virtud de esto, el
proceso de diseño completo queda representado por una concatenación de estas ‘celdas de
diseño’:
el proceso de diseño completo puede considerarse como producto del refinamiento
‘fractálico’ de una ‘celda de diseño’ primigenia que representa al proceso total,
quedando así representado por una concatenación de ‘celdas de diseño’ desde ‘la
especificación’ a ‘la implementación’120.
Las relaciones entre el proceso de diseño completo y la ‘celda de diseño’ se representan
esquemáticamente en la Fig. 2.5121.
La ‘celda de diseño’ genérica, representada a la derecha del esquema de la Fig. 2.5, indica
que cada descripción es a la vez una implementación correspondiente a la etapa de síntesis
previa, y una especificación para la siguiente etapa de síntesis 122. La validación se efectúa
119
‘Celda de diseño’ parafraseando a las ‘celdas de campo’ de la teoría electromagnética, como modelo
de propagación de las ondas electromagnéticas. Sin embargo, no se persigue analogía alguna en este
caso, en virtud de la carencia de jerarquía entre las ‘celdas de campo’ de la teoría electromagnética. Otra
opción sería denominarla ‘ciclo de diseño’.
120
Se pretende que el procedimiento sea analógico a un fractal; no significa que el diagrama resultante
presente esta característica. De todas formas, esto último igual puede obtenerse si se admiten pasos de
diseño donde los procesos de transformación de síntesis y análisis resulten en la identidad, es decir, que
simplemente ‘copien’ una descripción sin alterarla - es decir, devolviendo una implementación idéntica
a la especificación - con el único objeto de transmitir la especificación tal cual hacia el nivel inferior.
121
En la Fig. 5.2 se presenta un esquema similar, en el cual se ignoran los aspectos relativos al nivel de
abstracción, y se remarca la flexibilidad de la ‘celda de diseño’ para expresar la recurrencia del proceso
de diseño.
122
Que la implementación de la etapa al nivel n constituya la especificación para la etapa al nivel
jerárquico inferior n - 1 no implica que esa implementación, en cuanto descripción, reitere explícitamente
las especificaciones que le dieron origen (es decir, las especificaciones al nivel n); estas son ‘impuestas’
automáticamente ‘hacia abajo’ al cerrarse cada ciclo de validación.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 65
Proceso de diseño
Nivel jerárquico
' Celda de Diseño'
nivel de
sistema
nivel de
símbolos
sencillos
A
S
implementación
A
descripción(n)
S
detalle
S
abstracción
especificación
A
descripción(n-1)
S
A
Fig. 2.5: El proceso de diseño como ‘fractal’ de ‘celdas de diseño’.
recorriendo las descripciones en sentido inverso al de diseño o síntesis, y aplicando el
procedimiento de análisis.
Una etapa de síntesis es validada cuando, a partir de la implementación obtenida, la
etapa de análisis devuelve una especificación compatible con la correspondiente a
esa etapa123.
En virtud de la posibilidad de abstraer un conjunto de etapas de diseño (un conjunto de
‘celdas de diseño’) en una única etapa o ‘celda’ de diseño, es posible extender la validación del
proceso de síntesis de una a varias etapas de diseño124. Así,
en el esquema de la Fig. 2.5, las iteraciones del proceso de diseño se corresponden
con ciclos de validación.
Las iteraciones en el proceso de diseño de la Fig. 2.5 no necesariamente retornan a la
descripción a nivel funcional del diseño en forma directa, sino que pueden hacerlo etapa a
etapa, donde cada etapa puede ser a su vez una abstracción de un número arbitrario de etapas,
dada la definición de ‘celda de diseño’. En caso de detección de una síntesis inválida, este
mecanismo permite identificar el paso de síntesis erróneo, inhibiendo el chequeo innecesario
de etapas previas en tanto persistan errores a nivel del último paso de diseño. Esto minimiza
las iteraciones del proceso de diseño, a la vez que obliga al tránsito por todas las etapas de
síntesis a partir de la fallida, sin saltearse ninguna. Eventualmente, el éxito en la validación
implica haber regresado al nivel de descripción más alto del diseño, o ‘la especificación’. En
esto, el esquema de la Fig. 2.5 se corresponde con el esquema propuesto en el Manual de
Diseño Electrónico (Fig. 2.3) y se diferencia del esquema propuesto por Rashid (Fig. 2.2) en el
cual se retorna directa e indefectiblemente al nivel de descripción funcional.
El proceso de diseño de la Fig. 2.5 es compatible con los procesos de composición y
descomposición jerárquico-modular de sistemas complejos, en cuanto puede hacerse
coincidir cada nivel descriptivo del proceso de diseño con un nivel de jerarquía del
123
Nótese el empleo del término compatible en lugar de idéntica en referencia a la especificación: la
implementación obtenida puede cumplir con especificaciones más exigentes que las prestablecidas, con lo
cual la validación es igualmente satisfactoria.
124
Nótese que se respeta cada una de las afirmaciones efectuadas en [ELLS97], p. 56-57, citadas en p. 63.
Ingeniería Electrónica – Universidad Católica del Uruguay
66 - [ 2 ] Diseño en Ingeniería
proceso de composición o descomposición de un sistema complejo. La definición de
‘celda de diseño’ dada admite una forma ‘recursiva’ o ‘fractálica’ de aplicación de
los procesos de síntesis/análisis, análoga a los mencionados procesos de
descomposición/composición, respectivamente. Es factible además concebir las
descripciones representadas en la ‘celda de diseño’ como una agregación de
descripciones ‘en paralelo’, y los procesos de síntesis y análisis como un número de
procesos de síntesis y análisis concurrentes correspondiente a cada descripción
‘paralela’; así, es posible tratar cada nivel jerárquico en forma modular, en el
sentido de la modularidad de un sistema complejo (sección 1.5.2).
En la sección 1.7, se propone la automatización de los procesos de composición y
descomposición jerárquico-modular de sistemas complejos, de ser ello posible.
Consecuentemente, se sugiere la automatización del proceso de diseño según el esquema de la
Fig. 2.5.
“Desafortunadamente, las descripciones del diseño en sus varias etapas son
frecuentemente informales, no estando conectadas lógicamente mediante un
conjunto de relaciones precisas.”125 ([ELLS97], p. 4). Esta situación conspira contra
todo intento de automatización del proceso de diseño de ingeniería. Así, al igual que
para el caso de sistemas complejos cualesquiera, la automatización de estos procesos
constituye a la fecha un problema abierto.
Esta situación atenta en forma nefasta con las intenciones de automatización del proceso de
diseño. Las implicancias de este hecho se estudian en la sección 2.2.
[ 2.1.2 ] EL PRODUCTO DE DISEÑO
Hasta aquí, se ha empleado reiteradamente la noción de ‘producto del proceso de diseño’, en
forma intuitiva. Conferida en la sección 2.1.1 una primera idea acerca del proceso de diseño en sí,
se aborda en la siguiente sección este otro aspecto del término ‘diseño’, ya anunciado en al
inicio (sección 2.1): su empleo como sustantivo, el cual refiere ‘diseño’ a un producto.
[ 2.1.2.1 ] EL ‘DISEÑO’ COMO DESCRIPCIÓN
Un diseño, en referencia a un ente material o intelectual acabado, producto de un proceso de
diseño como el que se describe en la sección 2.1.1, posee una característica esencial: es,
precisamente, el resultado de un proceso de diseño.
Se ruega no desestimar la precedente afirmación, o se la denoste como perogrullada. Como
resultado de un proceso de diseño, el producto de diseño hereda del proceso ciertas propiedades,
de las cuales interesa considerar en detalle la referente a la transformación de una descripción.
En la sección 2.1.1.4 se concibe al proceso de diseño como un refinamiento progresivo de
una descripción inicial, designada especificación, hasta otra descripción final, denominada
implementación. Esta última, como fase final del proceso de diseño, necesariamente debe
devolver el producto de dicho proceso. Así, el producto del proceso de diseño - el ‘diseño’ - es
en esencia una descripción:
•
el resultado de un proceso de diseño es una descripción de un ente material o abstracto,
concebida de tal forma que - após de la consecución del proceso original - permite la
implementación repetitiva del ente, en forma predecible, es decir, manteniendo las
especificaciones.
•
por descripción debe entenderse una serie o conjunto de indicaciones, proporcionadas en
algún lenguaje textual o gráfico, cuya ambigüedad es limitada sólo por el requerimiento de
mantenerse dentro de las especificaciones dadas.
125
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 67
El sustantivo ‘diseño’ se refiere a una descripción - un conjunto de indicaciones
proporcionadas en algún lenguaje - de un ente material o intelectual, derivado de
un proceso de diseño, que admite su implementación repetitiva, o reproducción,
manteniendo las especificaciones establecidas para el ente original126.
Así, por ejemplo, un ‘diseño’ se diferencia de una ‘obra de arte’ en ciertos aspectos. Prima
facie, los ‘diseños’ son concebidos para ser reproducidos, a diferencia de las obras de arte cuya
característica es precisamente el ser únicas, e irrepetibles. Si bien la ‘unicidad’ de las obras de
arte se considera usualmente como una cuestión inherente a su valoración, esta característica
puede comprenderse en el presente contexto de ‘diseño’ como consecuencia de que las obras
de arte no poseen especificaciones, y además, sus ‘implementaciones’ no constituyen una
descripción de como reiterarlas. En esencia, a diferencia de un ‘diseño’ las obras de arte son
‘inefables’. Por ejemplo, Ud. podrá mediante molde adecuado reproducir la estatua del David
para disfrutarla en su casa, o con una imprenta producir cuantas copias de Don Quijote le
venga en gana, o con la colaboración del más experto falsificador recrear la Capilla Sixtina,
pero no es posible establecer una serie de indicaciones que permitan obtener esas obras de arte desde cero,
y aún en caso de contar con las originales, subsiste el inconveniente de no poseer indicación alguna para
reiterar la obra a partir de su ‘implementación’ original127. Podría argumentar Ud., sin embargo, que
es posible reproducir el Tah-Mahal. Correcto - pero en ese caso necesariamente se estaría en
posesión del ‘diseño’ del edificio, plasmado en forma de plano arquitectónico al detalle o nivel
de descripción adecuado. Así, un diseño puede quizás ser considerado como obra de arte, pero
una obra de arte no es en general diseño, bien por carecer de especificación, bien por carecer
de una implementación que permita extraer una descripción - y en caso de serlo, que no
confiera indicaciones suficientes para la reproducción - o bien por no provenir de un proceso
de diseño. Amén de las obras de arte, es también posible identificar diversos diseños
materiales recalcitrantes a ser reproducidos por mera ‘copia’ de su implementación física; no
es posible, en ejemplo, reproducir un circuito integrado por más que disponga de un original
(y la tecnología de manufactura) si le faltan las indicaciones de como hacerlo, es decir, si se
carece del ‘diseño’, pese a que el original fuera concebido como ‘repetible’. En consecuencia,
el ‘diseño’ se compone de ambas descripciones, especificación e implementación,
de las cuales la última debe conferir indicaciones adecuadas y suficientes para la
reproducción del ‘diseño’ con las características establecidas en la primera128.
Cabe notar que esta noción no requiere reiterar o replicar el proceso de diseño original para la
reproducción del ‘diseño’; establece solamente que el resultado del proceso de diseño original
debe devolver una descripción tal que permita la reproducción dentro de especificaciones.
La reproducción de un ‘diseño’ puede hacerse - y normalmente se hace - vía
procesos distintos al proceso de diseño original.
126
Naturalmente que el producto de diseño, cuando éste es de tipo material, se refiere también al objeto
en sí. Sin embargo, el objeto material por sí solo no constituye el ‘diseño’; primero, porque en virtud de
ser repetible, el ‘diseño’ podría referirse tanto a una de las ‘copias’ como al objeto ‘original’; segundo,
puesto que por mera inspección del objeto mismo no siempre es posible efectuar una reproducción, y
difícilmente se adivinen las especificaciones para ello; tercero, puesto que del propio objeto no
necesariamente ha de deducirse el proceso de reproducción. Estos argumentos se discuten en la
presente sección.
127
Se plantea aquí un inconveniente - adrede - con el ejemplo de una obra literaria: la ‘implementación’
de la obra de arte es el contenido literario - el texto -, y constituye una descripción que permite su exacta
reproducción. En este caso puede advertirse que de lo que se carece es de especificación, teniéndose sólo
una implementación que admite ser reproducida. Carente de especificación, la implementación no habría
resultado de un proceso de diseño, y por tanto, la obra literaria no se trataría de un ‘diseño’ según la
noción aquí conferida.
128
Al respecto, nótese la pertinencia de la estructura propuesta para la ‘celda de diseño’ (Fig. 2.4) y la
estructura del proceso de diseño completo (Fig. 2.5) en la sección 2.1.1.4
Ingeniería Electrónica – Universidad Católica del Uruguay
68 - [ 2 ] Diseño en Ingeniería
Considérese, por ejemplo, que no es necesario repetir las fases correspondientes a
investigación del proceso original, puesto que ello no ocasiona una modificación en las
especificaciones del producto al momento de su reproducción. Así, aunque distinto del
original, el proceso de reproducción devuelve efectivamente el ‘diseño’. Considérese otro caso
exento de posibles sutilezas129: para el caso de ‘diseños’ materiales, los cambios en las
tecnologías de producción orientados al abaratamiento de los costos son naturalmente
deseables de incorporar; ello implica una diferencia - significativa o no - respecto del proceso
de manufactura original, pero que no necesariamente ocasiona una variación en las
especificaciones. Es incluso posible (y usual) modificar las especificaciones a especificaciones más
estrictas, con lo cual el ‘diseño’ original se sigue respetando130, manteniéndose válida su
calificación como ‘diseño’ según la noción establecida en la presente sección.
La noción de ‘diseño’ precedentemente conferida es función de las especificaciones, y su
laxitud sigue estrictamente a esas especificaciones. Por ejemplo, no se requiere describir la
yuxtaposición de moléculas del material que constituye un objeto material a diseñar, si se
especifica sólo la forma y dimensiones de ese objeto; no obstante, implícitamente el material
queda limitado a aquellos que permitan cumplir con las referidas especificaciones de forma y
tamaño. Esto sugiere que
la especificación de un diseño debe limitarse a lo estrictamente indispensable; es
inconveniente la sobre-especificación, en virtud de la restricción que esto impone a
la consecución del ‘diseño’.
En particular, una sobre-especificación acota al conjunto solución dentro del espacio de diseño.
Las implicaciones de la precedente afirmación no constituyen un hecho trivial; una eficiente
exploración del espacio de diseño es un argumento clave y reiterado en las actuales metodologías
de diseño, particularmente las de diseño electrónico. Los conceptos de espacio de diseño, su
exploración, y el conjunto solución, se discuten en la sección 2.4.
[ 2.1.2.2 ] EL LENGUAJE DE DESCRIPCIÓN
Cabe aquí plantear una preocupación que concierne a la incidencia del lenguaje empleado
para la descripción del ‘diseño’. Esta preocupación se deriva de la incidencia del lenguaje en el
proceso de conocimiento, un tema controversial surgido en el ámbito antropológico a raíz de
las observaciones de B. Whorf.
“La hipótesis que propone Whorf es «que la creencia comúnmente sostenida de que los procesos
cognoscitivos de todos los seres humanos poseen una estructura lógica común que opera anteriormente a
la comunicación e independientemente de ella, es errónea. Juzga Whorf que son las pautas lingüísticas
las que determinan lo que un individuo percibe en el mundo y como lo piensa. En vista de que tales
pautas varían ampliamente, los modos de pensar y percibir de grupos que utilicen distintos sistemas
lingüísticos conducirán a visiones del mundo básicamente diferentes. (Fearing, 1954.)». Ingresamos
pues, en un nuevo concepto de relatividad, según el cual todos los observadores no son guiados por la
misma evidencia física hacia el mismo cuadro del universo, a no ser que se parezcan sus trasfondos
lingüísticos... ” ([Ber93], p. 233).
Von Bertalanffy aduce que la hipótesis de Whorf es una expresión de un problema más
general de la cognición humana. Cuestiona en que medida las ‘categorías del pensamiento’
- no sólo del conocimiento cotidiano, sino también del científico, como un refinamiento del
129
Se refiere a que en el primer ejemplo, la diferencia entre el proceso original y los subsiguientes puede
ser vista como una diferencia ‘formal’ mas no como una diferencia ‘real’ o significativa: que no se reitere
la fase de investigación es algo de índole netamente práctica, que no implica alteración o no de las fases
subsiguientes; sin embargo, constituye una diferencia.
130
Esto es usual en la fabricación de semiconductores, donde los avances tecnológicos propician el
abaratamiento de costos y, simultáneamente, mejores prestaciones. Es posible entonces reproducir un
dispositivo semiconductor con tecnologías más modernas que las empleadas originalmente,
manteniéndose dentro de sus especificaciones originales - aunque con un margen más holgado.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 69
primero - dependen y son modeladas a priori por factores biológicos y culturales, para quizás
recién luego dar cabida a un conocimiento ‘absoluto’ emancipado de las precedentes
limitaciones. “La percepción es universalmente humana, determinada por la dotación sicofísica del
hombre131. La conceptualización está vinculada a la cultura, por depender de los sistemas simbólicos
que aplicamos. Tales sistemas están determinados en gran medida por factores lingüísticos, por la
estructura del lenguaje usado.”. La estructura del lenguaje parece determinar cuales rasgos de la
realidad serán abstraídos, y con ello que forma adoptarán las categorías del pensamiento, y
recíprocamente, cómo sea visto el mundo determina y forma el lenguaje. ([Ber93], pp. 249-250).
Por ejemplo, según Whorf, las lenguas indoeuropeas hacen hincapié en el tiempo, cuestión
que se evidencia en el afán de llevar registros, diarios, calendarios, relojes, el tiempo que se usa
en la física, la noción de pasado, presente y futuro, e inclusive la actitud histórica. En contraste,
ciertas lenguas indígenas no distinguen tiempos, sino que indican sólo la validez de los
enunciados. Por ejemplo, en la lengua ‘hopi’ no hay diferencia entre ‘él corre’, ‘está corriendo’ o
‘corrió’, sino que todo es ‘hay correr’: el ‘hopi’ carece de noción general o intuición del tiempo
como un continuo en fluir uniforme. En lugar de las categorías indoeuropeas de ‘espacio’ y
‘tiempo’, el ‘hopi’ prefiere distinguir todo lo que es accesible a los sentidos (sin distinguir entre
el presente y el pasado) de lo que no es manifiesto, como el futuro y lo exclusivamente mental
o intelectual. “¿Cómo se construiría una física siguiendo estos lineamientos, sin ‘t’ (tiempo) en sus
ecuaciones? Perfectamente, por lo que se me alcanza, aunque por supuesto, requeriría diferente ideología
y a lo mejor diferentes matemáticas. Claro está que ‘v’ (velocidad) tendría que desaparecer también.
(1952, p. 7)”. Según Bertalanffy, Whorf aduce que el espacio, el tiempo y la materia de Newton
no son intuiciones, sino recetas de la cultura y el lenguaje, y que la física relativista - otra
descripción del universo, tan válida como la de Newton - es más bien concebida en términos
matemáticos. Whatmough critica a Whorf sus argumentos exclusivamente ‘lingüísticos’ - “No
sirve decir que la física ‘hopi’ no podría haber tenido conceptos como lo de espacio, velocidad y masa, o
que habrían sido muy diferentes de los nuestros. Los hopi no tienen física porque el tabú o la magia les
impiden la investigación experimental.”. De todas formas, sin entrar en discusiones y análisis
estrictamente lingüísticos o culturales, es manifiesto que el estilo de pensamiento difiere entre
las civilizaciones, incidiendo sobre sus nociones: lo primero que le importa a las lenguas
indoeuropeas es el tiempo; al ‘hopi’ la validez; al návajo el tipo de actividad
([Ber93], pp. 234-235).
En el planteo de la incidencia del lenguaje en la visión del universo, la matemática como
lenguaje simbólico no escapa al cuestionamiento. Las matemáticas significan esencialmente la
existencia de un algoritmo mucho más preciso que el lenguaje ordinario, siendo por ello
ampliamente empleadas en el diseño, ya se refiera esto a proceso o producto (descripción). Sin
embargo, la matemática es un lenguaje simbólico derivado del cotidiano. Así, no es independiente ni
de la estructura de este, ni del contexto cultural, el cual determinará que aspectos o
perspectivas serán matematizados132.
131
Respecto a la percepción sicofísica humana, aduce Von Bertalanffy que la expansión de los sentidos
naturales merced a sensores artificiales (como instrumentos de medida y registro) permite a la ciencia
cumplir una de sus funciones principales, la de ‘expandir lo observable’. Esta eliminación de las
limitaciones sicofísicas conduce a la ‘desantropomorfización de la imagen del mundo’, en virtud de la
cual, por ejemplo, los campos físicos de la óptica, la acústica, la teoría del calor - derivados de
experiencias sensorias - se funden y trasmutan a la termodinámica, el electromagnetismo, la mecánica
cuántica, etc. “Así va siendo eliminado lo que es específico de nuestra experiencia humana. Lo que al fin queda no
es sino un sistema de relaciones matemáticas.” ([Ber93], pp. 256). Nótese que este punto ha sido introducido
desde otra perspectiva en el presente documento, como el cambio de la visión ‘Aristotélica’ del universo,
por una ‘Platónica’ (sección 1.1.1).
132
Se recuerda que en la idea de Von Bertalanffy, es claro que las categorías de la cognición dependen,
primero, de factores biológicos (la tesis de Uexküll: la percepción está determinada por la organización
sicofísica, que produce una experiencia isomorfa con la ‘realidad’) y segundo, de factores culturales, los
cuales no alteran la potencialidad de la experiencia sensoria (incluida la ‘extendida’ por la ciencia y la
tecnología) pero modifican la ‘apercepción’, es decir, que rasgos de la realidad experimentada serán
enfocados, y cuales serán desestimados. Al respecto del contexto cultural, que la visión de >> p. 70
Ingeniería Electrónica – Universidad Católica del Uruguay
70 - [ 2 ] Diseño en Ingeniería
En virtud de la posible incidencia del lenguaje en el proceso cognitivo según afirma Whorf,
secundado por Bertalanffy a nivel cognitivo general, se requiere considerar la incidencia del
lenguaje concreto empleado para la descripción, o el ‘diseño’:
Textual o gráfico, de carácter matemático o verbal, el lenguaje empleado en la
descripción del producto de un proceso de diseño es un factor limitante de ese
‘diseño’.
Como se verá en el caso particular del diseño electrónico, la precedente afirmación es
perfectamente pertinente, constituyendo un tema central de investigación y discusión la
búsqueda de lenguajes y meta - lenguajes de descripción adecuados que no limiten en exceso la
expresividad del ‘diseño’. En particular, bajo el rótulo de ‘Modelos de Cómputo’133, el problema
de cómo modelar134 adecuadamente los distintos tipos de sistemas (sistemas de flujo de datos,
máquinas de estados finitos, sistemas de control, sistemas reactivos, etc.) constituye el núcleo
de esta cuestión; allí se hace manifiesta tanto la dependencia del modelo respecto al lenguaje
de descripción, como la incidencia de la concepción cultural en los planteos,
fundamentalmente en lo que respecta al concepto del tiempo, su representación y
administración135.
[ 2.1.2.3 ] EL ‘DISEÑO’ COMO ‘SISTEMA’
En varias de las citas efectuadas en la sección 2.1.1 al inicio del presente capítulo, se
relaciona ‘diseño’ con ‘sistema’, bien asumiendo que “el producto de un proceso de diseño es
un sistema”, o bien aduciendo que “el acto de diseñar es idear un proceso o sistema”, o
directamente estableciendo que “diseñar es definir un sistema”. De hecho, no sorprende el
advertir cierta laxitud en el empleo de los términos ‘diseño’ y ‘sistema’ en la literatura de
ingeniería, llegándose inclusive a observar su directo intercambio, cual si fueren sinónimos.
La afirmación “un diseño es un sistema complejo” se efectúa ya en la sección 2.1.1.3, en
virtud de la analogía que se detecta entre los procesos de diseño y los procesos de descomposición
jerárquico-modular de sistemas complejos. No obstante, la relación entre ‘diseño’ y ‘sistema’ puede
inferirse también en base a las propias nociones de diseño y sistema complejo que se confieren en
este documento.
En la sección 2.1.2.1 se establece que un ‘diseño’ es una descripción de un ente material o
intelectual, producto de un proceso de diseño como el que se presenta en la sección 2.1.1. Esa
descripción del proceso de diseño implica que un ‘diseño’ requiere elaboración, que un ‘diseño’
no se refiere a un producto elemental, primario, o primitivo, puesto que en ese caso no se
requeriría un proceso de diseño para su consecución. Por otra parte, en el capítulo 1 de este
documento se confiere la idea de ‘sistema’ como orden de partes relacionadas en interacción no
trivial ni despreciable (sección 1.3.3). A los sistemas se les adiciona el fenómeno de la
complejidad, el cual deriva de las características de las referidas interacciones entre las partes
constitutivas de los sistemas. Si bien el propio concepto de sistema presupone que este no es
una entidad elemental, el concepto de sistema complejo que se emplea en este documento
pretende enfatizar las características de la complejidad asociada a los sistemas. Así, puede
inferirse que:
<< p. 69 Einstein resultase revolucionaria, se debió a la ruptura que supone respecto de la concepción
cultural prevaleciente de tiempo y espacio absolutos. Respecto al lenguaje en sí, la Relatividad Especial o
Restringida empleó una matemática esencialmente similar a la empleada por Newton, pero la
Relatividad General requirió recursos matemáticos adicionales.
133
Siguiendo la expresión de Lee y Sangiovanni - Vincentelli, entre otros autores. También referido como
modos de cómputo (‘models of computation’ y ‘modes of computation’ en la literatura de lengua inglesa,
respectivamente). Ver sección 5.5.
134
El concepto de modelo - ligado íntimamente al de diseño y sistema - se estudia en el capítulo 3.
135
Una de cuyas expresiones más evidentes la constituyen los sistemas de ‘tiempo real’. Al decir de
Whorf, se hablaría de un tiempo en la concepción indoeuropea.
Diseño de Sistemas Electrónicos Complejos
[ 2.1 ] Proceso y Producto de Diseño - 71
como producto de un proceso de diseño - lo que implica un grado significativo de
elaboración - un ‘diseño’ es en esencia un ‘sistema complejo’, u organización
de partes en interacción no trivial.
Sin embargo, a partir de la cuasi tautológica afirmación “un ‘diseño’ es el producto de un
proceso de diseño” se advierte que
la consideración recíproca - un ‘sistema’ es un ‘diseño’ - no es válida, puesto que no
todos los sistemas resultan de un proceso de diseño.
El considerar que un ‘diseño’ es un sistema, quizás complejo, sugiere revisar los procesos de
diseño desde la perspectiva de sistemas y su complejidad asociada. Así, en lo que resta del
presente capítulo, se estudian los procesos de diseño de la sección 2.1.1.3 en relación a la
noción de sistema complejo que se discute en el capítulo 1 de este trabajo, y las nociones de
proceso y producto de diseño conferidas al inicio de este capítulo.
[ 2.2 ]
METODOLOGÍAS, FLUJOS, Y HERRAMIENTAS DE DISEÑO
En la sección 2.1.1 se introduce el concepto de proceso de diseño, estableciendo algunas de sus
características más relevantes (sección 2.1.1.1) sus aspectos sicológicos (sección 2.1.1.2) sus
aspectos operacionales (sección 2.1.1.3) y su estructura (sección 2.1.1.4). En las dos últimas
secciones se presentan diversos esquemas de procesos de diseño en ingeniería
- particularmente, ingeniería electrónica - y se propone una concepción del proceso de diseño
analógica a los procesos de descomposición jerárquico-modular de sistemas complejos (sección
1.7).
Conviene ahora estudiar los procesos de diseño en ingeniería dentro de un marco conceptual
algo más abstracto: las metodologías de diseño. El propósito de la presente sección es abordar los
conceptos de metodologías de diseño, flujos de diseño, y herramientas de diseño en ingeniería, en
base a las nociones iniciales de proceso y producto de diseño conferidas al inicio de este
capítulo, y los conceptos de sistema, complejidad, y características de sistemas complejos que
se discuten en el capítulo 1 de este trabajo.
Como punto de partida, se adoptan las sucintas nociones de metodología y flujo de diseño
que se presentan en [TTOV98], p. 21:
•
metodología de diseño: concepto abstracto que hace referencia a procesos de diseño
genéricos, que relacionan entre sí los distintos niveles de complejidad y abstracción por los
que atraviesa el diseño
•
flujo de diseño: personalización concreta de una cierta metodología, que cuenta con el
soporte de herramientas de diseño
•
herramientas de diseño 136: cualquier elemento concreto que contribuya dando aporte o
soporte a los posibles flujos de diseño, sea físico (como maquinaria, instrumentos) o
inmaterial (modelos, teorías y procedimientos de cálculo concretos, recursos informáticos,
etc.)137
136
Esta noción no se confiere en [TTOV98], p. 21, presumiblemente dándose por sobreentendida; no
obstante, se adiciona aquí a título personal, a efectos de completar la presentación de los conceptos
anunciados desde el título de la sección, y en virtud de constituir un elemento clave en la presente
discusión, como se verá en los subsiguientes párrafos.
137
Pese a la posibilidad de que determinados flujos de diseño requieran herramientas de tipo físico, en
general, el concepto de herramienta de diseño se refiere a herramientas de empleo ‘inmaterial’ como la
matemática (en forma de modelos o procedimientos de cálculo concretos) teorías aplicables, tablas, etc. y
- en la época actual - se refiere particularmente a las herramientas informáticas, que no solamente pueden
implementar procedimientos de cálculo sino que además coadyuvan a labores de redacción, dibujo y
diagramación, comunicación, presentación visual y gráfica (impresión) almacenamiento de información,
simulación, etc. En definitiva, esta noción de ‘herramienta de diseño’ no es mas que la noción >> p. 72
Ingeniería Electrónica – Universidad Católica del Uruguay
72 - [ 2 ] Diseño en Ingeniería
En consecuencia,
establecer una metodología de diseño consiste en definir las distintas etapas que
recorrerán los diferentes niveles de abstracción del diseño, mientras que establecer
un flujo de diseño es fijar como se evoluciona a través de las mismas usando
procedimientos manuales o automáticos soportados por determinadas herramientas
de diseño; así, distintos flujos de diseño pueden responder a una misma metodología,
y un mismo flujo de diseño se puede implementar con diferentes herramientas
([TTOV98], pp. 21-22).
En este contexto, los esquemas de procesos de diseño que se presentan en la sección 2.1.1.3
(Fig. 2.1, Fig. 2.2, y Fig. 2.3) se conciben desde la perspectiva de metodologías de diseño y no
como flujos de diseño, básicamente debido a su pretensión de ser procesos de diseño genéricos.
Sin embargo, pese a ser también de aplicación general, el esquema que se presenta en la Fig.
2.5 no representa una metodología dado que estas requieren definir las etapas por las que
transcurre el proceso de diseño.
A diferencia de los esquemas de proceso de diseño de las Fig. 2.1, Fig. 2.2, y Fig.
2.3, que buscan establecer metodologías de diseño en ingeniería e ingeniería
electrónica, el esquema de la Fig. 2.5 representa una ‘meta-metodología’ de diseño:
confiere la estructura jerárquica del proceso de diseño - las relaciones entre los
diferentes niveles de abstracción del diseño - y establece como se debe recorrer esta
jerarquía, pero no indica cuales son los diferentes niveles de abstracción del diseño.
Puede objetarse que conforme evolucione la ingeniería, la consecución de niveles superiores
de abstracción en el conocimiento promoverá la aparición de esquemas de procesos de diseño
aún más genéricos y abstractos que los que se presentan en la sección 2.1.1.3, por lo cual a
futuro estos podrían considerarse, comparativamente, como más próximos a flujos de diseño
que a metodologías. En otras palabras, la diferencia entre metodología de diseño y flujo de
diseño podría adquirir un carácter relativo si se la observa desde la perspectiva que otorga la
evolución. Sin embargo, se reconoce un elemento clave que permite dirimir entre los conceptos
de flujo y metodología de diseño, por más que se relativice su diferencia merced a la evolución: la
herramienta de diseño, que por su función tiende ser excluida de las metodologías, quedando
asociada exclusivamente a los flujos de diseño.
Las herramientas de diseño no brindan sólo un aporte a los procesos de diseño, sino que - al
igual que sucede en gran número de actividades amén de los procesos de diseño en
ingeniería - constituyen el soporte de las actividades, razón por la cual inciden en forma directa
y significativa sobre estas. Esta dependencia de los flujos de diseño respecto de las
herramientas con las que se implementan es precisamente lo que se busca evitar con la
consecución de metodologías de diseño, cuyo objeto es independizar el proceso de diseño de
los problemas derivados de la obsolescencia tecnológica y las herramientas disponibles.
Así, los objetivos fundamentales de las metodologías de diseño son ([TTOV98], p. 22):
•
Establecer procesos de diseño que permitan reducir costos, tiempo y riesgos de desarrollo, a
la vez que se garantizan las prestaciones requeridas del proyecto final (el producto de
diseño)
•
Mantenerse, en lo posible, independiente de las herramientas de desarrollo y diseño, y las
alternativas tecnológicas disponibles (para evitar problemas causados por la obsolescencia
de estas).
Por su parte, el papel de las herramientas de diseño, como se ha mencionado, es de dar
soporte a los flujos concretos de diseño. Cada flujo de diseño es particular al caso, e idealmente
responde a una determinada metodología de diseño elegida para cada caso. Sin embargo, es
posible identificar un aspecto común a la aplicación de herramientas de diseño:
<< p. 71 usual de herramienta, referida a aquellas orientadas al diseño.
Diseño de Sistemas Electrónicos Complejos
[ 2.2 ] Metodologías, Flujos, y Herramientas de Diseño - 73
el rol fundamental de las herramientas de diseño es asistir las actividades de toma
de decisiones del diseñador, de forma de mitigar la interferencia mutua entre
inventiva, análisis y toma de decisiones (sección 2.1.1.2)
“Algunos dicen que la toma de decisiones es esencialmente un arte. (...) Sin embargo, se ha producido
un cambio con el advenimiento de la computadora y con el correspondiente crecimiento y desarrollo de
ciencias que han trascendido al campo de la toma de decisiones. Los campos de esta actividad, que
anteriormente se pensaba eran totalmente cualitativos y subjetivos, están desarrollándose ahora
cuantitativamente...” ([Dix79], p. 276).
Las herramientas de diseño son, precisamente, herramientas. Como tales, no pueden
sustituir la capacidad de inventiva, no pueden ‘producir creatividad’, así como tampoco
pueden realizar análisis y tomar decisiones que no hayan sido indicados hasta cierto punto por
quienes las operan. Consecuentemente, al igual que cualquier herramienta su aporte a la
consecución de la tarea para la cual se las emplea depende en gran medida del conocimiento y
habilidad de quienes las eligen y manipulan - es decir, el diseñador o el equipo de diseño.
Estas cuestiones se revisan en la sección 2.4.1.
[ 2.2.1 ] DISEÑO ASCENDENTE Y DESCENDENTE
Acorde a sus respectivos objetivos, “las metodologías siempre han hecho propuestas
de refinamiento progresivo (proceso descendente, o ‘top-down’138) desde la idea a la
implementación, pasando por distintas etapas o niveles de abstracción. Sin embargo,
los flujos reales de diseño se han visto mucho más sujetos al estado de las
herramientas de diseño que ha seguido una evolución ascendente (‘bottom-up’139)
para ir cubriendo progresivamente las etapas de mayor nivel de complejidad desde
el nivel físico140 al nivel funcional.” ([TTOV98], p. 22).
A continuación, se establecen las nociones de diseño ‘descendente’ y ‘ascendente’, que
permitirán analizar los procesos de diseño en el tiempo, inferir la incidencia de las
herramientas de diseño en el tiempo de diseño, y visualizar la incidencia del tiempo de
desarrollo en el costo del diseño.
[ 2.2.1.1 ] DISEÑO DESCENDENTE
Como sugieren los esquemas que se presentan en la sección 2.1.1.3, el proceso de diseño
debería iniciarse abordando los aspectos más generales - la idea - para posteriormente ‘refinar’
esa visión hasta lograr el detalle requerido para efectuar la implementación. A estos procesos de
diseño en ingeniería que se ejecutan desde lo ‘general’ a lo ‘particular’, es decir, desde niveles
superiores de abstracción a niveles inferiores de mayor detalle, se les designa procesos de diseño
descendente:
“Un diseño estructurado consiste de dos componentes principales:
1. Dos conjuntos de criterios, cohesión y acoplamiento
2. Descomposición descendente de un sistema en módulos
El objetivo de diseño es producir un sistema en el cual los módulos tengan alta coherencia y bajo
acoplamiento.” ([LA90], p. 83). “Los métodos (...) son designados como ‘descomposición descendente’ de
acuerdo al criterio que disminuye el acoplamiento y aumenta la coherencia.”141 ([LA90], p. 92).
Así, dado que los productos de diseño son ‘sistemas’142,
138
Designación habitual en la literatura angloparlante; literalmente, ‘desde la cima hacia abajo’.
139
Designación habitual en la literatura angloparlante; literalmente, ‘desde la base hacia arriba’.
140
La cita es extraída de un texto sobre diseño de dispositivos electrónicos, por lo que el “nivel físico” se
corresponde con el “Nivel de Implementación”.
141
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
74 - [ 2 ] Diseño en Ingeniería
la estrategia de diseño descendente es consecuencia de la ‘modularidad’ de los
sistemas complejos, según Simon: “... las conexiones e interacciones internas en
cada subsistema son más frecuentes y rápidas que aquellas entre subsistemas.”
(sección 1.5.2).
En virtud de la evolución tecnológica, la maduración del conocimiento, y el dominio de la
práctica profesional, los procesos de diseño descendente de vanguardia generalmente no
cuentan con correspondientes ‘herramientas de diseño descendente’, es decir, herramientas
que soporten flujos de diseño descendente. La causa de esto radica en que las herramientas de
diseño se forjan merced al advenimiento de las nuevas tecnologías, conforme estas presentan
desafíos que exceden las capacidades de las herramientas de diseño adecuadas a métodos,
flujos y tecnologías anteriores. Por tanto, no están disponibles a priori para diseños que
emplean conocimientos o tecnologías noveles. Además, las herramientas de diseño surgen, de
manera natural, ligadas al nivel de implementación. Así, las más recientes, aunque puedan
estar disponibles, no son aún lo suficientemente maduras para ser empleadas a los niveles más
abstractos de idea o especificación, y se limitan a una aplicación ‘local’, en virtud de la falta de
confianza para su aplicación con mayor ‘generalidad’.
Consecuentemente, en casos de conocimiento y tecnologías nuevos e inmaduros, el proceso
de diseño descendente es ejecutado principalmente en forma manual. Resulta así altamente
dependiente de la pericia y experiencia previas de los diseñadores, debido a que en estos casos
de desarrollo manual, se conjugan perniciosamente los aspectos sicológicos del proceso de
diseño (sección 2.1.1.2) con la complejidad, sus fuentes y sus factores de escalamiento (sección
1.4) y con las características inherentes a los sistemas complejos (sección 1.5). En virtud de la
usual carencia de herramientas de diseño - debida a su inmadurez para el caso -, los procesos
de diseño descendente se han asociado históricamente a metodologías de diseño en lugar de a
flujos de diseño.
[ 2.2.1.2 ] DISEÑO ASCENDENTE
Los esquemas que se presentan en la sección 2.1.1.3, además de proponer el inicio del
proceso de diseño en forma descendente, admiten la existencia de un proceso en sentido
opuesto, al indicar posibles iteraciones en le proceso de diseño. Al proceso en este sentido se le
denomina, correspondientemente, diseño ascendente.
Para el caso de conocimientos y tecnologías inmaduras referido en la sección precedente,
luego de la ejecución del proceso descendente, y habiéndose alcanzado el nivel de detalle
requerido para la implementación, se debe verificar que el diseño cumple las especificaciones.
Dado que a este nivel se está en condiciones de aplicar las herramientas de diseño de
actualidad para el caso, es posible ejecutar el proceso en sentido inverso, efectuando una
composición jerárquica de los detalles hasta la consecución del sistema bajo diseño. De esta
forma, se recupera el estado de abstracción inicial, habiendo acarreado desde ‘abajo’ la
información tecnológica y de la implementación. En consecuencia, es posible someter el diseño
completo a verificación contra las especificaciones iniciales.
Así, a diferencia de los procesos de diseño descendente, los procesos de diseño ascendente
han contado históricamente con el soporte de herramientas de diseño, y por tanto, el diseño
ascendente ha estado ligado más a flujos que a metodologías de diseño. Adicionalmente, el
hecho que los procesos de diseño ascendente partan de niveles bajos de abstracción, donde
imperan consideraciones específicas a cada caso, y donde la dependencia tecnológica es
significativa, constituye una seria dificultad para extraer de los mismos cualquier suerte de
generalización.
142
La identificación del producto de un proceso de diseño con un ‘sistema’ se argumenta brevemente en
la sección 2.1.2.3.
Diseño de Sistemas Electrónicos Complejos
[ 2.2 ] Metodologías, Flujos, y Herramientas de Diseño - 75
[ 2.2.1.3 ] EL PROCESO DE DISEÑO EN EL TIEMPO: CICLO DESCENDENTE-ASCENDENTE
La diferencia entre las propuestas metodológicas y la realidad de los flujos de diseño plantea
dificultades en el plano operacional: la carencia de herramientas de diseño descendente incide
negativamente en la calidad y velocidad del desarrollo, incrementando en número y
prolongando en duración los ciclos de validación del diseño.
Los ciclos de validación del diseño pueden representarse en el tiempo como concatenación
de procesos de diseño descendente y ascendente. En el esquema de la Fig. 2.6 se representa
uno de tales ciclos de validación. Esta figura muestra un solo ciclo del proceso de diseño, para el
caso de herramientas de diseño disponibles en las mencionadas circunstancias de tecnología y
conocimientos ‘inmaduros’.
Nivel de abstracción
De
s
Nivel de Especificación
co
m
po
s ic
i ón
Idea y establecimiento de
especificaciones del diseño.
jer
á
rq
ui
Nivel de detalle adecuado
para implementación;
herramientas disponibles.
ca
de
sce
nd
en
te
m
Co
i
si c
po
ón
ár
j er
ica
qu
c
as
d
en
te
en
Comprobación de la
implementación contra
las especificaciones.
Nivel de Implementación
tiempo
Flujo de diseño 'manual'
Flujo de diseño asistido con herramientas
de diseño 'ascendente'
Fig. 2.6: Fases descendente y ascendente de un ciclo del proceso de diseño, en situación de conocimiento y tecnología
inmaduros. (Adaptado de [TTOV98], p. 24.)
Las formas descendente y ascendente que adopta el proceso de diseño, si bien son indicadas
en los esquemas de proceso de diseño de la sección 2.1.1.3 (Fig. 2.1, Fig. 2.2, y Fig. 2.3) no se
explicitan en el tiempo. Por contrapartida, el esquema de la Fig. 2.6 desarrolla un ciclo del
proceso en el tiempo, pero no explicita las distintas fases por las cuales este proceso transcurre
en ese ciclo, a excepción de los niveles de abstracción extremos - ”Nivel de Especificación” y
“Nivel de Implementación” - correspondientes a la idea e implementación del diseño,
respectivamente.
El proceso de diseño completo requiere usualmente de varios ciclos143 hasta que la validación
de la implementación contra las especificaciones devuelve un resultado exitoso, lo que
corresponde a una secuencia de ciclos como el de la Fig. 2.6. El proceso completo se representa
en la Fig. 2.7, donde se sugiere visualmente una ‘aceleración’ de los ciclos conforme son
ejecutados, en virtud de la ‘maduración’ y ‘experiencia acumulada’ con las sucesivas pasadas
del proceso de diseño, amén de la progresiva depuración de los errores (Adaptado de
[Tan01], pp. 2-3).
143
Correspondientes a las iteraciones que se mencionan en todos los esquemas de proceso de diseño de la
sección 2.1.1.3.
Ingeniería Electrónica – Universidad Católica del Uruguay
76 - [ 2 ] Diseño en Ingeniería
Nivel de abstracción
validación no satisfactoria
validación satisfactoria
Costo
validación
implementación
diseño
especificación
Nivel de
Especificación
costo
de
diseño
tiempo
de
diseño
Nivel de
Implementación
tiempo
ciclo
descendente
y ascendente
Fig. 2.7: Proceso de diseño asistido con herramientas de diseño ‘ascendente’, y costo del diseño, en función del tiempo.
Sobre el primer ciclo de validación del proceso de diseño que se ejemplifica en la Fig. 2.7, se
superponen los cuatro componentes de la ‘celda de diseño’ (Fig. 2.4): las descripciones inicial y
final (especificación e implementación, respectivamente) y las actividades de síntesis y análisis
(diseño y validación, respectivamente). Esto permite integrar la noción del desarrollo en el
tiempo con la estructura jerárquico-modular del proceso de diseño, dada en la Fig. 2.4
(estructura de la ‘celda de diseño’) y la Fig. 2.5 (estructura del proceso de diseño completo). En
esencia, corresponde a desarrollar los mencionados esquemas estructurales en la dimensión
temporal. Con esta idea, puede inferirse el desarrollo en el tiempo de los esquemas del proceso
de diseño de la sección 2.1.1.3 (Fig. 2.1, Fig. 2.2, y Fig. 2.3).
El desarrollo del proceso de diseño en la dimensión temporal habilita a superponer la
evolución del costo144 de diseño en el tiempo, como se indica en el esquema de la Fig. 2.7. Esto
deja en evidencia que una duración excesiva del proceso de diseño constituye una situación
indeseable.
Dado que usualmente se estima que la tasa de crecimiento en el tiempo del costo de
diseño sigue una ley exponencial145, resulta vital minimizar el tiempo de desarrollo;
en consecuencia, las metodologías de diseño buscan promover flujos de diseño en los
cuales el número de iteraciones del proceso sea mínimo, o que estas se ejecuten lo
más rápido posible (ver Fig. 2.7).
144
El costo del diseño se aplica en el sentido amplio del término, no refiriéndose exclusivamente al costo
económico. Sin embargo, merced a la contumacia de los ‘reduccionistas económicos’ - agentes incapaces
de reconocer y admitir las severas limitaciones del único lenguaje que emplean para la descripción de
los complejos sistemas sociales, y ajenos a las limitaciones inherentes al ‘reduccionismo’ advertidas en la
ciencia (¡incluídas las ciencias sociales!) - el costo en la literatura se halla, indefectiblemente, medido en
unidades monetarias.
145
Coincidentemente, esta estimación es corriente en el ámbito empresarial, en el departamento
denominado usualmente ‘Operaciones’, asociado a lo que la moda actual designa ‘Logística’ en la
empresa moderna (fines s. XX, principios s. XXI).
Diseño de Sistemas Electrónicos Complejos
[ 2.2 ] Metodologías, Flujos, y Herramientas de Diseño - 77
Se conciben dos estrategias para minimizar la cantidad y la duración de las iteraciones del
proceso de diseño, íntimamente relacionadas:
•
Emplear herramientas de diseño: El empleo de herramientas de diseño reduce el tiempo de
diseño en comparación con la ejecución de procesos manuales, los cuales están limitados
por las capacidades sicofísicas humanas. La disponibilidad de herramientas de diseño es
dependiente de dos factores, la maduración de los conocimientos y el grado de
formalización de los procesos de diseño (secciones 2.2.1.1 y 2.2.1.2) los que determinan que
la disponibilidad de herramientas sea mayor para procesos de diseño ‘ascendente’ que para
procesos ‘descendentes’.
•
Formalizar el proceso de diseño: Amén de facilitar la implementación de herramientas de
diseño, los métodos formales - aunque se ejecuten manualmente, no siendo automatizados
por herramienta alguna - aseguran capacidades de cálculo, predicción y verificación. Dado
que las iteraciones del proceso de diseño se corresponden con ciclos de validación, métodos
formales de especificación, síntesis, implementación y análisis reducen la cantidad de
ciclos146, y los aceleran147.
Los efectos de la formalización y la automatización sobre el proceso de diseño se
esquematizan en la Fig. 2.8, la cual hace uso y referencia del concepto de ‘celda de diseño’
(sección 2.1.1.4; Fig. 2.4 y Fig. 2.5) superponiendo al ejemplo una secuencia que abarca tres
instancias de descripción del proceso.
Nivel de abstracción
Costo
nivel validado en etapa previa
Nivel de
Especificación
costo
de
diseño
tiempo
de
diseño
Nivel de
Implementación
implementación no satisfactoria implementación satisfactoria
tiempo
Fig. 2.8: Proceso de diseño formalizado y asistido por herramientas de diseño ‘descendente’ y ‘ascendente’.
Obsérvese en la Fig. 2.8 que las implementaciones satisfactorias en un determinado nivel
jerárquico del proceso permiten - após del ciclo de verificación correspondiente - descender en
la jerarquía del diseño en el paso subsiguiente, mientras que las implementaciones
146
Se cometen menos errores, en virtud de la naturaleza de los procedimientos formales.
147
De obtenerse una descomposición formal del diseño como indica el esquema de la Fig. 2.5, sería
factible ejecutar los ciclos de validación a niveles intermedios de abstracción, por lo cual las iteraciones
que se indican en la Fig. 2.7 no requerirían ir desde el “Nivel de Especificación” al “Nivel de
Implementación”, con el consiguiente ahorro de tiempo.
Ingeniería Electrónica – Universidad Católica del Uruguay
78 - [ 2 ] Diseño en Ingeniería
insatisfactorias requieren una nueva implementación al mismo nivel de abstracción. Por esta
razón, los niveles alcanzados en el diseño que devuelven una validación exitosa evitan la
necesidad de una síntesis hasta el “Nivel de Especificación” para los ciclos subsiguientes,
produciendo de esta manera un ahorro de tiempo, y una consiguiente reducción en el costo del
diseño. Puede inferirse inmediatamente que la automatización de los métodos formales
constituye un significativo aporte en esta dirección.
Como sugiere la flecha al fondo del esquema de la Fig. 2.8, un proceso de diseño de índole
formal es, de hecho, descendente. Esto no constituye una flagrante contradicción con lo que se
ha discutido hasta el momento en la presente sección: se ejecutan pasos ascendentes en el
proceso, pero debido al formalismo, las validaciones indicadas como flechas punteadas en
sentido vertical en el esquema son, de hecho, evitadas - aunque no lo sean conceptualmente - y
por tanto no es necesario un retorno efectivo a los niveles más altos de abstracción, como
sucede en el esquema de la Fig. 2.7.
Con objeto de minimizar los costes de diseño, las metodologías de diseño promueven
el empleo de métodos formales, que habilitan procesos de diseño esencialmente
descendentes, como el que se indica en la Fig. 2.8.
El ‘ideal’ del diseño sería contar con metodologías de diseño descendente, formales, y
automatizadas. Sin embargo, no se puede ignorar el hecho que la formalización del diseño
presupone determinada madurez previa, como se aduce en la sección 2.2.1.1. Asimismo,
existen limitaciones al formalismo (ver secciones 3.3.4, 3.3.5 y 3.3.6). Así, en virtud de las
limitaciones a los formalismos, y que el conocimiento necesariamente adelanta a las técnicas de
diseño, un enfoque viable requiere la combinación de estrategias descendentes y ascendentes.
En virtud del retraso en la consecución de métodos formales respecto al avance del
conocimiento, y de las limitaciones a los formalismos148, en los procesos de diseño
reales necesariamente se deben admitir metodologías mixtas descendentesascendentes.
[ 2.3 ]
TEORÍAS DE DISEÑO
En ingeniería, las estrategias ascendente y descendente conforman dos conjuntos de
metodologías, flujos y herramientas de diseño, que prima facie se diferencian por el sentido en
que recorren los niveles de abstracción de los diseños (sección 2.2). No obstante, se observa un
aporte común: constituyen dos maneras fundamentales para la adquisición de conocimientos
relativos al diseño, en un plano más abstracto aún que el metodológico.
Las estrategias de diseño ascendente y descendente poseen un objetivo común, que
es establecer teorías de diseño para lidiar con la naturaleza del proceso de diseño,
los productos de diseño, y el conocimiento de diseño ([Zen02], p. 1).
Si bien contribuyen a este objetivo común, por su propia naturaleza las estrategias de diseño
ascendente y descendente difieren en que el proceso de desarrollo de una teoría de diseño a
partir de la estrategia descendente puede ser identificada en forma lógica, mientras que el
proceso de elaboración de una teoría de diseño desde la perspectiva ascendente es ad hoc, y se
atribuye fundamentalmente a la creatividad y talento del investigador. ([Zen02], p. 2).
“La investigación en base a la estrategia ascendente intenta generalizar las teorías
de diseño a partir de la observación de las actividades de diseño de ingeniería.(...) La
investigación en base a la estrategia descendente intenta derivar teorías a partir de
principios básicos.” ([Zen02], pp. 1-2).
148
El formalismo en el sentido de Hilbert se presenta en la sección 3.3.3.2.2, se define en la sección 3.3.4, y
sus limitaciones se discuten en las secciones 3.3.5 y 3.3.6. Previamente, la sección 3.2 discute los temas
de modelado informal, formal y matemático.
Diseño de Sistemas Electrónicos Complejos
[ 2.3 ] Teorías de diseño - 79
Un esquema que representa las maneras de establecer teorías de diseño a partir de las
estrategias ascendente y descendente se indica en la Fig. 2.9 (adaptado de [Zen02], p. 2).
estrategia
descendente
Axiomas
Derivación
TEORÍAS DE DISEÑO
estrategia
ascendente
Generalización
Actividades de diseño
Fig. 2.9: Teorías de diseño a partir de estrategias ascendente y descendente (adaptado de [Zen02], p. 2)
[ 2.3.1 ] EL ENFOQUE AXIOMÁTICO
En ingeniería, se advierte una manifiesta preferencia por las estrategias de diseño
descendente para la elaboración de teorías de diseño. Esta radica en la profundamente
arraigada convicción que profesa la ciencia en general por el empleo de métodos formales,
como la única herramienta disponible a la fecha capaz de garantizar la corrección en
procedimientos y productos149, a diferencia de los enfoques ad hoc.
Dada la preferencia por un desarrollo en forma lógica a partir de principios básicos, no debe
extrañar que existan intentos de formalización del proceso de diseño que apelen a las
estrategias empleadas con éxito para el desarrollo de la matemática 150. Cabe notar que este
mismo criterio se advierte en la sección 1.3.3 del presente documento, en relación a la noción
de sistema: “De acuerdo a Von Bertalanffy, con la designación (algo laxa) de axiomático se cubren
aquellos enfoques que persiguen una noción rigurosa del sistema y de sus implicaciones, derivada por
métodos lógico-matemáticos modernos.” (p. 36). En virtud de la conclusión que establece que un
‘diseño’ es un ‘sistema complejo’ (sección 2.1.2.3) no constituye una mera coincidencia el hecho
que Zeng [Zen02] haya sugerido un enfoque axiomático para la elaboración de teorías de
diseño. Según cita este autor, su trabajo ya hereda de varios trabajos previos.
“En su pionero estudio del modelado axiomático del diseño, Yoshikawa (1981) estableció la ‘Teoría
General del Diseño’ (abreviada GDT151). La base de la GDT es un modelo del reconocimiento humano.
En este modelo, la GDT distingue entre una entidad y el concepto de una entidad. Una entidad es un
objeto existente concreto, y el concepto de una entidad es una impresión mental abstracta concebida por
un ser humano.”. En los términos propuestos por Zeng, una entidad es un objeto en la
149
Y que además - no incidentalmente - en el caso particular de la ingeniería contribuyen a la reducción
del coste del diseño, en sentido amplio del término (sección 2.2.1.3).
150
Al menos, hasta la fecha – ver sección 3.3.5: La ‘espada de Gödel’.
151
N. del T.: acrónimo del nombre en inglés, ‘General Design Theory’.
Ingeniería Electrónica – Universidad Católica del Uruguay
80 - [ 2 ] Diseño en Ingeniería
naturaleza, mientras que el concepto de una entidad es también un objeto, pero pertinente al
pensamiento humano. “Los diseñadores crean otro concepto de entidad usando conceptos de entidades
previamente formados vía el proceso de reconocimiento.”152 ([Zen02], p. 20). Esta relación entre una
entidad y su correspondiente concepto se representa en la Fig. 2.10.
reconocimiento
entidad
concepto de la entidad
diseño
Fig. 2.10: Entidad y Concepto de Entidad; Teoría General del Diseño – Yoshikawa (1981) ([Zen02], p. 20)
Pese a las potenciales ventajas, la estrategia descendente axiomática ha encontrado
dificultades, tanto en virtud de la aparente escasa utilidad de sus resultados en las etapas
iniciales del diseño, como del comparativamente largo período de maduración que requiere.
“En primer lugar, los diseños aparentan ser una compleja actividad aleatoria y creativa,
mientras que el enfoque axiomático es de naturaleza consistente, determinista, y precisa. Estas
dos modalidades parecen oponerse una a otra.” ([Zen02], p. 2). Lo que Zeng manifiesta no es
más que uno de los aspectos sicológicos del proceso de diseño, que se indican en la sección
2.1.1.2 del presente documento: la nefasta interferencia entre creatividad y capacidad analítica.
Esto constituye un obstáculo para el progreso en esta área.
En el enfoque axiomático, las actividades de diseño son investigadas mediante la derivación
de teoremas a partir de los axiomas, en forma análoga a como procede la matemática moderna.
“La teoría axiomática establecida incluye dos grupos de axiomas: axiomas de objetos y axiomas del
pensamiento humano. Los axiomas de objetos establecen que todo lo que existe en el universo es un
objeto, y que hay relaciones entre los objetos. (...) Los axiomas del pensamiento humano (...) identifican la
naturaleza del razonamiento y de los procesos de reconocimiento en el pensamiento humano. Establecen
que los seres humanos están limitados por la racionalidad, que no reconocen los objetos en forma precisa,
y que la relación causal es la única plausible de todas las relaciones entre causa y efecto. (...) Este trabajo
ha establecido formalmente dos nociones centrales de ‘Ciencias de lo Artificial’ 153 de Simon (Simon,
1969): racionalidad acotada, y sistemas jerárquicos.”154 155 ([Zen02], p. 24). De los axiomas, Zeng
deduce teoremas que constituyen su modelo formal del diseño156:
1. Teorema 1: Un sistema de ingeniería se compone de la estructura del producto, la estructura
del entorno, y las relaciones mutuas entre el producto y su entorno.
2. Teorema 2: En ingeniería, existe un limitado conocimiento del desempeño 157 de un número
limitado de productos primitivos, para representar las relaciones causales de acciones a
reacciones.
152
Texto traducido del original, en inglés. Ver nota 54, p. 39.
153
“The Sciences of the Artificial” es el título original de la obra (Ed. MIT Press, 1969).
154
Texto traducido del original, en inglés. Ver nota 54, p. 39.
155
Nótese la relación implícita entre diseño y sistemas complejos que confiere la cita, que así brinda un
ejemplo más acorde a la afirmación ‘un diseño es un sistema complejo’ que se efectúa en la sección 2.1.2.3.
156
El concepto de modelo se aborda en el capítulo 3 del presente trabajo.
157
‘Performance’, en el original.
Diseño de Sistemas Electrónicos Complejos
[ 2.3 ] Teorías de diseño - 81
3. Teorema 3: Los requerimientos del diseño pueden clasificarse en requerimientos
estructurales y requerimientos de desempeño. Los requerimientos estructurales son
restricciones a la estructura del producto, mientras que los requerimientos de desempeño
son restricciones al desempeño del producto. Estos requerimientos pueden ser
descompuestos en términos del entorno del producto, es decir, el medio ambiente donde se
espera que el producto opere.
4. Teorema 4: El desempeño de un producto puede ser analizado mediante un conocimiento
del desempeño por la gradual separación de cada componente de los restantes.
5. Teorema 5: Dado un conjunto de requerimientos de diseño, las soluciones del diseño pueden
ser halladas por la descomposición del entorno del producto, que está implícito en la
definición de los requerimientos del diseño. Cada paso de la descomposición del entorno
engendra una solución parcial del diseño que redefine el entorno, y a su vez, los
requerimientos de diseño. Este proceso se detiene cuando se han satisfecho todos los
requerimientos de diseño158.
Según Zeng, en estos teoremas se tiene en cuenta las cuestiones principales de un problema
de diseño: los requerimientos de diseño, la estructura del producto, el desempeño del producto, el
proceso de evaluación, y el proceso de síntesis del diseño. Los teoremas 3 y 5 son nuevos
enfoques al modelado de requerimientos de diseño y proceso de síntesis de diseño (la
representación uniforme de requerimientos de diseño, en términos del entorno del producto y
un método de descomposición natural del problema de diseño) mientras que los teoremas 1, 2,
y 4 han sido ampliamente discutido en la literatura, y constituyen propiedades generales del
diseño, según aduce el propio autor. Al respecto, se observa que en los teoremas 1, 2 y 4
figuran la necesidad de considerar el entorno de los sistemas, el tratamiento de los sistemas en
forma de ‘caja negra’, las limitaciones humanas para la comprensión y el manejo de sistemas
complejos, y los procesos de descomposición de sistemas complejos, todas cuestiones que se
abordan en el capítulo 1 de este documento159.
En la Tabla 2.2 se reproduce, según Zeng, la evolución de los postulados de algunas teorías
formales de diseño, que preceden - y conducen - a la suya ([Zen02], p. 23).
158
Texto traducido del original, en inglés (los 5 teoremas). Ver nota 54, p. 39.
159
No incidentalmente, en las referencias indicadas en [Zen02 ] se cita a Simon, Maxwell, Ertas y Tanik,
aunque en referencia a otros trabajos ([Sim01], [MET02]).
Ingeniería Electrónica – Universidad Católica del Uruguay
82 - [ 2 ] Diseño en Ingeniería
Tabla 2.2: Evolución de las teorías axiomáticas de diseño ([Zen02], p. 23)
Teoría 160
ADT (2002)
Axiomas relativos a la representación de objetos
FDT (1998)
Axioma 3:
Postulado 1:
El conjunto de conceptos
abstractos es una
topología del conjunto de
conceptos de entidad.
La representación de un
Todo en el universo es un
artefacto se construye en base a objeto
la multiplicidad de módulos
Axioma 2:
(atributos) y relaciones entre
Existen relaciones entre los
ellos.
objetos del universo.
Postulado 2:
Axiomas relativos al pensamiento humano
GDT (1981)
Axioma 1:
Axioma 1:
El diseño de cualquier sistema
complejo puede ser considerado
a varios niveles. La dirección
general es de mayor a menor
abstracción. Un diseño a
cualquier nivel de abstracción
es una descripción de una
colección organizada de
restricciones (estructurales, de
causa y efecto, funcionales, y
características de desempeño)
que aparecen en la
implementación física del
diseño.
Postulado 3:
Una entidad puede ser
Cualquier representación del
reconocida o descrita por conocimiento (tal como la
los atributos.
represente el diseñador) es
incompleta.
Axioma 2:
El conjunto de entidades y
el conjunto de conceptos
de entidades presentan
una correspondencia uno
a uno.
Postulado 4:
El diseñador puede considerar
solamente un subconjunto de
representaciones del
conocimiento en cada uno de
los instantes de toma de
decisiones.
Postulado 5:
Axioma 3:
Los seres humanos están
limitados por su
racionalidad.
Axioma 4:
Los seres humanos no
reconocen los objetos con
precisión.
Axioma 5:
La relación causal es la única
relación plausible de todas
las relaciones entre causas y
efectos.
Es posible generar varios
diseños factibles al nivel
especificado por el diseñador.
Observa Zeng:
•
La correspondencia biunívoca entre entidades y conceptos que establece el Axioma 2 de la
GDT implicaría conocimiento perfecto, contra la hipótesis de ‘racionalidad acotada’ de
Simon161.
•
El Axioma 1 de la ADT, en apariencia trivial, diferencia esta teoría de la teoría de conjuntos,
donde objetos concretos y abstractos se distinguen por ‘conjunto’ y ‘elemento’ 162. En la
160
GDT es acrónimo de ‘General Design Theory’ (Yoshikawa, 1981); FDT, acrónimo de ‘Formal Design
Theory’, (Braha y Maimon, 1998); y ADT, representa ‘Axiomatic Theory of Design Modeling’ (Zeng, 2002).
161
Esta hipótesis se refiere a la limitación de los recursos en el sistema racional (tiempo y memoria, por
ejemplo) lo que implica una limitación a la cantidad de objetos en el pensamiento humano. Aclara Zeng
que esta teoría ha sido modificada y extendida.
162
Identificando ‘objeto’ con ‘sistema’ en los contenidos de la Tabla 2.2.
Diseño de Sistemas Electrónicos Complejos
[ 2.3 ] Teorías de diseño - 83
ADT, el universo es el único concepto abstracto, y todos los demás objetos se tratan
igualitariamente como ‘un objeto en el universo’, situación conveniente para la
representación uniforme de los objetos de diseño en el proceso evolutivo de diseño
([Zen02], p. 5). La estructura de un sistema - que incluye las relaciones entre sus partes - se
ha representado tradicionalmente desde la perspectiva de la teoría de conjuntos con el
producto cartesiano. Esto no permite capturar la jerarquía de la estructura, a diferencia de lo
que puede derivarse de los Axiomas 1 y 2 de la ADT ([Zen02], p. 8)
•
El razonamiento humano no es simétrico: solo el razonamiento deductivo es determinista, y
todos los otros modos no son plausibles163
•
Dado que un sistema en ingeniería es la estructura del producto, la estructura de su
entorno, y las relaciones mutuas entre estos; dado además que un producto es un objeto en
la naturaleza, y que el entorno es la colección de objetos en la naturaleza excluyendo al
producto, en esencia resulta que un sistema de ingeniería es la estructura de la naturaleza164
En relación a las nociones de sistema y sistema complejo que se confieren en el capítulo 1 del
presente documento, y las nociones acerca del proceso y producto de diseño conferidas este
capítulo 2 (hasta la presente sección 2.3, exclusive) se observa de la Tabla 2.2 que:
•
el diseño es inherentemente no determinístico165
•
se asocia el diseño con la producción de sistemas complejos
•
se concibe a los sistemas bien como conjuntos topológicos, o bien como colecciones de objetos,
donde las relaciones entre partes son de primordial importancia, y no pueden ser obviadas
en la concepción de sistema166
•
el diseño de sistemas se concibe en niveles de abstracción, y se prefiere para esto la estrategia
descendente
•
cada nivel en el diseño de un sistema es una descripción
•
se establecen en forma manifiesta las limitaciones humanas, respecto a la percepción, a la
capacidad de manejo de volúmenes de información, y la capacidades de razonamiento; el
conocimiento y su representación son siempre incompletos
Las precedentes observaciones sobre los postulados de las teorías de diseño no son comunes
a las tres teorías que menciona la Tabla 2.2, sino que constituyen observaciones particulares a
cada una. No obstante, existe una marcada ‘orientación a objetos’ en todos los postulados, de
características análogas a las que se aprecian a la fecha en los paradigmas de programación de
sistemas informáticos y - aunque en menor medida, por el momento - sistemas electrónicos
programables. Se considera en el presente trabajo que esto no es un hecho casual, sino causal,
derivado de la incidencia que actualmente tienen la informática y sus paradigmas de
desarrollo sobre los procesos de diseño en ingeniería167. En esencia, se correspondería con el
163
Este punto de vista podría ser cuestionado en base a la incidencia del lenguaje y la cultura en las
categorías del pensamiento humano ([Ber93], cap. X; ver también la sección 2.1.2.2 del presente
documento). En esencia, el encare axiomático completo sería objeto de revisión desde esta perspectiva.
Asimismo, los resultados de Gödel (sección 3.3.5) deben ser adecuadamente considerados al efectuar y
analizar esta afirmación.
164
Conclusión sin duda sorprendente - cuando no chocante - pero que resulta de los axiomas de la ADT,
según su autor. No estaría contemplando, sin embargo, la posibilidad de ‘productos de diseño
inmateriales’ como los que se proponen en la sección 2.1.2, si estos estuvieren circunscritos al ámbito del
pensamiento humano.
165
No existe una única solución a cada problema de diseño; precisamente, la existencia de muchas
soluciones constituye una de las dificultades (ver sección 2.4).
166
Aquí es donde Zeng objeta la teoría de conjuntos, pues al expresar la estructura de los sistemas (en la
que se cuentan las relaciones entre partes) como productos cartesianos, no se confiere idea de jerarquía.
Nótese que en la sección 1.3.3 de este documento no se promueve tal idea, sino que se intenta - con
medios conceptuales limitados, en comparación con el trabajo de Zeng - conferir la idea de jerarquía.
Ingeniería Electrónica – Universidad Católica del Uruguay
84 - [ 2 ] Diseño en Ingeniería
ejercicio de abstracción que supone transmutar una visión Aristotélica por una Platónica168, en
virtud de la evolución de la ciencia (secciones 1.3.1 y 1.3.2) y - particularmente - debido a su
‘desantropomorfización’ progresiva, al decir de Von Bertalanffy ([Ber93], pp. 251-261).
[ 2.3.2 ] POSIBILIDADES DERIVADAS DEL ENFOQUE FORMAL
En la sección precedente se afirma que la preferencia por las estrategias descendentes
responde a cuestiones de profunda raigambre en la ciencia en general, y la ingeniería en
particular, lo que ha contribuido al desarrollo de teorías de diseño de tipo formal como las
teorías de diseño axiomáticas. En este contexto, según Zeng las estrategias de diseño
descendente presentan la ventaja de poderse emplear en dos maneras ([Zen02], p. 2):
1. Como mecanismo lógico y científico para derivar teorías de diseño y modelos de diseño
computacionales169.
2. Como método de implementación de herramientas informáticas de diseño170 y como método
de organización de las actividades de diseño, a partir de las precedentes teorías y modelos.
Cabe notar que estas dos maneras se hallan íntimamente asociadas (la segunda depende de
la primera) en parte debido a la inicial derivación de modelos computacionales y la posterior
implementación de herramientas informáticas de diseño que hagan uso de esos modelos171.
Las ventajas que señala Zeng pueden comprenderse en virtud de lo que se discute en la
sección 2.2.1.3. Allí se aduce que las herramientas de diseño descendente contribuyen a reducir
en el tiempo de diseño - y por tanto, el coste - y se manifiesta que la automatización constituye
un factor adicional de aceleración del proceso de diseño. Y, en efecto, la disponibilidad de
herramientas informáticas supone cierta formalidad, y naturalmente habilita a la
automatización de los procedimientos.
Adicionalmente, el enfoque formal tiene gran incidencia en un área que los procedimientos
ad hoc tienden a descuidar - la documentación. Esta es una parte esencial e imprescindible del
diseño, desde el momento en que la especificación y la implementación 172 constituyen al ‘diseño’
(sección 2.1.2.1). La importancia de la documentación es manifiesta, además, en caso de
producirse cambios en el diseño. En este contexto, los métodos formales proveen una forma
precisa de registrar la funcionalidad pretendida y efectiva del sistema bajo diseño, y por tanto,
coadyuvan a la generación de documentación precisa, sin ambigüedades, e incluso en forma
automática en aquellos casos donde se dispone de herramientas informáticas de diseño.
Ahora bien, las ventajas que supone la disponibilidad de herramientas informáticas,
formales, de diseño descendente, resultan aún más evidentes cuando son consideradas en el
contexto de la exploración del espacio de diseño. El concepto de ‘espacio de diseño’ es la
167
Nótese, por ejemplo, la mención a la informática que efectúa Zeng, como integrando las ‘ventajas’ del
diseño descendente (p. 84, numeral 2).
168
Como se sugiere en la sección 1.1.1 de este documento.
169
El concepto de modelo se presenta en el capítulo 3, y en particular, los modelos computacionales o
ejecutables se presentan en la sección 3.4.
170
Sistemas CAD, acrónimo de ‘Computer - Aided Design’ en la literatura de lengua inglesa.
171
Como se insiste en varios puntos de este documento, el concepto de modelo, y en particular de modelo
computacional, es objeto del capítulo 3. Al momento es necesario - y suficiente - apelar a la noción
intuitiva de modelo que se posee a nivel de grado en ingeniería; considérese que un ‘modelo
computacional’ permite la simulación en un computador del sistema de interés, y que las herramientas
informáticas de diseño que operan con estos ‘modelos computacionales’ son dirigidas en su operación
por el diseñador.
172
‘La Especificación’ y ‘La Implementación’; se refieren a las descripciones correspondientes a los
niveles de abstracción extremos del diseño (Nivel de Sistema y Nivel de Implementación,
respectivamente). No deben interpretarse en este caso como las descripciones de una ‘celda de diseño’
intermedia del proceso (sección 2.1.1.4).
Diseño de Sistemas Electrónicos Complejos
[ 2.3 ] Teorías de diseño - 85
conceptualización de una de las propiedades inherentes al diseño: su indeterminismo, o el
hecho manifiesto que no existe una única solución a un problema de diseño dado. Este
concepto de ‘espacio de diseño’, los mecanismos para su exploración, y el papel de las
herramientas formales de diseño descendente, son objeto la última sección del presente
capítulo sobre Diseño en Ingeniería.
[ 2.4 ]
EL ESPACIO DE DISEÑO
El diseño no es determinista, en el sentido en que no existe un único diseño que
satisfaga el problema de diseño.
Así, en general es posible obtener varias soluciones al problema de diseño dado, que
resultan equivalentes desde el punto de vista de las especificaciones de diseño. Aunque parezca
obvio, cabe notar que equivalentes no implica que los diseños sean indistinguibles desde otro
punto de vista, sino sólo en lo que respecta a las especificaciones.
El carácter ‘no determinista’ del diseño respecto de sus especificaciones, manifiesta la
relevancia de las especificaciones del diseño desde un punto de vista que hasta el momento no
ha sido estudiado en el presente documento173. Como se afirma en la sección 2.1.2.1, las
especificaciones son el punto de partida del proceso de diseño, y además, forman parte
fundamental del producto de diseño una vez obtenido este. Sin embargo, el principal
argumento para fundamentar tales afirmaciones deriva en forma natural del concepto del
espacio de diseño, que recién aquí se intenta conferir.
Como punto de partida, adviértase que
las especificaciones de diseño implican restricciones sobre determinadas
características o propiedades del producto de diseño174.
Las características del diseño que las especificaciones refieren implícitamente, pueden ser
establecidas formal o informalmente. No obstante, en ambos casos es admisible considerar las
características del diseño como ‘variables’ en el sentido matemático, aunque en los casos
informales esas variables no admitan una métrica, o ‘medida’, o ‘cuantificación’, o
posibilidades de ‘comparaciones de orden’ (como ‘mayor’, menor’, ‘igual’, etc.).
Cada característica de interés para el diseño está implícita por las especificaciones
del diseño. Si se admite su consideración como ‘variables de diseño’, es posible
imaginar un espacio n-dimensional, donde cada una de las n dimensiones se
corresponde con una ‘variable de diseño’. Este espacio multidimensional de
propiedades o características del diseño constituye el espacio de diseño.
En esta visión ‘algebrista’ del diseño, se asume que las ‘variables de diseño’ son ‘no
colineales’, de forma que constituyen una ‘base’ del ‘espacio de diseño’. Evidentemente, esta
visión adolece de todos los inconvenientes derivados de un posible establecimiento informal
(en el sentido de no ser expresados en forma lógico-matemática rigurosa) de las
especificaciones de diseño. En este contexto, las restricciones que suponen las especificaciones
de diseño se ejercen sobre los ‘valores’ que pudieren adoptar esas ‘variables de diseño’, y la
determinación de los ‘valores’ a los cuales las ‘variables de diseño’ quedan restringidas por las
especificaciones, también se complica en caso de especificaciones no formales.
Las restricciones en cada ‘variable de diseño’, establecidas por las especificaciones,
determinan un volumen n-dimensional en el espacio de diseño. Este volumen
constituye el conjunto de soluciones de diseño dentro del espacio de diseño, que
contiene todos los diseños posibles que son equivalentes para las especificaciones
dadas.
173
Nótese que la propuesta de la ‘celda de diseño’ (Fig. 2.4) no asume la unicidad (ver nota 123, p. 65).
174
Véase la sección 2.1.1.1.
Ingeniería Electrónica – Universidad Católica del Uruguay
86 - [ 2 ] Diseño en Ingeniería
Esta perspectiva ‘algebrista’ del diseño, en términos de un ‘espacio de diseño’ y un
‘conjunto solución de diseño’, es factible incluso en casos de especificaciones no
formales (en el sentido lógico-matemático) aunque en esas situaciones deben tenerse
en cuenta las limitaciones implícitas en la visión - fundamentalmente, lo que
respecta a ‘medidas’ sobre las ‘variables de diseño’.
Un ejemplo de espacio de diseño trivial se representa en la Fig. 2.11. Las características de
interés para el diseño del ejemplo son el ‘consumo de potencia’, el ‘costo económico’, y el
‘tamaño físico’ - lo que supone que el ejemplo se refiere a un producto de diseño de tipo
material.
consumo de potencia
tamaño físico
costo económico
Fig. 2.11: Ejemplo trivial de ‘espacio de diseño’.
Si a las características de interés del diseño al que se refiere la Fig. 2.11 se le imponen
restricciones - es decir, si se dan las especificaciones de diseño completas - se determina el
conjunto solución de diseño, dentro del espacio de diseño definido por esas características de
interés (Fig. 2.12)175.
En el ejemplo de la Fig. 2.12 se ha omitido una restricción inherente a todo proceso de
diseño: el ‘nivel de conocimiento’. Sin embargo, no ha sido esa la única omisión. Cualquier diseño
está condicionado por limitaciones inevitables, o prácticamente inevitables; por ejemplo, a la
fecha no se conciben diseños que violen la causalidad, ni diseños cuyos productos materiales
requieran materias primas inexistentes en el universo, o que superen la masa de la tierra o la
velocidad de la luz176. Muchas de estas restricciones inevitables - que identificaremos con la
etiqueta ‘limitaciones reales’ - son consecuencia del nivel de conocimiento (o más bien, del nivel
de desconocimiento) el cual es a su vez dependiente de la cultura177; otras lo son del estadio
tecnológico, y otras de la ‘realidad’ del universo en el que estamos insertos. En cualquier caso,
las limitaciones reales establecerán cotas superiores a muchas ‘variables de diseño’ usuales
(como potencia, tamaño, costo, velocidad, etc.); cotas que regirán independientemente de las
limitaciones particulares deseadas para el caso178. En consecuencia, hay restricciones
inherentes al espacio de diseño ‘ideal’, y por tanto, lo que llamamos espacio de diseño es en
175
Nótese que esta figura es factible en virtud de la tridimensionalidad del espacio de diseño del
ejemplo, pese a los ejes oblicuos. El ‘volumen solución’ en un espacio n - dimensional estaría delimitado
por los ‘hiperplanos’ que contienen a los extremos del intervalo al que están restringidos los valores en
cada dimensión, hiperplanos definidos por las n - 1 dimensiones restantes.
176
Es una de las características del proceso de diseño (sección 2.1.1.1).
177
Esto se discute lateralmente en la sección 2.1.2.2. Por una discusión en mayor profundidad, véase
[Ber93], Cap. X: “La relatividad de las categorías”.
178
Esto es lo que en la sección 2.1.1.1 se diferencia como ‘restricciones’ y ‘especificaciones’,
respectivamente.
Diseño de Sistemas Electrónicos Complejos
[ 2.4 ] El Espacio de Diseño - 87
consumo de potencia
conjunto solución
tamaño físico
costo económico
Fig. 2.12: ‘Conjunto solución’ dentro del ‘espacio de diseño’.
esencia un subespacio del ideal, que podríamos etiquetar ‘espacio de diseño real’. No obstante,
no se suele hacer esta distinción, llamándolo simplemente ‘espacio de diseño’.
El ‘espacio de diseño real’ es un subespacio del ‘espacio de diseño ideal’, al cual
inevitablemente acotan las ‘limitaciones reales’, restricciones que operan sobre las
‘variables de diseño’ concebibles, y que que derivan de cuestiones fundamentales
como la causalidad, limitantes físicas, cuestiones culturales, y - dependiente de esta
última - el nivel de conocimiento. El ‘espacio de diseño’ se refiere, por tanto, al
‘espacio de diseño real’, y suelen omitirse las limitaciones reales que se asumen
como obvias.
En la Fig. 2.13 se toma el ejemplo de la Fig. 2.12, y se superponen las ‘limitaciones reales’
sobre las ‘variables de diseño’, representándolas como un segmento con extremos en forma de
rombo. En el ejemplo de la Fig. 2.12 se limita el costo económico solamente a un máximo, que
bien puede suponerse debido al presupuesto disponible, directivas de mercadeo, o
combinaciones de esas y otras cuestiones similares. Si bien un costo nulo sería aceptable desde
el punto de vista del diseño (¡sería fantástico, además!) el costo económico real nunca es nulo.
La aplicación de esta ‘limitación real’ en la Fig. 2.13 da como resultado una reducción del
‘conjunto solución’ de la Fig. 2.12, eliminando aquellas soluciones por debajo del costo mínimo
establecido por la realidad.
En el ejemplo trivial de la Fig. 2.11 se han ignorado deliberadamente otras ‘variables de
diseño’, como por ejemplo ‘potencia entregada’, ‘calor disipado’ o ‘velocidad de operación’, en
la hipótesis plausible que estas ‘variables de diseño’ no son relevantes al problema de diseño
particular del ejemplo. Nótese que esta situación puede darse en forma no intencional, por
ejemplo, por falta de conocimiento, o por un enfoque del diseño poco cuidadoso179. Entonces,
no obstante la forma, deliberada o inintencional,
179
Pesan aquí significativamente los aspectos sicológicos del proceso de diseño (sección 2.1.1.2).
Ingeniería Electrónica – Universidad Católica del Uruguay
88 - [ 2 ] Diseño en Ingeniería
consumo de potencia
conjunto solución
costo económico
tamaño físico
Fig. 2.13: ‘Conjunto solución’ factible, en el ‘espacio de diseño real’
una selección inapropiada de características o propiedades en la especificación
elimina dimensiones del espacio de diseño, y con ellas, sus posibles restricciones
(tanto las particulares al caso como las ‘limitaciones reales’); consecuentemente, el
conjunto solución no queda adecuadamente determinado.
Puede comprenderse así el significado de varias de las afirmaciones que se efectúan en la
sección 2.1.2.1 - “La noción de ‘diseño’ (...) es función de las especificaciones, y su laxitud sigue
estrictamente a esas especificaciones.”; “... es inconveniente la sobre-especificación, en virtud de la
restricción que esto impone a la consecución del ‘diseño’.”.
Una sobre-especificación acota al conjunto solución dentro del espacio de diseño
definido por las variables elegidas en las especificación; una sub-especificación
admite un conjunto solución más amplio, el cual pudiera contener soluciones no
adecuadas.
Se genera en consecuencia un compromiso entre la especificación por exceso o por defecto
- o quizás por omisión180 - cuya incidencia en el diseño es crucial, en virtud de las
consecuencias que la especificación tiene sobre el conjunto solución (amén de la que tiene en
primera instancia sobre el espacio de diseño).
La dependencia del espacio de diseño y del conjunto solución de las especificaciones
de diseño, no hace más que manifestar la vital importancia de una adecuada
especificación - ni por exceso, ni por defecto, ni por omisión - que Rechting sintetiza
pragmáticamente como “La mayoría de los errores realmente importantes se
comete el primer día.”181
La citada frase de Rechting no sólo se refiere a la especificación del diseño; implica también
al proceso de diseño en sus etapas tempranas. Dada la especificación, y una vez establecido el
espacio de diseño, las primeras fases del proceso de diseño pueden interpretarse como una
exploración de este espacio, en busca de un camino que conduzca a cualquier elemento del
conjunto solución. Dado que las variables de diseño no necesariamente definen una base
‘ortogonal’ del espacio de diseño182 - y es altamente improbable que lo hagan, en el estadio
actual del conocimiento - esta exploración dista de ser una actividad trivial, y menos cuantas
180
No debe confundirse ‘por defecto’, en el sentido de ‘insuficiente’, con ‘por omisión’, en el sentido de
‘no se tuvo en cuenta’; ‘por exceso’ y ‘por defecto’ implican un acto consciente.
181
Eberhard Rechting, “Systems Architecting”; Editorial Prentice - Hall, 1991 (cita tomada de
[CCGLPSV99], p. 15).
Diseño de Sistemas Electrónicos Complejos
[ 2.4 ] El Espacio de Diseño - 89
más ‘variables de diseño’ sean definidas. Nótese que, de hecho, no se justificaría la existencia
de procesos de diseño, ni se hablaría de sistemas complejos si la exploración del espacio de
diseño fuere sencilla. Esta perspectiva del proceso de diseño se aborda en la siguiente sección.
[ 2.4.1 ] EXPLORACIÓN DEL ESPACIO DE DISEÑO
La expresión ‘exploración del espacio de diseño’ se origina en el área de la ingeniería
electrónica, en el contexto de la síntesis lógica183 del diseño de sistemas digitales. La velocidad
de operación de los sistemas electrónicos digitales se ve favorecida mediante la operación en
paralelo de las ‘puertas lógicas’, por lo cual esta configuración es usualmente considerada para
diseños que requieren velocidad de operación elevada. No obstante, esta mejora en velocidad
se obtiene a cambio de un probable incremento en el área del circuito, y esto siempre que el
diseño admita la implementación de operaciones en paralelo. Con el objeto de estudiar este
compromiso entre velocidad y área, los diseñadores digitales han trazado curvas de
velocidad - área para diferentes costos de velocidad de operación y área del circuito, mediante
ensayo con los diferentes restricciones de diseño. Este proceso de alteración sistemática de los
parámetros de diseño se ha denominado exploración del espacio de diseño ([Gri03], p. 5).
Extendiendo este concepto al caso general,
la exploración del espacio de diseño consiste en la alteración sistemática de
los parámetros de diseño, con objeto de hacer una cobertura del espacio de diseño
que permita determinar el conjunto solución, y dentro de este, el subconjunto
óptimo de acuerdo a ciertos criterios.
La importancia de una adecuada exploración del espacio de diseño radica en la complejidad
que supone un espacio de diseño multidimensional. Se constata que, dada una especificación,
es decir, dado el espacio de diseño, los diseñadores ‘encogen’ el espacio de posibles diseños al
recurrir a decisiones de diseño aplicadas con éxito en casos anteriores. Sin embargo, estas
decisiones pueden no resultar óptimas en los problemas nuevos, e inevitablemente están
sujetas a la preferencia del diseñador por un estilo de diseño particular. Esta situación de
diseño basado en la experiencia previa de los diseñadores es en esencia ad hoc, y resiente la
calidad final del diseño ([Gri03], p. 3).
Una exploración del espacio de diseño basada exclusivamente en la experiencia
previa tiene efectos similares a una especificación por exceso, en cuanto restringe el
espacio de diseño, lo que puede ir en detrimento de la calidad final del diseño184.
La alteración sistemática de los parámetros de diseño requiere un enfoque disciplinado que
permita evaluar espacios de diseño vastos con un gran número de potenciales diseños. En
esencia, los métodos para la exploración del espacio de diseño son algoritmos para poda y
182
‘Ortogonales’ es una alegoría geométrica, para significar proyecciones ‘independientes’. Las figuras
2.11, 2.12, y 2.13 intentan ilustrar una situación de variables de diseño no ‘ortogonales’: es razonable
admitir, por ejemplo, que cualquier cambio en el consumo de potencia de un diseño lleva inevitablemente
aparejado cambios en el costo económico y en el tamaño físico, y que lo mismo sucede si se considera el
efecto del cambio de una variable de diseño sobre las restantes. Estas observaciones de tipo empírico, se
intentan representar como ejes oblicuos en el espacio de diseño, de forma que la proyección ortogonal del
desplazamiento de un punto en el espacio implique una variación no nula en todas las coordenadas, a
diferencia de lo que puede suceder en un sistema de ejes ortogonales en el sentido geométrico.
183
Síntesis lógica se refiere a la implementación automática (efectuada por un programa computacional) de
circuitos o dispositivos electrónicos digitales a partir de la especificación del comportamiento del
circuito efectuada en términos de funciones booleanas (circuitos digitales combinatorios) o tablas de
transición de estados (circuitos digitales secuenciales).
184
La experiencia previa constituye un recurso válido para dirigir la exploración del espacio de diseño,
pero para ello debe ser empleada siguiendo un criterio, y no como consecuencia del desconocimiento de
alternativas de diseño.
Ingeniería Electrónica – Universidad Católica del Uruguay
90 - [ 2 ] Diseño en Ingeniería
cobertura del espacio, iterativos, a diferentes niveles de abstracción. Suponen, en general, una
especificación del diseño de tipo formal.
[ 2.4.1.1 ] MÉTODOS PARA LA EXPLORACIÓN DEL ESPACIO DE DISEÑO
Los métodos para la exploración del espacio de diseño pueden clasificarse en primera
instancia según la estrategia de optimación que emplean:
1. Toma de decisiones previas a la exploración: El diseñador decide como conformar los
múltiples objetivos (p. ej. potencia, tamaño, velocidad) en una única ‘función de costo’,
antes de ejecutar la exploración.
2. Exploración previo a toma de decisiones: La búsqueda de soluciones óptimas se ejecuta
manteniendo los múltiples objetivos separados, y el resultado es un conjunto de soluciones
óptimas según el criterio de Pareto185. La selección de una solución de este conjunto de
soluciones requiere una toma de decisiones ulterior.
3. Toma de decisiones durante la exploración: Es una combinación de las estrategias
anteriores.
Las precedentes estrategias de optimación son factibles dentro de las diferentes estrategias
para la cobertura del espacio de diseño que se indican a continuación:
1. Evaluación exhaustiva del espacio de diseño: Se evalúa directamente cada punto del
espacio de diseño, es decir, toda posible combinación de los parámetros de diseño, por lo
cual esta estrategia resulta prohibitiva para espacios de diseño vastos. Este tipo de
exploración puede mantener varios objetivos. El proceso de exploración no es guiado, ni es
sesgado según las preferencias del diseñador.
2. Muestreo del espacio de diseño: Se evalúan sólo algunos puntos del espacio de diseño,
seleccionados mediante determinado criterio. Un criterio usual es la selección aleatoria;
ejemplos de estas estrategias son los análisis de Monte Carlo, y el ‘refundido simulado’186. El
proceso de exploración en caso de muestreo aleatorio no es guiado, ni es sesgado según las
preferencias del diseñador. Otro criterio posible es efectuar un muestreo regular, es decir,
basado en una grilla regular, lo cual puede sesgar el proceso de búsqueda.
3. Incorporación de conocimiento sobre el espacio de diseño: La exploración del espacio de
diseño es guiada mediante la incorporación de información conocida acerca del espacio de
diseño, con la intención de favorecer la convergencia hacia el conjunto de soluciones
óptimas de Pareto. Este es un caso donde la experiencia previa es empleada con criterio, y
no por mera preferencia, o por carencia de conocimiento de alternativas factibles. Ejemplos
de estas estrategias son el ‘método del ascenso/descenso más rápido’, algoritmos evolutivos
que combinan las técnicas de ‘paseo al azar’ con la ‘supervivencia del más apto’ y producen
‘mutaciones’ y ‘cruzamientos’ en las poblaciones obtenidas. La exploración del espacio de
diseño se ve guiada, por ejemplo, en función de la forma que el diseñador elige la
representación del problema, e implementa las mutaciones y cruzamientos.
185
El criterio del óptimo de Pareto establece que “Una solución es óptima (Pareto) si no es dominada por
ninguna otra solución; soluciones ‘no dominadas’ forman un conjunto de óptimos (Pareto) donde ninguna
solución del conjunto es dominada por cualquier otra solución del conjunto”. El criterio de dominación de
Pareto se define: “Dados k objetivos a ser minimizados, y dos soluciones A y B, de valores (a0, a1,..., ak - 1) y (b0,
b1,..., bk - 1) para todos los objetivos respectivamente, la solución A domina a la B si y solo si para todo 0≤i<ki, ai ≤
bi , y existe j / aj < bj ”. Se habla de dominancia estricta si para todo j, aj < bj, y de dominancia débil si no se requiere
la condición ‘<’, alcanzando sólo con ‘≤’. ([Gri03], p. 14)
186
‘Simulated annealing’, en inglés. La expresión es empleada en forma alegórica para describir procesos
en los cuales los elementos de un conjunto se comportan similarmente a las moléculas de los materiales
sometidos al proceso de ‘refundido’ o ‘recocido’ de la industria metalúrgica, por el cual se obtiene una
mayor densidad en la fundición.
Diseño de Sistemas Electrónicos Complejos
[ 2.4 ] El Espacio de Diseño - 91
Se advierte que las precedentes estrategias no resultan ‘ortogonales’. Es posible, por ejemplo,
efectuar un muestreo del espacio de diseño en base a la forma esperada del espacio de diseño o las
funciones de costo, lo que implica la incorporación de conocimiento sobre el espacio de diseño,
resultando en una búsqueda guiada y admitiendo un posible sesgo de aplicarse alguna
preferencia del diseñador.
En consecuencia, cabe efectuar una clasificación en exploraciones guiadas y no guiadas, según
como los precedentes métodos de exploración progresan iteración a iteración. Exploraciones
guiadas son, por ejemplo, los métodos de ascenso y descenso de colinas y algoritmos
evolutivos donde el diseñador implementa cruzamientos, mientras que ejemplos de
exploraciones no guiadas son métodos de Monte Carlo sin supervisión, búsquedas exhaustivas
y muestreo aleatorio.
El propósito de las exploraciones no guiadas es conferir una visión del espacio de
diseño no sesgada por las preferencias del diseñador. El propósito de las
exploraciones guiadas es acelerar la convergencia de la exploración hacia las
soluciones.
Los precedentes métodos de exploración pueden emplear técnicas adicionales para reducir
la complejidad de la búsqueda mediante la poda del espacio de diseño. Cabe notar que una primer
reducción del espacio de diseño se efectúa inevitablemente con cualquier método que cuantice
las variables de diseño187. Amén de esta situación, entre las técnicas para la reducción del
espacio de diseño se cuentan:
1. Exploración jerárquica: El espacio de diseño se divide en regiones, las cuales son
examinadas en forma ‘gruesa’, y ordenadas según estos resultados preliminares. Luego, son
exploradas un nivel jerárquico inferior, es decir, a un nivel de mayor detalle. Los resultados
de estos exámenes son realimentados al nivel superior de partida, donde se efectúa la
comparación de los resultados, y de esta manera es seleccionada la región más adecuada
para proseguir la búsqueda.
2. Subdivisión del espacio de diseño en partes independientes: El problema inicial de
optimación se divide en sub-problemas independientes, de forma de evitar la consideración
de todas las posibles combinaciones de los parámetros de diseño. En vez de ello, se
consideran las combinaciones de soluciones de Pareto halladas para los sub-problemas. Por
ejemplo, puede considerarse por separado costo económico en función de tamaño físico, de
costo económico en función de disipación de potencia, y combinar los resultados de acuerdo
al criterio de dominancia de Pareto. Nótese que las dimensiones de los sub-problemas de
diseño suelen ser diferentes. Esta técnica tiene relación con el concepto de ortogonalización de
las variables de diseño
3. Análisis de sensibilidad de los parámetros de diseño: El análisis de sensibilidad del
espacio de diseño se efectúa mediante un conjunto de referencias, en la hipótesis de
independencia de parámetros de diseño. En cada ejecución del análisis de sensibilidad, un único
parámetro de diseño es alterado mientras los restantes son fijados a valores arbitrarios. Con
cada ejecución, se registra el rango dinámico de las propiedades de la solución, y en
consecuencia se ordenan los parámetros según la sensibilidad de las propiedades a la
variación de cada uno. Así, la complejidad de la exploración del espacio de diseño se reduce
a la suma de las variaciones de los parámetros, en lugar de la multiplicación en el caso de
búsqueda exhaustiva. Puede además descartarse aquellos parámetros cuya incidencia en las
propiedades del diseño son relativamente pequeñas.
4. Constricción del espacio de diseño: La reducción del espacio de diseño es factible en
forma directa por detección de casos límite, los cuales pueden ser identificados entre otras
maneras por métodos analíticos para el ‘peor caso’.
187
Nótese que - en teoría - los métodos de muestreo no necesariamente implican una cuantización de las
variables de diseño; sin embargo, en la práctica esto es casi inevitable.
Ingeniería Electrónica – Universidad Católica del Uruguay
92 - [ 2 ] Diseño en Ingeniería
[ 2.4.1.2 ] EL PROCESO DE DISEÑO DESDE LA PERSPECTIVA DE LA EXPLORACIÓN DEL ESPACIO
DE DISEÑO
El efecto sobre el proceso de diseño de una exploración previa a toma de decisiones,
jerárquica, con posible incorporación de conocimientos sobre el espacio de diseño, y
probablemente guiada, puede visualizarse en el esquema que se representa la Fig. 2.14. Este
diagrama es conocido como ‘pirámide de abstracción’188 en virtud de presentar la perspectiva
jerárquica del proceso de diseño en términos de ‘nivel de abstracción’ (o equivalentemente,
‘nivel de detalle’, invirtiendo el sentido del eje189).
Nivel de detalle
Nivel de abstracción
exploración
implementación
Alternativas de implementación
Fig. 2.14: ‘Pirámide de abstracción’
En el ejemplo de la Fig. 2.14, el camino sinuoso que ‘conecta’ los puntos seleccionados após
de la exploración en cada nivel de abstracción, registra un flujo concreto de diseño. Tal como
señala la flecha asociada al camino, este constituye un flujo netamente ‘descendente’, el cual es
posible identificar con la flecha al fondo del esquema de la Fig. 2.8. Como en ese esquema, aquí
no se está sugiriendo un proceso de diseño sin iteraciones, sino que se manifiesta que éste es
de tipo descendente, y probablemente formal. Así,
los esquemas de la Fig. 2.8 y la Fig. 2.14 son dos representaciones de un proceso de
diseño descendente, por descomposición jerárquico-modular, probablemente formal;
la primera muestra la evolución temporal de la travesía jerárquica, y la segunda
muestra la exploración de las alternativas de diseño conforme se atraviesa la
jerarquía; ambos esquemas son ‘expansiones’ en dos dimensiones ortogonales - para
el caso particular de procedimientos descendentes, quizás formales - del esquema de
la Fig. 2.5 (que sólo indica la estructura jerárquica del proceso de diseño).
Conviene indicar que la implementación que se obtiene en el ejemplo de la Fig. 2.14 es, en
principio, una de las tantas que podrían haber satisfecho las especificaciones de partida, la cual
ha sido determinada por el proceso de diseño ejemplificado merced a los procesos de síntesis,
188
Al menos, así es designado en la literatura de diseño electrónico, donde se lo halla representando
cuestiones diversas, como el incremento del tiempo de desarrollo o el costo (la base de la pirámide)
conforme disminuye el nivel de abstracción, o las arquitecturas alternativas (la base de la pirámide)
capaces de soportar una aplicación particular (el vértice superior de la pirámide).
189
La relación abstracción ~ detalle se presenta en la sección 1.1.1, y se reitera en la sección 1.7.
Diseño de Sistemas Electrónicos Complejos
[ 2.4 ] El Espacio de Diseño - 93
análisis, y toma de decisiones inherentes al caso particular. Recíprocamente, es posible
considerar ‘hacia atrás’ el proceso de diseño, y ‘recuperar’ las posibles especificaciones que
soporta la implementación dada. Sin embargo, el posible conjunto de especificaciones de
partida que soportaría una implementación dada, y el conjunto de implementaciones posibles
para una especificación dada, no tienen más condición de estar relacionados que de la
siguiente manera: para cada implementación, la especificación de partida debe ser soportada
por esta, y recíprocamente, dada esa especificación, la implementación referida anteriormente
debe poder alcanzarse mediante un proceso de diseño.
La precedente idea se confiere en forma ‘visual’ en el esquema de la Fig. 2.15: dada una
especificación, la implementación debe ‘caer’ dentro del ‘cono de visión’ de la especificación, y
recíprocamente, la especificación debe ser ‘vista’ desde la implementación; de no ocurrir esto,
el diseño es erróneo - no sería posible cerrar un ciclo de validación.
Alternativas de especificación de Ip
Nivel de detalle
Nivel de abstracción
especificación Ek
implementación Ip
Alternativas de implementación de Ek
Fig. 2.15: Alternativas de implementación para la especificación dada, y alternativas de especificación para la
implementación dada
La existencia de alternativas de implementación dada una especificación, y de
alternativas de especificación para una implementación, son consecuencia del no
determinismo del proceso de diseño, y de la imperfección inexorable en toda creación
física o material, cuestiones identificables en la laxitud de las especificaciones, los
errores inevitables - por ejemplo, errores en mediciones, o la cuantización de las
operaciones de cálculo -, etc. (Fig. 2.15). Este esquema es otra visión del ciclo de
validación (ver sección 2.1.1.4, y figuras 2.4, 2.5, y 2.8) para el caso del proceso de
diseño completo.
No obstante los diferentes métodos para la exploración del espacio de diseño, y las
diferentes perspectivas que se puedan plantear para ‘visualizar’ el proceso de diseño, debe
recordarse que subsiste la cuestión central: “... si un diseñador experimentado podrá siempre hallar
una solución adecuada conforme se incrementa la complejidad del espacio de diseño, o si las herramientas
Ingeniería Electrónica – Universidad Católica del Uruguay
94 - [ 2 ] Diseño en Ingeniería
que automaticen la exploración del espacio de diseño podrán ayudar al diseñador a hallar soluciones en
forma efectiva.”190 ([Gri03], p. 45).
Según Gries, el ambiente académico se enfoca en automatizar los métodos de exploración y
cobertura del espacio de diseño, mientras que las herramientas comerciales alivian al
diseñador experimentado en el proceso manual de exploración del espacio de diseño.
[ 2.5 ]
RESUMEN
Se propone en este documento diferenciar entre el empleo del término diseño en referencia a
la acción de diseñar, es decir, al acto de crear o generar un determinado producto material o
intelectual, del empleo del vocablo diseño como sustantivo, en referencia al propio producto
material o intelectual obtenido. Esta diferenciación, quizás en apariencia un tanto artificial, sólo
pretende coadyuvar a conferir más fácilmente la noción de Diseño en Ingeniería, en sentido
amplio. En este contexto, y con el propósito de evitar ambigüedades, en el presente documento
diseño se referirá al proceso, y el ‘diseño’ hará referencia al producto de dicho proceso.
En cuanto acción, se habla de un proceso de diseño. Este proceso de diseño es tanto intelectual
como ejecutivo, por lo cual cabe diferenciar sus aspectos de tipo sicológico de sus aspectos
operacionales.
En cuanto a sus aspectos sicológicos, el proceso de diseño requiere creatividad, análisis y toma
de decisiones, actividades intelectuales que presentan la nefasta propiedad de interferencia
mutua no constructiva. La actividad creativa se concentra generalmente en las fases iniciales
del proceso de diseño, mientras que las actividades de análisis y toma de decisiones son
recurrentes en todo el desarrollo. De estas actividades intelectuales, la creatividad - motor de la
innovación - es recalcitrante a cualquier tipo de pretensión sistematizadora; consecuentemente,
en este documento sólo es referida como una actividad requerida para el diseño, pero al
momento inasequible en términos racionales.
En cuanto a sus aspectos operacionales, el proceso de diseño tiene una finalidad - un
objetivo - el cual está sujeto a ciertas restricciones. Estas pueden clasificarse en dos grandes
categorías; las especificaciones, que constituyen indicaciones que se requieren del producto del
proceso de diseño, y las limitaciones que supone la realidad: limitaciones físicas (de índole
práctica; factibilidad; recursos disponibles) limitantes económicas, decisiones externas (por
ejemplo, políticas) el estadio del conocimiento y las limitantes que constituyen los criterios que
del conocimiento se derivan. Por tanto, los procesos de diseño requieren de planificación, y
registran frecuentes iteraciones en su ejecución, las cuales se corresponden generalmente con
inconsistencias detectadas en las fases de verificación - por ejemplo, incumplimiento de las
especificaciones - o por efectos circunstanciales derivados de posibles cambios de
especificación u objetivos durante el proceso, decisiones externas, decisiones de diseño en
función del propio desarrollo, o determinadas por la propia estrategia de diseño.
El desarrollo del proceso de diseño puede esquematizarse como el tránsito por distintas fases
o etapas, por ejemplo, ‘requerimientos’, ‘idea’, ‘especificación’, ‘modelado’, ‘simulación’,
‘análisis’, ‘verificación’, e ‘implementación’. Esta esquematización prioriza los aspectos
operacionales del proceso de diseño. Diferentes autores proponen esquemas donde indican las
diferentes fases por las cuales transita el proceso de diseño que cada uno concibe (ver los
ejemplos de las figuras 2.1, 2.2, y 2.3). Se observa que, en general, se presenta al proceso de
diseño como concebido de idea a implementación, aunque no necesariamente su verdadero
desarrollo haya seguido estrictamente ese sentido. De hecho, las iteraciones en el proceso son
frecuentes, y los diferentes esquemas del proceso de diseño en ingeniería las indican implícita
o explícitamente. La presentación del proceso de idea a implementación es favorable para la
correcta documentación del diseño, y facilita además su comprensión, en virtud de ir desde lo
general a lo particular.
190
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 2.5 ] Resumen - 95
“El proceso de diseño es frecuentemente considerado como una secuencia de pasos que transforman un
conjunto de especificaciones descritas informalmente, en una especificación detallada que puede usarse
para fabricación. Todos los pasos intermedios se caracterizan por una transformación de una descripción
más abstracta en una más detallada. Un diseñador puede ejecutar uno o más pasos en este proceso. Para
el diseñador, el punto de partida es una especificación, y la descripción final del diseño es una
implementación.” ([ELLS97], p. 3). “El problema de la especificación se refiere a la representación del
diseño en cada uno de estos pasos; el problema de la validación es chequear que la representación sea
consistente tanto dentro de un mismo paso como entre pasos; y el problema de la síntesis es transformar
el diseño entre pasos. (...) síntesis se refiere a un paso en el proceso de refinamiento del diseño donde la
representación del diseño se hace más detallada.”191 ([ELLS97], p. 56-57). Para el proceso de diseño
completo, las descripciones inicial y final se designan - al igual que para cualquier paso
intermedio - especificación e implementación192. Así, el proceso de diseño se trata esencialmente de
transformaciones de descripciones. La introducción de ‘ideas creativas’ a lo largo del proceso de
diseño se efectúa en las referidas transformaciones de descripciones; eventualmente, la
especificación inicial habrá requerido también de la introducción de ideas para su
consecución193.
En este trabajo se propone una estructura para describir genéricamente al proceso de diseño,
la cual se presenta en la figura 2.5. La ‘celda de diseño’ de la figura 2.4 constituye el elemento
básico de la secuencia ‘especificación – síntesis – implementación – análisis’, y define un ciclo de
validación en el proceso de diseño194. Así, el proceso de diseño completo puede representarse
como una ‘concatenación’ de ‘celdas de diseño’ que va desde la especificación (la descripción
inicial respecto a lo que se considere el proceso completo) hasta la implementación (la
descripción final respecto a lo que se considere el proceso completo). Esta ‘secuencia’ puede
verse como producto de un refinamiento ‘fractálico’ de una ‘celda de diseño’ primigenia que
representa al proceso total.
Esta visión del proceso de diseño como la concatenación de la secuencia ‘especificación –
síntesis – implementación – análisis’, que transforma una descripción más abstracta en una más
detallada en cada paso, supone la ejecución de una actividad ‘autosemejante’, ‘fractálica’. En
virtud de ello, el proceso de diseño resulta análogo al de descomposición jerárquico-modular de sistemas
complejos, descrito en la sección 1.7. Recíprocamente, un proceso en sentido inverso al proceso de
diseño resulta análogo al de composición de sistemas complejos, y permitiría reconstruir las
especificaciones de diseño a partir de una implementación satisfactoria. De esta forma, se pueden
considerar las iteraciones del proceso de diseño como sucesiones de procesos de descomposición y
composición de sistemas complejos, que a medida que transcurre el proceso de diseño recorren todos los
niveles jerárquicos definidos para el sistema, pasando al menos una vez por cada uno. Cabe notar que la
191
Texto traducido del original, en inglés. Ver nota 54, p. 39.
192
Esto es coherente con el hecho que un diseñador puede participar en parte de un determinado proceso
de diseño, pero desde su perspectiva, esa parte constituye un proceso completo. Por ejemplo, para quien
diseña un algoritmo de procesamiento de señales para un sistema de comunicaciones, su ‘proceso de
diseño’ implementa el algoritmo según ciertas especificaciones. Para quien implementa ese algoritmo
sobre dispositivos electrónicos concretos, su ‘proceso de diseño’ está especificado por el algoritmo, y la
implementación es su consecución satisfactoria sobre el equipo físico. A su vez, el equipo electrónico de
comunicaciones que opera según la implementación de ese (y otros) algoritmos, constituye un ‘proceso
de diseño’ que enmarca a los previos. Y el diseño del sistema completo de comunicaciones, del cual el
equipo forma parte, constituye un ‘proceso de diseño’ que abarca a todos los procesos de diseño
precedentes. No obstante, para referirse específicamente a las descripciones inicial y final de cada
proceso - que por los argumentos previos son descripciones relativas - usualmente se habla de ‘la
especificación’ y ‘la implementación’, respectivamente.
193
Por este motivo, y en virtud de la superficialidad con la que se está forzado a tratar a la creatividad en
el proceso de diseño, se procura tomar como punto de partida la etapa generalmente referida como
‘especificación’, sin estudiar los mecanismos que permiten la consecución de una especificación.
194
En este contexto, la creatividad se ven asociada fundamentalmente al proceso de síntesis.
Ingeniería Electrónica – Universidad Católica del Uruguay
96 - [ 2 ] Diseño en Ingeniería
‘celda de diseño’ propuesta permite interpretar tanto a los procesos de descomposición como
los de composición jerárquico modular de sistemas complejos.
La noción del diseño como un proceso - una acción, o secuencia de acciones - tiene su
contraparte en la consideración del término ‘diseño’ como sustantivo. Este ‘diseño’, en cuanto
producto de un proceso de diseño, hereda del proceso ciertas características, en particular, lo
relativo a la transformación de descripciones.
Un ‘diseño’ es una descripción de un ente material o intelectual, derivado de un proceso de diseño, que
admite su implementación repetitiva, o reproducción, manteniendo las especificaciones establecidas para
el ente original.
No se requiere reiterar o replicar el proceso de diseño original para la reproducción del diseño,
sino sólo una ‘reproducción controlada’ del producto de diseño; la reproducción de un ‘diseño’
normalmente se hace vía procesos distintos al proceso de diseño original. Así, el producto de
diseño se compone de dos descripciones, la especificación y la implementación, de las cuales la última
debe conferir indicaciones adecuadas y suficientes para la reproducción del ‘diseño’ de forma
que cumpla con las características establecidas en la primera.
Las descripciones en que consiste el producto de diseño - la especificación, y la
implementación - son, en esencia, un conjunto de indicaciones proporcionadas en algún
lenguaje. Ya sea este textual o gráfico, de carácter matemático formal o informal, el lenguaje
empleado en la descripción del producto de un proceso de diseño, constituye un severo factor
limitante del ‘diseño’, en virtud de las hipótesis de Whorf 195 y Von Bertalanffy 196
([Ber93], cap. X) respecto a la incidencia de la dotación sicofísica y la cultura - y en particular,
el lenguaje - sobre el conocimiento y la expresión del mismo.
En virtud de la elaboración que supone un proceso de diseño - manifiesta en la analogía
entre el proceso de diseño y el de descomposición jerárquico-modular de sistemas complejos se infiere que el producto de un proceso de diseño es un sistema complejo197. Sin embargo, no
todos los sistemas (complejos o no) son ‘diseños’, puesto que no necesariamente son producto
de un proceso de diseño.
Una metodología de diseño busca establecer procesos de diseño genéricos, que relacionan entre
sí los distintos niveles de complejidad y abstracción por los que atraviesa el diseño. Establecida
la metodología, el fijar como se evoluciona a través de los niveles de complejidad y abstracción
definidos por esta, ya se mediante procedimientos manuales o automáticos, define el flujo de
diseño concreto que constituye al proceso de diseño en sí. El flujo de diseño cuenta con el aporte
y el soporte de herramientas de diseño adecuadas al flujo particular elegido. Así, distintos flujos
de diseño pueden responder a una misma metodología de diseño, y un mismo flujo se puede
implementar con diferentes herramientas de diseño ([TTOV98], pp. 21-22).
En este contexto, los esquemas de las figuras 2.1, 2.2, y 2.3 se corresponden con
metodologías de diseño. Sin embargo, el esquema de la Fig. 2.5 - basado en la ‘celda de diseño’
propuesta en la Fig. 2.4 - constituye una meta-metodología de diseño: confiere la estructura
jerárquica del proceso de diseño - cómo son las relaciones entre diferentes etapas del diseño - y
establece cómo se debe recorrer esta jerarquía, pero no indica las etapas concretas que se deben
recorrer.
Acorde a sus respectivos objetivos, “las metodologías siempre han hecho propuestas de
refinamiento progresivo (proceso descendente, o ‘top-down’198) desde la idea a la implementación,
pasando por distintas etapas o niveles de abstracción. Sin embargo, los flujos reales de diseño se han visto
195
“... son las pautas lingüísticas las que determinan lo que un individuo percibe en el mundo y como lo piensa.
(...) los modos de pensar y percibir de grupos que utilicen distintos sistemas lingüísticos conducirán a visiones del
mundo básicamente diferentes...”
196
“La percepción es universalmente humana, determinada por la dotación sicofísica del hombre. La
conceptualización está vinculada a la cultura, por depender de los sistemas simbólicos que aplicamos.”
197
Esto es coherente con la analogía entre los procesos de diseño y los procesos de descomposición y
composición jerárquico - modular de sistemas complejos.
Diseño de Sistemas Electrónicos Complejos
[ 2.5 ] Resumen - 97
mucho más sujetos al estado de las herramientas de diseño que ha seguido una evolución ascendente
(‘bottom-up’199) para ir cubriendo progresivamente las etapas de mayor nivel de complejidad desde el
nivel físico200 al nivel funcional.” ([TTOV98], p. 22).
Usualmente se estima que la tasa de crecimiento en el tiempo del costo201 de diseño sigue
una ley exponencial. Por tanto, la minimización del tiempo de de diseño es un objetivo esencial
de las metodologías de diseño. Al respecto, la formalización de los procesos de diseño ha sido
promovida como manera de minimizar o acelerar las iteraciones del proceso de diseño. Esto
puede plantearse en términos de la ‘celda de diseño’ propuesta, donde los ciclos de validación
serían automáticos en caso de haber transformaciones formales entre las descripciones
(especificación e implementación) en cada paso de diseño (ver figuras 2.7 y 2.8).
Desafortunadamente, los métodos formales poseen limitaciones intrínsecas 202, y además, no
siempre es posible expresar cada paso del proceso de diseño en términos formales203.
Así, pese a los intentos de formalización del proceso de diseño (promovidos
fundamentalmente por las metodologías que proponen estrategias descendentes) tanto las
limitaciones de los propios métodos formales, como la dificultad de expresión formal de las
actividades intelectuales - particularmente la creatividad - se conjugan con la inmediatez que
suponen los encares ascendentes para que, en la práctica, los procesos reales de diseño sean
una combinación de flujos descendente y ascendente 204. Los primeros, de índole
fundamentalmente teórico, aportan las concepciones globales; los segundos, acarrean desde el
nivel de implementación el detalle, las particularidades, y la información tecnológica.
Esencialmente, los procesos de diseño reales resultan de una combinación de estrategias descendente y
ascendente, asimilables a una visión Platónica y Aristotélica de la misma situación, respectivamente.
El intento de formalización de los procesos de diseño ha diferenciado dos estrategias de
diseño, designadas ascendente y descendente según el sentido en el que se transmutan la
abstracción y el detalle. El ‘factor en común’ a las referidas estrategias es abstraído en las
teorías de diseño. Así, estas teorías se elaboran por generalización de las actividades de diseño
- asociadas a estrategias de diseño ascendente - y por derivación desde postulados formales, o
axiomas - asociados a estrategias de diseño descendentes (Fig. 2.9).
En virtud de la tradición formalista de las matemáticas, y su utilidad en la ingeniería,
históricamente se han favorecido los enfoques formales o axiomáticos. Estos cuentan con la
ventaja de ser factibles de implementación computacional determinista. No obstante, en
cuanto enfoques formales, sufren de las limitaciones intrínsecas a los sistemas formales205. En
particular, el tema de la intuición, asociado con la actividad intelectual creativa, no se ha
podido domar mediante las teorías de diseño.
Por su naturaleza, el diseño es ambiguo, no es determinista, en el sentido que no existe un
único diseño que satisfaga a cada problema de diseño. El producto de un proceso de diseño es
función de las especificaciones, por lo cual la posible diversidad de ‘diseños’ para un mismo
198
Designación habitual en la literatura angloparlante; literalmente, ‘desde la cima hacia abajo’. En esta
filosofía se inscriben las metodologías indicadas en las figuras 2.1, 2.2, y 2.3.
199
Designación habitual en la literatura angloparlante; literalmente, ‘desde la base hacia arriba’.
200
La cita es extraída de un texto sobre diseño de dispositivos electrónicos, por lo que el “nivel físico” se
corresponde con el “Nivel de Implementación”.
201
En sentido amplio del término; no sólo coste económico.
202
Esto se estudia en el capítulo 3, particularmente en las secciones 3.3.5 y 3.3.6.
203
Esto también se aborda en el capítulo 3, en la sección 3.2. Requiere la consideración de ‘diseño’ como
modelo, que se discute en la sección 3.5.1.
204
La ‘inmediatez que suponen los encares ascendentes’ se debe a que, en general, la innovación implica
inmadurez de metodologías, técnicas y tecnologías, por lo que la información disponible se corresponde
con niveles de abstracción bajos; así, las estrategias ascendentes constituyen naturalmente la manera
inicial de conferir la información correspondiente al ‘estado del arte’.
205
Ver nota 202, p. 97.
Ingeniería Electrónica – Universidad Católica del Uruguay
98 - [ 2 ] Diseño en Ingeniería
problema de diseño está determinada por esas especificaciones. Estas son restricciones
efectuadas sobre ciertas propiedades o características que ha de tener el ‘diseño’, por lo cual en
cierta medida las características de interés del diseño se implican mediante las especificaciones.
Si se consideran esas características o propiedades como ‘variables de diseño’, es posible
imaginar un espacio n-dimensional, donde cada una de las n dimensiones se corresponde con
una ‘variable de diseño’. Ese hipotético espacio multidimensional de propiedades o características del
diseño, inferidas de las especificaciones, constituye el espacio de diseño.
Dentro del espacio de diseño implicado por las especificaciones, se superponen las
restricciones que las propias especificaciones establecen para cada característica (cada ‘variable
de diseño’) con las limitaciones que impone la realidad - incluyendo el estadio del
conocimiento. Así, el espacio de diseño se ve limitado por las especificaciones a un volumen ndimensional, designado ‘conjunto de soluciones de diseño’, el cual puede verse ulteriormente
limitado por las limitaciones que impone la realidad. Esta situación puede también concebirse
como que el espacio de diseño ‘ideal’, dado por las características implícitas en las
especificaciones, se ve restringido prima facie por las limitaciones que impone la realidad, y
dentro de ese subespacio que podría designarse ‘espacio de diseño real’, las especificaciones
determinan un volumen que constituye el conjunto de las soluciones de diseño. Normalmente,
se asume que el espacio de diseño ya considera las limitaciones derivadas de la realidad, o sea,
es el espacio de diseño ‘real’, el espacio de los diseños factibles.
El proceso de diseño implica una exploración del espacio de diseño, que permite la consecución
de un diseño factible dentro de las especificaciones, es decir, se llega a una región, o a un
punto, dentro del conjunto solución. La alteración sistemática de los parámetros de diseño
durante el proceso de diseño constituye una forma de exploración del espacio de diseño, que
busca obtener un subconjunto del conjunto solución que sea óptimo desde determinados
puntos de vista. Esta exploración puede ser basada en experiencia previa, pero este encare
adolece del inconveniente que el efecto de la experiencia previa puede resultar equivalente a
una restricción del espacio de diseño, cual si fuere una especificación por exceso, con lo cual la
consecución de un subconjunto óptimo del conjunto solución puede verse afectada
negativamente. Por este motivo, existen varias metodologías para la exploración del espacio de
diseño, las cuales difieren en la estrategia de optimación que emplean (toma de decisiones previa,
posterior, o concurrente con la exploración) y las estrategias para la cobertura del espacio de diseño
(evaluación exhaustiva, muestreo, incorporación de conocimientos sobre el espacio de diseño).
Las diferentes estrategias determinan si la exploración del espacio de diseño es no guiada (lo
cual pretende conferir una visión del espacio de diseño no sesgada por las preferencias del
diseñador) o guiada (las que pretenden acelerar la convergencia de la exploración hacia el
conjunto solución). Estas estrategias pueden ser acompañadas de otras técnicas para la ‘poda’
del espacio de diseño, que facilite la consecución de soluciones por reducción del espacio de
diseño (como son la exploración jerárquica, la subdivisión del espacio de diseño en subespacios
independientes, los análisis de sensibilidad de los parámetros de diseño, y la detección de
casos límite).
La consideración de un ‘espacio de diseño’ y su posibilidad de ‘exploración’ habilitan una
representación del proceso de diseño que priorice su dimensión ‘espacial’, como se sugiere en
los esquemas de las figuras 2.14 y 2.15. En comparación, los esquemas de las figuras 2.7 y 2.8
destacan la dimensión ‘temporal’ del proceso de diseño. La relación entre estos esquemas y los
esquemas de las figuras 2.1, 2.2, y 2.3 es que los últimos abstraen ambas dimensiones ‘espacial’
y ‘temporal’, presentando al proceso de diseño sólo en sus aspectos conceptuales. Y
finalmente, la consideración del proceso de diseño como una actividad ‘fractálica’, que se
propone en la Fig. 2.5 en virtud de su estructura subyacente, es la visión del proceso de diseño
en un plano de abstracción aún mayor.
Diseño de Sistemas Electrónicos Complejos
[ 2.6 ] Conclusiones - 99
[ 2.6 ]
CONCLUSIONES
La visión del proceso de diseño como la concatenación de ciclos de validación (especificación
→ síntesis → implementación → análisis) que transforman una descripción más abstracta en una
más detallada en cada paso, puede considerarse como una actividad de refinamiento de un
ciclo primigenio, ejecutada en forma ‘autosemejante’, ‘fractálica’ (Fig. 2.5). En virtud de ello, el
proceso de diseño resulta análogo al de descomposición jerárquico-modular de sistemas
complejos, descrito en la sección 1.7. Recíprocamente, un proceso en sentido inverso al proceso
de diseño resulta análogo al de composición de sistemas complejos, y permitiría reconstruir las
especificaciones de diseño a partir de una implementación satisfactoria.
En consecuencia, el producto de un proceso de diseño es la descripción de un sistema
complejo: la descripción de una ‘complejidad organizada’, a la cual puede reconocérsele una
estructura jerárquica y modular. Esta descripción está constituida por dos partes, designadas
especificación e implementación, la última de las cuales confiere la información suficiente para
la reproducción del producto de diseño de forma de cumplir con la especificación. Cabe
recordar que, en general, la consecución de especificaciones a partir de los requerimientos o las
ideas de diseño es una fase recalcitrante a formalización o sistematización, al igual que lo
relacionado con la actividad intelectual creativa.
Un problema trascendental es el lenguaje en el cual se expresan las descripciones del
proceso de diseño, de las cuales la final e inicial constituyen el producto de diseño. Este puede
ser textual o gráfico, de carácter formal o informal; en cualquier caso es una limitante severa al
proceso y al producto de diseño.
Se registran dos estrategias de diseño, descendente y ascendente, que pueden asimilarse a
las visiones ‘Platónica’ y ‘Aristotélica’ de un sistema a diseñar, respectivamente. Tanto las
teorías como las metodologías de diseño han promovido estrategias descendentes a partir de
las especificaciones de diseño, en virtud de la formalidad - en el sentido matemático usual que implica una visión de tipo Platónica. Por el contrario, los flujos concretos de diseño son de
carácter Aristotélico, donde la información es promovida en forma ascendente desde los
niveles de implementación. Una actividad propiciada por las estrategias de tipo descendente
es la exploración (sistemática) del espacio de diseño, que propende a la consecución de una
solución factible al problema de diseño, teniendo en cuenta o independizándose de la
preferencia y experiencias previas del diseñador. Otra ventaja atribuida a las estrategias de
diseño descendente es la reducción del costo de diseño, en sentido amplio del término,
fundamentalmente debido a la reducción del tiempo de desarrollo. Sin embargo, los procesos
de diseño reales combinan ambas estrategias, en virtud de que la maduración del
conocimiento habilita y promueve los procesos descendentes, pero la innovación
- fundamentalmente en lo relativo a tecnología - promueve flujos de información ascendentes.
Ingeniería Electrónica – Universidad Católica del Uruguay
[3]
MODELOS
El presente capítulo se dedica a la discusión del concepto de modelo, y su relación con el
proceso y el producto de diseño en ingeniería. Similarmente a como se discuten las nociones de
sistema y complejidad en el capítulo 1 y la noción de diseño en el capítulo 2, se pretende conferir
aquí la noción de modelo en ingeniería.
[ 3.1 ]
CARACTERÍSTICAS Y PROPIEDADES GENERALES
Un ‘modelo’ es una construcción análoga a una entidad, a la cual ‘representa’ con
limitada precisión, en aspectos que son relevantes para cierta situación en la cual se
pretende emplear el modelo en lugar de la entidad original.
El empleo de modelos en lugar de las entidades originales a las cuales estos representan,
obedece fundamentalmente a tres motivos, los cuales perfilan los ‘aspectos relevantes’ en los
cuales el modelo representa a la entidad original:
1. Simplicidad: En ocasiones se busca operar con una versión más sencilla o simplificada de
la ‘realidad’, que permita efectuar estimaciones a menor costo - en el sentido amplio del
término: tiempo, esfuerzo, recursos, etc. - que el factible con la entidad original.
2. Complejidad: En ocasiones la complejidad asociada a la situación requiere una
simplificación para admitir su tratamiento, a cuyos efectos un modelo constituye una
herramienta idónea206. Se diferencia del motivo precedente en cuanto la ‘simplicidad’ es un
motivo meramente conveniente, mientras que la complejidad supone un motivo de carácter
‘inexorable’.
3. Focalización y abstracción: En ocasiones sólo es de interés un subconjunto de propiedades
o características de la situación, pasibles de ser capturadas en un modelo de ésta.
Similarmente, puede ser de interés el ignorar deliberadamente determinados detalles de la
‘realidad’ de trabajo, lo cual sugiere la implementación de un modelo que los abstraiga. Este
motivo se diferencia de los anteriores en que, más que efectuar un estudio del contexto
general en sí, el foco de interés son precisamente ciertos detalles o características a resaltar
o abstraer, posiblemente para brindar múltiples puntos de vista de una misma situación
(mediante la confección de diferentes modelos que focalicen o abstraigan los detalles en
cuestión) o para estudiar las consecuencias de la modificación de tales detalles en en el contexto
general - por ejemplo, para experimentación. En otras palabras, la focalización o
abstracción de detalles se relaciona con una visión centrada en lo ‘local’, mientras que la
simplicidad y complejidad se refieren a visiones de tipo ‘global’.
Por ejemplo, la maqueta de una edificación es un modelo de la construcción edilicia que
confiere al arquitecto una idea del aspecto exterior de la obra, mas no representa a la
construcción real en lo relativo a servicios como las instalaciones eléctrica, hidráulica y de
saneamiento. Tales servicios son en general representados en los planos arquitectónicos, y no
206
Considérese ‘complejidad’ en el sentido que se discute en el capítulo 1 de este trabajo.
Gonzalo Sánchez - Ingeniería Electrónica – Universidad Católica del Uruguay
102 - [ 3 ] Modelos
se incorporan en la maqueta puesto que no son relevantes en lo que respecta al aspecto
exterior de la construcción en sus líneas generales. Naturalmente, los propios planos
arquitectónicos son también un modelo de la edificación, de los cuales es posible imaginar el
aspecto exterior de la obra, pero en cuanto a ‘visualización’ la maqueta brinda una visión
directa y más práctica, en especial a quienes carecen de suficiente experiencia como para
imaginar la obra real desde diversas perspectivas a partir de unos diagramas - por ejemplo, los
clientes del arquitecto207.
Este simple ejemplo de la maqueta o los planos arquitectónicos de una construcción edilicia
sugiere la existencia de dos tipos de modelo, uno de tipo material y el otro de carácter inmaterial,
en función del modo en que se confiere la información: en un modelo ‘material’ la información
- o, al menos, parte de la información - la constituye el propio ‘objeto físico’ del modelo,
mientras que la información en un modelo inmaterial se corresponde sólo con ‘ideas’208.
El modelo de una entidad puede ser de carácter material o inmaterial, según el
modo en que confiere la información con la cual representa a la entidad. El carácter
del modelo es independiente del carácter material o inmaterial de la entidad
representada.
Es posible concebir una variedad significativa de modelos físicos; estáticos, como la maqueta
arquitectónica del ejemplo anterior, o dinámicos, si se dota a los estáticos de sensores,
actuadores, mecanismos y motores, como se aprecia en los aeromodelos, los trenes a escala de
juguetería y de coleccionista, o los túneles de viento, los planetarios, y estudios hidrográficos
de bahías, canales y ríos a escala. Asimismo, la variedad de modelos de tipo inmaterial es
vasta, abarcando desde descripciones verbales, diagramas y esquemas (como los planos
arquitectónicos del ejemplo) hasta modelos matemáticos, y - desde la introducción del
computador - modelos ‘ejecutables’ o ‘simulaciones’209. Esencialmente, los modelos de carácter
inmaterial son descripciones proporcionadas en algún lenguaje, ya sea este verbal o escrito,
gráfico o textual210.
Asimismo, cabe notar que
en un estadio superior de elaboración, las teorías científicas son modelos de carácter
inmaterial, puesto que pretenden representar a la realidad en aquellos aspectos
relevantes para cada disciplina - son analogías conceptuales de la realidad211, y esto
es la esencia de un modelo.
En función de su objetivo, existe una variedad significativa de modelos - desde recreación y
entretenimiento, a la ingeniería o investigación científica - y se los encuentra por doquier. Al
respecto, debe tenerse presente que las ventajas y desventajas de los modelos no afectan en
igual forma a los juguetes, maquetas, o instrumentos didácticos, como a los modelos o
prototipos de ingeniería, donde resultan críticas las capacidades de cálculo y predicción, y
207
Como ejemplo adicional, considérese que la diversidad de modelos cuyo objeto es brindar diferentes
puntos de vista de una misma realidad se adopta como actual paradigma para el desarrollo de sistemas
de información (véase por ejemplo [Qua01], p. 1 - The Importance of Modeling).
208
Se prefiere emplear el término ‘ideas’ en lugar de ‘conceptos’, para no inducir a confusiones, puesto
que todo modelo implica una conceptuación, en virtud de ser una construcción analógica y limitada de la
realidad.
209
Naturalmente, los referidos modelos inmateriales son plasmados, en última instancia, sobre un
soporte material. Sin embargo, este soporte material no es más que eso - un soporte, un vehículo para la
información que puede ser sustituido a conveniencia - y no constituye en sí la información que se desea
conferir.
210
Por tanto, al igual que las descripciones que constituyen al producto de un proceso de diseño, los
modelos son sometidos a las condicionantes del lenguaje empleado (ver sección 2.1.2.2).
211
Aquí se prefiere destacar el carácter conceptual de una teoría, aunque implique cierta redundancia
(ver nota 208, p. 102).
Diseño de Sistemas Electrónicos Complejos
[ 3.1 ] Características y propiedades generales - 103
nefastas las omisiones de propiedades relevantes a la aplicación 212. “Son bien conocidas las
ventajas y los peligros de los modelos. La ventaja está en que es el camino para crear una teoría, es decir,
el modelo permite deducciones a partir de premisas, explicación y predicción, a menudo con resultados
inesperados. El peligro es la excesiva simplificación: para hacerla conceptualmente controlable, tenemos
que reducir la realidad a un esqueleto conceptual, dejando en pie la pregunta de si al proceder así no
habremos amputado partes vitales de la anatomía. El riesgo de supersimplificación es tanto mayor cuanto
más múltiple y complejo es el fenómeno” ([Ber93], p. 210). Consecuentemente,
el desarrollo y aplicación de modelos implica un compromiso entre precisión y
utilidad, donde el mayor riesgo que se corre es el de sobresimplificación.
En lo que resta del presente capítulo, por razones de brevedad, la discusión se centra en
modelos de carácter inmaterial. No obstante, es factible inferir una posible extensión de la
discusión a modelos de carácter material a partir de los conceptos referidos a los modelos
inmateriales.
[ 3.2 ]
MODELOS VERBALES Y FORMALES
“Las ventajas de los modelos matemáticos - no ambigüedad, posibilidad de deducción estricta,
verificabilidad por datos observados - son bien conocidas. No quiere esto decir que modelos formulados en
lenguaje ordinario hayan de ser desdeñados o rechazados.” (...) “Las matemáticas significan
esencialmente la existencia de un algoritmo mucho más preciso que el lenguaje ordinario.” Sin
embargo, “La historia de la ciencia atestigua que la expresión en lenguaje ordinario a menudo precedió
a la formulación matemática, a la invención de un algoritmo.” (...) “Quizás valga más tener primero
algún modelo no matemático, con sus limitaciones, pero que exprese algún aspecto previamente
inadvertido, en espera del surgimiento venidero de algún algoritmo apropiado, que a partir de modelos
matemáticos prematuros que calquen algoritmos conocidos y con ello acaso restrinjan el campo visual.“
([Ber93], p. 23). De esta forma, Von Bertalanffy establece una consideración esencial en lo
tocante a la utilidad de los modelos, que se puede sintetizar de la siguiente manera:
Un modelo verbal (informal)213 es preferible a ninguno, o a algún modelo formal que
- por poder ser formulado lógica o matemáticamente - es impuesto por la fuerza a la
realidad, y la falsifica214 (Adaptado de [Ber93], p. 23).
212
Considérense, por ejemplo, las implicancias de omisiones en relación a la seguridad de
equipamientos médicos, sistemas de control industrial, sistemas de transporte (aviones, trenes, barcos,
automóviles) etc.
213
Informal se refiere al sentido usual de ‘no estar expresado en forma matemático - lógica rigurosa’. Esta
noción se revisa en la sección 3.3, particularmente en 3.3.4.
214
Un escenario emblemático para esta situación se da en el ámbito económico actual, a raíz de la
tendencia a la ‘axiomatización’ de la teoría económica, como se argumenta duramente en [Mar99], y
también en [HH05]. Un problema usual es que se suele confundir probabilidad con estadística. La
diferencia entre el cálculo de probabilidades y la inferencia estadística es, en esencia, que la estadística es una
ciencia experimental, en tanto que la probabilidad es una rama de la matemática, cuyos teoremas no dependen
de resultados experimentales sino de los axiomas sobre los que se erige (ver [San80], Cap. 7, p. 87). Así,
por ejemplo, si luego de un gran número de tiradas de una moneda, la relación entre ‘cara’ y ‘número’
difiere en forma significativa de 1, el probabilista dirá que el experimento se ha realizado con error (el
individuo que tira la moneda no lo hace en forma estrictamente aleatoria, o la moneda no es simétrica)
mientras que el estadístico concluye que la ley de los grandes números no es aplicable en este caso, y
que se debe buscar otro modelo que devuelva resultados más congruentes con los resultados
experimentales. Definido un modelo matemático parametrizable, el ajuste de los parámetros en función
de los datos experimentales (considerados con su error de mensura) es un procedimiento esencialmente
estadístico, que emplea el cálculo de probabilidades para determinar la probabilidad de los datos dado el
modelo, pero que necesariamente interpreta el resultado en forma intuitiva, no matemática, como la
verosimilitud del modelo dados los datos ([PTVF02], pp. 662-663). No cabe, por tanto, aceptar ningún tipo
de ‘justificación matemática’ en el ámbito económico, puesto que en esencia sólo puede >> p. 104
Ingeniería Electrónica – Universidad Católica del Uruguay
104 - [ 3 ] Modelos
Como aduce Von Bertalanffy, la precedente aserción tiene un sólido fundamento histórico. A
la fecha, una significativa cantidad de modelos han surgido primero de manera informal, como
descripciones intuitivas - calificadas hasta de ‘genialidades’ - siendo sólo posteriormente
pasibles de formalización, conseguida no sin esfuerzo, y no en todos los casos (estos últimos
notablemente en las áreas relativas a lo biológico y lo social). Como ejemplo de formalización a
posteriori de un modelo intuitivo cabe citar el empleo - tremendamente efectivo - de la ‘función’
delta de Dirac por la física, hasta la consecución de la primer teoría de las ‘funciones
generalizadas’ o Teoría de las Distribuciones por L. Schwartz.
No obstante, existen razones más significativas que los meros sucesos históricos para
reivindicar el uso y la utilidad de modelos no formales, las que se revisan en las siguientes
secciones.
[ 3.2.1 ] INTROSPECCIÓN, DEDUCCIÓN, ROBUSTEZ, INCOMPLETITUD
En primer lugar, por su propia construcción, los modelos informales confieren introspección a
la situación que modelan, es decir, el propio modelo tiene la virtud de sugerir el concepto que
emplea para capturar la instancia de la realidad a la que representa. En cambio, los modelos
formales pueden ser implementados como un mero artilugio de cálculo, o una expresión
matemática de alta complejidad o difícil interpretación, cuya construcción - aunque
posiblemente concebida con extrema ‘habilidad’ - quizás sólo permita una idea superficial de
lo que sucede215.
En segundo lugar, existen problemas inherentes a la propia formalización, como ser la
dicotomía inconsistencia o incompletitud de los sistemas axiomáticos formales à la Hilbert, pero
que no afectan a los comparativamente más ‘flexibles’ modelos informales. Si bien la discusión
acerca de este tipo de sistemas se efectúa en la sección 3.3.4, y la consideración de sus
inconvenientes y otras consecuencias se posponen a las secciones 3.3.5 y 3.3.6, el hecho que los
modelos matemáticos sean pasibles de ‘vulnerabilidades’ puede inferirse por el modo de
desarrollo de modelos (teorías) en la física. Los modelos que emplea la física se conciben, ab
initio, inexactos e incompletos216; son sujetos a continua revisión, y no son ajustados a una estricta
formalidad, puesto que pretenden ser robustos ante perturbaciones 217. Por el contrario, los
modelos formales son inherentemente frágiles, especialmente aquellos que no son de tipo
<< p. 103 discutirse la verosimilitud de los modelos usados en función de los ‘datos económicos’
(‘experimentales’, medidos inexorablemente con error) y la credibilidad que se tiene en las inferencias que
se efectúan a partir de estos modelos. El empleo - en ocasiones abusivo - de la palabra ‘confianza’ en el
discurso económico, se debe precisamente a esta razón. Así, en economía, el ceñirse por ortodoxia a
modelos matemáticos puede ‘falsificar’ la realidad, cuestión que gran cantidad de idóneos se niega
obstinadamente a reconocer, con perjuicios experimentados a escala planetaria (Como ejemplo
doméstico: ante críticas a su política económica en tiempos de crisis, el Ministro de Economía del
Uruguay en 2002, Cr. A. Bensión, manifestó que “...no es que el modelo estuviera mal, sino que la realidad
cambió...”. Este discurso es claramente incompatible con una filosofía ‘estadística’).
215
Más allá del tema ‘modelos’ en ingeniería, este efecto es notorio en las demostraciones de ciertos
teoremas matemáticos: existen habilísimas demostraciones de teoremas matemáticos, pero de las cuales
no se desprende una idea cabal del concepto que ellas mismas prueban - en general, las demostraciones
por reducción al absurdo carecen de la virtud de brindar ‘introspección’. Naturalmente, hay
demostraciones formales que son además conceptualmente significativas; puede verse que en general las
demostraciones de tipo constructivo poseen carácter introspectivo, como el Teorema de Bolzano - la
existencia de al menos un cero de una función continua que cambia de signo en un intervalo cerrado,
demostrado por encaje de intervalos ([PCT60], V. I, § 26-2, pp. 396-397).
216
Inexactos e incompletos, más allá de la ‘inexactitud e incompletitud intrínsecas’ que supone un
modelo como ‘construcción análoga a una entidad, a la cual representa con precisión limitada’. La
‘inexactitud e incompletitud intrínsecas’ se derivan, prima facie, de las motivaciones de simplicidad,
complejidad, focalización o abstracción esgrimidas al inicio del presente capítulo. Lo que aquí se refiere es
una inexactitud e incompletitud adicional a la intrínseca, cuyo carácter se explicita a continuación.
217
Ver nota 221, p. 105.
Diseño de Sistemas Electrónicos Complejos
[ 3.2 ] Modelos verbales y formales - 105
‘constructivo’, puesto en caso de una posible ‘perturbación’, la propia estructura formal exige
la caída completa del modelo, por más pequeña que esta perturbación pueda ser. “...
permítanme decir por que es bueno lograr varias pruebas diferentes de un resultado matemático
importante. Cada una (...) ilustra un aspecto diferente del problema, y revela diferentes conexiones, y
empuja a uno a diferentes direcciones. Pero además es un hecho, como dijo el matemático George Pólya
en su pequeño y hermoso libro ‘Cómo resolverlo’, (...) que es mejor estar sobre dos piernas en lugar de
una. (...) Si se tiene sólo una prueba, y ésta contiene un error, entonces uno queda sin nada. Tener varias
pruebas no sólo es más seguro, sino que además brinda mayor introspección, y brinda mayor
comprensión. Después de todo, el objeto de la matemática es obtener introspección, no sólo pruebas. Una
demostración larga y complicada que no brinda introspección no solamente es sicológicamente
insatisfactoria, es frágil, y fácilmente puede contener una falla. Y yo prefiero pruebas con ideas, no
pruebas con muchos cálculos.”218 ([Cha04], c. II).
En esencia, los modelos informales admiten la intuición como herramienta válida
para su desarrollo, mientras que los formales se limitan a la deducción. Una virtud
de los modelos informales, derivada del carácter intuitivo de su formulación, es que
brindan introspección al fenómeno al que describen, mientras que el carácter
deductivo de los modelos formales no lo garantiza. Una virtud adicional de los
modelos informales consiste en la robustez ante perturbaciones que les confiere su
carácter intuitivo, en contraste con la fragilidad intrínseca que implica la propia
estructura de los modelos formales lógicamente consistentes, los cuales - además son pasibles de la limitación Gödeliana de incompletitud que se examina en la
sección 3.3.5.
[ 3.2.2 ] MODELOS MATEMÁTICOS INFORMALES
El mencionado modo de desarrollo y empleo de modelos no formales en la física sugiere un
cuestionamiento adicional: la relación entre modelos formales y modelos matemáticos. El empleo por
la física de la ‘delta de Dirac’ como una ‘función’ ordinaria (no como una ‘función
generalizada’) se admite actualmente dentro del denominado cálculo operacional. Este maneja
modelos de tipo matemático, en una forma tal que no se corresponde con un ejercicio riguroso
de los conceptos de la teoría de funciones ordinarias, dentro de la que los modelos son
operados219. Sin embargo, estos cálculos devuelven resultados matemáticamente correctos, y
coherentes con la realidad modelada, razón por la cual la física los aplicó sin importar su
flagrante falta de rigurosidad (la cual inclusive implica una contradicción con la teoría de
funciones usuales). Este hecho sugiere la existencia de modelos expresados matemáticamente,
aunque de carácter no formal, no estrictamente deductivos.
Podría argumentarse en favor de descalificar como modelos ‘matemáticos’ a todos aquellos
que no se apegan a teorías matemáticas válidas a priori, pero esto genera inmediatamente el
problema de reconocer cuales son estas teorías ‘absolutamente confiables’ 220, las que - además deberán ser inmutables a posteriori so pena de desvirtuar su confiabilidad. Aún si se ignora este
problema, y se restringe la consideración a solamente aquellos modelos basados en teorías
matemáticas sólidas y fundadas, consta el ejemplo de los modelos matemáticos que emplea la
física, concebidos inexactos e incompletos, con la intención de conferirles robustez ante
perturbaciones221. Pero aún desestimando las fuentes de incertidumbre reales, los modelos
218
Texto traducido del original, en inglés. Ver nota 54, p. 39.
219
Se recuerda que su formulación y aplicación sólo son válidas en el ámbito más general dado por la
teoría de las distribuciones, cuya consecución, además, sucedió al empleo del cálculo simbólico en lugar
de precederlo, y por tanto validarlo como formalmente consistente.
220
La solución a este problema fue intentada por Hilbert (sección 3.3.3.2.2) y demostrada inviable por
Gödel (sección 3.3.5).
221
Estas perturbaciones son inexorables: derivan de la incertidumbre en las medidas experimentales,
dada la precisión limitada de los sentidos y los instrumentos, la interferencia de ruidos, la adecuación de
los experimentos con los que se chequean los modelos teóricos, y las propias limitaciones >> p. 106
Ingeniería Electrónica – Universidad Católica del Uruguay
106 - [ 3 ] Modelos
matemáticos que usa la física requieren interpretación, con lo cual la asociación entre modelos
matemáticos y modelos formales se torna extremadamente difusa. A efectos de ilustrar el
argumento de ‘interpretación’ considérese, por ejemplo, la caída libre de un cuerpo. El modelo
del fenómeno, expresado en forma matemática siguiendo la mecánica de Newton, es:
g 2
y t=y t 0 y 't 0 ⋅t− ⋅t
2
donde la función y(t) representa la evolución temporal del desplazamiento vertical del cuerpo,
con y(t0) e y’(t0) la posición y velocidad iniciales respectivamente, y g la aceleración de la
gravedad. Suponiendo velocidad inicial nula, si se busca el tiempo tf en el cual el cuerpo
alcanza la altura y(tf )=0 (que, por ejemplo, puede corresponderse con la superficie terrestre)
resulta:

t f =±
2⋅y t 0 
g
Esta doble solución matemática no se corresponde con la realidad física a menos que se
agregue al modelo la condición tf > t0. Esta condición no es más que la imposición de la
causalidad combinada con la unidireccionalidad del tiempo, y es lo que permite seleccionar la
solución físicamente coherente del doble resultado matemático. Así, el resultado matemático
‘formal’ se debe interpretar desde un punto de vista físico, o carece de coherencia.
Puede objetarse que este doble resultado matemático ‘incoherente’ se debe a un modelo
inadecuado del fenómeno, que no incluye ab initio la condición tf > t0. En verdad el modelo es
inadecuado, pero la inadecuación corresponde al modelo matemático del tiempo de la mecánica
de Newton, y no a una omisión de la condición tf > t0 en el modelo del fenómeno. Desde
Galileo, el modelo matemático del tiempo es de tipo geométrico, donde se preserva la noción de
orden de eventos, mas se carece de noción de presente, pasado y futuro222. Estas nociones se
deben incorporar ‘desde afuera’, y así es que la condición tf > t0 constituye una meta-regla223 y no
una regla matemática. La incorporación al modelo de esta condición no responde entonces a
un error u omisión particular en el planteamiento del modelo, sino general, que se debe a un
modelo matemático inadecuado (‘insuficiente’) de un aspecto fundamental de la realidad como
es el tiempo; la matemática por sí sola no tiene potestad para restringir el comportamiento de
la variable t a una variedad ‘entrópica’ en el modelo geométrico Galileano del tiempo. No
obstante, el modelo del ejemplo directamente ignora los efectos de rotación terrestres, y no por
ello se obtiene una predicción absolutamente ajena a la realidad224 - a lo más, una capacidad de
predicción ‘poco precisa’, o sujeta a determinadas hipótesis no explícitas. Así, pese a la
aparente pertinencia de la objeción, cabe recordar que el aducir incompletitud, inadecuación, o
<< p. 105 teóricas, es decir, las limitaciones del propio conocimiento.
222
En esencia, el modelo del tiempo en la teoría de la Relatividad de Einstein es también geométrico, sólo
que en este caso el modelo del espacio - tiempo es más sofisticado que los modelos geométricos del
espacio y del tiempo independientes de Newton (y Galileo). Pese al concepto termodinámico de entropía,
la carencia de una noción consistente y general de ‘tiempo pasado, presente y futuro’ en los modelos de la
física derivados de estas teorías constituye un severo problema (en especial, para el modelado de la
causalidad y los organismos vivos) y se le refiere como ‘el problema de la flecha del tiempo’. Sería recién
superado de afianzarse la teoría de Física de Procesos, según aducen sus autores [CKK00]. (Para una
somera introducción a esta visión de la física, véase [Cho00]).
223
La meta - regla para el modelo geométrico del tiempo equivale a señalar (con un dedo, por ejemplo) al
punto que representa el ‘ahora’, e ir desplazando dicho punto sobre el eje temporal para indicar la
actualización del ‘ahora’, es decir, el fluir del tiempo. ([CKK00], p. 2; [Cah03], s. 2.1, pp. 7-9)
224
Por ejemplo, predice independencia del tiempo de caída del objeto respecto a su masa, como
observara Galileo en su famosa experiencia desde la torre de Pisa. Nótese que tampoco se incluyen los
efectos de fricción con el aire, etc.
Diseño de Sistemas Electrónicos Complejos
[ 3.2 ] Modelos verbales y formales - 107
inexactitud de un modelo constituye - estrictamente - una tautología, en virtud de la propia
noción de modelo como construcción análoga pero limitada de la realidad. El elemento clave en
este cuestionamiento reside en la diferencia entre los dominios de formulación de un modelo, y
el de su aplicación.
Las posibles deficiencias de los modelos son un riesgo intrínseco al modelado, pero
esas eventuales inconveniencias derivadas de un modelo incompleto, inadecuado, o
inexacto, competen exclusivamente al dominio de aplicación del modelo, no al
dominio en el cual este es implementado; a éste sólo compete la posibilidad de una
mala formulación225. Este hecho, bien conocido por la física, explica la necesidad de
interpretación de los modelos matemáticos que esta disciplina formula para
modelar la realidad, lo que esencialmente requiere una dotación de significado a
la formulación matemática.
Como consecuencia de esta necesidad de significación e interpretación, así como de la
inevitable incertidumbre y de la posibilidad de refutación experimental, los modelos de la
física constituyen ejemplos manifiestos de modelos matemáticos no formales: de los mismos se
admite la posibilidad de cálculo y predicción, mas no se pueden establecer conclusiones
exclusivamente por deducción, por más ‘adecuados’ - desde el punto de vista físico, es decir,
del domino de aplicación - que sean los modelos matemáticos del fenómeno en cuestión. Así, la
existencia de modelos matemáticos ‘informales’ se relaciona esencialmente con la diferencia
entre los dominios de formulación del modelo y de su aplicación.
La usual asociación entre modelos formales y modelos lógico-matemáticos es válida
sólo en este sentido: los modelos formales deben necesariamente ser
formulados en forma lógico-matemática y operados estrictamente por
deducción, pero no recíprocamente. La asimetría es provocada por la
posible incorporación de una semántica a los modelos matemáticos, que
modifica sus propiedades formales previas dependientes exclusivamente de
su estructura sintáctica, y que admite el uso de la intuición226.
Por ejemplo, se argumenta en [Cah03], s. 3, pp. 11-13 que los modelos de la física clásica,
relativista, y cuántica, son modelos matemáticos formales (puramente sintácticos) a los que se
incorpora un significado (semántica) en términos de meta-reglas y aserciones metafísicas. Por el
contrario, la física de procesos que promueven estos autores incorpora ab initio una semántica
en el modelo matemático, el cual no consiste un modelo formal de tipo axiomático, sino una red
neuronal estocástica. El ‘significado’ radica en la incertidumbre que de forma aleatoria es
incorporada al modelo, la cual es de carácter auto-referente ([CKK00], pp. 3-4)227.
[ 3.2.3 ] MODELOS MATEMÁTICOS Y MODELOS FORMALES DE MODELOS
‘VERBALES’
Fundamentalmente debido a las necesidad de cálculo y predicción, en la ciencia y la ingeniería
se es proclive al empleo de modelos matemáticos. Independientemente de la formalidad o no de
estos modelos, se plantea la cuestión de factibilidad de construcción de modelos matemáticos de los
fenómenos de interés. Afortunadamente, la formulación matemática de ciertos modelos
‘verbales’, es viable en el caso particular de isomorfismo entre los campos descritos por los
modelos ‘verbales’ con algún campo de la matemática o de la ciencia ya modelado
matemáticamente con éxito suficiente. Según Von Bertalanffy, este hecho se deriva del
concepto de sistema: “Consecuencia de la existencia de propiedades generales de sistemas es la
225
En el sentido “se han empleado en forma incorrecta los elementos del dominio de implementación”.
226
Formalismo, sistemas formales, sintaxis, son conceptos que se explicitan en las secciones 3.3.3.2.2 y
3.3.4.
227
Algunas de estas consideraciones se revisan en la sección 3.3.6.2.5, desde la perspectiva de la Teoría
de Información Algorítmica (sección 3.3.6.2). Por una introducción a la Física de Procesos, véase [Cho00].
Ingeniería Electrónica – Universidad Católica del Uruguay
108 - [ 3 ] Modelos
aparición de similaridades estructurales e isomorfismos en diferentes campos” ([Ber93], p. 33). Esto
requiere interpretar adecuadamente el concepto de isomorfismo entre campos.
Una analogía es una similitud superficial entre fenómenos que no se corresponden ni en
factores causales, ni en las leyes pertinentes; por ejemplo, la comparación entre el desarrollo de
una población y el ciclo vital de un organismo. Otro nivel cualitativamente distinto lo
constituyen las homologías, donde las leyes respectivas entre fenómenos son formalmente 228
idénticas; por ejemplo, la consideración del flujo de calor como el fluir de una sustancia,
aunque no exista una ‘sustancia calorífica’. Son las homologías lógicas las que se refieren como
isomorfismos entre campos.
En ingeniería, resulta familiar el hecho que el mismo conjunto de ecuaciones diferenciales
sea aplicable para describir problemas correspondientes a distintas ramas, como mecánica y
electrónica; un típico ejemplo de esta homología entre modelos lo constituyen el oscilador
armónico mecánico forzado con amortiguamiento viscoso, y un circuito eléctrico resistivoinductivo-capacitivo alimentado con una fuente independiente, los cuales se pueden describir
mediante una ecuación diferencial escalar de segundo orden, a coeficientes constantes, más un
término independiente229. Esto no es más que una consecuencia de que, en ciertos aspectos,
pueden aplicarse abstracciones y modelos conceptuales coincidentes a fenómenos diferentes. Sin
embargo, de la misma manera que la aplicación de las leyes físicas a distintos objetos no
pretende que estos sean semejantes en aspectos ajenos a la física, es incorrecto interpretar que
lo anterior se deba al hecho evidente que las matemáticas se pueden aplicar a toda suerte de
cuestiones y cosas230; se requiere un isomorfismo o similaridad estructural (Adaptado de
[Ber93], pp. 82-88).
Así, según Von Bertalanffy, sólo la identificación de isomorfismos entre modelos autorizaría
la identificación de modelos matemáticos con modelos ‘verbales’, permitiendo dotar a estos
últimos de capacidad de cálculo y predicción. Sin embargo, la dificultad radica en que los
modelos ‘verbales’ pueden carecer de una estructura que habilite a la correcta identificación de
isomorfismos. Consecuentemente, se aduce aquí que todo modelo verbal requiere ser inicialmente
formulado en términos matemáticos, aunque sea con escasa rigurosidad, y basándose fuertemente en la
intuición, de forma de posibilitar un examen estructural que habilite a la búsqueda de promitentes
isomorfismos. A la fecha, esta actividad no constituye un cuerpo cerrado del conocimiento.
En ([Pod97], s. 1.3) se consideran dos maneras en las cuales una ‘intuición’ puede formularse
matemáticamente, y eventualmente formalizarse: el método genético, y el método axiomático. El
método genético intenta reconstruir el modelo intuitivo por medio de otro modelo considerado
‘más confiable’231. Un ejemplo de aplicación de este método consiste en considerar a los
números complejos como puntos en el plano, y reconocer las operaciones entre números
complejos en términos geométricos en el plano que los representa; así, la posible reticencia
inicial hacia el modelo de los números complejos se supera al modelarlos en términos de otro
modelo que consta con mayor grado de credibilidad (la geometría plana). Nótese que el
método genético es compatible con la identificación de isomorfismos entre campos, discutida
precedentemente. Así, este método puede considerarse como ‘relativo’, en cuanto aclara una
intuición en términos de otro modelo, que - a su vez - podrá ser intuitivo o no. Por el contrario,
el método axiomático opera en términos ‘absolutos’: entre aquellas aserciones comúnmente
aceptadas sobre un modelo, se selecciona un subconjunto de las mismas, sin requerir su
validación, y se reconstruyen y validan las restantes aserciones a partir de estas primeras.
Estas aserciones ‘primitivas’ son postuladas sin requerir demostración, en virtud de ser
228
Se refiere a la estructura, o la sintaxis.
229
O, equivalentemente, en forma de ecuaciones de estado, que vectorialmente se pueden escribir como
dx(t)/dt=A·x(t)+u(t), donde x(t) es el vector de estado, A la matriz de transición de estado, y u(t) el
vector forzante.
230
No implica esto que dicha aplicación sea adecuada, es decir, que devuelva resultados coherentes, sino
sólo que - en principio - es posible aplicar la matemática a “toda suerte de cuestiones y cosas”.
231
Nótese que presupone, de todas formas, la disposición de un modelo matemático inicial.
Diseño de Sistemas Electrónicos Complejos
[ 3.2 ] Modelos verbales y formales - 109
‘evidentes’232; son denominadas axiomas, si el modelo en cuestión se refiere a una teoría. Si la
validación del resto de las aserciones (teoremas, en el caso de una teoría) se efectúa mediante
estricta deducción a partir de los axiomas, entonces el modelo es un modelo formal (o
correspondientemente, una teoría formal)233. Sin embargo, se pueden permitir algunas
instancias intuitivas el proceso de validación, con la condición que estas sean ‘más evidentes’
que los propios postulados del modelo axiomático234. Ejemplos del método axiomático son los
axiomas de Euclides para su geometría, los axiomas de Peano para la aritmética de los
números naturales, y los axiomas de Zermelo-Fraenkel para la teoría de conjuntos.
Un modelo intuitivo puede reconstruirse en términos de otro modelo, ‘más confiable’
- proceso denominado método genético - o bien por selección de un subconjunto de
propiedades ‘evidentes’ del modelo, las que se postulan sin requerimientos de
validación (axiomas) y de las cuales se derivan el resto de las propiedades del
modelo - proceso denominado método axiomático - ya sea por estricta deducción
(modelo formal) o admitiendo derivaciones intuitivas, con la condición de ser estas
‘más evidentes’ que los propios axiomas del modelo.
En cualquier caso, la reconstrucción de un modelo intuitivo plantea el interrogante acerca de
la adecuación de dicha reconstrucción. ¿Subyace quizás a los conceptos intuitivos una
propiedad aún no manifiesta en la práctica, o ante el estadio actual del conocimiento235? La
aparición de propiedades inesperadas en los modelos reconstruidos significa que
efectivamente se ha implementado una reconstrucción, y no una mera copia de los modelos
intuitivos, e implica que el tema de la adecuación debe ser considerado seriamente. En el caso
de una reconstrucción ‘axiomática’, el problema de la adecuación se traduce en la pregunta de
si todas las propiedades esenciales del modelo intuitivo están presentes en los axiomas.
Toda reconstrucción de un modelo intuitivo plantea el problema de la adecuación
de tal reconstrucción, en el sentido de si se mantienen las propiedades esenciales del
modelo, y si surgen propiedades inesperadas o no existentes en el original.
Se plantea, en consecuencia, la necesidad de establecer criterios que permitan decidir la
adecuación o no de una reconstrucción. Según Podnieks, la única repuesta realista es considerar
sólo aquellos aspectos del modelo intuitivo que pueden ser reconocidos en la práctica del razonamiento
matemático. Sin embargo, esto no elimina el problema de ‘propiedades ocultas’ en el modelo
intuitivo original. Un criterio razonable puede derivarse de la observación de Pólya y Chaitin,
sobre las ventajas de disponer de ‘varias pruebas’ en lugar de una:
una posible evidencia de una reconstrucción adecuada consiste en la consecución de
varias reconstrucciones equivalentes entre sí.
Si bien no es posible probar la equivalencia entre un modelo intuitivo y cualquiera de sus
reconstrucciones formales (este es precisamente el problema de la adecuación) sí resulta
posible validar o invalidar la equivalencia entre las diferentes reconstrucciones formales del modelo
intuitivo. Así, el contar con reconstrucciones formales probadamente equivalentes de un modelo
intuitivo, confiere confianza en la adecuación de las reconstrucciones. Un ejemplo de esta
situación es la noción de computabilidad, o el concepto de algoritmo, del cual se conocen como
reconstrucciones formales las funciones recursivas, el autómata de Turing, el cálculo Lambda de
232
Puede darse otra razón de corte pragmático para postular estas aserciones sin requerir su
demostración, que nada tiene que ver con su carácter de ‘verdad evidente’: ¡se necesita establecer un
punto de partida, para no incurrir en una regresión infinita! ([Cha99], c. 1).
233
Esto se revisa con más detalle en la sección 3.3.4.
234
Este comportamiento no está exento de críticas, particularmente de los círculos ‘formalistas’ de la
matemática.
235
Consideradas además la percepción y apercepción humanas, condicionadas por factores biológicos y
culturales, como se insiste reiteradamente en este documento siguiendo a Von Bertalanffy.
Ingeniería Electrónica – Universidad Católica del Uruguay
110 - [ 3 ] Modelos
Church, los sistemas canónicos de Post, y los algoritmos normales de Markov - todas estas
demostradas equivalentes entre sí ([Pod97], s. 1.3).
Amén del interés por la capacidad de cálculo y predicción, la historia de la matemática
registra, a la fecha, una evolución de los modelos intuitivos hacia los modelos formales. “La
tendencia a reemplazar los conceptos intuitivos por sus reconstrucciones más o menos explícitas aparece
claramente en la historia de la matemática. Las teorías intuitivas no pueden desarrollarse normalmente
sin estas reconstrucciones: la precisión de los principios intuitivos básicos se torna insuficiente cuando
crece la complejidad de los conceptos y los métodos. En la mayoría de las situaciones la reconstrucción
puede ser realizada por el método genético, pero para reconstruir los conceptos matemáticos más
fundamentales, el método axiomático debe ser usado (los conceptos fundamentales son denominados
fundamentales precisamente porque no pueden ser reducidos a otros conceptos).”236 ([Pod97], s. 1.3). En
sintonía con la precedente consideración, “Las teorías matemáticas, sobre todo las que tienen
relación con los fenómenos naturales, a los que tratan primero de entender para luego predecir, se
construyen siempre a partir de conceptos intuitivos, suficientemente claros para que puedan ser aplicados
en las primeras etapas de la teoría, pero no suficientemente rigurosos para que queden a salvo de
objeciones cuando la misma alcanza cierto grado de desarrollo. Se hace necesario, entonces, revisar los
fundamentos, precisando las definiciones y dándoles, si ello es posible, una construcción axiomática. De
esta manera, si alguna vez aparecen resultados contradictorios o paradójicos, se sabrá bien que lo único
que deberá ser revisado son los axiomas y a ello habrá que acudir también siempre que se desee una
extensión o una limitación de la teoría. Sin embargo, para empezar a estudiar una teoría, no siempre es el
camino axiomático el más recomendable. Los axiomas son elaborados por quienes conocen muy bien la
teoría, y su verdadero sentido y necesidad se comprenden con claridad tan sólo cuando se está ya
familiarizado con los elementos y relaciones básicas que ellos tratan de afirmar de manera abstracta y
precisa. Es mejor empezar por definiciones tal vez no muy exactas y con ejemplos simples, pero
substanciales, para poder comprender luego el verdadero sentido de los axiomas, y para que los mismos
aparezcan de manera natural como expesión sintética y firme de conocimientos ya adquiridos.”
([San80], p. 1). Sin embargo,
la tendencia histórica hacia la axiomatización de la matemática sufre de
limitaciones, a causa de la inherente incompletitud de los sistemas axiomáticos
formales consistentes demostrada por Gödel en 1931, reformulada por Turing en
términos de la incomputabilidad, y extendida por Chaitin en términos de
aleatoriedad en el seno de la matemática pura.
Estas cuestiones de carácter fundamental merecen una particular dedicación, a lo cual se
dedica la siguiente - y extensa - sección 3.3 del presente capítulo.
[ 3.3 ]
MODELOS MATEMÁTICOS
[ 3.3.1 ] CONSIDERACIONES INICIALES
El sistema tautológico de naturaleza hipotético-deductiva que es la matemática implica que
este sea ‘verdadero’ en más de una cultura: cualquier ser racional que acepte las premisas
necesariamente tiene que convenir en todas las deducciones. Sin embargo, la matemática - en
cuanto lenguaje simbólico derivado del cotidiano - no es independiente ni de la estructura de
este, ni del contexto cultural, el cual determinará que aspectos o perspectivas serán
matematizados. Así, la preocupación griega por los problemas geométricos y la preocupación
de las matemáticas occidentales por el cálculo, o la preferencia de un físico por la
termodinámica clásica ‘macroscópica’, la estadística molecular ‘microscópica’, la mecánica de
matrices o la ondulatoria para vérselas con los mismos fenómenos. ([Ber93], pp. 249-250).
“Tal vez la estructura de nuestra lógica esté esencialmente determinada por la estructura de nuestro
sistema nervioso central. Éste es en resumidas cuentas una computadora digital, ya que las neuronas
236
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 111
funcionan de acuerdo con la ley del todo a nada de la fisiología, en término de decisiones de sí o no. A
esto corresponde el criterio heraclíteo237 de nuestro pensar en opuestos, nuestra lógica bivalente del sí o
no, el álgebra booleana, y el sistema de numeración binario.” ([Ber93], p. 259). El origen del sistema
binario de numeración se remonta a Leibniz238, y en su momento se le atribuyó un carácter
teológico: cualquier número puede ser representado por la combinación de ‘algo’ (1) y ‘nada’
(0). “Leibniz notaba orgulloso lo fácil que resultaba calcular con su sistema binario, acorde a lo que uno
podría esperar de haber llegado al basamento lógico de la realidad. Por supuesto, esta observación
también la han hecho los ingenieros de computadores tres siglos después; la idea es la misma, pese a que
el lenguaje y el contexto cultural en el cual se formula es algo diferente. Esto es lo que Dantzig tiene
para decir al respecto en su ‘Number, The Language of Science’: «Es la elegancia mística del sistema
binario que hizo exclamar a Leibniz: ‘Omnibus ex nihil ducendis sufficit unum’ (Uno alcanza para
derivar todo desde la nada)239. Dice Laplace: ‘Leibniz vio en su aritmética binaria la imagen de la
Creación... Imaginó que la Unidad representa a Dios, y Cero al vacío; que el Ser Supremo obtuvo todo lo
existente desde el vacío, similarmente a como la unidad y el cero expresan todos los números en su
sistema de numeración... Menciono esto meramente para mostrar como los prejuicios de la infancia
pueden obnubilar la visión de hasta los más grandes hombres!...’ ¡Alas! Lo que en su momento fuera
alabado como un monumento al monoteísmo, ha terminado en las entrañas de un robot. Puesto que la
mayor parte de las máquinas calculadoras de alta velocidad [computadores] operan en base al principio
binario.» Pese a las críticas de Laplace, la visión de Leibniz de crear el mundo a partir de 1’s y 0’s se
resiste a desaparecer. De hecho, ha comenzado a inspirar a físicos contemporáneos, quienes
probablemente ni siquiera han oído hablar de Leibniz.”240 241 ([Cha04], c. III). Se pregunta Von
Bertalanffy: ¿Tiene esta antítesis realidad metafísica, o no es sino expresión de hábitos
lingüísticos y del modo de acción de nuestro sistema nervioso? 242. Concluye que, efectivamente,
las categorías de nuestra experiencia y pensamiento parecen estar determinadas por factores
biológicos así como culturales, y que - pese a su progresiva ‘desvinculación humana’, producto
de la desantropomorfización de la imagen del mundo promovido por el avance de la ciencia y
la tecnología - el conocimiento humano sólo es reflejo de ciertos aspectos de la realidad: tiene
sólo verdad relativa, es decir, es válido sólo desde cierto punto de vista suplementado por
enunciados antitéticos desde puntos opuestos ([Ber93], pp. 260-261). En esta hipótesis, y en
cuanto parte del conocimiento humano,
la matemática - y por ende el modelado matemático - está sometida, a priori, a
condicionantes lingüísticas y culturales, las que son precedidas por condicionantes
sicofísicas, entre las cuales la propia estructura del sistema nervioso central humano
probablemente determine la estructura lógica del pensamiento.
En el presente documento, la precedente afirmación se debe adoptar como una suerte de
hipótesis de trabajo, pero cuya formulación concreta se desconoce. Sin embargo, en virtud de la
relativa uniformidad biológica de los seres humanos, las condicionantes sicofísicas se pueden asumir como
casi iguales, lo que permite considerar la hipótesis - aunque desconocida en términos
concretos - como un ‘factor común’. Más arriesgado es suponer que las condicionantes lingüísticas y
culturales son similares, y que por tanto pueden incorporarse a ese ‘factor común’; sólo sería
razonable hacerlo para el caso de las modernas culturas ‘occidentales’, dado el origen de las
237
De Heráclito. ¡Nótese la antigüedad!
238
Circa 1700. Nótese que tampoco se trata de una novedad.
239
(Según la fuente citada) en alemán: “Einer hat alles aus nichts gemacht.”, que palabra a palabra en inglés
es “One has all from nothing made.”. La traducción directa sería “Uno ha hecho todo de la nada”, pero una
interpretación que tome en cuenta una intención teológica la modificaría a “El Uno ha hecho el Todo de
la Nada”.
240
Texto traducido del original, en inglés. Ver nota 54, p. 39.
241
Nótese la estructura anidada de las citas, y su indicación mediante los pares de símbolos “ ”, « », y ‘ ’:
“Chaitin «Dantzig ‘Leibniz’ ‘Laplace‘ Dantzig» Chaitin”.
242
Ver la sección 2.1.2.2, donde se presenta el problema de la percepción y apercepción, condicionadas
respectivamente a la dotación sicofísica, y a la incidencia del lenguaje y la cultura.
Ingeniería Electrónica – Universidad Católica del Uruguay
112 - [ 3 ] Modelos
ideas del presente documento. Sin embargo, por razones de circunstancia, en este documento no hay
más remedio que proceder admitiendo esta suposición; así, sobre la base de este ‘factor común’ sicofísico,
lingüístico y cultural, en las siguientes secciones se discuten los restantes aspectos de los modelos
matemáticos.
[ 3.3.2 ] LA NATURALEZA DEL MÉTODO MATEMÁTICO
En los siglos sexto y quinto antes de Cristo, la evolución de las matemáticas griegas permitió
el desarrollo de objetos matemáticos, en la acepción moderna del término: las ideas de número,
punto, línea recta, etc. se ‘estabilizaron’, y se desprendieron de sus ‘fuentes reales’, las
propiedades y relaciones de los objetos cotidianos al ser humano243. Este proceso de
idealización culminó en conceptos estables, fijos y autocontenidos (objetos matemáticos) sin los
cuales el conocimiento matemático no hubiera avanzado más allá del nivel de un arte244. Los
conceptos de número, punto y línea han cambiado muy poco desde entonces. Es precisamente
esta estabilización de los conceptos la evidencia de su escisión de los objetos reales que les
dieron origen, y que les permiten continuar su existencia independientemente de estos.
Sorprendentemente, la postura filosófica de Platón - que concibe esta dualidad del ‘mundo
de las ideas’ y el ‘mundo de las cosas’ - las considera causalmente en sentido contrario: el
mundo de las ideas de Platón precede al mundo de los objetos cotidianos, el cual no es más que que una
implementación imperfecta del primero. Así, Platón trata el producto final de la evolución de los
conceptos matemáticos - un sistema estable y autocontenido de objetos idealizados - como un
punto de inicio independiente de la evolución del ‘mundo de las cosas’ ([Pod97], s. 1.1). Hoy
día, cualquier postura filosófica que trate objetos en el pensamiento humano como un ‘mundo’
específico e independiente, ha de denominarse Platonismo.
Para los matemáticos, una actitud Platónica hacia los objetos de su investigación es inevitable:
el matemático no investiga las relaciones entre los objetos cotidianos (el ‘mundo real’ de los
materialistas) sino su noción (estable) en un ‘mundo ideal’ de números, puntos, líneas, etc.;
durante su investigación, ese ‘mundo fantástico’ constituye la realidad ulterior, no habiendo
ninguna otra realidad más fundamental detrás de esta. En consecuencia,
la verdadera naturaleza del método matemático consiste en la investigación de
modelos245 estables y autocontenidos, de los cuales se pueden extraer el mayor
número de conclusiones a partir de un mínimo de premisas. ([Pod97], s. 1.2)
Así, el modelo matemático de una entidad es, en esencia, un modelo estable que puede ser
investigado por un matemático246 en forma independiente a la entidad original. Cualquier
refinamiento de este modelo para aproximarlo al ente original requiere la implementación de
un nuevo modelo, el cual también debe ser estable para permitir su investigación en términos
matemáticos.
El refinamiento de un modelo matemático implica la creación de un nuevo modelo
matemático, que necesariamente debe ser estable como el primero.
La propia estabilidad inherente a todo modelo matemático implica la independencia del
original. Así, es posible la existencia de modelos matemáticos inadecuados como modelos de
243
En ejemplo, el concepto de número natural se desarrolló a partir de las manipulaciones con
colecciones (finitas) de objetos reales (discretos).
244
Según Podnieks, las matemáticas en el antiguo Oriente quedaron en este estadio; los Griegos fueron
quienes avanzaron hasta la idealización.
245
No debe confundirse el empleo del término modelo en la expresión ‘modelo matemático’ (de un
proceso natural o un dispositivo técnico) con la acepción de modelo en el área de la Lógica Matemática,
que se refiere a conjuntos de fórmulas.
246
No se implica que sólo un matemático pueda investigar el modelo, sino que la investigación debe
poder realizarse en términos de los procedimientos que emplearía un matemático: trabajar en el ‘mundo
ideal’ del modelo, no en el ‘mundo real’ de la entidad.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 113
entidad ‘real’ alguna, pero cuyo tratamiento matemático es perfectamente factible. Si bien la
correspondencia inadecuada entre un modelo y la entidad original constituye un peligro
inherente a todo tipo de modelo (ver sección 3.1) el hecho que el modelo matemático esté
definido en forma precisa y pueda prescindir del ente original, facilita el hecho que pueda
emplearse para experimentación con objeto de investigación: el carácter estable y
autocontenido de los modelo matemáticos posibilita estas ‘mutaciones’, las cuales son difíciles
- si no imposibles - de lograr con otro tipo de modelos. En particular, esto constituye una de las
principales propiedades de los modelos matemáticos, que les permite la implementación
computacional, donde las actividades de experimentación se denominan simulaciones (ver
sección 3.4).
Sin embargo, el carácter estable y autocontenido de los modelos matemáticos es a la vez su
fuerza y su debilidad. Su principal potencial es la capacidad y eficiencia para extraer el
máximo de conclusiones a partir de mínimas premisas. Pero su fatal debilidad radica en que
ningún modelo estable y autocontenido - ninguna teoría, por tanto - es capaz de
resolver todos los problemas que surgen en la ciencia, ni siquiera en la propia
matemática. Una confirmación de esta hipótesis la constituyen los teoremas de
incompletitud de Gödel (sección 3.3.5).
Como se menciona al fin de la sección 3.2, la crucial importancia de los resultados de Gödel
es que constituyen limitaciones a la matemática axiomática formal. Estas han sido
reinterpretadas en términos de incomputabilidad de aserciones matemáticas, y de aleatoriedad en
el ‘universo matemático’, en un proceso que abarca prácticamente a todo el siglo XX. A efectos
de su cabal comprensión, se propone en primera instancia una revisión cronológica de estos
hechos, a lo cual se destinan las siguientes secciones, para recién luego definir los sistemas
axiomáticos formales promovidos históricamente por la matemática, y discutir los resultados
de Gödel y sus consecuencias. Puede, no obstante, avanzarse directamente a la sección 3.3.4
salteando el interludio que confiere el contexto histórico, sin que ello represente un
impedimento insoslayable para la comprensión del resto del capítulo.
[ 3.3.3 ] INTERLUDIO HISTÓRICO
[ 3.3.3.1 ] PARADOJAS LÓGICAS: LA CRISIS EN LOS FUNDAMENTOS DE LA MATEMÁTICA
En los más de dos milenios de desarrollo de la matemática desde los Sumerios, Babilonios y
Egipcios hasta nuestros días, la historia registra no una sino varias crisis en la matemática,
acaecidas en distintas épocas de la humanidad [Cha00]. Ya en la antigua Grecia, los
Pitagóricos enfrentaron una de las primeras crisis conocidas, cuando debieron resignarse ante
la conclusión que √2 no es un número racional, es decir, no es un número expresable como
cociente de dos números enteros. Para quienes la racionalidad constituía algo de carácter
supremo, este hallazgo representó una verdadera crisis, cuya memoria fue perpetuada con la
designación de irracional para todos aquellos números que - al igual que √2 o π - no son
expresables ‘en forma racional’247. Superada la desesperación Pitagórica, la siguiente crisis es
promovida por el desarrollo del cálculo infinitesimal, en virtud de la ‘insensatez’ que suponen
los infinitésimos, de concepción denostada por algunos como ‘cuasi teológica’. Aún una nueva
controversia surgirá posteriormente, en el seno de la - para ese entonces, establecida geometría, ante la independencia del postulado de las rectas paralelas y la consiguiente
gestación de geometrías no Euclidianas. Este acto por demás aberrante, constituye un agravio a la
primer teoría axiomática de la matemática, cuya belleza conceptual y utilidad habían sido
probadas y reafirmadas en varias circunstancias 248 desde su concepción por Euclides. Y
247
Según Dantzig (citado en [Cha04], c. V) los Pitagóricos les calificaron originalmente como
‘impronunciables’.
248
En particular en el dominio de la física, con el modelo geométrico del tiempo como una recta orientada,
por Galileo, y con la concepción geométrica del espacio (tridimensional) de la mecánica de >> p. 114
Ingeniería Electrónica – Universidad Católica del Uruguay
114 - [ 3 ] Modelos
culminando con estos dos milenios de sacrificado desarrollo, a poco de iniciado el siglo XX el
edificio de las matemáticas se ve violentamente sacudido una vez más, merced a la aparición
de contradicciones lógicas en la teoría de conjuntos, cuyo nefasto corolario consiste en la
devastadora noción de incompletitud de la obra cúlmine de la matemática de fines del siglo XIX
y principios del XX, los sistemas axiomáticos formales.
Registrada la conmoción inicial, y lejos de ser superada, la crisis de la ‘incompletitud’ fue de
hecho soslayada, continuándose el desarrollo de la matemática en forma tradicional. No
obstante, esta crisis permanece latente en forma más tangible, en términos de la
incomputabilidad de los números reales, y a lo largo del siglo XX, se profundiza hasta decretarse
en forma de aleatoriedad en las mismas raíces de la matemática pura. Por su significación y sus
repercusiones - aún en proceso - se detallan los acontecimientos históricos que dan origen esta
última crisis registrada, la cual conmueve los propios fundamentos de la teoría matemática.
[ 3.3.3.1.1 ] EL INFINITO MATEMÁTICO: LA TEORÍA DE CONJUNTOS INFINITOS DE CANTOR
Hasta el siglo XIX, el infinito entre los matemáticos es ‘sólo una forma de hablar’ - no se
requiere una noción matemática rigurosa del concepto, en tanto alcanza considerar números
‘lo suficientemente grandes’ para el cálculo de límites, sucesiones y series. Sin embargo, el
progresivo empleo de funciones de variable real y compleja, y la emergente teoría de los
números reales (Cauchy, Weierstrass, Dedekind) obliga a la consecución de una definición de
‘conjuntos infinitos’ ([JecXX], p. 1).
La primer noción de conjunto infinito es dada por Cantor circa 1870, y con ello se inaugura
la teoría de conjuntos. Cantor introduce la noción de conjuntos infinitos arbitrarios de números
enteros, y la noción de números transfinitos con sus definiciones de números ordinales y
cardinales – algo que Poincaré denostó como una absoluta insensatez, una ‘enfermedad’ que
esperaba fuese superada con el tiempo. Sin embargo, muchos matemáticos de la época
adoptaron con entusiasmo este encare, dando así nacimiento a la topología y la matemática
abstracta , y de esta manera, se pasa de la matemática de ‘fórmulas’ del siglo XIX a un nivel de
abstracción superior en términos de conjuntos teóricos. Basándose en la definición de
conjuntos infinitos de Cantor249, con escasas excepciones se logran reconstruir casi todos los
conceptos y argumentos matemáticos existentes a la fecha, en términos de la nueva teoría de
conjuntos. Así, la teoría de conjuntos se convierte en un modelo para la reconstrucción de
(casi) toda la matemática, adquiriendo por este motivo una importancia superlativa.
Y precisamente, en este momento en que es considerada asequible la reconstrucción de la
matemática en base a la teoría de conjuntos à la Cantor, se comienzan a detectar antinomias
- contradicciones lógicas - en su seno, y así se establecen las primeras condiciones para la crisis
del siglo XX en las matemáticas. Sin embargo, no es hasta que Bertrand Russell insiste con su
versión de la paradoja de Epiménides que ésta efectivamente se desata.
[ 3.3.3.1.2 ] LA PARADOJA DE RUSSELL
La paradoja de Russell - la única que lleva su nombre, mas no la única que detectó - es la
expresión en términos de la teoría de conjuntos de la llamada Paradoja del Mentiroso,
atribuida al cretense Epiménides en el siglo quinto antes de Cristo. Epiménides habría
afirmado que “todos los cretenses son mentirosos”; siendo él mismo un cretense, de ser verdad
su afirmación entonces se tendría una contradicción; de ser falsa su afirmación, hay al menos
un cretense que no es mentiroso, pero dependiendo de si Epiménides se halla o no en tal
grupo, no se llega a una contradicción en este caso. Así que del sólo dicho de Epiménides, no
siempre se establece una contradicción, sino que - estrictamente - se concluye que hay algún
cretense que no es mentiroso. Sin embargo, atribuyéndole a Epiménides el uso de la primera
<< p. 113 Newton, ambos Euclidianos.
249
Una definición de tipo axiomática, pero con elementos intuitivos (ver sección 3.2.3, p. 108); en este
sentido, de carácter similar a la geometría Euclidiana.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 115
persona del singular, y el tiempo verbal ‘presente’, resultaría “En este momento, estoy
mintiendo”250, y entonces la contradicción es manifiesta, teniéndose así la efectiva Paradoja del
Mentiroso.
La Paradoja del Mentiroso, reformulada por Russell en términos de la teoría de conjuntos,
consiste en definir “el conjunto R de todos los conjuntos que no son miembros de sí mismos”251, y
preguntar por la clasificación de éste conjunto así definido: si R es miembro de sí mismo,
entonces no debiera estar en R - se tiene en este caso una contradicción - y si R no es miembro
de sí mismo, entonces por definición debería estar incluido en R, lo que lo haría miembro de si
mismo - también en este caso se obtiene una contradicción - por lo cual el conjunto R de
Russell es efectivamente paradójica.
R ={a / a∉a} ; ¿ R∈R ?
El elemento esencial que conduce a la contradicción lógica, tanto en la Paradoja del
Mentiroso como en la Paradoja de Russell, consiste en la autorreferencia:
Si bien la Paradoja del Mentiroso puede considerarse como un mero juego de palabras
factible por la imprecisión inherente al lenguaje usual, atinadamente Russell insistió en que
este tipo de inconsistencias en el seno de la teoría de conjuntos252 consistía en un serio problema
lógico que debía ser resuelto sin dilación, puesto que si se admiten este tipo de contradicciones
(es decir, si se permite sean simultáneamente verdaderas la proposición P y su contraria ¬P)
entonces es factible validar cualquier proposición Q253: P → P+Q → (P+Q)·¬P → Q. Así, en la
lógica ‘clásica’, de una contradicción es posible derivar cualquier proposición [SEP03a].
La lógica, inicialmente promovida por Leibniz a fines del siglo XVII, propone que la
matemática - total, o parcialmente - es reducible a la lógica formal. Prima facie aduce que todas
las aserciones matemáticas son factibles de traducción a verdades lógicas (es decir, que el
vocabulario de la matemática es un subconjunto propio del vocabulario de la lógica) y que,
además, es factible reconstruir todas las pruebas matemáticas en términos de pruebas lógicas
(es decir, que los teoremas matemáticos constituyen un subconjunto propio de los teoremas de
la lógica). A fines del siglo XIX, el hecho que gran parte de las matemáticas podían deducirse
de un conjunto relativamente pequeño de nociones primitivas era en general aceptado. Sin
250
Según Podnieks ([Pod97], s. 5.1) esta versión no sería de Epiménides sino de Eubúlides (siglo cuarto
AC); no obstante, en la literatura se la nombra siguiendo al primero, razón por la cual se opta por
introducir la paradoja del mentiroso asociada a Epiménides. El proceso de desarrollo de la Paradoja del
Mentiroso habría culminado en el siglo XIV, cuando Jean Buridan la expresó como “Todas las aserciones
en este folio son falsas” (habiendo de hecho una única aserción, la precedente). En términos actuales, sería
‘p: p es falsa’. Es posible construir versiones que eviten la autorreferencia en forma directa, como ‘p1: p2 es
falsa; p2: p1 es verdadera’. Asimismo, es posible extender la paradoja a lógicas multivaluadas; por ejemplo,
para el caso de tres valores: ‘p: p es falsa, o p no tiene valor lógico’.
251
Esta definición no constituye un dislate: considérese, por ejemplo, (A) un conjunto de seres humanos,
y (B) un conjunto de ideas; el primero no es miembro de sí mismo - un conjunto de seres humanos no es
un ser humano - mas el segundo sí puede considerarse como miembro de sí mismo - un conjunto de
ideas es una idea. Así, el conjunto propuesto por Russell estaría integrado por todos los posibles
conjuntos del estilo del conjunto (A) en este ejemplo. Otro ejemplo de un conjunto tipo (B) puede
obtenerse, por ejemplo, de considerar al conjunto de lo que no son seres humanos.
252
El propio Cantor estaba al tanto de esta paradoja, en virtud de un resultado de su teoría que establece
que para todo conjunto infinito, existe un conjunto más grande, también infinito, que es el conjunto de
todos sus subconjuntos. La paradoja se origina (por autorreferencia) si este argumento se aplica al
conjunto universal, es decir, al conjunto de todos los conjuntos.
253
Aquí, el símbolo “+” denota la operación lógica ‘o’, el símbolo “· ” denota la operación lógica ‘y’, el
símbolo “→” denota la operación ‘implica’ (que devuelve el valor falso sólo cuando en una expresión
A → B es A verdadero y B falso). El argumento es considerado en el contexto de la lógica
matemática clásica (previa a la lógica de Principia Mathematica de Russell y Whitehead). La demostración
en [SEP03a] aduce que el último paso de la cadena se prueba mediante el denominado ‘silogismo de
disjunción’. Véase [PodXX], secciones 2.4 y 4.2.
Ingeniería Electrónica – Universidad Católica del Uruguay
116 - [ 3 ] Modelos
embargo, la idea de Leibniz recién fue desarrollada decisivamente por Frege, quien arribó a las
definiciones necesarias para reconstruir la aritmética en términos lógicos circa 1880 [SEP03b].
En este contexto, la Paradoja de Russell también asestó un severo golpe a la extensa obra de
Frege, hecho registrado en su segundo volumen, en un Apéndice II que el autor debió agregar
prácticamente al momento de la publicación de su trabajo en 1902 254: “Difícilmente nada más
desafortunado puede ocurrirle a un escritor científico que el ver sacudidos los cimientos de su obra luego
de finalizado el trabajo. Esta es la posición en la que he sido ubicado por una carta del Sr. Bertrand
Russell ...”255 ([Pod97], s. 6.1; tomado de Heijenoort, 1967). Luego de veinte años de trabajo, esta
fue la última publicación de Frege. No obstante, la Paradoja de Russell no fue un fracaso
personal de Frege, sino un fracaso del desarrollo matemático histórico, que evidenciaba la
necesidad de postulación de nuevos recursos para el desarrollo de la lógica.
En 1903, tanto Whitehead como Russell - habiendo llegado a la misma conclusión, y
coincidiendo considerablemente en sus investigaciones - comenzaron a colaborar para la
reformulación de la lógica, en base al trabajo de Frege, y en sintonía con la línea de Peano. En
casi una década de trabajo, elaboran una obra monumental de tres volúmenes, publicados en
1910, 1912 y 1913, la cual resultó a la postre una de las más importantes del siglo XX: “Principia
Mathematica”.
Con Principia Mathematica, Whitehead y Russell reconstruyen partes fundamentales de la
matemática - incluyendo la aritmética - como un sistema deductivo256, partiendo de un conjunto
finito de axiomas y donde cada teorema deriva, lógicamente, de los axiomas y teoremas
precedentes siguiendo un conjunto finito de reglas de inferencia [BraXX]. Sin embargo, el
objetivo principal de “Principia Mathematica” suscitó varias controversias, fundamentalmente
en virtud de ciertas suposiciones que Russell y Whitehead debieron adoptar para realizar su
trabajo. Particularmente, el axioma del infinito fue considerado de carácter más empírico que
lógico, y el axioma de reducibilidad - incorporado para evitar paradojas como la de Russell demasiado ad hoc. En consecuencia,
la cuestión de si la matemática podría ser reducida a la lógica, o si sólo podría ser
reducida a la teoría de conjuntos, permaneció abierta.
Sin embargo, “Principia Mathematica” - con su notación sensiblemente superior a la de Frege,
y por tanto capaz de conferir adecuadamente el poder expresivo de la lógica de predicados logró exhibir la potencialidad de la idea de los sistemas deductivos formales, sentando las
bases de lo que sería la meta-lógica257. Mostró, además, las relaciones entre lógica, metafísica, y
epistemología, con lo cual introdujo un amplio espectro de nociones filosóficas. Y así también
preparó la escena para el descubrimiento de los resultados meta-teóricos de Gödel, algunos
años después258 [SEP03b].
[ 3.3.3.2 ] ESTRATEGIAS PARA LA RESOLUCIÓN DE LA CRISIS EN LA LÓGICA
La crisis detectada por Russell en los fundamentos de la lógica se propaga a los fundamentos
de la matemática, que para entonces se hallaba reconstruida sobre la lógica, vía la teoría de
conjuntos. Así, el problema a resolver es la inconsistencia de la teoría de conjuntos de Cantor.
254
Nótese la fecha: aunque cercana, es posterior a Cantor.
255
Texto traducido del original, en inglés. Ver nota 54, p. 39.
256
El concepto de sistema deductivo se precisa en la sección 3.3.4.
257
En su tesis doctoral, Post demostró la completitud y consistencia del cálculo proposicional descrito en
“Principia Mathematica”, mediante la introducción del método de ‘tablas de verdad’ que - originalmente usaba dos valores, ‘verdadero’ y ‘falso’.
258
Circa 1920, Post llegó a resultados similares a que de Gödel, Church y Turing arribarían más
adelante, pero no los publicó por considerar que requerían un análisis más completo. ([PodXX], s. 4.2,
tomado de “Mac Tutor History of Mathematics archive” URL: http://www-history.mcs.standrews.ac.uk/history/).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 117
Al respecto de las inconsistencias en su teoría, el propio Cantor había propuesto como
solución el restringir los axiomas a aquellas instancias que no produjesen contradicciones. Sin
embargo, Zermelo mejora esta idea, proponiendo el empleo de sólo aquellos axiomas
necesarios para la reconstrucción de los conceptos matemáticos usuales259. En otras palabras,
Cantor propone no usar aquellos conceptos que dan lugar a contradicciones, mientras que
Zermelo propone reconstruir sólo lo útil de la teoría matemática ([Pod97], s. 2.3). La idea de
Zermelo prospera, y para 1920 quedaría establecido el sistema de axiomas de ZermeloFraenkel para la teoría de conjuntos, aceptado como la fundación lógica de las matemáticas 260
([JecXX], p. 3).
El sistema axiomático de Zermelo-Fraenkel, a diferencia del Cantoriano, es consistente261. La
mayoría de sus axiomas son esencialmente principios de construcción que formalizan la
operativa con conjuntos. Sin embargo, dos de sus axiomas - el axioma de infinitud, y el axioma de
elección - son una excepción. El primero postula la existencia de conjuntos infinitos
- equivalentemente, el conjunto N de los números naturales - y es la esencia de la teoría de
conjuntos262. El segundo, de carácter altamente no constructivo263, postula la existencia de
‘funciones de elección’ sin especificar su descripción. Sin embargo, la proposición de otros
axiomas - el axioma de determinismo, y el axioma de constructibilidad - causan conflictos al ser
aplicados en lugar del axioma de elección, puesto que con cada uno se da origen a una nueva
teoría de conjuntos, consistente, pero incompatible con las restantes264. Así, la idea de corte
Platonista de un ‘mundo ideal de los conjuntos’ no sólo es privada de la unicidad, sino que sus
diferentes manifestaciones ni siquiera resultan equivalentes. Se tiene entonces que, aunque
consistente, el sistema de axiomas ZF no parece alcanzar como fundación única para la
matemática.
En este contexto, la reacción ante la crisis iniciada por las contradicciones lógicas en la teoría
de conjuntos se manifestó siguiendo dos filosofías diferentes: el constructivismo de Brouwer, y
la formalización total de Hilbert.
[ 3.3.3.2.1 ] CONSTRUCTIVISMO O INTUICIONISMO
Poincaré y Kroneker, entre otros, ya habían expresado su desaprobación a los métodos
‘idealistas’ en la matemática, pero es recién con la tesis doctoral de Brouwer en 1907 que la
matemática ‘constructiva’ se emprende sistemáticamente.
259
Nótese el problema de la reconstrucción de un modelo en términos de otro (sección 3.2.3, p. 109).
Igualmente, la idea de Zermelo adolece del inconveniente que representa la posible existencia de
conceptos aún no descubiertos en las formulaciones matemáticas previas a la teoría de conjuntos. De
manifestarse a posteriori ¿serán también pasibles de reconstrucción en el nuevo modelo? De hecho, la
posterior formalización de Zermelo - Fraenkel, amén de distinta forma, difiere de la teoría de Cantor en
algunos contenidos ([Pod97], s. 1.3).
260
Es un conjunto de axiomas (postulados) y esquemas de axiomas (‘formatos’ para postulados;
comprenden a conjuntos de axiomas) que determinan el uso de conjuntos en las matemáticas.
261
Al menos, hasta la fecha de redacción de este documento.
262
Si se reemplaza este axioma por su negación, se obtiene una teoría equivalente a la a la aritmética de
Peano, la teoría axiomática numérica elemental.
263
La noción de ‘constructivo’ en matemáticas se confiere en la sección 3.3.3.2.1.
264
Posteriormente, se demuestra (Gödel, Cohen) que estos axiomas son independientes del resto de los
axiomas de Zermelo - Fraenkel, con lo cual se justifica el origen de diferentes teorías de conjuntos, en
forma similar a como la independencia del postulado de las paralelas - independiente a los restantes
postulados Euclidianos - da origen a geometrías no Euclidianas. De aquí la diferenciación que se hace
entre ZF y ZFC (este último por Zermelo - Fraenkel más el axioma de elección, ‘Axiom of Choice’ en
inglés).
Ingeniería Electrónica – Universidad Católica del Uruguay
118 - [ 3 ] Modelos
De acuerdo a la filosofía de Brouwer, denominada Intuicionismo, la matemática es
una creación libre de la mente humana, y por tanto, un objeto matemático existe
solamente si puede ser construido mentalmente265.
Prima facie, Brouwer aduce que las antinomias epistemológicas detectadas por Russell en la
teoría de conjuntos se deben al hecho que la matemática precede a la lógica. Propone que - al
revés de lo supuesto hasta la fecha, desde Leibniz a Frege - la lógica surgió, por abstracción, de
las matemáticas de los conjuntos finitos y sus subconjuntos propios. Así, según Brouwer, el
error consistió en aplicar la lógica a conjuntos infinitos olvidando su origen matemático y finito, no
pareciéndole entonces sorprendente el surgimiento de las paradojas, sino su demora en
aparecer.
La matemática constructiva se diferencia de la matemática clásica (tradicional) por su estricta
interpretación del cuantificador ‘existe’ en la forma ‘se puede construir’. Para trabajar en
forma ‘constructiva’ se deben reinterpretar el cuantificador de existencia y todos los otros
cuantificadores y conectores lógicos, como instrucciones para construir la prueba de la proposición
lógica que los emplea. En particular, las demostraciones por reducción al absurdo (‘reductio ad
absurdum’) son inadmisibles desde el punto de vista constructivista266 ([Cha99], c. 1).
El problema radica en el Principio del Tercero Excluido267 de la lógica
clásica - que establece que cualquier proposición matemática es ‘verdadera’, o bien
lo es su contraria, no admitiéndose una tercera opción - el cual permite
demostraciones indirectas, no constructivas, como la ‘reducción al
absurdo’268. En esencia, la lógica intuicionista se obtiene de la clásica
eliminando este axioma ([PodXX], s. 1.3).
El problema con el Principio del Tercero Excluido (el axioma ‘P o ¬P’ de la lógica clásica)
tiene dos facetas. Por ejemplo, si se produce alguna contradicción por suponer que
determinada propiedad P vale para todas las entidades de un cierto conjunto, el Principio del
Tercero Excluido permite concluir que entonces existe al menos una entidad del conjunto que
no posee la propiedad P, sin necesidad de dar instrucciones para construir la prueba de esa aserción.
Por otro lado, una proposición como ‘(0 ÷ 0 = 1) o ¬(0 ÷ 0 = 1)’ es un teorema en la teoría clásica
(es verdadera como directa aplicación del Principio del Tercero Excluido) pese a que por
separado ninguna de ‘(0 ÷ 0 = 1)’ y ‘¬(0 ÷ 0 = 1)’ son teoremas ni tampoco anti-teoremas en la
teoría clásica (son construcciones carentes de sentido en el sistema aritmético, donde la
división por 0 no está definida)269.
265
En principio, no interesa si la construcción de un objeto matemático es imposible desde el punto de
vista práctico; no importa, por ejemplo, si el cálculo de un ente matemático pudiese demorar un tiempo
inaceptablemente largo, sino que sólo interesa que en teoría el cálculo se pueda efectuar, es decir, si se
explicita la manera de efectuar el cálculo.
266
Ver nota 268, p. 118.
267
‘The Law of the Excluded Middle’ en la literatura angloparlante; ‘Tertium non datur’ en latín.
268
Las demostraciones por reducción al absurdo se basan en el principio del tercero excluido: si suponer
que P es ‘verdadero’ permite deducir alguna proposición absurda (una contradicción) entonces la
consistencia del sistema obliga a admitir que P no es ‘verdadero’ como se supuso (es decir, debe
concluirse que la suposición P = ‘verdadero’ es incorrecta) - pero, en principio, esto no implica que el
opuesto, ¬P, sea ‘verdadero’; que automáticamente se asuma ¬P = ‘verdadero’ es resultado de la aplicación del
principio del tercero excluido.
Cabe notar que muchos de los resultados aceptados de la matemática clásica se han obtenido en base a
la lógica bi - valuada, por lo cual no puede asumirse la existencia de más de dos valores de verdad para
ciertos casos de algún dominio, y proceder al empleo de la forma convencional de la matemática en el
resto de los casos del dominio, sin verificar la compatibilidad de este proceder. En particular, de acuerdo
al argumento que da inicio a esta nota, los resultados de la matemática clásica obtenidos por el método
de reducción al absurdo fallan cuando existen más opciones que ‘verdadero’ y ‘falso’ (lógicas
multivaluadas).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 119
Como concepto, esto fue introducido por Brouwer en 1908 270, y como sistema formal, por
Heyting en 1930 271, en la usual forma de axiomas para la interpretación ‘constructiva’ de la
lógica, que por ende se designan Axiomas de la Lógica Intuitiva. Esta interpretación de la
lógica habilita a las matemáticas computables. La idea de Brouwer fue reformulada por Markov,
en lo que se ha denominado matemática constructiva recursiva, que - en esencia - es una teoría de
funciones recursivas con lógica intuicionista. Más adelante, Bishop logra una nueva
reformulación de forma tal que puede ser interpretada en términos de las anteriores. A pesar
de las críticas, puede verse que quienes practican el constructivismo de Bishop están, de hecho,
haciendo matemáticas con lógica intuicionista. Por lo que, aparentemente, la matemática
algorítmica es equivalente a la matemática que emplea exclusivamente la lógica intuicionista.
La lógica intuicionista habilita a las matemáticas computables o
algorítmicas. Los matemáticos constructivistas pueden trabajar con la seguridad
que les brinda la lógica intuicionista, la cual se encarga automáticamente de cuidar
las decisiones inadmisibles desde un punto de vista computacional272 [SEP03c].
Sin embargo, no fue la propuesta de Brouwer la adoptada por los matemáticos de la época,
quienes en cambio adhirieron a la propuesta de Hilbert, que seguía la línea formalista
tradicional en matemáticas, iniciada ya por Euclides, y continuada por Leibniz, Boole, Frege y
Peano en épocas más cercanas.
[ 3.3.3.2.2 ] FORMALISMO
Un elemento esencial en la filosofía formalista de Hilbert estaba presente en su famosa
lectura de 1900, donde formuló una lista de 23 problemas como desafíos para el siglo XX que
recién comenzaba. La sexta pregunta estaba relacionada con la axiomatización de la física, y
uno de los puntos en esta cuestión se refería a la teoría de las probabilidades, porque para
Hilbert, la probabilidad era una noción proveniente de la física, una noción que tenía que ver con el
mundo real. Subyacente - a tal punto que no fue formulado entre las 23 preguntas de su lectura
de 1900, aunque luego sí fuera planteado como problema a estudiar - reside la creencia que toda
proposición matemática es decidible: la matemática es ‘determinista’, no se trata de cuestiones
aleatorias a describir en términos probabilísticos. Su idea, de carácter evidentemente Platónica,
era que para cada proposición matemática correctamente planteada, hay una única respuesta
- la proposición se puede probar, o se puede refutar (probar su contraria) - y el hecho que en
ciertos casos no se conozca una respuesta, se debe a nuestras limitaciones o nuestro trabajo aún
insuficiente en la materia, y no a que esta respuesta no exista en el ‘mundo ideal’ de las
matemáticas [Cha89].
Respecto al constructivismo impulsado inicialmente por Brouwer, Hilbert consideraba que la
lógica intuicionista en que se basaba imponía restricciones demasiado severas a la matemática
como para permitirle un desarrollo fructífero. Por el contrario, su propuesta acorde a la línea
filosófica Platónica promovió una extensión del método tradicional.
Ante la aparente deficiencia del sistema axiomático de ZF como fundamento para la
matemática, la idea de Hilbert es la búsqueda y consecución de un sistema
269
Nótese aquí la ‘validez estructural’ que confiere el axioma ‘P o ¬P’ de la lógica clásica, pese a la
‘invalidez del contenido’ tanto de ‘P’ como de ‘¬P’. Se infiere, ya desde aquí, la crucial importancia de
diferenciar entre sintaxis y semántica en relación a la validez de un resultado matemático.
270
L.E.J. Brouwer, “De onbetrouwbaarheid der logische principes”, Tijdschrift voor Wijsbegeerte, 2 (1908)
pp.152-158; in Dutch - “The unreliability of the logical principles”. (Tomado de [PodXX], s. 1.3).
271
A. Heyting, “Die formalen Regeln der intuitionistischen Mathematik” Sitzungsberichte der Preussischen
Akademie der Wissenschaften, Physikalisch - mathematische Klasse, 1930, pp.42-56. (Tomado de
[PodXX], s. 1.3).
272
Computacional, en el sentido de calculable (nótese que el origen del computador electrónico, tal como se
lo conoce a la fecha, es posterior - aunque su concepción intelectual no fue tan posterior; véase la sección
3.3.6.1).
Ingeniería Electrónica – Universidad Católica del Uruguay
120 - [ 3 ] Modelos
axiomático completo y consistente para toda la matemática, donde toda
proposición sea formalmente decidible, es decir, un sistema axiomático tal que
permita determinar sin ambigüedad la prueba o refutación de cada teorema derivado
de los axiomas ([JecXX], p. 5).
•
consistente: implica el uso de la proposición ‘P o ¬P’ en el sentido de la lógica clásica: no
pueden ser ambos P y ¬P verdaderos simultáneamente, pero se aceptan demostraciones no
constructivistas273 274.
•
completo: significa que P o ¬P es siempre decidible, es decir, siempre se puede demostrar P, o
¬P, no cabiendo la posibilidad de indecisión o indeterminación.
•
formal: existe un procedimiento de decisión para demostrar bien P, o bien ¬P, cuestión
siempre posible en virtud de la completitud del sistema.
La idea de Hilbert es una extensión de la tradición formalista de la matemática en dos
aspectos. En primer lugar, exige la eliminación de la ambigüedad que supone el lenguaje natural,
mediante el empleo de lenguajes artificiales, absolutamente precisos, para cuya formulación se
apoya en la maquinaria sintáctica de la lógica simbólica de Frege, Russell y Whitehead. De esta
forma, el propio conjunto de axiomas finitos sobre los que ha de fundarse la matemática, y la
expresión de todo teorema derivado de los axiomas, deben ser expresados en este lenguaje
artificial e inambiguo. En segundo lugar, exige el establecimiento de reglas de deducción
absolutamente claras y precisas, de forma tal que todo teorema pueda ser verificado mediante un
procedimiento ‘mecánico’, en el sentido de ‘procedimiento de cálculo rutinario, preestablecido’.
En otras palabras, se parte de los axiomas - expresados en lenguaje artificial - se aplican, una a
una, las reglas de inferencia - como se procede en la lógica simbólica - y así, mecánicamente 275,
se deducen todos los teoremas a partir de los axiomas, los que quedan expresados en una
gramática perfecta. “Estos ingredientes se encuentran ya en Euclides, excepto que algunos de sus
axiomas eran tácitos, algunos pasos en sus demostraciones eran omitidos, y él usaba el Griego en lugar
de lógica simbólica, en otras palabras, un lenguaje humano, no un lenguaje de máquina.”
([Cha04], cap. II).
El formalismo propuesto por Hilbert consiste en eliminar de la matemática el
razonamiento intuitivo y las ambigüedades del lenguaje natural u ordinario,
mediante la utilización de un lenguaje artificial preciso, reglas de deducción
precisas, y un procedimiento ‘mecánico’ para el chequeo de los teoremas,
que permita decidir si estos efectivamente derivan de los axiomas fundacionales
- que son expresados en lenguaje artificial, preciso - siguiendo las reglas de
inferencia preestablecidas. Propugna el empleo de la lógica simbólica elaborada
por Frege, Russell y Whitehead, para crear el lenguaje artificial para el
razonamiento matemático, es decir, la deducción. Para Hilbert, la factibilidad
de su propuesta se debe a que los teoremas son cuestiones puramente
sintácticas, estructurales, e independientes de la semántica. Así, la
designación de formal enfatiza que ningún paso del razonamiento puede efectuarse
sin referirse a la lista de axiomas y reglas de inferencia establecidas para la teoría276.
273
Estrictamente la consistencia no garantiza que un sistema sea correcto, sino solamente que no alberga ni
genera contradicciones. Sin embargo, de los argumentos de Hilbert en favor de su propuesta, algunos
autores infieren que su intención persigue la corrección del sistema.
274
Note que el interés en la consistencia del sistema no solamente radica en que las contradicciones son
indeseables: un sistema inconsistente resulta completamente inútil. Si un sistema es inconsistente, a partir
de una única contradicción, la lógica clásica permite validar cualquier proposición, o equivalentemente,
deducir que todo es falso (véanse las referencias citadas en la nota 253).
275
Implica que cada paso en la deducción debe honrar explícitamente las reglas de inferencia; no puede
efectuarse ningún paso del razonamiento, por más pequeño que sea, sin ceñirse estrictamente a por lo
menos una regla de inferencia. Este punto es perfectamente comprendido por Turing, quien propone su
autómata para tales efectos (sección 3.3.6).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 121
La pretensión de Hilbert de conseguir un sistema axiomático para toda la matemática
presenta serias dificultades de tipo práctico. Prima facie, el conjunto de todos los teoremas
deducidos de un conjunto de axiomas finito es, potencialmente, infinito. Por ende, la
consistencia de un sistema axiomático no puede ser estudiada en forma empírica, sino sólo por
medios teóricos, es decir, se requiere una teoría para validar o falsificar la consistencia de un
sistema axiomático. En consecuencia, el alcance de la propuesta de Hilbert exacerba el
problema: ¿que tipo de teoría se requiere para probar la consistencia del sistema axiomático sobre el que
se funda la matemática entera? Una demostración en base a métodos poco confiables carecería de
valor probatorio; claramente los métodos de razonamiento a emplearse para la demostración
de la consistencia de un sistema axiomático deben ser más confiables que los métodos de
razonamiento por los cuales se derivan los teoremas desde el sistema axiomático en cuestión277.
Sin embargo, si la teoría en cuestión es la matemática, no se dispone de mejor herramienta que
la propia matemática para este propósito. Entonces, ¿como probar la consistencia de la teoría
matemática entera, en base a métodos de la propia matemática? La única solución factible a estos
inconvenientes es emplear, exclusivamente, los métodos confiables de la propia teoría
matemática.
El programa de formalización total de Hilbert presenta varios inconvenientes. En
virtud del conjunto potencialmente infinito de teoremas derivables de un sistema
finito de axiomas, la consistencia de este último no puede ser validada más que en
forma teórica. La teoría a emplearse para validar la consistencia del sistema
axiomático del que deriva la matemática entera, requeriría métodos más confiables
que los propios métodos matemáticos. No disponiéndose en matemáticas más que de
la propia matemática como teoría ‘más confiable’, la consistencia del sistema
axiomático sobre el que se funda la matemática requiere el empleo de los
propios métodos matemáticos, de los que se deberían, entonces, emplear
solamente aquellos ‘absolutamente confiables’.
En la época de Hilbert, se consideraba que el razonamiento aritmético (discreto) - que sólo
emplea números naturales u objetos ‘discretos’ similares - era la rama de máxima
‘confiabilidad’ en matemáticas. Naturalmente, la intención de Hilbert era la validación del
sistema axiomático fundacional de la matemática usando un subconjunto del razonamiento
aritmético. Necesariamente, debía incluirse el Principio de Inducción, en virtud de la cantidad
infinita de posibles teoremas derivables del sistema axiomático. Sin embargo, esto fue objetado
en 1908 por Poincaré, quien consideraba inviable probar la consistencia de las matemáticas
mediante la principal herramienta de la aritmética - el Principio de Inducción - puesto que ello
daría lugar a un argumento ‘circular’: la consistencia de las matemáticas implicaría la de la
aritmética, y con ello, la consistencia del propio principio de inducción278.
No obstante las dificultades de índole práctica, el trabajo de Frege, Russell y Hilbert muestra
que la axiomatización de una teoría matemática - la completa eliminación de la intuición, su
reducción a un conjunto de axiomas y reglas de inferencia - es factible, inclusive para las
teorías más complicadas ([Pod97], s. 1.4; [PodXX], s. 1.1). El hecho interesante es que si se
establece un sistema de axiomas, a la vez consistente y completo (ver p. 120) entonces siempre se puede
establecer un procedimiento de decisión279 [Cha89]. Este es el caso de la aritmética de Presburger 280,
276
Se sugiere revisar en este punto la sección 3.2.2, teniendo presente que el formalismo à la Hilbert
consiste en contar con un mecanismo de chequeo automático de teoremas, la consecución de los cuales
se debe a un proceso estrictamente deductivo a partir de los axiomas.
277
Nótese que esto sugiere, en cierta manera, el empleo de métodos genéticos (sección 3.2.3).
278
El argumento circular radica en la propia idea de Hilbert, de probar la consistencia de la matemática
por medio de la propia matemática (parte de ella, la aritmética de Peano). El énfasis de Poincaré en el
Principio de Inducción radica en que este es un componente fundamental de la aritmética de Peano, y es
una suposición muy discutible.
279
Ver sección 3.3.4.
Ingeniería Electrónica – Universidad Católica del Uruguay
122 - [ 3 ] Modelos
hecho que profundizó en Hilbert la confianza en la factibilidad de su ambicioso plan
– ambición que Gödel, en 1931, demostraría ser inviable ([Pod97], s. 3.1).
La intención de Hilbert era validar la consistencia del sistema axiomático
para la matemática entera mediante la ‘absolutamente confiable’
aritmética elemental. Esta idea fue objetada por Poincaré por considerarla un
argumento circular - se usaría fundamentalmente el Principio de Inducción281 para
la validación de la consistencia de la matemática, lo que implica la validez de la
aritmética (y así del propio Principio de Inducción). La relevancia de esta intuición
no fue captada, sin embargo, hasta 1930, cuando Gödel anunció que Poincaré
estaba en lo cierto: no es factible una prueba fehaciente de la consistencia
de partes esenciales de la matemática ([Pod97], s. 1.5) (ver sección 3.3.5).
Cabe notar que la propuesta de Hilbert, al prescribir la renuncia del significado, permite
contemplar la matemática como un mero juego de símbolos sobre un papel 282, del cual se pueden
deducir teoremas a partir de los axiomas mediante manipulación de símbolos
([Cha02a], p. 166). De aquí la noción cotidiana de la matemática - “El sistema simbólico de las
matemáticas está encarnado en una enorme máquina de pensar que, cuando se le suministra un
enunciado, produce una solución sobre la base de un proceso fijo de concatenación de símbolos que
hubiera sido difícil de prever.” ([Ber93], p. 269). Esta reducción del razonamiento matemático a un
cálculo despojado de significado, convierte a la matemática en un objeto combinatorio, una
serie de reglas para jugar con combinaciones de símbolos, y en consecuencia admite el uso de
métodos matemáticos para estudiar la propia matemática ([Cha99], c. 1). Así, Hilbert inaugura la
meta-matemática, o el estudio de lo que la matemática es capaz de hacer y conseguir: el estudio
de las limitaciones de la matemática.
La meta-matemática, promovida fundamentalmente por Hilbert como
manera de confirmar la potencialidad de la matemática, como una manera
de perfeccionar el método axiomático, como una forma de eliminar toda
duda, acabó siendo en ese sentido, un fiasco: precisamente en el contexto
de la meta-matemática es que Gödel, en 1931, prueba que la idea de
formalización completa de Hilbert es imposible de alcanzar 283.
Prima facie, este auto examen promovido por Hilbert sólo sirvió para profundizar la crisis a la
que intentaba resolver. Sin embargo, dio un fruto inesperado, cuyo indiscutible éxito se puede
apreciar actualmente como un producto tecnológico de extrema utilidad: el computador.
“A fin de cuentas resultó que no es posible formalizar el razonamiento matemático.
por lo que en ese sentido su idea fue un fracaso tremendo. Sin embargo, desde
otra perspectiva, la idea de Hilbert fue un éxito, porque el formalismo ha
sido uno de los más grandes períodos de bonanza del siglo XX - no para
razonamientos matemáticos o deducción, sino para programación, para
cálculo, para cómputo. Este es un fragmento olvidado de la historia
intelectual.”284 ([Cha02a], p. 164). Adicionalmente, llevó al descubrimiento de
nuevos
conceptos
fundamentales
- completitud
e
incompletitud,
computabilidad e incomputabilidad, complejidad y aleatoriedad - que en la
280
Mojzesz Presburger, 1929. La aritmética de Presburger es la aritmética de Peano sin la operación de
multiplicación: {N, +}.
281
El empleo de la aritmética lo implica; ver nota 278, p. 121.
282
Hoy día, esto puede asimilarse como un juego con cadenas de caracteres en un computador.
283
Cabe notar que pese a la controversia en torno al Principio del Tercero Excluido - rechazado por los
constructivistas - este principio no tiene relación alguna con la viabilidad del programa de Hilbert: los
mismos problemas lógicos surgen con o sin el Principio del Tercero Excluido. (Tomado de
http://people.cs.uchicago.edu/~odonnell/OData/Courses/22C:096/Lecture_notes/Hilbert_program.html). De hecho,
el trabajo de Gödel es estrictamente constructivista.
284
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 123
segunda mitad del siglo XX se han desarrollado como nuevos y fértiles campos de la
matemática ([Cha99], c. 1).
Conferido el contexto histórico, se da por finalizado el interludio de esta sección 3.3.3, y se
procede a definir en forma concisa el concepto de sistema axiomático formal à la Hilbert
(sección 3.3.4) sobre el cual se edifica la matemática del siglo XX. La modestia impuesta por
Gödel a esta filosofía se discute en la sección 3.3.5, y la extensión de sus resultados de
incompletitud en términos de incomputabilidad (Turing) y aleatoriedad (Chaitin) se efectúa en
la sección 3.3.6.
[ 3.3.4 ] SISTEMAS AXIOMÁTICOS FORMALES
En la concepción de Podnieks [Pod97] (sección 3.3.2) la naturaleza del método matemático
consiste en la investigación de modelos estables y autocontenidos, de los cuales se pueden
extraer el máximo de conclusiones a partir de las mínimas premisas. La característica de
estabilidad de los modelos matemáticos a la vez requiere y permite que el refinamiento de un
modelo matemático consista en la creación de un nuevo modelo, estable como el que lo origina.
Estos modelos a los que se refiere Podnieks se corresponden con sistemas axiomáticos formales
à la Hilbert, cuyo origen y motivaciones históricas se confieren en la precedente sección 3.3.3.
Es posible, actualmente, definir los sistemas axiomáticos formales à la Hilbert en términos no
disponibles a la fecha de su concepción: computador y algoritmo. Y es posible hacerlo puesto que
estos conceptos son consecuencias prácticas del formalismo à la Hilbert, como se discute en la
sección 3.3.6.1.
“Puede parecer sorprendente para un matemático, pero la definición general más exacta de ‘formal’ no
menciona ni axiomas, ni reglas de inferencia. Puede ser mejor formulada en términos de la teoría de
algoritmos (o funciones recursivas):
una teoría T se denomina teoría formal, si - y sólo si - se dispone de un
algoritmo (es decir, un procedimiento computacional aplicable
mecánicamente) para chequear la corrección del razonamiento vía los
principios de T.
Esto significa que cuando alguien va a publicar un ‘texto matemático’ llamándolo ‘la prueba de un
teorema de T’, debemos poder chequear mecánicamente si el texto en cuestión es realmente una prueba
de acuerdo a los estándares de razonamiento aceptados en T. Así, en las teorías formales, los estándares
de razonamiento deben ser definidos en forma lo suficientemente precisa como para permitir el chequeo de
pruebas mediante un programa computacional. (Nótese que estamos discutiendo aquí el chequeo de
teoremas consumados, y no el problema de si una proposición es decidible o no).”285 286 ([Pod97], s. 1.4;
[PodXX], s. 1.1).
La relación entre los sistemas formales à la Hilbert y los procedimientos computacionales
radica en la generación de estructuras simbólicas mediante reglas formales (sintácticas) es decir,
independientes del significado (semántica) de los componentes287. Una definición de sistemas
formales en estos términos se presenta en [HS95]:
•
Lenguaje formal: conjunto de expresiones construidas a partir de un conjunto finito de símbolos
abstractos (alfabeto) cuya descripción es efectuada por una gramática.
•
Gramática formal: describe una forma de generar las palabras del lenguaje, a partir del
alfabeto, por medio de reglas formales o producciones u → v, cuyo significado es la sustitución
285
Texto traducido del original, en inglés. Ver nota 54, p. 39.
286
La aclaración de Podnieks, que aduce no estar discutiendo el problema de si una proposición es
decidible o no, está motivada por los teoremas de indecisión e incompletitud de Gödel, que se discuten
en la sección 3.3.5.
287
Revísese la sección 3.2, y considérense los argumentos acerca de modelos matemáticos informales y
formales en función de la presente definición de sistema formal (matemático).
Ingeniería Electrónica – Universidad Católica del Uruguay
124 - [ 3 ] Modelos
aub → avb288 289. Adicionalmente a los símbolos del alfabeto, las reglas pueden incorporar
variables 290.
•
Sistema formal: lenguaje formal dotado de una operación de consecuencia, que en su forma
más general es una transformación entre expresiones (subconjuntos) del lenguaje. Si la
consecuencia de un conjunto se puede obtener de un subconjunto finito del propio
conjunto, entonces el sistema formal se designa sistema deductivo.
•
Sistema deductivo: sistema formal donde las transformaciones entre subconjuntos del
lenguaje se conciben como relaciones entre algunos subconjuntos designados premisas, y un
subconjunto denominado conclusión. Si se carece de premisas, el subconjunto conclusión se
designa axioma. Estas relaciones son llamadas reglas de inferencia, y al igual que la operación
de consecuencia, definen un conjunto de reglas respecto de las cuales el sistema deductivo
puede ser considerado un sistema basado en reglas 291.
•
Cálculo lógico: sistema deductivo para el cual se especifican los medios por los cuales se
construyen las expresiones (como conectores lógicos, cuantificadores) y las reglas mediante las
cuales se generan las inferencias. En un cálculo lógico, las expresiones se designan
usualmente como fórmulas. Las reglas de inferencia permiten transformar fórmulas en otras
fórmulas.
•
Sistema formal tipo Frege-Hilbert: variedad de cálculo lógico para los cuales se especifica
un conjunto de fórmulas iniciales (axiomas) y el conjunto de reglas de inferencia. Usualmente la
lista de axiomas es relativamente extensa, y los principios de inferencia son sólo unos
pocos292. La relación de consecuencia dada por el operador de consecuencia se denomina
‘derivación a partir de las suposiciones’.
Así, lo que en este documento se ha denominado simplemente como “sistema formal”, es un
Sistema Formal tipo Frege-Hilbert en base a la definición dada en [HS95], que usualmente es
referido como Sistema Axiomático Formal 293.
En esencia, un Sistema Axiomático Formal es una variedad de Cálculo Lógico
dotado de fórmulas iniciales y reglas de inferencia - un lenguaje simbólico, cuyas
expresiones son construidas a partir de un conjunto de símbolos y
expresiones iniciales mediante reglas de manipulación de símbolos, y
reglas de inferencia dadas por operaciones de transformación entre
subconjuntos de expresiones.
Para demostrar que en un sistema deductivo cada teorema deriva de los axiomas siguiendo
las reglas de inferencia, se necesitan considerar las fórmulas con las que se representan los
axiomas y teoremas del sistema, y representar las reglas de inferencia por reglas ‘mecánicas’, de
acuerdo a las que - a partir de una o más fórmulas - se obtiene otra fórmula por manipulación de
288
Los caracteres u y v se resaltan en negrillas sólo a efectos de facilitar la comprensión de la sustitución
que indica la producción; la tipografía no tiene ninguna connotación sintáctica. (El conjunto {a,b,u,v} está
incluido en el alfabeto).
289
El cómputo de una máquina de Turing (ver sección 3.3.6.1) puede ser descrito mediante una
gramática formal; recíprocamente, la generación de palabras en una gramática formal puede ser
simulada por una máquina de Turing.
290
Las llamadas gramáticas libres de contexto (‘context - free’, en inglés) son aquellas donde las reglas
(producciones) tienen siempre una única variable del lado izquierdo. Son empleadas en la generación de
lenguajes artificiales, especialmente los lenguajes de programación.
291
Los sistemas basados en reglas, al igual que las gramáticas, son tan potentes como una máquina de
Turing, y por tanto, pueden emplearse para expresar cualquier algoritmo.
292
En la lógica proposicional usual, sólo ‘modus ponens’: P → Q, P |- Q. (El símbolo ‘|-’ significa prueba,
demuestra; el símbolo ‘→’ es de implicancia. El esquema axiomático ‘Modus ponens’ establece entonces que
la implicancia permite validar; una cadena de implicancias P → P1 → ... → PN → Q puede expresarse como
P |- Q).
293
FAS, en la literatura de habla inglesa; acrónimo de ‘Formal Axiomatic System’.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 125
símbolos. Así, esta representación de un sistema deductivo consistirá de una secuencia de
fórmulas (un cálculo lógico) en el cual las fórmulas iniciales expresan a los axiomas del sistema
deductivo, y cada una de las otras fórmulas - que expresan a los teoremas - se obtienen de las
iniciales por una secuencia de manipulaciones simbólicas.
Una secuencia (válida) de manipulaciones simbólicas en un cálculo lógico
se corresponde con, y representa a, la concatenación de deducciones en el
sistema deductivo correspondiente.
La correspondencia entre un cálculo lógico y un sistema deductivo puede verse al revés, y es de la
forma en que Hilbert originó la meta-matemática. Hilbert construye un cálculo lógico
independientemente de cualquier interpretación, como una secuencia de fórmulas que comienza con
pocas fórmulas iniciales, y en donde toda otra fórmula se obtiene de las precedentes mediante
manipulaciones simbólicas. El cálculo puede ser interpretado como representación de un
sistema deductivo, cuando resulta posible interpretar a las fórmulas iniciales como expresión
de los axiomas del sistema deductivo, y cuando resulta posible interpretar a las reglas de
manipulación simbólica como las reglas lógicas de inferencia del sistema deductivo. De ser
posibles las precedentes interpretaciones, la prueba de que una fórmula (cualquiera que no sea de
las iniciales) es producida en la secuencia de fórmulas del cálculo, otorga una prueba de que la
proposición a la que representa (la proposición que es la interpretación de esa fórmula) es un teorema del
sistema deductivo, es decir, se puede deducir de los axiomas del sistema mediante sus reglas de
inferencia.
Un Sistema Axiomático Formal à la Hilbert puede considerarse como el conjunto
{Alfabeto, Gramática, Axiomas, Reglas de Inferencia, Algoritmo de
Validación}, el cual constituye un conjunto computacionalmente enumerable
de aserciones matemáticas, a veces designado conjunto de aserciones
matemáticas recursivamente enumerable, o simplemente conjunto generado. Esta
formulación en términos ‘computacionales’ se debe a Turing y Post ([Cha04], c. II).
El Algoritmo de Validación es, precisamente, la razón de la designación de un sistema formal à
la Hilbert como ‘conjunto computacionalmente enumerable de aserciones matemáticas’. Es parte
de un procedimiento mecánico, rutinario, que en principio permitiría dilucidar cualquier
cuestión formulable en un sistema axiomático formal consistente y completo294. Este
procedimiento - inaplicable en la práctica, puesto que requeriría la eternidad para su
consecución - pero teóricamente factible295, es como sigue: se recorre la totalidad de las posibles
construcciones en el sistema axiomático formal (el lenguaje formal) una a una, en el orden
determinado por su tamaño (su orden lexicográfico)296. Para cada posible cadena de símbolos
(expresión) se chequea (mediante el algoritmo de validación) si su construcción sigue las reglas
de inferencia del sistema, y se aceptan como válidas aquellas que efectivamente cumplen con
las reglas de deducción, descartándose aquellas construcciones que no lo hacen. De esta
manera, este procedimiento - que combina un ‘algoritmo generador de todas las posibles
cadenas simbólicas’ con un ‘algoritmo de validación’ - es equivalente a un ‘algoritmo generador
de teoremas’, es decir, un ‘algoritmo generador de cadenas simbólicas válidas según las reglas
294
Recuérdese que si un sistema formal es a la vez consistente y completo, entonces cualquier proposición
es decidible: o bien se halla su prueba, o su refutación (la prueba de la proposición contraria). Como
decidir, es precisamente una cuestión para la cual Hilbert pretende elaborar un procedimiento
‘mecánico’, el aquí denominado Algoritmo de Validación.
295
De hecho, es factible incluso desde un punto de vista constructivista.
296
Se comienza por las secuencias de símbolos del alfabeto de un carácter de largo, luego se sigue con las
de dos, de tres, y así sucesivamente, ad infinitum. La mayoría de estas secuencias violarán las reglas
gramaticales, pero eventualmente se producirán todas las secuencias ‘gramaticalmente correctas’
[Cha92]. Fue Post quien señaló esta idea, implícita en el trabajo de Turing (sección 3.3.6.1): la posibilidad
de obtener un conjunto de objetos, generados uno a uno mediante un algoritmo ejecutado por una
máquina, en algún orden determinado. Esta es la esencia de un sistema formal ([Cha04], c. 2).
Ingeniería Electrónica – Universidad Católica del Uruguay
126 - [ 3 ] Modelos
de inferencia’297. Por construcción, ese conjunto es enumerable. Así, a partir del conjunto de
axiomas y reglas se puede, en teoría, producir toda proposición válida298, es decir, se pueden
determinar uno a uno todos los teoremas del sistema deductivo, conformando entonces un
‘conjunto computacionalmente enumerable de aserciones matemáticas’. En cierto sentido, la
consecución de estos algoritmos implica que no son necesarias para el desarrollo de la matemática ni la
ingenuidad, ni la intuición, ni la inspiración [Cha89]. La matemática sería nada más que un
procedimiento mecánico. Sin embargo, no es este el caso.
Existen limitaciones fundamentales inherentes a todo Sistema Axiomático
Formal con capacidad de autorreferencia. El seminal trabajo de Gödel (1931)
demuestra que no es factible obtener un sistema axiomático formal que sea
a la vez consistente y completo, con lo cual no toda proposición es
decidible - en particular, no se puede siquiera decidir la consistencia
interna del sistema (sección 3.3.5). Además, el posterior trabajo de Turing
(1936) demuestra que no es siquiera posible obtener un procedimiento de
decisión para la demostración o refutación de una proposición matemática
arbitraria (sección 3.3.6.1). Y finalmente, Chaitin demuestra que las
precedentes limitaciones responden al hecho que existe aleatoriedad en el
seno de la matemática pura (sección 3.3.6.2). Estas limitaciones inherentes a
los sistemas axiomáticos formales no constituyen, sin embargo, una limitación
absoluta y terminante para las matemáticas - lo que implican es una severa
limitación del Platonismo como única filosofía para el desarrollo matemático.
[ 3.3.5 ] LA ‘ESPADA DE GÖDEL’
Según cuentan Horacio en una de sus “Odas” y Cicerón en sus “Tusculanas”, Damocles (siglo
IV, AC) era cortesano de Dionisio I “El Viejo”, tirano de Siracusa, a quien envidiaba por su
vida aparentemente afortunada y cómoda. El rey, cansado de las reiteradas alusiones de
Damocles acerca de la magnificencia de su vida próspera y lujosa, decidió escarmentarlo. Con
ese propósito, le invitó a sustituirlo durante un festín en el sitio de honor, y dispuso que sobre
su cabeza pendiera una afilada espada, suspendida sólo de una crin de caballo. Así, cuando en
pleno banquete Damocles descubrió, horrorizado, el peligro al que estaba expuesto,
comprendió la realidad de la situación del monarca: la precariedad de su posición como tirano,
y lo efímero e inestable de su próspero y lujoso modo de vivir.
En referencia a esta historia, la ‘espada de Damocles’ es una frase que alude la inseguridad
experimentada por aquellos que ostentan un gran poder, a causa de la posibilidad de verse
privados del mismo en forma abrupta e impredecible. Modernamente, la frase ‘la espada de
Damocles’ es empleada para expresar la presencia de un peligro inminente, o una amenaza en
ciernes, que puede desencadenarse en cualquier momento.
En este documento, la ‘espada de Gödel’ es una alegoría a Damocles, que se refiere
a la situación en que Gödel ubica a la matemática formalista de principios del siglo
XX, con sus teoremas de indecisión e incompletitud de los sistemas axiomáticos
formales capaces de representar a la aritmética elemental299.
[ 3.3.5.1 ] TEOREMAS DE INDECISIÓN E INCOMPLETITUD DE GÖDEL
En Setiembre de 1930, hacia el fin de la Segunda Conferencia sobre Epistemología de las
Ciencias Exactas en Koenisberg, Gödel declara la inviabilidad del programa de Hilbert:
297
De hecho, la combinación de los primeros puede ser considerada como el segundo. Y en cualquier
caso, por construcción, es posible una enumeración de las cadenas simbólicas que se van produciendo.
298
Sintácticamente válida.
299
La aritmética usual, de Peano, dada por {N, +, ·}, es decir, el conjunto de los números naturales y las
operaciones de adición y multiplicación. Es diferente a la aritmética de Presburger, que carece de la
operación de multiplicación.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 127
“Bajo la hipótesis de consistencia de la matemática clásica, uno puede dar ejemplos
de proposiciones que son verdaderas por su contenido, pero que no son demostrables
en el sistema formal de la matemática clásica.”300 301 ([Pod97], s. 5.3).
Los resultados del trabajo de Gödel - presentados en Octubre de 1930 302, y publicados en
1931 303 - demuestran que no hay forma de obtener un sistema axiomático formal para toda la
matemática - ni siquiera para la aritmética elemental - el cual pueda garantizar, a la vez, la
inexistencia de contradicciones y la existencia de la prueba o refutación para cada proposición
correctamente planteada en términos del sistema.
Cada
sistema
aritmético
contiene
proposiciones
aritméticas
- proposiciones que conciernen sólo a relaciones entre números enteros304 que no pueden ser probadas o refutadas 305 dentro del propio sistema. Si se
asume que el sistema no es contradictorio (es consistente) esto implica que
el sistema no es capaz de demostrar todos sus teoremas (es incompleto). En
particular, un sistema formal consistente es incapaz de probar
internamente su propia consistencia. La solución a estos problemas
requiere extender el conjunto de axiomas del sistema. Sin embargo, este
proceso de agregar axiomas nunca puede lograr la completitud del sistema,
si se mantiene la consistencia.
Si bien recientemente se han presentado trabajos que aducen la invalidez formal de los
resultados de Gödel [Cat03], en este documento interesan más las consecuencias históricas y
prácticas306 de los teoremas de Gödel que la corrección de su demostración; las consecuencias
han sido reconstruidas por Turing y Chaitin en otros términos, más ‘intuitivos’, que facilitan
300
Texto traducido del original, en inglés. Ver nota 54, p. 39.
301
Es importante diferenciar entre contenido (semántica) y forma (sintaxis). Gödel (y Hilbert) emplean
una palabra que ha sido traducida al inglés como ‘contentual’. En casos, se ha interpretado como
‘intuitivo’,
pero
en
http://people.cs.uchicago.edu/~odonnell/OData/Courses/22C:096/Lecture_notes/Hilbert_program.html se aduce
que el término ‘contentual’ se refiere al contenido de las fórmulas o aserciones, y se emplea como opuesto
a formal que se refiere a la forma de las fórmulas o aserciones. De hecho, en el ámbito de la lógica, formal
no se refiere a riguroso, y de aquí que lo opuesto de formal no sea ‘informal’ en el sentido de ‘poco
riguroso’, sino de ‘referente al contenido y no a la forma’. El razonamiento formal es, en esencia,
cómputo. El razonamiento ‘contentual’ es esencialmente inspiración – de aquí su interpretación como
intuitivo. Aunque carecía de la noción de ‘computador’, Hilbert de hecho concibe las demostraciones
matemáticas como procedimientos computacionales, cuya corrección puede ser chequeada objetiva y
confiablemente por consideración de su estructura simbólica, y no por el contenido que expresa cada
aserción de la demostración. De encontrarse un error, no se está detectando la veracidad o falsedad de
una aserción, sino una manipulación de símbolos que no sigue las reglas, lo que da lugar a una
expresión que no es ni un teorema ni un anti-teorema del sistema axiomático (ver sección 3.3.4).
302
En una reunión de la Academia de Ciencias de Viena (“Akademie der Wissenschaften in Wien,
Mathematisch - Naturwissenschaftliche Klasse, Anzeiger”, 1930, N 76, pp. 214-215).
303
“Über formal unentseheidbare Sätze der Principia Mathematica und verwandter Systeme I”, en “Monatshefte
für Mathematik und Physik”, Vol. 38, pp. 173-198 (Leipzig, 1931). Una traducción al inglés, “On formally
undecidable propositions of Principia Mathematica and related systems I”, está disponible (a la fecha de
redacción del presente documento) en el sitio http://home.ddc.net/ygg/etext/godel/godel3.htm.
304
Y que incluyen a la operación de multiplicación.
305
Entendiéndose por refutación la prueba de la proposición contraria, y por prueba, la consecución de la
expresión de la proposición mediante exclusiva aplicación de las reglas de inferencia del sistema
(estricta deducción) a partir de los axiomas del propio sistema.
306
Consecuencias, en lugar de implicancias (lógicas, deductivas). No se pretende cometer en este trabajo la
imprudencia intelectual de avalar - cual dogma - ningún resultado, no sólo porque no se está al nivel
académico necesario para dar aval o refutar, sino fundamentalmente en virtud de la humildad que la
historia impone al conocimiento humano: ninguna forma ‘rígida’ o ‘estática’ del conocimiento resiste la
perpetua revisión a la que la historia inexorablemente lo somete – el conocimiento es necesariamente ‘dinámico’.
Ingeniería Electrónica – Universidad Católica del Uruguay
128 - [ 3 ] Modelos
su comprensión y apuntalan su credibilidad307. No obstante, se confiere aquí una brevísima
sinopsis del trabajo de Gödel, con objeto de mostrar su línea de pensamiento, y la relación con
la crisis en los fundamentos de la matemática (sección 3.3.3.1).
En esencia, los Teoremas de Incompletitud - como es usualmente referido el trabajo de
Gödel - son corolarios de la Proposición VI en [Göd31]. Esta proposición establece que si un
sistema formal es consistente308, entonces existen proposiciones que no son demostrables por el sistema, ni
lo son sus contrarias. Es decir, la Proposición VI de Gödel demuestra que en los sistemas
formales consistentes, existen proposiciones correctamente formuladas en términos del
sistema, pero sobre las que este no puede decidir la demostración o refutación. A este ‘Teorema
de Indecisión’309, sigue el corolario que es conocido como el Primer Teorema de Incompletitud
de Gödel:
Primer Teorema de Incompletitud: si un sistema formal es consistente, entonces
es incompleto310.
Sobre el fin de su trabajo, Gödel delinea la prueba de lo que llama Proposición XI 311, que
establece que si un sistema es consistente, no es posible demostrar su consistencia
internamente, es decir, por los medios del propio sistema. Se tiene así el Segundo Teorema de
Incompletitud:
Segundo Teorema de Incompletitud: no es posible demostrar la consistencia de
un sistema formal (consistente) por medio del propio sistema.
Como indica Gödel en el título de su trabajo, el sistema formal al que se refiere es al sistema
deductivo de Principia Mathematica, y particularmente la parte requerida para establecer los
teoremas de la aritmética de los números enteros. En su trabajo, Gödel da una descripción
exacta de su sistema formal, especificando sus símbolos básicos, sus fórmulas válidas, sus fórmulas
iniciales (axiomas) y la relación de consecuencia, aduciendo que en esencia tal sistema se obtiene
de superponer la lógica de Principia Mathematica a los axiomas de Peano para la aritmética de
los números enteros. Sin embargo, lo que Gödel construye es en realidad un cálculo lógico capaz de
representar al sistema deductivo de interés312, la aritmética elemental de Peano. Y en consecuencia,
lo que Gödel demuestra es un resultado acerca del cálculo lógico que construye, y no de lo que este
representa. Así, expresada en términos del cálculo lógico que Gödel elabora, la “Proposición VI”
demuestra que dos fórmulas particulares - que son una la contraria de la otra - no pueden
obtenerse de las fórmulas iniciales mediante las reglas de manipulación simbólica del cálculo.
Por tanto, el trabajo de Gödel se refiere a cuales fórmulas pueden - o no pueden - ser obtenidas
por medio de su cálculo lógico particular. El interés radica en que el cálculo lógico que Gödel
307
Y en caso que los resultados de Gödel sean inválidos desde el punto de vista formal, no
necesariamente han de serlo las mencionadas reconstrucciones. Esto permite la supervivencia de la idea
original de incompletitud, aunque con otro carácter, cuestión que se discute en la sección 3.3.6.
308
La ‘consistencia’ a la que se refiere Gödel es de un carácter particular; sin embargo, Rossen (en 1936)
logra extender el concepto a la noción usual de consistencia.
309
Esta designación es personal.
310
Cabe notar que el Primer Teorema de Incompletitud requiere que el sistema formal sea consistente.
Como se discute en la sección 3.3.5.2, del Segundo Teorema de Incompletitud se deduce que no es
posible obtener una prueba absoluta de consistencia de un sistema formal, por lo que este Primer
Teorema de Incompletitud parecería devenir en mera retórica. Estrictamente, entonces, si no se sabe si
una teoría es consistente o inconsistente, no se puede decidir sobre la veracidad o falsedad de ciertas
aserciones.
311
Confiere un esquema de como sería la prueba de la “Proposición XI”. Si bien Gödel manifiesta al final
de [Göd31] la intención de publicar la prueba completa, la publicación nunca se efectuó. (Nótese que el
título del trabajo de Gödel, “On formally undecidable propositions of Principia Mathematica and related
systems I”, indica que es la primera parte de un trabajo más extenso - pero que a posteriori no se
concretó).
312
La definición de cálculo lógico, sistema deductivo, y su relación, se confiere en la sección 3.3.4.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 129
construye es efectivamente interpretable como la representación del sistema deductivo para la aritmética
de los números enteros (la parte ‘aritmética’ de Principia Mathematica) y por tanto, los problemas
de indecisión e incompletitud en el cálculo de Gödel se reflejan en el sistema deductivo
representado, la aritmética de Peano. Este es el hecho que ocasiona el escándalo histórico en
torno a los resultados de Gödel [BraXX].
Un aspecto clave en el trabajo de Gödel consiste en combinar el contenido (semántica) de las
proposiciones a las que sus fórmulas representan, con la estructura (sintaxis) del sistema formal
consistente al que su cálculo lógico representa. Los argumentos semánticos de Gödel se
inspiran en la Paradoja del Mentiroso (sección 3.3.3.1.2). Mediante un procedimiento
extremadamente ingenioso, Gödel construye la aserción “No soy un teorema”. Si esta aserción
es demostrable - es decir, resulta ser un teorema - entonces en virtud de lo que expresa (su
contenido) se produce una contradicción. Así, se estaría demostrando un teorema falso, lo que
implicaría que la lógica es inconsistente. Ante esta situación, si se asume que la lógica es consistente
- algo deseable y razonable, siendo esta la de Principia Mathematica de Russell y Whitehead entonces la aserción debe - correspondientemente - suponerse verdadera. Pero entonces debe
ser a fortiori indemostrable, para no generar una contradicción. Por tanto, si se asume la
consistencia del sistema, este es forzosamente incompleto: hay proposiciones verdaderas (por su
contenido) que el sistema es incapaz de probar ([Heh90], p. 3). Alternativamente, interprétese la
aserción como “Soy indemostrable”. De ser demostrable, la aserción estaría enunciando algo
falso, y así se estaría probando un teorema falso, implicando que el sistema es inconsistente.
De ser indemostrable como la misma aserción asegura, entonces estaría expresando un
enunciado verdadero, y así habrían teoremas verdaderos que no pueden ser probados,
implicando que el sistema es incompleto ([Cha02a], p. 167). Nótese que los precedentes
esquemas argumentales se refieren al Teorema de Indecisión y al Primer Teorema de
Incompletitud. El Segundo Teorema de Incompletitud se obtiene si se modifica la aserción
“Soy indemostrable” para que afirme que - en lugar de sí misma - la consistencia del sistema es
indemostrable. En ese caso, apelando al mismo esquema argumental, se tiene que un sistema
consistente no es capaz de demostrar su propia consistencia, porque de lograrlo se incurriría en
una contradicción: probaría su inconsistencia.
En esencia, los teoremas de Gödel constituyen un elaborado esquema de codificación de la Paradoja
del Mentiroso en términos de la teoría numérica elemental, la aritmética de Peano {N, +, ·}. En su
trabajo, Gödel indica como construir una expresión numérica que puede ser interpretada como
el ‘código’ de la proposición indecidible en su cálculo lógico313. El método novedoso de Gödel
consiste en asignar números a los símbolos, a las concatenaciones de símbolos (fórmulas) y a
las concatenaciones de fórmulas (esquemas de deducción) de su sistema formal, en forma
unívoca314. Similarmente a como Descartes inventó la geometría de coordenadas mediante la
asignación de pares de números a los puntos del plano, Gödel inventó lo que podría llamarse
‘meta-matemática de coordenadas’ mediante su asignación de números a símbolos, fórmulas y
esquemas deductivos. Y así, similarmente a como Descartes demuestra teoremas geométricos
de puntos del plano mediante la demostración de teoremas algebraicos de números, Gödel
establece conceptos y proposiciones meta-matemáticos mediante conceptos y proposiciones
relativos a los números naturales - los números asignados a las expresiones de su sistema315
[BraXX]. Actualmente, la codificación numérica de una aserción no resulta sorprendente en
virtud del uso habitual del computador, en el cual la información es almacenada en forma
313
Gödel hace un uso extensivo de la recursión, y con ello se las ingenia para que la proposición - una
vez efectuada la codificación del sistema en términos numéricos - se calcule a sí misma (a esto se refieren
las indicaciones para construir). Nótese que esto implica una autorreferencia.
314
Apela hábilmente para ello a los números primos, y a la propiedad de unicidad de la descomposición
de números enteros en factores primos
315
“En otras palabras, el procedimiento descrito precedentemente provee una imagen isomorfa del sistema de
Principia Mathematica en el dominio de la aritmética, y todos los argumentos meta-matemáticos pueden ser
efectuados equivalentemente en esta imagen isomorfa” [Göd31]. Texto traducido del original, en inglés. Ver
nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
130 - [ 3 ] Modelos
numérica (más precisamente, binaria)316. Sin embargo, para la época, la idea de ‘aritmetización’
de Gödel constituye una obra de ingenio y esfuerzo prodigiosos.
El trabajo meta-matemático de Gödel es de carácter sintáctico. La indeterminación o
indecisión de proposiciones aritméticas dentro del sistema deductivo para la aritmética A a la
que representa el cálculo lógico C que Gödel construye, pueden clasificarse como características
meta-matemáticas sintácticas puesto que la indecisión deriva de la indeterminación de ciertas
fórmulas dentro del cálculo C. Sin embargo, a diferencia de los cálculos lógicos, los sistemas
deductivos poseen, además, características meta-matemáticas semánticas; en particular, sus
proposiciones poseen o carecen la propiedad de ser ‘verdaderas’ o ‘falsas’. Esto constituye el
aspecto clave en el trabajo de Gödel: combinando la propiedad sintáctica de ser demostrable con la
propiedad semántica de ser verdadera 317, el método de aritmetización de Gödel asegura que cierta
proposición g es ‘verdadera’ si y sólo si es indemostrable dentro de A. Sin embargo, la demostración es
una prueba puramente sintáctica acerca de un cálculo C. La interpretación de C como el sistema
deductivo A para la aritmética es, estrictamente, irrelevante para el argumento [BraXX].
Si bien los resultados son aplicables al cálculo lógico particular C, Gödel indica como se
aplicarían demostraciones similares a otros cálculos que cumplan con dos condiciones, tan
generales, que cualquier cálculo lógico capaz de expresar la aritmética elemental las satisface.
Como lo han confirmado y clarificado otros meta-matemáticos318, no es posible construir
ningún cálculo lógico donde cada fórmula (que representa a cada proposición aritmética) sea
demostrable o refutable dentro del propio cálculo. Por lo tanto, ningún sistema deductivo para la
aritmética poseerá la característica sintáctica general de contener la prueba o la refutación de cada
proposición aritmética, hecho que comúnmente se describe diciendo que la aritmética es
inherentemente incompleta [BraXX].
En 1936, Gentzen demuestra la consistencia de un sistema formal de tipo Frege-Hilbert, pero
lo hace mediante el empleo de métodos ajenos (no reducibles) a las reglas de inferencia de un
sistema formal, es decir, métodos no constructivistas319. Por el contrario, el argumento de Gödel
es constructivista en sentido estricto. En el trabajo de Gödel, la recursividad juega un papel
preponderante, y el método de recursión que emplea Gödel es una extensión del método de
definición mediante el Principio de Inducción matemático. Sin embargo, el método recursivo
empleado permite construir, siguiendo una regla, cualquier número en una secuencia infinita
recursiva, de forma que una referencia a la secuencia infinita puede ser construida como una
referencia a la regla de construcción, y no como una referencia a una entidad infinita dada.
Así, pese a las extensiones que Gödel hace a la noción de recursión, su trabajo admite una
interpretación en términos efectivamente constructivistas. De forma que, por un lado, Gödel
demuestra las limitaciones de los sistemas formales constructivistas para la matemática (que incluyen
todos aquellos sistemas capaces de fundar un cálculo lógico para la aritmética sobre el
316
Y, actualmente, tampoco es novedad que exista más de una codificación posible. En particular, el
texto que Ud. está leyendo en este momento ha sido almacenado en un formato numérico adecuado para
el procesador de texto particular en el cual se produce este documento, pero perfectamente puede ser
recodificado al formato que otra aplicación requiera, como podría ser otro procesador de texto o incluso
un sistema de impresión. En todos los casos, lo que interesa es que el contenido (el texto en sí) es el
mismo.
317
La distinción entre lo semántico y lo sintáctico fue explicitada posteriormente por Tarski, cuyo trabajo
estableció teoremas de indecisión de tipo semántico [BraXX].
318
Cabe notar que si bien no se dispone directamente de la fecha de la referencia [BraXX] es razonable
inferir, de documentos que acompañan a la Introducción de Braithwaite, que esta es anterior a [Cat03],
trabajo donde se aduce la invalidez de la Proposición VI del trabajo de Gödel (proposición de la cual
derivan los resultados de incompletitud, designada en el presente documento como Teorema de
Indecisión).
319
Nótese que, en esencia, las reglas de inferencia de un Sistema Axiomático Formal son indicaciones para
construir los teoremas del sistema. (La concepción filosófica constructivista es conferida en la sección
3.3.3.2.1).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 131
Principio de Inducción) pero por otro, muestra la potencia de los métodos constructivistas para la
meta-matemática, para estudiar las limitaciones de la matemática [BraXX].
Hasta aquí algunas consideraciones respecto al trabajo de Gödel en sí mismo. Interesa ahora
analizar las consecuencias de sus resultados; si bien en parte han sido conferidos en esta sección,
se discuten específicamente en la sección siguiente.
[ 3.3.5.2 ] CONSECUENCIAS DE LOS TEOREMAS DE GÖDEL
El escándalo que suscitaron los teoremas de Gödel, radica en que son interpretables en
términos de la ‘absolutamente confiable’ aritmética de Peano {N, +, ·}, una rama de las
matemáticas de singular importancia práctica, y de las más antiguas en la historia de la
humanidad. Si bien este solo hecho es más que suficiente para generar una conmoción
considerable, se tiene además que el programa de Hilbert es dependiente de la consistencia y
completitud de la aritmética elemental.
El objetivo de Hilbert (ver sección 3.3.3.2.2, p. 122) era, en primer lugar, construir una teoría
formal para toda la matemática, y en segundo lugar, probar la consistencia de esa teoría por
medio de la aritmética de Peano. Si bien la primer etapa fue aparentemente conseguida con la
formulación de las teorías axiomáticas de conjuntos post-Cantorianas, la segunda etapa fue
desarticulada por los teoremas de incompletitud de Gödel. Al respecto, el resultado más
devastador para los promotores del formalismo no es la existencia de proposiciones verdaderas que no
pueden ser demostradas (Primer Teorema de Incompletitud) sino que un sistema deductivo consistente
no es capaz de demostrar su propia consistencia, a partir de sus axiomas, y mediante sus reglas de
inferencia (Segundo Teorema de Incompletitud) porque en particular, la aritmética de Peano no puede
probar su propia consistencia. El segundo teorema de Gödel establece, entonces, que no es posible
garantizar la consistencia de la matemática por medio una de sus partes, como es la aritmética
elemental. Este es el hecho que pone fin al sueño de Hilbert, e invalida la filosofía
prevaleciente 320 en la época que creía posible la integración de las diferentes ramas de la
matemática sobre un único fundamento lógico.
Ningún (único) sistema formal puede describir completamente a todos los
sistemas formales (incluyéndose a sí mismo). No es posible, por tanto, la
consecución de un sistema formal para toda la matemática, como era la idea de
Hilbert.
No obstante, un sistema formal puede describir completamente a cualquier
otro sistema formal. En este sentido más modesto, la idea de Hilbert es factible 321
[Heh90].
Prima facie, los Teoremas de Indecisión e Incompletitud de Gödel se refieren al lenguaje
específico de la aritmética de Peano, lo cual puede sugerir que los fenómenos de incompletitud
podrían ser causados por una inadecuada elección del lenguaje o del sistema lógico (axiomas y
reglas de inferencia). Sin embargo - como lo aclara el propio Gödel - sus teoremas pueden ser
demostrados para teorías formales basadas en lenguajes y lógica arbitrarios, siempre que estos
sean capaces de ‘representar’ la aritmética de Peano. Un sistema formal capaz de ‘representar’
la aritmética de Peano, es designado como una teoría fundamental ([Pod97], s. 3.2;s. 5.3). Una
teoría T se dice fundamental sólo si la aritmética de Peano (PA) es ‘relativamente interpretable’
en T, es decir, si existe un algoritmo Tr que transforme cada fórmula F de PA en una fórmula
320
Recuérdese que Poincaré objetaba la idea de Hilbert para reconstruir los fundamentos de la
matemática, aduciendo que no debía justificarse el Principio de Inducción por medio del Principio de
Inducción. El Principio de Inducción es la esencia de la aritmética de Peano, por lo cual la objeción de
Poincaré aduce que no debe justificarse la aritmética de Peano por medio de la aritmética de Peano. El
Segundo Teorema de Incompletitud de Gödel le da la razón: puede intentarse, pero de lograrse, se
probará la inconsistencia de la aritmética de Peano.
321
Y ha tenido un éxito brillante en lo relativo al cómputo.
Ingeniería Electrónica – Universidad Católica del Uruguay
132 - [ 3 ] Modelos
Tr(F) de T322. En esencia, una teoría es fundamental si es capaz de probar las propiedades
fundamentales de los números naturales. Naturalmente, la teoría fundamental más simple es la
propia aritmética de Peano; lo son también sus extensiones. Las teorías de conjuntos de
Zermelo-Fraenkel, y Zermelo-Fraenkel dotada del Axioma de Elección, son otros ejemplos de
teorías fundamentales, pasibles de aplicación de los Teoremas de Gödel. Por el contrario, la
aritmética de Presburger - una versión ‘mutilada’323 de la aritmética de Peano - no es una teoría
fundamental; así, logra ser a la vez consistente y completa. Con esta definición de teoría
fundamental, los resultados de Gödel se pueden reformular como un ‘Principio de
Imperfección’:
‘Principio de Imperfección’: Las teorías fundamentales (sistemas
axiomáticos formales de tipo Frege-Hilbert capaces de representar la aritmética
elemental de Peano) no son perfectas: o bien son inconsistentes, o bien son
incompletas - si son consistentes entonces son incompletas, y si son completas
entonces resultan inconsistentes. Además, son incapaces de probar su
consistencia interna, es decir, la consistencia de sus axiomas.
En este contexto, si se descubre una aserción que no es ni un teorema ni un anti-teorema en
una teoría formal, puede decidirse arbitrariamente adoptar la aserción (o su contraria) como
postulado, y agregarse como axioma al sistema de axiomas. Sin embargo,
de los resultados de Gödel es inmediato que, si se pretende mantener la consistencia,
el proceso de agregar axiomas no permite completar una teoría
fundamental.
Por otro lado, si bien es factible demostrar la consistencia de una teoría fundamental por
medio de otra (totalmente distinta, u obtenida, por ejemplo, suplementando la primera con
axiomas) esto condiciona la prueba de consistencia de la primera a la consistencia de la
segunda, y así sucesivamente. En consecuencia, no es posible elaborar una prueba de
consistencia absoluta para una teoría fundamental, y solamente puede demostrarse la
consistencia relativa de una teoría fundamental T’ respecto a otra teoría fundamental T
(supuesta consistente) si T’ deriva de T por adición o supresión de axiomas .
No existe una prueba final y determinante (absoluta) de consistencia para
ninguna teoría fundamental. Sólo puede aspirarse a obtener una prueba de
consistencia relativa: supuesta la consistencia de una teoría fundamental
T, sólo puede probarse que T’, obtenida de T por incorporación o
eliminación de axiomas, mantiene - o no - la hipotética consistencia.
En particular, mediante los métodos formales no se puede asegurar la consistencia de los axiomas de
la aritmética, por lo que no es posible garantizar que de estos no derive una contradicción. Así, la
consistencia de la aritmética es, esencialmente, un acto de fé. Cabe notar que la aritmética de Peano
es equivalente a la teoría de conjuntos finitos que se obtiene de negar el Axioma de Infinitud 324
en la teoría de conjuntos infinitos de Zermelo-Fraenkel. La teoría de conjuntos de ZermeloFraenkel, como teoría formal, puede probar la consistencia de la aritmética de Peano, y
entonces, como consecuencia del Segundo Teorema de Gödel, se deduce que la consistencia del
Axioma de Infinitud, relativa al resto de los axiomas de la teoría de conjuntos de ZermeloFraenkel, no puede ser probada. Así, la aceptación de la existencia de conjuntos infinitos - incluso de
conjuntos infinitos de números enteros - es un acto de fé, que la teoría de conjuntos ZF no resulte
contradictoria [JecXX].
322
Conforme a las siguientes condiciones: (1) Si F es demostrable en PA, entonces Tr(F) es demostrable
en T; (2) Tr(~F) es demostrable en T sólo si ~Tr(F) es demostrable en T; (3) Si Tr(F) y Tr(F→G) son
demostrables en T, entonces Tr(G) es demostrable en T.
323
Carece de la operación de multiplicación.
324
El Axioma de Infinitud es la esencia de la teoría de conjuntos; postula la existencia de conjuntos infinitos, o
equivalentemente, la del conjunto de los números naturales N.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 133
Las teorías fundamentales no pueden garantizar la inexistencia
contradicciones en su seno. Por tanto, la aceptación de la consistencia
cualquier teoría fundamental, como la aritmética elemental, o la teoría
conjuntos de Zermelo-Fraenkel, es esencialmente un acto de fé. Esta es
‘Espada de Gödel’ para la matemática formalista. Implica que
matemáticas no es posible prescindir de la intuición, tal como aducía Poincaré.
de
de
de
la
en
Los precedentes argumentos ocasionan un sutil problema con el Primer Teorema de
Incompletitud. Este teorema325 requiere, por hipótesis, que la teoría formal sea consistente. El
problema es, precisamente, como comprobar la consistencia de un sistema formal, hecho que
se ha mostrado es imposible de conseguir en términos absolutos, siendo sólo factible en
términos relativos, significando que la consistencia es esencialmente un acto puramente
intuitivo. Así, si la intuición induce a creer en la consistencia de cierta teoría fundamental, el
único procedimiento admisible es adoptar - sin argumentos suficientes - la propia conjetura de
consistencia como un axioma326; aunque no puede jamás ser verificada, esta hipótesis de
consistencia sí puede ser refutada de derivarse alguna inconsistencia en el sistema
([Pod97], s. 6.3).
Si bien la consistencia de una teoría fundamental nunca será demostrable,
podrá ser refutable de surgir posteriormente una contradicción en el
sistema, en cuyo caso quedaría probada la inconsistencia de la teoría.
Cabe entonces cuestionarse el afán de probar la consistencia de una teoría: “... El teorema de
Gödel implica que la consistencia de T no puede ser demostrada en T. ¿Por que debería ser este un
argumento en contra de la aceptación de los axiomas y métodos de T? En definitiva, ya sabemos que no
todo en matemáticas puede ser demostrado matemáticamente. Debemos aceptar algo sin demostración327.
El teorema de Gödel no nos dice nada que no supiéramos al respecto. Además, ¿que tal si la consistencia
de T fuera de hecho demostrable en T, contrariamente al teorema de Gödel? ¿Por que ello debería tener
algún efecto sobre cualquier duda escéptica que pudiéramos tener respecto a T? A fin de cuentas, una
prueba de consistencia interna en T no sería más que otra demostración en T, en sí misma pasible de
duda.”328 329
Cabe notar que, independientemente de los teoremas de Gödel, una prueba
de consistencia interna de una teoría no sería más que otra demostración
en esa teoría, en sí misma pasible de duda. Así, quizás el afán por demostrar la
consistencia de una teoría sea una pretensión fútil ab initio. Necesariamente han
de buscarse otro tipo de justificaciones.
Considérese el papel de la evidencia experimental en el ejercicio de la física: sólo otorga
confiabilidad a las teorías si sus predicciones se ajustan a la evidencia experimental, pero no
puede garantizar su corrección. Sin embargo, ostenta el inapelable poder de refutación en caso de no
haber correspondencia entre las predicciones y la realidad experimental. La introducción de esta
‘asimetría’ entre la capacidad de demostración y de refutación por experimentación en la
física, indica que no existe algo así como ‘una teoría física’ y ‘la teoría contraria’ - refutar una
teoría no es demostrar la ‘opuesta’ - sino que hay diversas teorías, ‘compatibles’ o
325
Al igual que la Proposición VI (en este documento, designada como Teorema de Indecisión) de la cual
deriva.
326
Nótese que no se busca la completitud del sistema con esta maniobra, sino sólo postular la
consistencia.
327
Los axiomas son el ejemplo manifiesto de esta afirmación. Más allá del hecho que los axiomas son un
punto de partida para evitar una regresión infinita, su calidad de ‘verdades evidentes’ es pura y
exclusivamente basada en la intuición.
328
Incluso la demostración de la consistencia de T por medio de otra teoría formal T’ adolecería del
mismo problema: la consistencia de T en T’ es una prueba más en T’, pasible de duda en T’ . El problema
de la consistencia interna de T solamente se traslada a la consistencia interna de T’, y así sucesivamente.
329
Texto traducido del original, en inglés. Ver nota 54, p. 39. (No se tiene registro del autor de la cita).
Ingeniería Electrónica – Universidad Católica del Uruguay
134 - [ 3 ] Modelos
‘incompatibles’ con la realidad. La física, pues, no parece practicar el Platonismo. Las precedentes
consecuencias del Segundo Teorema de Gödel parecen indicar lo mismo para la propia
matemática.
Puede intentarse la adopción de postulados o principios de razonamiento que busquen de
alguna manera escapar a la amenaza de la ‘espada de Gödel’ - por ejemplo, siendo no
constructivistas. No obstante, estos podrían devenir tan complicados intrínsecamente, que su
propia consistencia sería objeto de seria duda, desvirtuando el propósito de su utilización.
Cabe notar que tanto una ampliación del sistema axiomático como la adopción de nuevos
principios de razonamiento incrementa la probabilidad de contradicciones en una teoría
axiomática, en virtud del incremento en la complejidad del sistema330.
En virtud de la asimetría entre la capacidad de refutación y la
incapacidad de demostración de su consistencia interna - similarmente a
como ocurre con la evidencia experimental en física - parece razonable
cuestionarse si la matemática podría adoptar criterios similares a la
física, en base a evidencia ‘computacional’331 en lugar de evidencia
experimental ‘de laboratorio’. “Esta es una visión ‘casi empírica’ (Lakatos) de
cómo trabajar en matemáticas, fuertemente relacionada con la idea de la llamada
‘matemática experimental’, que usa evidencia computacional en lugar de la
demostración tradicional para ‘establecer’ nuevas verdades. Esto no sólo podría
ser extremadamente conveniente, como Borwein, Bailey y Girgensohn
argumentan, sino de hecho podría ser a veces absolutamente necesario para
el progreso de la matemática a pesar del fenómeno de la incompletitud.”332
([Cha04], c. VI).
Los teoremas de Gödel han provocado muchas discusiones acerca de la insuficiencia del
método axiomático para la reconstrucción333 del pensamiento matemático informal. ¿Difiere el
‘razonamiento axiomático’ del razonamiento informal? De ser así, deberían existir pruebas
matemáticas que no siguieran el patrón usual ‘premisas → conclusiones’. Aún, si no todos los
procesos de razonamiento matemático son reducibles a una cadena de conclusiones, podría
investigarse si al menos siguen alguna regla definida y estable. El problema es que si estas reglas
no son formulables explícitamente, no es posible determinar si son definidas334. Así, de acuerdo
a esta visión, los límites de la axiomatización coincidirían con los límites de la propia
matemática. Sin embargo, esto no es más que una expresión del Platonismo en la matemática,
sólo que convertido en un Platonismo metodológico (Adaptado de [Pod97], s. 1.3).
En esencia, los Teoremas de Indecisión e Incompletitud de Gödel no
constituyen argumentos contra el formalismo, sino contra el Platonismo:
ningún sistema estable y autocontenido - ningún fantástico ‘mundo de las
ideas’ - puede ser perfecto.
La modestia impuesta por Gödel a una gran cantidad de sistemas deductivos, y a la
concepción Platónica, tiene consecuencias que trascienden a la lógica, la matemática y la metamatemática. “Como es posible leer en ‘Gödel, Escher, Bach’ de Douglas Hofstadter, ‘The Emperor’s
New Mind’ de Roger Penrose, u otros trabajos contemporáneos, la conclusión de Gödel para la aritmética
330
Incidentalmente, este es un argumento en favor de la búsqueda de una teoría para el tratamiento de
sistemas complejos (secciones 1.3 y 1.5).
331
Estos temas se revisan en la siguiente sección.
332
Texto traducido del original, en inglés. Ver nota 54, p. 39. La tipografía en negrillas en la cita no es del
autor original, sino que corresponde al presente documento.
333
Ver sección 3.2.3.
334
Un argumento similar a este justifica la primera etapa del programa de Hilbert (formalizar la
matemática intuitiva): de tenerse un sistema fundado - aunque sea parcialmente - en términos
intuitivos, una prueba de consistencia del sistema (la segunda etapa del programa de Hilbert) carece de
asidero: no se tiene algo ‘definido’ explícitamente.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 135
general tiene consecuencias más amplias para la humanidad. No es razonable esperar que un sistema
legal, un conjunto de leyes físicas, o una serie de mandamientos religiosos tenga el mismo rigor que
caracteriza a la aritmética recursivamente enumerable. Sin embargo, puede esperarse el surgimiento de
ejemplos de afirmaciones lógicas (por ejemplo: ‘¿Es la secesión constitucional?’) que no resulten
demostrables o indemostrables dentro de una estructura lógica completa. Más interesante aún, la
realidad de formas ‘Platónicas’ - ideales contemplados por el intelecto humano - es también cuestionada
por algunos corolarios sencillos del Teorema de Gödel. Su Proposición XI establece que la consistencia
interna de cualquier sistema deductivo (si éste es consistente) no es demostrable ni refutable dentro del
sistema. Unas rápidas zancadas dentro de la lógica permiten interpretar este corolario como ‘Cualquier
estructura consistente, suficientemente compleja, no puede ser auto-dependiente’ - es decir, debe confiar
en la intuición, o alguna confirmación externa de ciertas proposiciones (específicamente, la que
demuestre la consistencia interna).”335.
En particular, Maris ([Mar99], cap. 4, pp. 37-42) critica muy duramente la axiomatización de
la economía como proyección del programa formalista de Hilbert, en virtud de los resultados
de Gödel. Quizás lo más interesante de la despiadada crítica que este autor hace a los
economistas ‘matemáticos’, es la marcada diferencia entre estructura y contenido: “La economía
‘culta’ se ha convertido entonces en un sistema donde se dedican a extraer las conclusiones lógicas
implícitas en cualquier conjunto de axiomas o postulados. La validez de la inferencia matemática no debe
nada a la significación, posiblemente vinculada a los términos o expresiones contenidos en los postulados.
‘Ganancia, racionalidad, utilidad’ no tienen más sentido que ‘punto’ o ‘recta’ en la geometría de
Riemman. La validez de las demostraciones económicas reposa en la lógica de las aserciones que
contienen, y no en la naturaleza particular de aquello de que hablan. (...) Parafraseando a Russell, la
«economía es esa disciplina en la cual no se sabe de que se habla, ni si es verdad lo que se dice» . (...) No
importa saber si los postulados son verdaderos (además, no lo son) ni si las conclusiones son verdaderas
(tampoco lo son). Únicamente importa afirmar que las conclusiones son las consecuencias lógicas
necesarias de los postulados. «La economía sólo dice que un cuadrúpedo es un animal con cuatro patas»
Gracias, Russell, una vez más.” Insiste este economista autocrítico: “Una palabra acerca de la
economía axiomatizada. ¿Sistema deductivo?: Gödel. (...) La economía matemática, un tipo muy trivial
de sistema deductivo, como otrora la escolástica, ni más ni menos noble, no escapa a esta posibilidad de
inconsistencia. (...) ... es sospechoso que se haya construido una ‘axiomática’ de la economía, sobre el
proyecto formalista de Hilbert, que soñaba ‘descarnar’ las matemáticas, ‘vaciar’ de sentido toda expresión
de sistemas, construir un sistema de signos puros donde nada estaría oculto. El proyecto de ‘economía
pura’ encarnado por Walras, mecánico de la sociedad, y Pareto, divulgador del anterior, ponía de
manifiesto la visión reduccionista y mecanicista que sería la de Hilbert 336 (...) El proyecto de una
economía ‘pura’, descarnada, etérea - ¿purificada en realidad de qué? ¿de manchas sociales, de la
pobreza, de la desgracia humana, de la vida? - asombra por lo ingenuo. De hecho (...) es místico,
completa y sencillamente religioso.”337
[ 3.3.6 ] INDECISIÓN, INCOMPLETITUD, INCOMPUTABILIDAD E INDETERMINISMO –
DE GÖDEL A TURING Y CHAITIN.
Los resultados de Kurt Gödel constituyen un mojón en la historia intelectual del siglo XX. Y
lo son, no solamente por derecho propio - por lo que en sí significan - sino además por
constituir el punto de partida para otros trabajos también trascendentales, a los cuales se
dedica la presente sección.
335
Texto
traducido
del
original,
en
inglés.
Ver
nota
54,
p. 39.
Tomado
de
http://home.ddc.net/ygg/etext/godel/ index.htm.
336
Nótese la visión calificada de ‘reduccionista’ y ‘mecanisista’, y las referencias a ‘vaciar de sentido a
los sistemas’, en relación a la concepción de sistema en las ciencias según Von Bertalanffy (sección 1.3).
337
La visión crítica de Maris coincide con la de Hazel Henderson y un sinnúmero de otras personas la
cual expresa en su artículo “El falso ‘Premio Nobel’ de Economía”, donde denuncia esta impostura científica
([HH05], p. 34).
Ingeniería Electrónica – Universidad Católica del Uruguay
136 - [ 3 ] Modelos
[ 3.3.6.1 ] EL AUTÓMATA DE TURING, LOS REALES INCOMPUTABLES, Y EL PROBLEMA DE
FINALIZACIÓN
Escasos cinco años después de la publicación de los teoremas de Gödel, Alan Turing publica
en 1936 un trabajo clave: “On computable numbers, with an application to the
Entscheidungsproblem”338 ([Cha92], s. 2). Habiendo comprendido a la perfección la idea de
Hilbert sobre el ‘procedimiento mecánico’ para decidir si una demostración obedece las reglas
de inferencia en un sistema axiomático formal, Turing elabora un modelo matemático de una
máquina capaz de ejecutar tales procedimientos339.
La ‘máquina de Turing’ es el modelo de una máquina versátil que - a diferencia de las de su
época, concebidas para efectuar cómputos específicos - permite ejecutar cómputos diversos de
acuerdo a como se la instruya. Desde la óptica actual es el modelo de un computador
- estrictamente, es el primer modelo de un computador - aunque uno muy rudimentario, e
idealizado. “Todos sabemos que el computador es un objeto muy práctico. De hecho, los computadores
han devenido indispensables para el funcionamiento de una sociedad moderna. Pero lo que incluso
expertos en computadores no recuerdan es que - y exagero sólo levemente - el computador fue inventado
con el propósito de ayudar a la clarificación de un cuestionamiento filosófico acerca de los fundamentos de
la matemática. ¿Sorprendente? Sí, lo es.” ([Cha02a], p. 164).
La ‘máquina de Turing’ es un modelo matemático de un autómata, capaz
de efectuar manipulaciones simbólicas de acuerdo a un cálculo lógico - en
este contexto, designado ‘programa’ - que se le suministra en términos de
una gramática formal. Las manipulaciones simbólicas se corresponden con
los razonamientos deductivos de un sistema axiomático formal al que el
cálculo representa, y para este propósito el autómata ideal dispone de
memoria y tiempo infinitos. De esta manera, en teoría todos los teoremas
que derivan de un sistema axiomático formal à la Hilbert se pueden
generar mediante cómputo y manipulaciones simbólicas en el autómata, a
partir de la codificación de los axiomas del sistema y las reglas de
inferencia en un lenguaje formal. En particular, este autómata podría ejecutar el
‘programa’ de Hilbert, si se le suministra el sistema axiomático formal para la
matemática y el algoritmo de validación pretendido por Hilbert.
La correspondencia entre los sistemas axiomáticos formales y el autómata de Turing es la
que se indica en el esquema de la Fig. 3.1 340:
El ‘autómata de Turing’ es concebido, según aduce su autor, con capacidad para ejecutar
cualquier cómputo que un ser humano pueda llevar a cabo - entre estos, el procedimiento de
decisión de Hilbert, de existir este procedimiento341. Sin embargo, Turing se pregunta acerca de
338
“Acerca de números computables, con una aplicación al problema de decisión” (En ‘Proc. London Math. Soc.’,
1936, vol. 42, pp.230-265; recibido el 28 de Mayo, 1936). El ‘problema de decisión’ se refiere a la
factibilidad de consecución de un ‘procedimiento de decisión’ para los sistemas axiomáticos formales (el
‘algoritmo de validación’ de la propuesta de Hilbert; ver secciones 3.3.3.2.2 y 3.3.4).
339
Una descripción de la ‘maquina de Turing’, y ejemplos de operación, se presentan en [PodXX], s. 6.1.
340
El concepto de ‘intérprete’ se aborda con generalidad en la segunda parte de este trabajo (sección
5.2.6.2.1.2). Básicamente, un intérprete debe ser capaz de comprender y hacer ejecutar las órdenes
contenidas en un programa. Para el caso representado en la Fig. 3.1, el intérprete es el autómata de Turing;
el propio computador. En el contexto de la informática actual, en general el intérprete se refiere a un
programa ejecutable por el computador, que es capaz de de comprender y hacer ejecutar las órdenes que
el usuario le indica directamente desde el teclado, o desde archivos de comandos - y por tanto se le
designa usualmente ‘intérprete de comandos’. Basta considerar al computador y este programa como
una ‘caja negra’, para reducirla al caso de interés en esta sección - de hecho, desde la perspectiva de ‘caja
negra’ un computador ejecutando un intérprete de comandos es indistinguible de un intérprete ‘físico’.
341
Propósito para el cual el autómata requiere ser dotado de memoria infinita para realizar sus
operaciones, así como la eternidad para operar (sin fallas). Recuérdese, el autómata de Turing no se
trata de un computador real, sino un modelo matemático de lo que hoy es un computador.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 137
axiomas
reglas de inferencia
entrada / estado inicial del programa
intérprete del programa
teorema(s)
salida del programa
deducción
cómputo
Fig. 3.1: Correspondencia entre un Sistema Axiomático Formal y el autómata de Turing
las cuestiones que esta máquina - y, por tanto, un ser humano - no sería capaz de hacer, ni
siquiera en teoría. Y así obtiene unos resultados trascendentales. En primer lugar descubre que
existen números reales que su autómata es incapaz de calcular, es decir, Turing descubre que
existen números reales que son incomputables. En segundo lugar, determina que tampoco es posible
decidir, por adelantado342, si un programa arbitrario es del tipo que finaliza en determinado momento, o si
es del tipo que nunca lo hace y queda atascado indefinidamente en alguna iteración343. Y en tercer
lugar, como consecuencia de estos problemas, Turing determina que los sistemas axiomáticos
formales son incompletos, y que además el procedimiento de decisión pretendido en el programa de
Hilbert no es factible.
Del trabajo de Turing, se tienen resultados que extienden los de Gödel, quedando estos como
corolario de un problema más general que la incompletitud: la incomputabilidad. “El encare de
Turing pienso que es justo decir que en cierta forma es más fundamental. De hecho, Turing hizo más que
Gödel. Turing no solamente obtiene como corolario los resultados de Gödel, él muestra que no puede
haber un procedimiento de decisión. Fíjese, si uno asume que tiene un sistema axiomático formal para la
aritmética, y es consistente, del trabajo de Gödel uno sabe que este no puede ser completo, pero podría
aún existir un procedimiento de decisión. Podría aún haber un procedimiento mecánico que le permitiera
a uno decidir si una determinada aserción es verdadera o no. Este problema fue dejado abierto por Gödel,
pero Turing lo cierra. El hecho que no pueda existir un procedimiento de decisión es más fundamental, y
uno obtiene la incompletitud como corolario.”344 ([Cha92], s. 2).
[ 3.3.6.1.1 ] NÚMEROS REALES INCOMPUTABLES
Para conferir una sinopsis del trabajo de Turing, comencemos por definir que un número es
computable si existe un algoritmo para calcular, uno a uno, todos sus dígitos. Prima facie, esta
definición estrictamente constructivista enfrenta un problema con los números reales, cuya
expresión - decimal, binaria, o la que se prefiera - es una cadena infinita de dígitos. No
obstante, existen algoritmos para calcular, por ejemplo, los dígitos del número π uno a uno345, y
algoritmos para calcular las soluciones de ecuaciones algebraicas a coeficientes enteros. Sin
embargo, estos números reales computables son la excepción, puesto que es posible enumerarlos en
correspondencia con el algoritmo que los calcula, y de la teoría de conjuntos se sabe que el conjunto de
los números reales no es enumerable ([Cha92], s. 2). Esto constituye la base para el razonamiento
de Turing.
342
Por adelantado implica no ejecutar el programa en cuestión, sino decidirlo mediante el razonamiento - por
ejemplo, estudiándolo mediante otro programa.
343
Nótese que - como es usual - aquí se abusa de la noción de ‘programa’, en el siguiente sentido: todo
programa, en cuanto colección finita de símbolos, necesariamente ‘finaliza’; lo que puede no finalizar es su
ejecución. Por tanto, cuando aquí se habla de ‘la finalización de un programa’, en realidad se refiere a ‘la
finalización de su ejecución’, y así debe interpretarse. Esta cuestión se discute en la sección 3.4.
344
Texto traducido del original, en inglés. Ver nota 54, p. 39.
345
El hecho que este algoritmo o procedimiento mecánico sea - en la práctica - interminable, no es
impedimento para considerarlo un procedimiento constructivista (sección 3.3.3.2.1). El autómata de
Turing está preparado para ello (ver nota 341, p. 136).
Ingeniería Electrónica – Universidad Católica del Uruguay
138 - [ 3 ] Modelos
El argumento de Turing requiere de su autómata: propone que se listen, uno a uno, todos los
posibles programas que su autómata es capaz de ejecutar. Naturalmente, esto no es posible en
la práctica, pero en teoría, es un procedimiento constructivista perfectamente concebible. Entre
estos (infinitos) programas, se hallan aquellos cuyo cometido es calcular algún número real, y
la idea es eliminar de la lista el resto, es decir, todos aquellos programas que hacen otras cosas
en lugar de computar un número real. Una vez depurada la lista, se podría formar una tabla
de dos columnas, en la cual la primera identifica al programa, y la segunda contiene al número
real computable que el programa correspondiente en la primera columna calcula 346. Ahora,
adoptando el ‘método diagonal’ de Cantor, Turing propone recorrer la segunda columna de la
tabla, observando los dígitos luego del punto decimal de la siguiente manera: el primer dígito
del primer número, el segundo dígito del segundo, etc 347. Finalmente, se ‘construye’ un nuevo
número real R, cuyos dígitos difieran, uno a uno, de los observados348. Un esquema de este
procedimiento se representa en la Tabla 3.1:
Tabla 3.1: Método diagonal para la demostración de existencia de un número real R incomputable (Turing)
Programa Número real que calcula
p1
0 . d11 d12 d13 d14 ...
p2
0 . d21 d22 d23 d24 ...
p3
0 . d31 d32 d33 d34 ...
p4
0 . d41 d42 d43 d44 ...
...
...
R
0 . ≠d11 ≠d22 ≠d33 ≠d44 ... ← R difiere de todos los números reales ‘computables’ por los pj
El número R no puede estar en la lista coordinada con los programas p j, por construcción. Por lo tanto,
es incomputable: no puede ser calculado, dígito a dígito, por ningún programa. Así, el número R es un
número que el autómata de Turing - y, por ende, cualquier ser humano - es incapaz de
computar. Sin embargo, ¿cómo es esto posible, si se acaba de dar un procedimiento
- impráctico, pero teóricamente posible - para ‘construir’ al número R? La cuestión es que si
bien el procedimiento de cálculo para R sugerido en la Tabla 3.1 parece factible, este depende de los
resultados devueltos por los programas que computan a los distintos números reales - depende,
concretamente, de que los programas pn efectivamente entreguen los dígitos dnn. Y esto
constituye un caso particular del segundo problema de Turing, problema designado ‘Halting Problem’
en la literatura de habla inglesa, y que aquí referiremos como Problema de Finalización: el de
decidir, por adelantado, sobre la finalización de un programa arbitrario.
[ 3.3.6.1.2 ] EL PROBLEMA DE FINALIZACIÓN
El Problema de Finalización se refiere a la cuestión si un programa - uno que está
completamente autocontenido, es decir, que no requiere datos de entrada una vez iniciado349 346
De esto resulta evidente que los reales computables son enumerables, por lo cual - sabiendo de la teoría
de conjuntos que el conjunto de todos los números reales no es numerable - ya se tiene el resultado de
Turing: la mayoría de los números reales son incomputables.
347
Para comprender el argumento de Turing, basta considerar los reales comprendidos en el intervalo
[0,1].
348
Evitando el uso de los dígitos 0 o 9, por la sencilla razón que dos expresiones decimales como
0.39999.... y 0.40000.... corresponden al mismo número real.
349
Los datos requeridos por el programa deben estar incluidos dentro del propio programa; no pueden serle
suministrados a posteriori por mecanismos ‘externos’ al programa (como por ejemplo, operaciones de
entrada).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 139
eventualmente finaliza350 ([Cha04], c. II). Un caso particular de este problema se presenta
cuando se pretende calcular cada dígito del número R. Para calcular en n-ésimo dígito de R, se
requiere ejecutar el n-ésimo programa pn, y esperar a que este devuelva el n-ésimo dígito dnn del
número que calcula351, para entonces poder modificarlo. Prima facie, ejecutar el n-ésimo
programa es perfectamente factible, pero ¿que sucede si este programa nunca devuelve el nésimo dígito, porque - por algún motivo - nunca finaliza?352 Y, justamente, ese debe ser el caso:
no puede ser posible decidir, por adelantado, si un programa arbitrario finaliza, porque ello habilitaría a
computar el número R353, un número que - por construcción - difiere de cualquier número real
computable. Este es el argumento original de Turing ([Cha92], s. 2). Y la respuesta al Problema
de Finalización es, consecuentemente, negativa.
Nótese que el Problema de Finalización de Turing sería trivialmente soluble de establecerse un límite
de tiempo; bastaría entonces ejecutar en el autómata un programa arbitrario, y si no finaliza
antes del límite temporal preestablecido, entonces se clasificaría como un programa del tipo
que no finaliza. Por esto es que el problema se presenta si la decisión se debe tomar por
adelantado. Por adelantado, significa que la decisión se debe tomar sin ejecutar al programa,
sólo por medios del razonamiento. Por adelantado, implica que podría elaborarse un ‘programa
comprobador de finalización’, al cual se le suministraría como dato otro programa - el programa sobre
cuya finalización se pretende decidir - y que como resultado indicaría si el programa bajo análisis es del
tipo que finaliza o no. Sin embargo, puede demostrarse que un programa comprobador de
finalización ‘universal’ es inconcebible, mediante un argumento por reducción al absurdo.
Admitiéndose la existencia de un ‘programa comprobador de finalización’, podría elaborarse
un tercer programa, que usara al programa comprobador para analizar un programa arbitrario
suministrado como dato, y que - obtenido el resultado del comprobador - decidiera finalizar si
el resultado del análisis indica que el programa suministrado como dato nunca finaliza, y
decidiera no hacerlo en el caso contrario - por ejemplo, atascándose en un bucle infinito. En
otras palabras, este tercer programa haría lo contrario al resultado indicado por el
comprobador de finalización. Ahora, ¿que sucede si el programa que se le suministra como dato es él
mismo?354 Recuérdese que este programa se atascaría en un bucle infinito si el programa bajo
análisis es de los que finaliza, y finalizaría en caso contrario; ahora bien, siendo el propio
programa el que se analiza, de finalizar ingresaría en un bucle infinito, por lo cual no
finalizaría - se tendría una contradicción - y de no hacerlo, finalizaría - por lo que también se
produciría un resultado contradictorio355. Consecuentemente, la elemental estructura de este
350
Se refiere a la finalización de su ejecución en el autómata. Ver nota 343, p. 137.
351
Al ser cada número real una cadena infinita de dígitos, evidentemente los programas pj deben ir
entregando uno a uno los dígitos del número real que calculan, puesto que si ‘esperasen’ a tener el
resultado completo antes de entregarlo, estarían a priori condenados a jamás devolver el resultado.
352
Nótese que el Problema de Finalización es equivalente a decidir por adelantado si un programa
produce alguna salida (si ‘entrega algún resultado’): de ser posible determinar por adelantado la
finalización de un programa, este puede alterarse para que - inmediatamente antes de finalizar - genere
un ‘aviso’ indicando su inminente finalización. En el caso en cuestión, los programas pj deben ser
capaces, en el transcurso de su ejecución, de publicar cada dígito que calculan (ver nota 351, p. 139) para
lo cual no deben atascarse en ningún bucle infinito - es decir, deben ser del tipo que ‘finaliza’ - para cada
dígito que calculan.
353
Puesto que se podría decidir, por adelantado, si cada programa pn devuelve el dígito dnn , y así se tendría
asegurado de antemano que es teóricamente factible elegir los dígitos de R para que este resulte
‘incomputable’. Paradójicamente, podría construirse un programa adicional que ejecutase a cada pn
hasta obtener el dígito dnn necesario y alterarlo, con lo cual R sería ‘computable’. Este programa adicional
nunca se atascaría en un bucle infinito puesto que de antemano se sabría que los pn efectivamente le
devuelven los dígitos requeridos.
354
Nótese que, en esencia, lo que se está proponiendo aquí es una autorreferencia, y esta es perfectamente
factible.
355
El argumento usa la capacidad de autorreferencia del formalismo - tal como hace Gödel en su trabajo
(sección 3.3.5.1) - para generar una contradicción al estilo de la Paradoja de Russell (sección 3.3.3.1.2).
Ingeniería Electrónica – Universidad Católica del Uruguay
140 - [ 3 ] Modelos
programa paradójico permite concluir que es imposible elaborar un ‘programa comprobador de
finalización universal’, es decir, un programa capaz de analizar a cualquier programa arbitrario, y
determinar si es del tipo que finaliza o no. Y por tanto, se tiene otra demostración de que el Problema de
Finalización es insoluble - o, más precisamente, incomputable.
El argumento ‘diagonal’ de Cantor, aplicado a los números reales
computables, permite deducir que existen números reales incomputables
por el autómata de Turing. Ello implica, además, que no puede
determinarse de antemano (mediante el razonamiento, o un algoritmo) si
un programa arbitrario - cualquier posible algoritmo ejecutable por el
autómata de Turing - es del tipo que produce un resultado o no, si finaliza
o no.
[ 3.3.6.1.3 ] CONSECUENCIAS DE LA INCOMPUTABILIDAD Y LA INSOLUBILIDAD DEL PROBLEMA DE
FINALIZACIÓN
Que el Problema de Finalización de Turing sea insoluble tiene una consecuencia nefasta sobre el
programa de formalización de Hilbert. Turing demuestra que no existe conjunto de instrucciones
alguno que, suministrado a su autómata, le permitan analizar a un programa arbitrario y
decidir si es del tipo que finaliza o no. Pero si esta decisión no es factible mediante un
procedimiento ‘mecánico’ como es la manipulación simbólica de su autómata, entonces
tampoco puede haber un sistema axiomático formal à la Hilbert que permita resolver el
Problema de Finalización. Puesto que un sistema axiomático formal, consistente y completo,
daría un procedimiento ‘mecánico’ para solucionar el Problema de Finalización; si un sistema
axiomático formal permitiese probar si cada programa individual es del tipo que finaliza o no,
esto daría una forma de computar si un programa arbitrario eventualmente finaliza:
simplemente, se construirían uno a uno todos los teoremas a partir de los axiomas, y así se
obtendría - para todo programa ejecutable por el autómata - la prueba de que finaliza, o su
refutación356. Pero el autómata de Turing es incapaz de resolver el Problema de Finalización, de
forma que el precedente procedimiento ‘mecánico’ - y por tanto, computable - no puede ser
factible. Consecuentemente, el sistema axiomático es necesariamente incompleto: existen
programas para los cuales no es posible demostrar o refutar que finalizan; no hay forma de
contener toda la verdad y sólo la verdad acerca del Problema de Finalización en un sistema
axiomático formal que sea (o se asuma) consistente ([Cha04], c. II). Y para el programa
formalista de Hilbert, la incompletitud derivada de la insolubilidad del Problema de
Finalización constituye una limitación significativamente más restrictiva que la incompletitud
de Gödel, porque muestra que lo que no existe es un procedimiento de decisión - y la incompletitud se
tiene como corolario. Dado que el Problema de Finalización se puede derivar de la
incomputabilidad, en definitiva se tiene que la incomputabilidad implica que los sistemas
axiomáticos formales à la Hilbert - asumidos consistentes - no solamente son incompletos, sino que
además carecen de un procedimiento de decisión.
Considerando que los programas del autómata de Turing pueden ser la
codificación de un cálculo lógico representativo de un sistema axiomático
formal à la Hilbert - un ‘programa’ de Hilbert - Turing demuestra que no es
posible obtener un procedimiento de decisión para tales sistemas - es decir,
un procedimiento que permita decidir la prueba o refutación de toda aserción
formulable en el sistema - puesto que permitiría resolver el insoluble
‘Problema de Finalización’ para cada programa. Consecuentemente, aún
admitiendo la consistencia del sistema, existen programas sobre cuya finalización no
356
Se recorren todas las posibles pruebas en orden de tamaño, y se aplica el algoritmo de verificación de
Hilbert a cada una hasta que se halla la prueba o refutación de que el programa arbitrario es del tipo que
finaliza ([Cha99], c. 1). Véase la sección 3.3.4 por una explicación más detallada de este procedimiento,
designado ‘British Museum Algorithm’ (designación cuyo motivo admito desconocer completamente).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 141
se puede decidir por adelantado, lo que implica la incompletitud de los
sistemas axiomáticos formales.
Así, el sueño de Hilbert es decretado completamente inviable: Turing no
solamente demuestra la incompletitud de los sistemas axiomáticos
formales, sino que además determina que no es factible siquiera un
procedimiento de decisión.
La limitación del programa de Hilbert demostrada por Turing es más restrictiva que la
demostrada por Gödel - y a la vez, más sencilla, y más fundamental: “¡La belleza en el encare de
Turing de la incompletitud, basado en la incomputabilidad, es que podemos obtener un resultado de
incompletitud sin saber nada acerca de la estructura interna del sistema axiomático formal! Todo lo que
necesitamos saber es que existe un algoritmo de verificación, lo que ciertamente constituye un
requerimiento mínimo. Porque si no hay forma de estar seguro que una demostración es correcta o no,
entonces el sistema axiomático formal no es de gran utilidad.”357 ([Cha99], c. 4).
El trabajo de Turing es entonces, en cierta medida, más profundo que el de Gödel. Gödel
tuvo la intuición y el tesón para ir contra la tradición de dos milenios en matemáticas - y el
coraje de sospechar que un individuo de la talla y el prestigio de Hilbert estaba equivocado. Al
respecto, Turing elabora sobre el trabajo pionero de Gödel. Sin embargo, obtiene resultados
más fundamentales que los de Gödel en cuanto a incompletitud – y además, obtiene resultados
adicionales.
Al mismo tiempo que Turing demuestra, como Gödel, que cualquier formalismo para
razonar es incompleto, propone un formalismo universal para el cómputo: el lenguaje de máquina del
autómata de Turing. El error de Hilbert consistió en prescribir el uso de lenguajes artificiales
(lenguajes formales) para llevar a cabo pruebas, demostraciones, razonamientos; esto no
funciona en virtud de la incompletitud. Pero la incompletitud no es aplicable al uso de
lenguajes formales para el cómputo, para expresar algoritmos - por el contrario, el hecho que
Turing demuestre la universalidad del cómputo, constituye una forma manifiesta de completitud. Así, si
bien el formalismo impulsado por Hilbert falla para el razonamiento, resulta absolutamente exitoso para
el cómputo: desde Turing, es la base teórica para la informática actual ([Cha99], c. 1).
El trabajo de Turing contiene aún otros resultados significativos, aparte de la demostración
de la incompletitud a causa de la incomputabilidad, y de la universalidad de los formalismos
para el cómputo. Discute, entre otras cosas, como calcular π, como calcular raíces de
ecuaciones... en esencia, Turing discute como efectuar análisis numérico con su autómata - el
tratamiento de números reales, de precisión infinita, con su autómata de precisión finita ([Cha99], c. 1).
El trabajo de 1936 de Turing, si bien elabora sobre la idea de Gödel, tiene
la virtud de extenderla, de lograr una causa más fundamental para la
incompletitud, que es la incomputabilidad.
Sin embargo, la incompletitud no es el único resultado significativo de ese
trabajo. Para demostrar la incomputabilidad, Turing diseña el modelo del
primer computador: el autómata o máquina de Turing. Y con esta máquina
de propósito general demuestra, además, que el formalismo pretendido por
Hilbert para expresar razonamientos, que falla debido a la incompletitud e
incomputabilidad, es sin embargo completo para expresar algoritmos. En
otras palabras, demuestra la universalidad de los formalismos à la Hilbert
para el cómputo, lo que constituye la base teórica para la actual
informática. Y finalmente, discute como efectuar el cómputo con su
autómata - de precisión finita - sobre objetos matemáticos como los
números reales, de precisión infinita - es decir, inicia el análisis numérico
([Cha99], c. 1). Innecesario es, a la fecha, describir la trascendencia de cada uno de
estos resultados colaterales a la incomputabilidad.
357
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
142 - [ 3 ] Modelos
Sin embargo, aunque la incomputabilidad es una razón más profunda que la incompletitud,
tanto que la hace parecer un fenómeno mucho más natural, existe una razón aún más
fundamental que la incomputabilidad, y es la existencia de aleatoriedad de carácter estructural en el seno
de la matemática pura - tema que se discute en la siguiente sección.
[ 3.3.6.2 ] ALEATORIEDAD COMO INCOMPRESIBILIDAD – LA TEORÍA DE INFORMACIÓN
ALGORÍTMICA DE CHAITIN
Precedidas por la conmoción que supuso la Física Estadística, la física de principios del siglo
XX experimentó dos revoluciones significativas: la Teoría de la Relatividad, y la Mecánica
Cuántica. Similarmente a la crisis en los fundamentos de la matemática de la época (sección
3.3.3.1) las teorías cuántica y relativista constituyen un cuestionamiento a los propios
fundamentos de la física clásica. En particular, la física cuántica liquida la concepción
determinista de la física clásica, proponiendo que en el dominio de las pequeñas dimensiones lo
que prevalecen son efectos estrictamente aleatorios, es decir, que en la escala atómica la física es
intrínsecamente indeterminista. Incidentalmente, del moderno estudio de la dinámica no lineal
se observa que incluso en la física clásica de Newton existe una suerte de aleatoriedad e
indeterminismo, surgiendo la Teoría del Caos como un aparente principio unificador de estas
nociones358.
Circa 1950, inspirado en la aleatoriedad que había filtrado en el seno de la física, y en
conocimiento de los resultados de Gödel y Turing, Chaitin comienza a sospechar si la real causa de
la incomputabilidad - y, por tanto, de la incompletitud - no radicaría en la existencia de aleatoriedad en
el seno de la matemática pura. De ser así, quizás la razón ulterior para no poder encontrar la prueba de
una aserción matemática dada es que realmente no hay nada que probar, porque la aserción se refiere a
una cuestión aleatoria. A modo de ejemplo, Chaitin propone comparar el fenómeno físico del
decaimiento de una sustancia radiactiva - cuya tendencia aparentemente suave y regular es en
realidad constituida por pequeños saltos discretos, cuyo instante de transición es
impredecible - con la cuestión matemática referente a la distribución de los números primos
- cuya tendencia es una curva conocida, pero conformada por una secuencia de saltos discretos
y erráticos, donde el siguiente número primo no es, a la fecha, predecible por ninguna teoría
general359. Es así que, en la década de 1960, tanto Chaitin como Kolmogorov independientemente
sugieren esta idea de aleatoriedad en el seno de las matemáticas, que - en el caso de Chaitin evolucionará hasta constituirse en la Teoría de Información Algorítmica (AIT360) ([Cha02a], p. 169).
Inspirados en la aleatoriedad que había filtrado en el seno de la física a partir de la
Física Estadística y - fundamentalmente - de la Mecánica Cuántica, a mediados
del siglo XX Chaitin (e independientemente, Kolmogorov) comienzan a
sospechar si la real causa de la incomputabilidad de Turing y de la
incompletitud de Gödel no radicaría en la existencia de aleatoriedad en el
seno de la matemática pura. Así, que no se pueda hallar la prueba (o
358
Recuérdese que aunque los sistemas no lineales presenten una compleja dinámica - designada por
ello caótica - esta es, teóricamente, determinista. Sin embargo, en la práctica resulta muy costoso el
cálculo de los detalles de la dinámica, debido al cómputo masivo que requiere, y adicionalmente, la alta
sensibilidad ante perturbaciones lo haría inviable en casos que impliquen mediciones. Así, a la fecha
sólo se puede pretender el tratamiento ‘determinístico’ de estos sistemas a nivel de su comportamiento
‘global’, adoptándose un encare ‘estadístico’ para lo ‘local’, los detalles.
359
Incidentalmente, este ejemplo pone de manifiesto la relevancia del argumento de Gödel contra el
Platonismo. En física, se ha debido aceptar que existen cuestiones no calculables determinísticamente.
Sin embargo, a los matemáticos acostumbrados a las ideas Platónicas - filosofía necesaria para su diario
actuar, según Podnieks ([Pod97], s. 1.6) - les cuesta aún resignarse a que en su disciplina puedan haber
cuestiones que no sean ni demostrables ni refutables (en particular, Hilbert suscribía a esta idea, que
toda cuestión en matemáticas es dirimible en verdadero o falso).
360
Acrónimo de ‘Algorithmic Information Theory’, nombre original en inglés.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 143
refutación) de determinadas aserciones matemáticas quizás se deba a que
el resultado es aleatorio – en cuyo caso no hay nada que probar.
[ 3.3.6.2.1 ] ALEATORIEDAD ESTADÍSTICA, ALEATORIEDAD ESTRUCTURAL, ALEATORIEDAD ALGORÍTMICA
La aleatoriedad que Chaitin y Kolmogorov sospechan subyacente a la matemática, no tiene
exactamente el mismo carácter que la aleatoriedad que usualmente se asocia a los procesos
físicos - por ejemplo, el proceso de tirar una moneda - aunque ambos tipos de aleatoriedad
están íntimamente relacionados. La aleatoriedad con la cual habitualmente se lidia en física es
de carácter ‘estadístico’, mientras que la aleatoriedad en matemáticas sería de carácter
‘estructural’.
La aleatoriedad supuesta por Chaitin y Kolmogorov en el seno de las matemáticas
no tendría el usual carácter ‘estadístico’ de la aleatoriedad en los procesos físicos,
sino que sería una aleatoriedad de tipo ‘estructural’, relacionada con la primera,
pero diferente.
Como señala el propio Chaitin, una noción de aleatoriedad ‘estructural’ ya había sido
esbozada por Leibniz más de dos siglos antes361, en una observación que relaciona aleatoriedad
con complejidad. Leibniz se cuestiona como diferenciar entre un mundo gobernado por leyes
- un mundo donde la ciencia es aplicable, y funciona - y uno que no lo es. En otras palabras,
¿como distinguir un conjunto de observaciones que siguen una ley matemática, de uno que no lo hace?
Para precisar el problema, Leibniz plantea el siguiente experimento: ciérrense los ojos, y
márquese una hoja de papel reiteradas veces con un lápiz, obteniéndose así una distribución
aleatoria de puntos sobre el papel. Aún así - observa Leibniz - existirá una ‘ley’ matemática
que pase por todos y cada uno de los puntos, porque siempre se puede construir una
expresión que permita ‘calcular’ cualquier conjunto de puntos distribuidos aleatoriamente: la
interpolación Lagrangiana, que para tres puntos (xA,yA), (xB,yB), y (xC,yC), resulta y = yA(x-xB)(xxC)/(xA-xB)(xA-xC) + yB(x-xA)(x-xC)/(xB-xA)(xB-xC) + yC(x-xA)(x-xB)/(xC-xA)(xC-xB)362. Y en este
contexto, la respuesta de Leibniz al cuestionamiento inicial es que “...si la ley ha de ser demasiado
complicada (‘fort composée’) entonces los puntos están efectivamente distribuidos en forma aleatoria, son
‘irrégulier’, no están de acuerdo con una ley científica. Pero si la ley es simple, entonces es una genuina
ley de la naturaleza...”363 ([Cha04], c. III). Cabe notar que esta observación es más fuerte que el
medieval Principio de Parsimonia364, puesto que que no solamente aduce que la teoría más
361
Cabe notar que Chaitin elabora sus ideas en forma autónoma, ‘reencontrándolas’ a posteriori en las
secciones V y VI del ‘Discours de Métaphysique ’ de Leibniz (1686).
362
Una simplificación de este procedimiento puede usarse para ‘conectar’ puntos que se corresponden
con muestras de una función ordinaria, por ejemplo, obtenidas de la medición experimental de un
fenómeno: basta con construir un polinomio P(x) con coeficientes genéricos, de grado igual (o superior) a
la cantidad de muestras, e imponer la anulación de la función y = P(x) en cada punto muestral. No
obstante, es evidente para un científico que este método no habilita a decir que el polinomio así construido sea una
‘ley científica’ que rige al fenómeno cuya magnitud fue muestreada experimentalmente; esto no constituye un
ejercicio de ‘ajuste de parámetros del modelo matemático de un fenómeno’ en el sentido estadístico, porque el
modelo no proviene de una idea o concepto relacionado con la experiencia, sino de un mero artilugio de cálculo. Sin
embargo, se verá que el argumento de Leibniz sigue otra línea de razonamiento que tiene que ver sólo
con el concepto de información.
363
Texto traducido del original, en inglés. Ver nota 54, p. 39.
364
También conocido como Principio de Economía, o de Simplicidad; ‘Ockham’s Razor’ (u ‘Occam’s Razor’)
en la literatura angloparlante. Es atribuido al fraile franciscano y lógico inglés William de Ockham
(1284 - 1347) en el siglo XIV, y constituye la base del reduccionismo metodológico, siguiendo a
Aristóteles. En Latín, “Pluralitas non est ponenda sine neccesitate”: “La pluralidad no debe ser postulada
innecesariamente”. Es un argumento heurístico que no necesariamente brinda respuestas correctas.
Constituye sólo una débil guía para la selección de la hipótesis científica que contiene la menor cantidad
de suposiciones arbitrarias, siendo a la vez la más fructífera. Ante hipótesis igualmente ‘simples’ (ver
nota 365, p. 144) el Principio de Parsimonia no es capaz de establecer preferencias.
Ingeniería Electrónica – Universidad Católica del Uruguay
144 - [ 3 ] Modelos
sencilla365 es la mejor, sino que explica el por qué. Pero aún así, el argumento de Leibniz no
permite determinar la complejidad de una expresión. ¿Cómo medir la ‘complejidad’ de una ‘ley’, y
compararla con la ‘complejidad’ de los datos que dicha ‘ley’ pretende ‘explicar’?
Según Chaitin, “Leibniz tenía todas las piezas, sólo le faltaba componerlas. Puesto que él deificaba al
0 y al 1, y apreciaba la importancia de las máquinas de calcular. (...) La forma en que yo lo diría es así:
considero una teoría científica como un programa binario en un computador para calcular observaciones,
que son también expresadas en forma binaria366. Se obtendría una ley de la naturaleza si hay compresión,
si los datos experimentales están comprimidos en un programa de computador que tiene menos bits que
los que componen los datos que intenta explicar. Cuanto mayor el grado de compresión, mejor la ley, más
se comprende a los datos. Pero si los datos experimentales no pueden ser comprimidos, si el programa
más pequeño para calcularlos es tan grande como estos, entonces los datos no siguen una ley, carecen de
estructura, no siguen un patrón, no son pasibles de estudio científico, son incompresibles. En una
palabra, aleatorios, irreducibles.”367 ([Cha04], c. III).
En matemáticas, aleatorio es aquel objeto que carece de estructura o
patrón, y que por tanto no puede ser ‘calculado’ a partir de objetos más
concisos, debiendo ser descrito ‘tal cual es’. Así, un objeto matemático
aleatorio es tal que su descripción es irreducible, incompresible. Esta es la
idea básica de aleatoriedad ‘estructural’.
Esta aleatoriedad ‘estructural’ se diferencia de la ‘estadística’ en que no interesa de donde
proviene, sino sólo como ‘es’, cual es su estructura. No obstante, mediante un proceso aleatorio
en el sentido estadístico es posible generar un objeto matemático ‘estructuralmente’ aleatorio;
de aquí la relación entre ambos tipos de aleatoriedad. Por ejemplo, la expansión binaria de un
número real podría obtenerse mediante una secuencia infinita de lanzamientos independientes
de una moneda equilibrada368. Prima facie, la secuencia binaria infinita así obtenida sería
altamente improbable de producir mediante cálculo desde una fórmula concisa369, y por ende
sería aleatoria en el sentido ‘estructural’.
En conocimiento del autómata de Turing, y la noción de computabilidad, la referencia al
cálculo que efectúa la noción de aleatoriedad de carácter ‘estructural’, sugiere a Chaitin
reinterpretarla en términos computacionales, y designarla en consecuencia aleatoriedad
algorítmica.
Apelando a la noción de computabilidad - al autómata de Turing - la
aleatoriedad ‘estructural’ inherente a las matemáticas puede interpretarse
en términos algorítmicos: si el algoritmo más conciso que genera un objeto
matemático (por ejemplo, un número) resulta igual o más largo que la
descripción ‘directa’ del propio objeto (la cadena de cifras del número, en el
ejemplo) entonces el objeto es aleatorio. En este contexto, la aleatoriedad
‘estructural’ es designada aleatoriedad ‘algorítmica’.
365
‘Sencilla’ en el sentido de requerir, comparativamente, la menor cantidad de suposiciones arbitrarias
para especificar su estructura teórica (y al mismo tiempo dar la mayor cantidad posible de respuestas
coherentes con la realidad). No significa ‘sencilla de usar’: por ejemplo, la Teoría de la Relatividad Especial
es ‘sencilla’ - se basa en sólo dos principios fundamentales - pero ‘difícil de usar’ en virtud del volumen de
cálculos requeridos para efectuar predicciones. Generalmente, se sospecha de una teoría cuya cantidad
de elementos arbitrarios es comparable - menos de un orden de magnitud, por ejemplo - con la cantidad
de información que confiere acerca de la realidad.
366
Ray Solomonoff propuso en 1960 una idea similar ([Cha02a], p. 170).
367
Texto traducido del original, en inglés. Ver nota 54, p. 39.
368
Este proceso puede ser simulado enteramente en el dominio matemático, y de hecho, constituye en
parte la idea del número Ω de Chaitin - la ‘Probabilidad de Finalización’ - que se discute en la sección
3.3.6.2.4.
369
Con la excepción, quizás, que el número obtenido sea justo la solución a una ecuación para la cual
existe un procedimiento de cálculo de soluciones. Pero puede demostrarse que esto tiene probabilidad
nula de ocurrir.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 145
[ 3.3.6.2.2 ] TEORÍAS CIENTÍFICAS, SISTEMAS FORMALES, Y PROGRAMAS: COMPRESIBILIDAD DE LA
INFORMACIÓN
Un objeto es ‘algorítmicamente aleatorio’ si su estructura impide que sea descrito en forma más concisa
que darlo ‘tal cual’. Por ejemplo, un conjunto de datos físicos serían aleatorios - según la noción
de aleatoriedad algorítmica - si la forma más concisa de publicarlos es en forma tabular, es
decir, si no hay una teoría que proponga una ‘ley’ (una fórmula matemática) más ‘sencilla’ que
los propios datos, con la cual ‘producirlos’ por cálculo. Por el contrario, si se cuenta con una
teoría física adecuada para ‘explicar’ un determinado fenómeno (una serie de datos
experimentales) en definitiva lo que se logró es ‘comprimir’ al conjunto de observaciones en un
conjunto más pequeño de leyes o principios físicos. Similarmente, los sistemas axiomáticos en
matemáticas cumplen una función de compresión: en los axiomas reside ‘comprimida’ una
gran cantidad de información matemática (los teoremas, es decir, las aserciones verdaderas)
que se puede extraer mediante las reglas de inferencia asociadas al sistema axiomático. Así, la
posibilidad de contar con teorías físicas, o sistemas axiomáticos para la matemática, reside en que - en
cada caso - los ‘datos’ no son información algorítmicamente aleatoria, y que por tanto se pueden
‘comprimir’.
Dado que los axiomas son hipótesis que deben hacerse cada vez que se trabaja en
matemáticas, y dado que la adopción de cada hipótesis constituye inevitablemente un acto de
fé, el minimizar la cantidad de axiomas torna más confiable a la teoría matemática basada en el
sistema (sección 3.3.5.2). Por tanto, cuanto mayor la ‘compresión’ que se logre de los teoremas
en los axiomas, más confiable es la teoría matemática que descansa sobre el sistema axiomático
formal en cuestión. Análogamente, cuanto menos los postulados en una teoría física - cuanto
mayor la compresión de los fenómenos físicos en un conjunto reducido de postulados - más
robusta resulta la teoría física [Cha00]. Consecuentemente, el Principio de Parsimonia puede
justificarse en términos de la mayor compresión de la información que se logra con las ‘mejores’ teorías
científicas.
En la misma línea que la interpretación de los sistemas axiomáticos formales en base al
autómata de Turing, Chaitin sugiere una interpretación ‘computacional’ para las teorías
científicas: propone que toda teoría científica es esencialmente un ‘programa para calcular las
observaciones’. Y en estos términos, la aplicación del Principio de Parsimonia implica que cuanto
más pequeño es el programa respecto a lo que produce como salida (las ‘observaciones’) tanto mejor es la
teoría. “¿Cual es el programa más conciso que produce una salida dada? Si el programa es conciso, y la
salida no lo es, entonces se tiene una teoría. Si la salida es aleatoria, entonces no hay compresión posible,
y la entrada debe ser del mismo tamaño que la salida.” ([Cha04], c. II).
En virtud del equivalente computacional de los sistemas axiomáticos
formales obtenido por Turing con su autómata, Chaitin propone considerar
las teorías científicas como programas ejecutables por un computador para
calcular las ‘observaciones’, es decir, efectuar predicciones. Puede observarse
que los postulados en las teorías físicas contienen ‘comprimido’ al comportamiento
del fenómeno modelado por la teoría, permitiendo su predicción - mediante cálculo e
interpretación - a partir de ese conjunto reducido de suposiciones. Similarmente, la
función de los axiomas en un sistema axiomático formal es contener ‘comprimidos’ a
los teoremas, los cuales pueden ser extraídos por deducción mediante las reglas de
inferencia asociadas al sistema. En este contexto, la idea es ‘comprimir’ la
información en el programa; si el tamaño del programa es mayor que la
propia información que produce como salida - o equivalentemente, si la
forma más concisa para conferir la información es darla ‘tal cual es’ entonces la teoría o el sistema formal representado por el programa es
inútil.
Coincidentemente con el Principio de Parsimonia, el programa más conciso
se correspondería con la mejor teoría, similarmente a como la
minimización del programa que representa a un sistema formal lo torna
Ingeniería Electrónica – Universidad Católica del Uruguay
146 - [ 3 ] Modelos
más confiable, puesto que esencialmente implica minimizar el conjunto de
axiomas del sistema.
Así, COMPRESIÓN ES COMPRENSIÓN; la información aleatoria es
incompresible, y por tanto, incomprensible370.
[ 3.3.6.2.3 ] TEORÍA DE INFORMACIÓN ALGORÍTMICA
La relación entre el Principio de Parsimonia y el tamaño de un programa, sugiere una forma de medir
la complejidad de la información: en términos del tamaño del programa más conciso que la produce. Esta
medida de la complejidad tiene también relación con el concepto de entropía en física: el
tamaño de un programa es análogo al grado de desorden de un sistema físico. La entropía
aumenta con el grado de desorden de un sistema, análogamente a como el tamaño de un
programa crece conforme aumenta la aleatoriedad (algorítmica) de la información que debe
producir como salida371.
La relación entre compresibilidad y comprensibilidad sugiere una forma de
medir la complejidad de la información: en términos del programa más
conciso que la produce. Esta es la idea central de la Teoría de Información
Algorítmica de Chaitin372.
Esta forma de medir la complejidad computacional no se centra en el tiempo de cómputo373
sino en el tamaño del programa necesario para el cómputo, es decir, en la cantidad de
información que es necesario suministrar al autómata de Turing - al computador universal para que pueda hacer su trabajo. Aquí referiremos a este concepto como complejidad
algorítmica374.
El interés de la Teoría de Información Algorítmica es exclusivamente el
tamaño de los programas, independientemente del tiempo de cómputo - la
complejidad algorítmica. Es una forma distinta al tiempo de cómputo para medir
la complejidad computacional, que se refiere sólo a la mínima cantidad de
información que se debe suministrar a un computador para que realice su tarea.
El cómputo debe ser factible mediante el autómata de Turing, o cualquier
computador universal equivalente, y por ende, debe ser discreto. En la
medida en que no afectan significativamente a la complejidad algorítmica, la
elección del computador y del lenguaje de programación es irrelevante; no
370
Nótese la analogía entre esta afirmación, y la diferencia entre ‘aprender de memoria’ vs. ‘aprender los
conceptos’, cuestión tan cara en el ámbito educativo. E infiérase, en consecuencia, la trascendencia de
estos resultados en cuanto a las posibilidades de cognición humanas – quizás existan patrones o
estructuras no detectables siquiera por una autómata de Turing, máquina ideal con memoria infinita y la
eternidad para realizar los cómputos. (Para un caso no ideal como el autómata de Turing, Klir ilustra en
forma manifiesta la limitación que existe en todo proceso de observación de un sistema discreto real, y su
incidencia en la posibilidad de detección de patrones o estructuras, mediante la introducción del concepto de
‘variables de muestreo’ para la observación de la actividad del sistema discreto, de las cuales un
conjunto fijo constituye una ‘máscara de observación’, constituyendo una memoria finita, de aplicación
durante un período de observación también finito. [Kli69], s. 3.3, pp. 114-119; el ejemplo 3.6 es
particularmente ilustrativo).
371
Por ejemplo, un programa que calcule las posiciones de las moléculas de un gas a temperatura
ambiente, será - en relación al número de moléculas - significativamente más grande que uno que
calcule la estructura de un cristal, debido a la regularidad estructural de este último comparada con la
del gas.
372
La referencia más completa al tema, disponible gratuita y públicamente, es [Cha03].
373
A este aspecto se dedicó Von Neumann, quien - após de Turing - comprendió la importancia de
estudiar el tiempo de cómputo, siendo así uno de los pioneros en el estudio de la complejidad
computacional. La complejidad computacional derivada del tiempo de cómputo constituye a la fecha un
cuerpo del conocimiento bien desarrollado ([Cha02a], p. 169).
374
Este concepto es designado por el autor como ‘Program - size complexity’.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 147
obstante, una vez elegidos el computador y el lenguaje de programación,
estos deben mantenerse fijos375.
La Fig. 3.2 manifiesta la similaridad entre la Teoría de Información Algorítmica de Chaitin,
las teorías científicas, y los sistemas axiomáticos formales, cuando se las considera desde la
perspectiva de la aleatoriedad algorítmica de la información de salida, y sus posibilidades de
compresión - la complejidad algorítmica. En cada caso, se tiene una entrada, un procesamiento
‘mecánico’, y una salida, tal que la información a la salida es obtenida mediante el proceso
‘mecánico’ a partir de la información de entrada376. En cada caso, la idea consiste en maximizar
el tamaño de la salida, minimizando el tamaño de la entrada; obtener el máximo de
información a partir del procesamiento de la menor cantidad de información posible;
determinar cual es la mínima cantidad de información que se debe suministrar para obtener
una salida dada377.
Teoría de Información Algorítmica (AIT)
programa
' elegante'
computador
datos de salida
Método Científico
teoría
cálculos
predicciones
Sistema Formal Axiomático tipo Frege-Hilbert
(Formulación abstracta Turing-Post)
axiomas
ENTRADA
deducción
SALIDA construida mecánicamente desde ENTRADA
Tamaño de ENTRADA respecto de SALIDA
mide complejidad de SALIDA
teoremas
SALIDA
Fig. 3.2: Analogía entre la Teoría de Información Algorítmica (AIT), el Método Científico, y la formulación
‘computacional’ de los Sistemas Axiomáticos Formales tipo Frege-Hilbert, respecto de la complejidad algorítmica de la
información de salida (su compresibilidad en la información de entrada)
375
En particular, ello implica que el lenguaje de programación debe ser estático, en el sentido que no
debe evolucionar. Si bien este no es el caso de los lenguajes de programación empleados en la práctica,
ello no invalida el argumento de AIT.
376
La similaridad puede apreciarse incluso con desarrollo embriogénico, que del ADN produce un
organismo. Sin embargo, en el caso de la biología, existe un límite de tiempo - el de gestación - del que
carece AIT, por lo cual la analogía no es tan exacta como en los restantes casos de la Fig. 3.2. Además, en
biología la redundancia de información es usual - y deseable - por lo cual el ADN no es el programa más
conciso para producir un organismo, con lo cual la analogía es aún más débil ([Cha04], c. III). Sin
embargo, la idea básica es común: la información está ‘comprimida’ en un ‘programa’, y existen
elementos para ‘ejecutar’ el programa y descomprimir la información que este contiene.
377
Nótese la coincidencia de esta idea con la concepción de Podnieks acerca de la naturaleza del método
matemático (sección 3.3.2).
Ingeniería Electrónica – Universidad Católica del Uruguay
148 - [ 3 ] Modelos
¿Cuanto puede comprimirse la información en un programa que la produzca como salida?
La experiencia cotidiana con el computador parece indicar que hay un tope para la compresión
de la información, lo que implica la existencia de un programa ‘mínimo’ en cada caso. Chaitin
define que un programa computacional es ‘elegante´ si no hay otro programa más conciso - en el mismo
lenguaje - que produzca exactamente la misma salida (independientemente del tiempo de ejecución). Esta
definición admite que exista más de un programa estrictamente del mismo tamaño que el
‘elegante’ - es decir, admite la existencia de un conjunto de programas ‘elegantes’ - pero
ninguno de tamaño menor. La existencia de programas ‘elegantes’ está garantizada por el
mero hecho que el conjunto de tareas computacionales es un conjunto no vacío (existen tareas
computacionales); además, es un conjunto infinito numerable de elementos.
Un programa ‘elegante’ es, en sí, computacionalmente irreducible. Considérese el siguiente
proceso, donde en primera instancia la ejecución de un programa designado ‘generador’
produce o computa al programa ‘elegante’ como salida, y en segunda instancia la ejecución del
programa ‘elegante’ produce la salida:
programa 'generador'
computador
programa 'elegante'
computador
salida
El precedente proceso se puede efectuar mediante un programa único - designémosle
’conciso’ - constituido por la concatenación del programa ‘generador’ con una rutina sencilla,
de tamaño fijo y pequeño, que se encarga de tomar la salida del programa ‘generador’ y
hacerla ejecutar:
programa 'conciso' = {programa 'generador' + rutina de tamaño fijo}
computador
salida
Se tiene así exactamente la misma salida del programa ‘elegante’ a partir del ‘conciso’. Pero
el programa ‘conciso’ - por más conciso que sea - no puede ser más pequeño que el ‘elegante’,
puesto que se estaría obteniendo la misma salida que la producida por el programa ‘elegante’ a
partir de un programa más pequeño, en contradicción con la hipótesis que un programa
‘elegante’ es el más pequeño posible para una salida dada378. Consecuentemente, un programa
‘elegante’ es, a fortiori, computacionalmente irreducible ([Cha02b], s. V).
Un programa computacional se define ‘elegante´ si no hay otro programa
más conciso - en el mismo lenguaje - que produzca exactamente la misma
salida (independientemente del tiempo de ejecución). Si bien la definición
no exige unicidad 379, un programa ‘elegante’ es computacionalmente
irreducible; es la compresión óptima de su salida. Y entonces, por
definición, su tamaño es la medida de la complejidad de la salida.
En virtud de la precedente definición de ‘elegancia’, y la consideración de las teorías
científicas (y los sistemas axiomáticos formales) como programas, la aplicación del Principio de
Parsimonia y criterios de confiabilidad sugerirían la elección de aquellas teorías y sistemas formales
representados por programas ‘elegantes’. “Desde ‘Elementos’ de Euclides, una verdad matemática se
establece mediante reducción a verdades más simples hasta que las auto-evidentes - ’axiomas’ o
‘postulados’ (¡los átomos del pensamiento!) - son alcanzadas.” ([Cha02b], s. V). Por tanto, es de
interés la consecución de un método para determinar los programas ‘elegantes’ en cada caso.
Sin embargo, este intento produce el primer resultado de incompletitud derivado de la Teoría
de Información Algorítmica: no es posible determinar si un programa es ‘elegante’. Y por tanto, no
378
O es uno del conjunto de programas ‘elegantes’ que producen esa salida.
379
La definición admite la existencia de un conjunto de programas ‘elegantes’: un conjunto de programas
cuya salida es exactamente igual a la del programa ‘elegante’, y cuyo tamaño es exactamente igual a ese
programa. En esencia, lo que no se presume es unicidad en la compresión algorítmica de la información.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 149
es posible determinar si se dispone de la mejor teoría para explicar una serie de observaciones dada, y
tampoco es posible determinar si el sistema formal es el más conciso para generar un conjunto de
teoremas dados.
La demostración de que no es posible determinar si un programa es ‘elegante’ sigue un
argumento similar al que muestra que un programa elegante es computacionalmente
irreducible. Considérese, en primera instancia, un sistema deductivo. Este se puede
representar mediante un programa para un determinado computador, cuya ejecución genera
todas las deducciones del sistema - el conjunto infinito de todos los teoremas del sistema.
Supóngase además que el programa es ‘elegante’, es decir, es el más conciso que genera al
conjunto de teoremas. El tamaño de este programa ‘elegante’ es, por definición, la medida de
la complejidad del sistema.
sistema formal axiomático (programa 'elegante')
computador
conjunto de todos los teoremas
Considérese, en segunda instancia, una rutina de tamaño fijo que - combinada con el
programa ‘elegante’ - detecta al primer programa ‘elegante’ generado por el sistema 380, cuyo
tamaño sea mayor que los tamaños sumados del programa ‘elegante’ (la complejidad del
sistema) y la rutina de tamaño fijo:
programa 'elegante' + rutina1 de tamaño fijo
computador
primer programa 'elegante',
de tamaño mayor que la
complejidad del sistema más
la rutina1 de tamaño fijo
Considérese, finalmente, que la rutina de tamaño fijo no solamente detecta al primer
programa ‘elegante’ generado por el sistema - cuyo tamaño supera a la complejidad
combinada del sistema y la propia rutina de tamaño fijo - sino que además lo pone a ejecución,
y publica su salida (distinguimos los casos con los subíndices 1 y 2, respectivamente):
programa 'elegante' + rutina2 de tamaño fijo
computador
salida del primer programa
' elegante', de tamaño mayor
que la complejidad del sistema
más la rutina2 de tamaño fijo
Se supone que la rutina de tamaño fijo (cualquiera de 1 o 2) fue concebida de forma tal que el
tamaño del primer programa ‘elegante’ detectado sea mayor que la complejidad del sistema
más la propia rutina de largo fijo381. Sin embargo, el precedente esquema muestra que es
posible producir la salida del primer programa ‘elegante’, a partir de un algoritmo de menor
tamaño382, lo que contradice su calidad de ‘elegante’. Por tanto, o bien el sistema es
380
Por la misma razón que un sistema formal puede ser representado mediante un programa, los
teoremas generados por un sistema formal son también programas: constituyen expresiones simbólicas válidas en
el lenguaje formal del cálculo lógico que representa al sistema, a las que son aplicables las reglas de inferencia del
sistema. En particular, alguno de estos programas podrá ser ‘elegante’, si el sistema permite demostrar
ciertos teoremas de más de una forma (como por ejemplo sucede frecuentemente en el sistema
axiomático formal de la matemática actual).
381
Si se detectan programas ‘elegantes’ cuyo tamaño no cumpla la condición, simplemente se descartan
y se busca hasta obtener el primero que lo haga.
382
Nótese que este argumento requiere que la teoría sea generada por un programa ‘elegante’, es decir,
algorítmicamente irreducible. Y aunque no se disponga de tal programa, es perfectamente posible
asumir su existencia, y no por ello se invalida el argumento.
Ingeniería Electrónica – Universidad Católica del Uruguay
150 - [ 3 ] Modelos
inconsistente (algo no deseable, por cierto) o bien el programa en cuestión no puede ser
hallado. Prefiriendo asumir la consistencia del sistema, se concluye que no es posible identificar
un programa ‘elegante’ generado por un sistema formal, si su tamaño supera significativamente a la
complejidad del sistema383 ([Cha02b], s. VI).
Medir la complejidad de la información en términos de AIT pone de
manifiesto un serio inconveniente: en general, no es posible decidir si un
programa es el más conciso para producir una determinada salida, es
decir, no es posible determinar si un programa es ‘elegante’. Si se tiene un
programa que calcula algo, esto constituye sólo una cota superior para el tamaño del
programa ‘elegante’ que calcula lo mismo, pero jamás se puede probar el ínfimo
[Cha00]. En particular, no es posible probar que un programa generado por
un sistema formal es ‘elegante’, si su tamaño es significativamente mayor
que el tamaño del programa ‘elegante’ que genera todos los teoremas del
sistema axiomático formal al cual el último representa.
Se tiene así un primer resultado de incompletitud derivado de la Teoría de
Información Algorítmica: no se puede probar que un programa es ‘elegante’
si su tamaño supera significativamente la complejidad del sistema formal
que lo genera ([Cha02b], s. VI). Sólo puede probarse que una cantidad finita
de programas específicos son ‘elegantes’ - aquellos cuyo tamaño son
menores que la complejidad del sistema ([Cha04], c. VI).
Este resultado de incompletitud tiene una consecuencia inmediata que trasciende
largamente a la Teoría de Información Algorítmica. Porque no poder demostrar que un programa
es ‘elegante’ si su tamaño supera al del algoritmo que genera todos los teoremas de la teoría (por
definición, la medida de la complejidad de la teoría) o equivalentemente, no poder hallar
‘mecánicamente’ más que una cantidad finita de programas ‘elegantes’, implica que el Problema de
Finalización de Turing es insoluble ([Cha04], c. VI). Y ello implica la incompletitud de los sistemas
axiomáticos formales à la Hilbert (sección 3.3.6.1.3).
Un argumento por reducción al absurdo permite verificar que la solución al Problema de
Finalización de Turing permitiría determinar cada programa ‘elegante’. Asumiendo que es
factible determinar para cada programa si es del tipo que finaliza, se ejecutan sólo aquellos que
finalizan y se registran las salidas correspondientes. Ordenando entonces estos programas por
tamaño, de aquellos que producen la misma salida se descartan todos excepto el primero (o el
conjunto de los primeros, de igual tamaño); así, en teoría se pueden obtener todos los
programas ‘elegantes’ que genera el sistema - una cantidad infinita. Pero según AIT sólo es
posible determinar un número finito de programas ‘elegantes’ - solamente aquellos de menor
tamaño que la complejidad del sistema - por lo cual la hipótesis es necesariamente falsa: el
Problema de Finalización no puede tener solución ([Cha04], c. VI).
La imposibilidad de determinar en general que un programa es ‘elegante’,
implica que el Problema de Finalización de Turing es insoluble. De esta
forma, el primer resultado de incompletitud trasciende la Teoría de
Información Algorítmica, proyectándose sobre la teoría matemática
axiomática y formal à la Hilbert (sección 3.3.6.1.3).
Esta revisión del Problema de Finalización de Turing desde la perspectiva de la Teoría de Información
Algorítmica - medición de la complejidad de la información en función del tamaño de los
programas que la producen - aporta nuevas posibilidades al problema. En la sección 3.3.6.1.2 se
aduce que el Problema de Finalización es insoluble puesto que no es factible la consecución de
383
Conviene considerar la complejidad de un sistema axiomático formal como el tamaño en bits del
programa que enumera el conjunto de teoremas [Cha92]. Es decir, es el tamaño en bits de los axiomas (el
‘programa’) más el tamaño en bits del intérprete que ejecuta al programa de acuerdo a las reglas de
inferencia, más el tamaño en bits de un programa adicional que enumere los teoremas producidos por el
intérprete a partir de los axiomas.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 151
un algoritmo comprobador de finalización ‘universal’ 384, es decir, un algoritmo que permita
decidir si un programa arbitrario385 es del tipo que finaliza o no. Prima facie, esto podría inducir
a pensar que ningún algoritmo comprobador de finalización es concebible. Sin embargo, desde
la perspectiva de AIT cabe una alternativa: dado un algoritmo chequeador de finalización de N bits,
entonces existe un programa cuyo tamaño es al menos unos pocos bits mayor que N, que nunca finaliza,
lo cual no es posible determinar con el algoritmo chequeador de N bits - asumiendo que este algoritmo
prefiere no dar una respuesta a dar una respuesta equivocada ([Cha04], c. VI). Esto significa que el
Problema de Finalización es soluble pero sólo en un número finito de casos, al igual que la
determinación de los programas ‘elegantes’ es factible solamente para aquellos cuyo tamaño
no supera la complejidad de la teoría (un número finito de programas).
La precedente limitación inherente a un posible algoritmo comprobador de finalización tiene
consecuencias sobre los sistemas formales à la Hilbert: dado que el algoritmo chequeador de
finalización puede reinterpretarse en términos de un sistema axiomático formal (sección
3.3.6.1.3) un sistema axiomático formal tiene complejidad limitada, finita, y que cualquier cuestión cuyo
tamaño en bits sea mayor que la versión computerizada del sistema386 no puede ser dilucidada en ese
sistema. Recuérdese que la idea de un sistema axiomático es contener todos los teoremas
‘comprimidos’ en los axiomas, y que esta información se puede extraer aplicando las reglas de
inferencia asociadas al sistema. Así, los axiomas y las reglas de inferencia constituyen el
programa ‘elegante’ (con su intérprete) para la generación de los teoremas, y la complejidad
algorítmica de estos últimos es entonces necesariamente igual o menor que la complejidad de
los primeros - porque en los sistemas formales à la Hilbert no se agrega información desde
fuera del sistema: todo está allí, en los axiomas y las reglas de inferencia.
Si se compara la complejidad algorítmica 387 del sistema axiomático con la
complejidad algorítmica del resultado que se pretende derivar de ese
sistema, y el resultado es más complejo que el sistema, entonces no es
factible obtenerlo del sistema mediante deducción ([Cha99], c. 1).
Un sistema axiomático formal de N bits permite decidir todas las
cuestiones de complejidad hasta N bits; ese es el límite del sistema
[Cha00].
La complejidad algorítmica finita de un sistema axiomático es capaz de
capturar solamente una cantidad finita de información: para obtener más
información a la salida, se debe suministrar más información a la entrada.
[ 3.3.6.2.4 ] EL NÚMERO Ω: ALEATORIEDAD ALGORÍTMICA EN MATEMÁTICAS
Hasta aquí, se ha ‘definido’ la aleatoriedad algorítmica, y en base a ello se ha conferido la idea
de la Teoría de Información Algorítmica. Luego, se ha mostrado una consecuencia
trascendental de esta teoría: no es posible demostrar, en general, que un programa es
‘elegante’ - o, en particular, que uno cuyo tamaño supera la complejidad del sistema es
‘elegante’ - lo cual implica que el Problema de Finalización de Turing es insoluble. Y, a su vez,
ello implica la incompletitud de Gödel para los sistemas axiomáticos formales à la Hilbert
(sección 3.3.6.1.3). Adicionalmente, se ha establecido una limitación al alcance de los sistemas
axiomáticos formales, en términos del tamaño en bits de su programa equivalente en el
384
Este argumento constituye una demostración alternativa a la demostración original de la insolubilidad
del Problema de Finalización, obtenida como corolario de la incomputabilidad.
385
Nótese que arbitrario implica una referencia a todo programa; por ello el calificativo de ‘universal’.
386
Los axiomas y las reglas de inferencia, o los axiomas y un generador de todas las cadenas simbólicas
posibles combinado con un comprobador de teoremas. Estos ‘objetos’ conforman un conjunto finito, cuya
complejidad algorítmica es, además, finita.
387
Recuérdese que la complejidad algorítmica es el tamaño del programa más conciso que produce
ciertos resultados dados
Ingeniería Electrónica – Universidad Católica del Uruguay
152 - [ 3 ] Modelos
autómata de Turing (u otro computador universal arbitrario): un sistema axiomático formal de
N bits permite determinar cuestiones de complejidad hasta N bits.
Sin embargo, falta demostrar que efectivamente existe aleatoriedad algorítmica en el seno de la
matemática pura. Esto es la idea del resto de la sección, donde se conectan más íntimamente la
aleatoriedad algorítmica de AIT con la incomputabilidad de Turing mediante el número real
aleatorio e incomputable Ω; luego se relaciona Ω con el Problema de Finalización de Turing; a
su vez se asocia este problema con el 10º problema de Hilbert (referente a la solución de las
ecuaciones Diofantinas) y así finalmente será posible constatar que existe aleatoriedad
algorítmica al mismo nivel que causó el escándalo Gödeliano: la aritmética elemental.
El camino hacia la constatación de existencia de aleatoriedad en la matemática pura se inicia
considerando una observación efectuada por Borel, referente a la ‘indefinición’ de la noción de
aleatoriedad: Borel observa que de poderse establecer una noción definitiva de aleatoriedad, ello
permitiría identificar a un objeto aleatorio, que no sería aleatorio en absoluto. Para Borel, aleatorio
implica que en cierta manera ‘no es posible distinguir al objeto del resto del conjunto’, puesto
que se carece de una propiedad distintiva que permita seleccionarlo ‘del montón’. Y el
problema consiste en que de definirse aleatoriedad, la propiedad de ser aleatorio se convierte en una
característica que puede usarse precisamente para diferenciar objetos atípicos de un conjunto388. Según
Chaitin, esto conduce a elaborar una jerarquía de nociones de aleatoriedad, donde la
aleatoriedad en cada nivel se deriva de la definición de aleatoriedad del nivel previo, como una
característica adicional. La conclusión de Borel es que no puede haber una definición última y
definitiva de aleatoriedad; este concepto es escurridizo, porque hay algo paradójico en relación
al mismo que impide su consecución. Definir aleatoriedad resulta, en definitiva, una cuestión de
decidir cuanto se está dispuesto a demandar; donde se pone el límite y se toma lo que se tiene en ese
punto como aleatorio ([Cha04], c. VI).
El planteo de Borel acerca de la indefinición de la aleatoriedad puede efectuarse
considerando números, y un número puede pensarse como una cadena de bits, si se considera
su expresión en binario. En este contexto, Chaitin define que una cadena de bits infinita S es
aleatoria si sus prefijos SN son - a excepción de una cantidad finita - cadenas finitas aleatorias.
De esta forma, para cadenas infinitas, la aleatoriedad pasa a ser una cuestión indiscutible,
absoluta. Pero para cadenas finitas, el argumento de Borel se aplica y efectivamente la cuestión
es decidir donde se pone el límite y se toma una cadena como aleatoria. Al respecto, Chaitin
propone emplear el siguiente criterio, que resulta de la aplicación de las ideas de AIT: una
cadena finita de bits SN es aleatoria cuando su complejidad es mayor que N, es decir, cuando el
tamaño en bits del programa más conciso que la produce es mayor que el largo en bits de la
propia cadena. Es, en esencia, la aplicación de la definición de aleatoriedad algorítmica a una
cadena de bits. E, intuitivamente, es una definición coherente: la descripción de una cadena de
N 0’s o 1’s requiere saber únicamente la cantidad de bits que la componen y el valor de uno de
ellos, de forma que el tamaño de un programa que la computa es del orden de log 2N << N bits
(para N grande389); su complejidad es baja. Por el contrario, los programas ‘elegantes’ de N bits
son algorítmicamente irreducibles, por lo que no pueden ser producidos por programas de
menos de N bits; así, tienen complejidad del orden de N, lo que los ubica en el límite entre lo
estructurado y lo aleatorio390 ([Cha99], c. VI).
388
Chaitin propone el siguiente ejemplo: Supóngase que de alguna manera se decide como distinguir
entre números enteros cuyos dígitos forman una cadena aleatoria, y los que no. Luego, imagínese el
primer número de N dígitos que satisface la definición de aleatoriedad prefijada. Ahora, note que - en
caso de hacerlo - el número considerado sería en cierta manera atípico: es precisamente el primer número
de N dígitos que posee esta propiedad particular que se fijó como criterio de aleatoriedad. Y así, deja de
ser un número ‘del montón’ - posee una particularidad que permite distinguirlo - y entonces no puede
ser aleatorio en el sentido de Borel.
389
Es esencialmente un bucle de N iteraciones que concatena una constante de un bit. Especificar N en
binario requiere log2N bits, y el código correspondiente a un bucle finito es constante, de forma que
resulta comparativamente pequeño conforme se incrementa N.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 153
Una cadena finita de N bits S N es aleatoria cuando su complejidad H(SN) es
mayor que N, es decir, cuando el tamaño en bits del programa más conciso
que la produce es mayor que el largo en bits de la propia cadena: H(SN) > |
SN| = N → SN aleatoria.
Una cadena infinita de bits S es aleatoria cuando todos sus prefijos S N - a
excepción de una cantidad finita - son cadenas finitas aleatorias. A
diferencia de las cadenas finitas, donde la complejidad es relativa, la
característica de aleatoriedad de las cadenas infinitas es una cuestión
absoluta.
El siguiente paso para la constatación de la existencia de aleatoriedad en matemáticas,
consiste en advertir que el número incomputable R que propone Turing (sección 3.3.6.1.1; Tabla
3.1) - el cual es una cadena infinita de dígitos - contiene información redundante. Para verlo,
conviene considerar una situación equivalente: usando el mismo procedimiento que Turing, en
lugar de ‘construir’ el número incomputable R simplemente se ‘construye’ un número binario
fraccionario B, con la propiedad que el valor del n-ésimo bit luego del punto binario de B
indica si el n-ésimo programa pn es del tipo que finaliza o no391. Así, cada uno de los infinitos
bits de este número binario incomputable B nos daría la solución del Problema de Finalización
para cada respectivo programa. Pero los diferentes casos del Problema de Finalización están
relacionados, y por esa razón B contiene información redundante: los bits de B no son
independientes uno de otro. Y la causa es que una cantidad finita de instancias del Problema de
Finalización de Turing no son independientes. Si el Problema de Finalización se pretende
resolver para una cantidad finita N de programas, y - de alguna manera, que no es relevante al
momento - se sabe de antemano que una cantidad K son del tipo que finaliza, simplemente se
ejecutan los N programas en paralelo hasta que se observa la finalización de los K primeros de
ellos, y el resto se puede ignorar. Esto es expresable con menos de N bits de información;
bastan en el orden de log2N bits, lo necesario para expresar un número K ≤ N en binario. Así,
N instancias del Problema de Finalización es información redundante si se conoce de
antemano cuantos programas de los N son del tipo que finaliza, y se necesitan K ≤ N bits de B
para indicarlo en forma concisa. Pero esto implica que cada prefijo BN de B es una cadena finita
compresible, y por tanto, no aleatoria. Como los programas pn son un infinito numerable, B tiene
infinitos prefijos BN que no son cadenas finitas aleatorias, y entonces - por definición - B no es
una cadena infinita aleatoria. Entonces, es compresible, y por tanto contiene información
redundante. Sin embargo, la idea de conocer de antemano cuantos programas de un conjunto son del
tipo que finalizan, sugiere una forma de eliminar la redundancia. Precisamente, esa idea es la que
Chaitin emplea para la definición de su número Ω.
Considerando el problema de la ‘indefinición de la aleatoriedad’ de Borel, sus derivaciones
en la noción de aleatoriedad para cadenas de bits finitas e infinitas, y la redundancia en el
Problema de Finalización de Turing, Chaitin reformula el Problema de Finalización de la
siguiente manera: en lugar de preguntarse si un programa individual es del tipo que finaliza,
considera la totalidad de los programas y se pregunta ¿cual es la probabilidad que un programa
elegido al azar, desde conjunto de todos los programas, sea del tipo que finaliza? De esta manera, se
combinan todas las instancias del Problema de Finalización de Turing en un único número real
- la Probabilidad de Finalización - que se designa Ω.
Dado que la Teoría de Información Algorítmica considera los programas como cadenas de
bits, la reformulación de Chaitin del Problema de Finalización de Turing, es equivalente a generar un
390
De hecho, tienen apenas la estructura suficiente para hacerlos auto - delimitados (la noción de
auto - delimitación y sus razones se exponen más adelante en la presente sección). Esencialmente, la
estructura corresponde a su encabezado - del orden de log2N bits - que indica precisamente la cantidad
N de bits del programa (ver nota 394, p. 154).
391
Por ejemplo, B=.011010... significaría que p1, p4, y p6 son programas del tipo que nunca finalizan,
mientras que p2, p3, y p5 son del tipo que efectivamente finaliza, etc. En esencia, este número B es un paso
previo en la ‘construcción’ del número R.
Ingeniería Electrónica – Universidad Católica del Uruguay
154 - [ 3 ] Modelos
programa, bit a bit, mediante lanzamientos independientes de una moneda balanceada, y estudiar la
probabilidad de que el programa generado de esa manera azarosa sea del tipo que finalice. De acuerdo a
la definición clásica de probabilidad, la probabilidad de obtener un programa dado de N bits,
mediante lanzamientos de una moneda equilibrada para determinar cada uno de sus bits, es
simplemente 2-N. Así, cada programa - del tipo que finaliza - contribuiría a la Probabilidad de
Finalización con un término 2-|p|, donde |p| es su tamaño medido en bits. Sin embargo, la
suma de estos (infinitos) términos sería divergente, por lo cual la Probabilidad de Finalización
no estaría bien definida392. Chaitin soluciona este problema introduciendo la siguiente
restricción: ninguna extensión de un programa válido puede ser un programa válido393. Y esto se
obtiene exigiendo que los programas deben ser auto-delimitados, es decir, el computador debe ir
leyendo un programa de a bit y decidir por si mismo cuando ha llegado al final del programa, y por tanto
debe dejar de leer. Dado que los programas no tienen una única longitud, el computador debe
poder determinar cual es el último bit correspondiente al programa a partir del propio
programa que ejecuta, por lo cual la codificación de los programas tiene que advertírselo de
algún modo394. Por cierto, esta exigencia no constituye ninguna extravagancia: todos los
lenguajes de programación reales brindan constructores para indicar tanto el fin como el inicio
de los programas, y con estos delimitadores es posible anidar y concatenar subprogramas,
análogamente a como los paréntesis permiten delimitar las expresiones matemáticas 395. Cabe
notar que esta exigencia de autodelimitación de los programas no solamente constituye un
recurso para la correcta definición de Ω, sino que compromete a todos los resultados de AIT 396;
392
Por ejemplo, considerando que los dos únicos posibles programas de 1 bit de longitud y al menos uno
cualquiera más son del tipo que finaliza, la suma ya resultaría mayor que 1, y por lo tanto, sería
directamente inadmisible como un valor probabilístico. Con mayor generalidad: la expresión de la suma
es c1·2 - 1 + c2·2 - 2 + c3·2 - 3 + c4·2 - 4 + ... donde los ci indican la cantidad de programas de i bits que son del
tipo que finalizan; suponiendo - sin mayor pérdida de generalidad - que para cada tamaño i sólo la
mitad de los programas son del tipo que finaliza, ci = ½·2 i y la suma resultaría
(½·2 1)·2 - 1 + (½·2 2)·2 - 2 + (½·2 3)·2 - 3 + (½·2 4)·2 - 4 + ... = ½ + ½ + ½ + ½ + ... → ∞.
393
Para el ejemplo considerado en la nota 392 (p. 154) si los dos únicos programas de 1 bit fuesen del
tipo que finaliza esta restricción garantiza que no puede haber un tercero que lo haga. En este caso, la
probabilidad queda bien definida - y además es coherente el resultado que se obtiene (la certeza). No es
difícil ver que esto vale en el caso general.
394
Una estrategia trivial consiste en dar cada bit del programa por duplicado, y finalizar con un par de
bits diferentes: por ejemplo, 1100001100111100....001100100011010110010.... sería un programa hasta el
par de bits 10 destacado en negritas, y un computador programado para reconocer esto podría decidir
perfectamente cuando ha llegado al final del programa. Dado que esto implica la duplicación del tamaño
del programa, una estrategia más sofisticada consiste en emplear esta técnica para describir sólo un
encabezado auto - limitante que preceda al programa, donde se indique el número de bits que componen
al programa que sigue a ese encabezado; de esta forma, se duplicaría solamente en tamaño al
encabezado (que representa un número natural, el largo de la secuencia de bits del programa que lo
sucede). Adicionalmente, pueden predefinirse encabezamientos anidados, para lograr mayor economía
en caso de programas extensos. Nótese que, en general, esta técnica de encabezamiento aumentaría el largo de
un programa de N bits en el orden de log2N bits.
395
Esto se hace en forma casi refleja al editar el código fuente de un programa; los ‘constructores’
referidos son expresiones simbólicas características del lenguaje formal, como ‘begin’, ‘end’, ‘;’, ‘{‘, ‘}’,
etc. que de algún modo los compiladores, ensambladores y enlazadores traducen al formato binario
interpretable por el computador correspondiente.
396
Esta restricción está relacionada con la compresibilidad de una cadena de bits. Kolmogorov define
una cadena infinita de bits como aleatoria, si cada uno de sus ‘prefijos’ finitos - sus posibles comienzos es una cadena aleatoria. Sin embargo, Löf lo impugna diciendo que puede hacerse una compresión del
orden de log2N (donde N es la longitud en bits de cada prefijo) por la eventual existencia de sucesiones
de 0’s o 1’s en los prefijos. Pero la auto - delimitación que propone Chaitin tiene el efecto de agregar a
una cadena de N bits un encabezado justamente del orden de log 2N. “... la mayoría de las cadenas de N bits
auto - delimitantes requieren - al menos - programas de N + log2N bits. Ahora sí es posible demandar que la
complejidad de cada prefijo de N bits de una cadena aleatoria infinita nunca se reduzca por debajo de N. Los
‘baches’ de compresión del orden de log2N ahora reducen los prefijos de N + log2N a N, en lugar de N a >> p. 155
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 155
de hecho, según su autor, el planteamiento original de esta teoría en 1960 es falaz por este
motivo, y por ello debió ser reformulada (1974) [Cha92]. Además, la autodelimitación es
coherente con la hipótesis de trabajo del Problema de Finalización de Turing, que demanda
que los programas no efectúen lecturas externas 397 (sección 3.3.6.1.2). Así, en definitiva,
promediando sobre el Problema de Finalización de Turing, se puede definir la Probabilidad de
Finalización - el número Ω - como el límite de la suma de 2-|p|, donde |p| es el tamaño en bits de los
programas autodelimitados p del tipo que finalizan:
=∑ 2
p
−∣p∣
: probabilidad de finalización
; p : programa autodelimitado del tipo que finaliza
∣p∣: tamañoen bits de p
La Probabilidad de Finalización Ω de Chaitin constituye una reformulación del
Problema de Finalización de Turing, que considera el ensemble de programas
autodelimitantes del tipo que finaliza, e indica la probabilidad de que un
programa, generado aleatoriamente bit a bit mediante lanzamientos
independientes de una moneda equilibrada, finalice.
Prima facie, parecería factible intentar el cálculo de Ω mediante una sucesión de
aproximaciones. Fijando el computador y el lenguaje de programación, primero se establece
un límite temporal tN finito para convertir el Problema de Finalización en un problema
trivialmente soluble 398. Luego, en orden de tamaño creciente, se ejecuta cada posible programa
de hasta N bits durante el tiempo tN finito, y cada programa que se observe que finaliza
contribuye con 2-|p| al valor aproximado de Ω; los restantes programas se asumen son del tipo
que no finaliza. Así, el (posible) error que se comete en esta aproximación deriva precisamente
de asumir que los programas que no finalizaron dentro del límite temporal prefijado tN no lo
harán jamás, y por tanto, en el límite N→∞ la aproximación a este número real Ω es por debajo.
Nótese que aunque esta convergencia progrese muy lentamente399, el tiempo de cómputo no se
considera parte del problema en AIT; el límite temporario tN es un artificio de carácter
meramente práctico. No obstante, esta aproximación presenta un inconveniente estrictamente
algorítmico: “Normalmente, para que los valores aproximados de un número real sean útiles, debe
saberse que tan cerca se está del valor al que se está aproximando, debe conocerse lo que se llama la ‘tasa
de convergencia’, o tener lo que se llama ‘un regulador de convergencia computable’. Pero aquí no
tenemos nada de eso, sólo una secuencia de números racionales que muy lentamente se acercan a Ω, pero
sin jamás habilitarnos a saber que tan cerca estamos de Ω en determinado momento de este interminable
cómputo.”400 ([Cha04], c. VI). Esto deriva del hecho que el Problema de Finalización es en
realidad insoluble, y por tanto - aunque se alargue tN- no se puede tener ninguna idea acerca
de la cantidad de programas que finalizarán en algún momento más allá del tN fijado. Y las
consecuencias de este frustrante intento de aproximación a Ω son importantes: Ω es un real
incomputable, y sus bits son información irreducible.
Una vez definido Ω, la Teoría de Información Algorítmica presenta su segundo resultado de
incompletitud: Ω es un número real incomputable . El argumento para demostrarlo aduce que
podrían usarse los primeros N dígitos de la expresión en binario de Ω (los primeros N bits de
<< p. 154 N - log2N. Y de esta forma, mi definición de aleatoriedad en términos de complejidad funciona tanto para
cadenas finitas como infinitas. Resulta ser equivalente a la definición de Martin - Löf para cadenas infinitas.
” ([Cha99], c. 6).
397
Una razón trivial para ello, es que desde el exterior se les transmita la orden de finalización.
398
Este límite temporal tN debe - al menos - alcanzar para que el computador elegido pueda leer un
programa arbitrario de N bits, e iniciar su ejecución. En la práctica, debe permitir la ejecución durante
un período razonable; Chaitin, por ejemplo, asume tN = N segundos.
399
Más lentamente conforme se incrementa N, dado que el tiempo requerido para calcular los bits de Ω
crece según el máximo tiempo de ejecución de un programa de N bits [Cha00].
400
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
156 - [ 3 ] Modelos
Ω) para decidir el Problema de Finalización para todos los programas de hasta N bits. Por
definición, para conocer el N-ésimo bit de Ω se deben haber visto todos los programas de
tamaño menor o igual a N bits que finalizan, verbigracia, ello implica conocer la solución al
Problema de Finalización para todos los programas de hasta N bits. Pero N es arbitrario (puede
hacerse que N→∞) y el Problema de Finalización es soluble únicamente para un número finito
de casos401, de forma que no podrá ser posible conocer infinitos bits de Ω. Así, Ω es
efectivamente incomputable; ningún procedimiento de aproximación permitirá alcanzar el
valor de Ω, ni siquiera en teoría.
Ω es un número real incomputable: no es factible un procedimiento para calcular
sus bits, uno a uno, puesto que ello implicaría conocer la solución al Problema de
Finalización para todos los programas cuyo tamaño en bits sea menor o igual que la
cadena de bits de Ω considerada hasta el momento – y si bien el Problema de
Finalización es soluble para un número finito de casos, la longitud de esta cadena
considerada crece indefinidamente. Este constituye el segundo resultado de
incompletitud de la Teoría de Información Algorítmica.
El número real incomputable Ω presenta, además, la siguiente propiedad: los bits de Ω
constituyen hechos matemáticos irreducibles. Esto se puede comprender al considerar la
información contenida en los primeros N bits de Ω, y compararla con la información contenida
en el número real binario B que se menciona en la p. 153, cuyo n-ésimo bit indica si el
programa pn es del tipo que finaliza o no402. Supóngase que - de alguna manera - se conocen los N
primeros bits de Ω, es decir, de algún modo se conoce el prefijo ΩN de Ω. Aplicando el
procedimiento de aproximación descrito precedentemente, se van obteniendo aproximaciones
a Ω cada vez mejores - incrementando el límite temporal tN- hasta que los primeros N bits del
valor aproximado coincidan con los bits del prefijo ΩN dado, y en ese momento, se detiene el
proceso de aproximación. En virtud de la definición de Ω, hasta ese punto se habrán visto
exactamente todos los programas de N bits o menos que finalizan, y no se necesita seguir
incrementando tN; el resto de los programas puede ignorarse puesto que se sabe que no
finalizarán jamás. Considerando que el conjunto de programas de N bits o menos es un
conjunto finito, conocer ΩN de antemano es entonces equivalente a saber de antemano cuantos
programas de ese conjunto finito son del tipo que finaliza. Y consecuentemente, a diferencia
del número B, ΩN contiene la solución al Problema de Finalización sin información redundante.
Alternativamente, puede llegarse al precedente resultado por otro camino: una vez obtenido
el prefijo ΩN dado mediante el procedimiento de aproximación, es perfectamente posible
generar una cadena de bits tal que no coincida con ninguna de las salidas de los programas
que finalizaron durante la aproximación. Esta cadena puede generarse en forma manual y
arbitraria, o dejando correr al procedimiento de aproximación a Ω por unos ciclos más hasta
que publique la salida de un programa que difiera de todas las previas403. Dado que las salidas
correspondientes a los programas del tipo que finalizan de N bits o menos ya han sido
observadas, necesariamente esta cadena de bits no puede haber sido producida por ningún
programa de N bits o menos; se corresponde, por tanto, con la salida de un programa del tipo
que finaliza de más de N bits. De forma que los primeros N bits de Ω requieren programas del
orden de N bits: apenas se alcanza el valor de ΩN, ello implica que se han visto todos los
programas que finalizan de hasta N bits, y cualquier otro programa que finalice a partir de ese
401
Demostración efectuada por los propios mecanismos de AIT, esencialmente la imposibilidad de
demostrar que un programa es ‘elegante’. Es importante notar que no se requiere apelar a la
demostración de Turing.
402
Recuérdese la discusión en la p. 153, donde se muestra que B puede verse como un paso intermedio
en la ‘construcción’ del número incomputable R de Turing, cuyos bits no son independientes y por tanto
contiene información redundante.
403
Cabiendo la posibilidad que un conjunto de programas produzca idéntica salida, se ignorarían estos
casos. Corresponderían a que algún programa de N bits o menos sea el programa ‘elegante’ para tales
salidas.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 157
momento es de más de N bits. En esencia, el precedente argumento no es más que la
constatación de que la definición de Ω implica que sus prefijos ΩN son cadenas de bits
irreducibles. En particular, si se pretende que un programa devuelva los primeros N bits de Ω y
finalice, el tamaño de este programa debe ser mayor que N bits, porque los primeros N bits de Ω son
información irreducible, y por ende no pueden ser producidos por programas de N bits o menores 404. De
hecho, lo óptimo sería que el programa contuviese los N primeros bits de Ω como un dato, una
constante, y que simplemente los publicase como salida405.
En definitiva, que los prefijos ΩN de Ω contengan información no redundante significa que Ω satisface
la definición de una cadena infinita aleatoria. Y, en consecuencia, Ω es información incompresible .
Ω es información matemática irreducible, un número real algorítmicamente
aleatorio: la forma más concisa de generar sus N primeros bits es
incorporarlos como un dato en el programa, tal cual son; no hay forma de
producirlos a partir de algo más conciso que su directa expresión binaria.
Este constituye el tercer resultado de incompletitud de AIT - y el más
trascendente.
“Ω es información irreducible . Esta debiera ser una idea chocante, información matemática
irreducible, porque la idea normal en matemáticas, la idea Hilbertiana, la idea clásica de las matemáticas,
es que toda la verdad matemática puede ser reducida a un pequeño conjunto de axiomas sobre el cual
todos podemos acordar, y que esperemos sean ‘auto-evidentes’. Pero si se quiere determinar cuales son los
bits de la Probabilidad de Finalización Ω, esto es algo que no puede ser reducido a nada más simple de lo
que es.”406 [Cha00]. Que Ω sea incomputable significa que no hay un algoritmo que permita
computar sus bits uno a uno, al igual que el número R de Turing. Pero que sea información
irreducible implica que es imposible probar cual es el valor de los bits individuales de Ω mediante un
sistema axiomático formal. Porque con un sistema axiomático formal de complejidad N - es decir,
expresado en términos de un programa de N bits en el autómata de Turing (sección 3.3.6.1) como máximo pueden computarse objetos de complejidad N (sección 3.3.6.2.3) y si los
teoremas de este sistema formal son de la forma “El 1 er bit de Ω es 0”, “El 7º bit de Ω es 1”, “El
2456º bit de Ω es 1”, “El 1256389º bit de Ω es 0”, etc. 407, ello implica que se podrán calcular como
máximo N+c bits de Ω408 409. Y esto prueba que hay regiones de la matemática pura en donde el
razonamiento es absolutamente inútil: si se pretende probar si un bit individual en un lugar
específico de la expansión binaria del número real Ω es 0 o 1, esencialmente esto debe
404
Estrictamente, los primeros N bits de Ω no pueden ser producidos por programas significativamente
menores que N bits. Dicho en forma más precisa: los bits de ΩN no pueden ser producidos por
programas de menos de N - c bits, donde c es una constante que no depende de N. La constante c puede
considerarse un detalle técnico que no es esencial para comprender la idea de incompresibilidad, y basta
considerar N lo suficientemente grande para que N - c ≈ N ([Cha74], [Cha03]).
405
Nótese que para ello alcanza un programa de N+1 bits, si el computador esta diseñado de tal forma
que, según el estado de ese bit ‘extra’ del programa, pueda tomar la decisión de publicar los N bits de Ω
almacenados como dato en el resto del programa, y luego finalizar. En el caso general, el programa será
de N+c bits, donde c es una constante que depende del computador y el lenguaje de programación. Así,
en general N bits de Ω requerirán como máximo programas de N+c bits. Sin embargo, esta cota superior
de aspecto inocente puede implicar una cantidad de información considerable, dependiendo de N (véase
el ejemplo en la nota 461, p. 173).
406
Texto traducido del original, en inglés. Ver nota 54, p. 39.
407
Nótese que no necesariamente los bits de Ω que se intenten calcular deben ser consecutivos al
primero; sólo interesa su cantidad.
408
En principio, puede interpretarse la nota 404 (p. 157) para N bits cualesquiera de Ω, no
necesariamente los primeros. Si se considera la complejidad de un sistema axiomático formal como el
tamaño en bits del programa que enumera al conjunto de teoremas - eso es cuantos bits se requieren
para especificar los axiomas, las reglas de inferencia, y código adicional para publicar la lista enumerada
de teoremas - y este programa es de N bits, entonces solamente se podrán calcular N bits de Ω.
409
Se asume, naturalmente, que el sistema formal en cuestión es consistente.
Ingeniería Electrónica – Universidad Católica del Uruguay
158 - [ 3 ] Modelos
adoptarse como hipótesis, como axioma; sólo una cantidad finita N de estas pruebas son
viables en un sistema formal de complejidad N [Cha92].
Que los bits de Ω constituyan información irreducible implica que es
imposible probar cual es el valor de los bits individuales de Ω mediante un
sistema axiomático formal. Un sistema axiomático formal de complejidad
N sólo permite determinar una cantidad finita N de bits arbitrarios de Ω,
tantos como su complejidad. Si mediante deducción - el razonamiento - se
pretende probar que un bit individual en un lugar específico de la
expansión binaria de Ω es 0 o 1, esto no será posible excepto para un
número finito de casos, fuera de los cuales el valor de los bits de Ω deben
adoptarse como hipótesis, como axiomas.
Este es un resultado de incompletitud severo: significa que hay regiones de
la matemática pura en donde el razonamiento es absolutamente inútil.
Pese a que Ω es un número real cuya definición matemática es concreta, s us bits no poseen una
estructura o patrón que se pueda percibir, porque entre los mismos no hay correlación. Recuérdese que
Ω es la probabilidad de que un programa cuyos bits sean generados al azar (por ejemplo,
mediante lanzamientos independientes de una moneda equilibrada) sea del tipo que finaliza.
Pero de la misma manera que conocer el resultado de un millón de lanzamientos de una
moneda no ayuda en absoluto a predecir los siguientes resultados, o conocer los resultados de
los lanzamientos pares no dice nada sobre los resultados de los lanzamientos impares, conocer
algunos bits de Ω no brinda información alguna acerca de los otros. Así, los bits de Ω simulan en
matemáticas lo que en el mundo real serían lanzamientos independientes de una moneda balanceada
([Cha04], c. VI). Y una particularidad en el experimento de lanzar una moneda consiste en que
las realizaciones constituyen ‘verdades’ accidentales, en el sentido que son hechos para los cuales
no hay una razón por la cual suceden; simplemente se obtiene ‘cara’ o ‘número’, y no hay un
motivo manifiesto para que ocurra una u otra cosa. Pero entonces, la simulación en
matemáticas de lanzamientos independientes de una moneda balanceada - los bits de Ω implican que en matemáticas hay ‘verdades’ que carecen de un motivo, de una razón. “¿Cual
es la idea de las matemáticas? La idea normal es que si algo es verdadero, es verdadero por alguna razón
- ¡Leibniz! - si algo es verdadero, lo es por algún motivo. Ahora, en la matemática pura, la razón por la
cual algo es verdadero se llama una prueba, y la tarea del matemático es encontrar pruebas. ¡Pero los bits
de este número Ω, el hecho que sean 0 o 1, son verdades matemáticas que son verdaderas por ningún
motivo, son verdaderas por accidente! Y esta es la razón por la cual nunca conoceremos estos bits. En
otras palabras, no es que Hilbert estuviese sólo un poco equivocado. No es que la noción normal en
matemáticas era sólo levemente equivocada, que hay unos escasos huecos, que hay unos pocos casos
degenerados como la aserción ‘Soy indemostrable’. ¡No es así! ¡Es mucho, mucho peor que eso! Hay
casos extremos donde la verdad matemática carece de estructura, donde es maximalmente incognoscible,
donde es completamente accidental, donde se tienen verdades que se asemejan a lanzamientos de
monedas, que son verdaderas por accidente, verdaderas por ningún motivo. ¡Esto es por lo cual nunca se
puede probar si bits individuales de Ω son 0 o 1, porque no hay un motivo para que bits individuales
sean 0 o 1!...”410 [Cha00].
Los bits de Ω simulan en matemáticas lo que en el mundo real serían lanzamientos
independientes de una moneda balanceada. Así, que los bits de Ω sean 0 o 1 son
aserciones matemáticas verdaderas por ningún motivo, verdaderas por accidente.
Esta es la razón por la cual no es posible probar el valor de bits individuales de Ω:
no hay un motivo para que sean 0 o 1. Y esto muestra que la incompletitud en
matemáticas no se trata solamente de casos aislados o patológicos como la aserción
de Gödel “¡Soy indemostrable!”, sino que hay casos donde se carece totalmente de
estructura, donde se tienen verdades que se asemejan a lanzamientos de monedas, y
que por tanto están vedados al conocimiento deductivo.
410
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 159
Este resultado puede entonces interpretarse informalmente como que la matemática contiene
aleatoriedad: los bits de Ω. Sin embargo, debe insistirse en que ‘aleatoriedad’ no implica que la
matemática sea arbitraria, y que ocasionalmente 2+2 sea distinto de 4. Como se señala ya desde
la sección 3.3.6.2.1, la aleatoriedad considerada es de tipo algorítmica: lo que en matemáticas
existe es información irreducible, pero no arbitrariedad. Por ello, decir que Ω es un número
aleatorio es quizás un tanto confuso, porque Ω es un número definido con precisión, que
técnicamente satisface las propiedades que hacen a un número real aleatorio. Lo más adecuado
es decir que Ω es un número irreducible, en virtud de que lo es tanto algorítmicamente, como
computacionalmente, como lógicamente - Ω es irreducible por medio del razonamiento; sus
bits no pueden ser obtenidos de axiomas más simples que ellos mismos. Decir que Ω es
aleatorio requiere tener presente las precedentes observaciones. La cuestión es que la
información en Ω está ‘empaquetada’ en sus bits de forma irreducible, irredundante, y por eso
los bits de Ω efectivamente simulan ser el resultado de un proceso aleatorio como el
lanzamiento de una moneda. Y esto implica que Ω posee muchas de las características típicas del
resultado de un proceso aleatorio en el sentido físico - un proceso impredecible, que solamente admite un
tratamiento estadístico. Así, se podrán probar todo tipo de propiedades estadísticas acerca de los bits de
Ω, pero jamás determinarlos en forma individual. Esta precisión pone de manifiesto una limitante
de la Teoría de Información Algorítmica, y es que un número real aleatorio puede ser
insignificante (carecer de sentido) o puede ser extremadamente significativo (como Ω, que
contiene toda la información del Problema de Finalización) pero AIT no puede distinguir entre
estos.
Los bits de Ω demuestran que existe aleatoriedad algorítmica en
matemáticas. El hecho que la información del Problema de Finalización esté
‘empaquetada’ en los bits de Ω en forma irreducible e irredundante, produce que
estos efectivamente simulen ser el resultado de un proceso aleatorio como el
lanzamiento de una moneda. Esto implica que Ω posee muchas de las
características típicas del resultado de un proceso aleatorio en el sentido
físico - un proceso impredecible, que solamente admite un tratamiento
estadístico.
Por esto Ω constituye un resultado de incompletitud más severo que la
incomputabilidad: hay áreas de la matemática en las cuales el
razonamiento es inútil, y sólo puede esperarse un tratamiento estadístico
de los fenómenos. Ω es una suerte de atentado contra el determinismo.
Ω parece un número computable, pero está más allá de la frontera de lo que la matemática
puede calcular; puede aproximarse por debajo, pero jamás se sabe que tan cerca se está del
valor verdadero. Tal como la observación de Borel acerca de la indefinición de aleatoriedad, Ω
casi parece asequible - pero no lo es. “En otras palabras, para que un resultado de incompletitud sea
chocante, la situación debe ser tal que justo en el momento que estamos por estirarnos y tocar algo, se nos
pega en los dedos. Jamás podemos tenerlo, pese a que está tentadoramente servido sobre la mesa de la
cena, junto a mucha comida apetecible. Eso es mucho más frustrante y mucho más interesante que haber
sido informados que no podemos poseer algo o hacer algo que nunca pareció lo suficientemente concreto o
traído a tierra, algo que jamás pareció una legítima posibilidad en primera instancia.”411
([Cha04], c. VI).
Desde la perspectiva de la Teoría de Información Algorítmica - la
complejidad de la información dada por el tamaño del programa más conciso que la
produce, y el número real incomputable y algorítmicamente aleatorio Ω - la
incompletitud en matemáticas se presenta como un fenómeno inmediato e
inevitable.
No obstante, a Chaitin le preocupa que muchos matemáticos desestimaran - en su
momento - los resultados de incompletitud de Gödel, aduciendo que las aserciones a las que
411
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
160 - [ 3 ] Modelos
estos se referían no eran del tipo con las que ellos usualmente trabajaban. “Lo que no podía
aceptar es que incluso en el mundo de las matemáticas, los matemáticos estaban diciendo ‘que importa,
en la práctica deberíamos hacer matemáticas exactamente a como lo veníamos haciendo, esto no se aplica
a los problemas que me interesan.’ Esa fue básicamente la reacción a los trabajos de incompletitud de
Gödel y Turing.”412 [Cha00]. En virtud de ello, y considerando que los resultados de
incompletitud de AIT son más severos que los resultados de Turing y Gödel, la idea de Chaitin
es llevar Ω al basamento matemático - la aritmética elemental - de forma de al menos expresar
estos resultados al nivel de los anteriores.
Incidentalmente, el camino para expresar los bits de Ω en términos de la aritmética
elemental pasa por otro de los problemas planteados por Hilbert en 1900 - su décimo
problema - que se refiere a la factibilidad de solución de las ecuaciones diofantinas. Una
ecuación diofantina es una ecuación algebraica (polinomial) en la cual las constantes y las incógnitas son
números naturales (enteros positivos)413. El décimo problema de Hilbert es esencialmente un reto
para descubrir un algoritmo que permita la solución de este tipo de ecuaciones, un algoritmo
capaz de determinar el conjunto de números naturales que satisfacen cada una de las posibles
ecuaciones de este tipo. Pero en 1970, al trabajo combinado de Robinson, Putnam y Davis se
adjunta un resultado clave de Matijasevic, que permite demostrar que el 10º Problema de
Hilbert es insoluble: no existe un algoritmo para hallar la solución de una ecuación diofantina414.
Nótese que de existir una solución, esta podría ser hallada mediante un procedimiento
sistemático que fuese sustituyendo ordenadamente las incógnitas por números naturales; pero
de no existir una solución, este procedimiento sería inacabable y el problema consistiría en
decidir cuando finalizarlo, y dar por insoluble la ecuación. Dado que este procedimiento
podría programarse en el autómata de Turing, en esencia lo que se obtiene es una versión del
Problema de Finalización de Turing - y como este es insoluble, se deduce que el método no
permite la solución de una ecuación diofantina arbitraria ([Cha04], c. II). Así, aunque las
ecuaciones diofantinas provienen de la Alejandría clásica, increíblemente resulta que una
ecuación diofantina ordinaria puede representar a una máquina de Turing; una ecuación diofantina
ordinaria es un computador universal (Fig. 3.4).
En la ecuación diofantina ordinaria universal (Fig. 3.4) están presentes ambos lados
(izquierdo, I, y derecho, D) dos símbolos especiales, k (el parámetro de la ecuación) y n (la
incógnita de interés) más otras incógnitas x1, x2, x3,... que no revisten especial interés. La
interpretación de esta ecuación diofantina universal como un computador consiste en
considerar a k como el programa, n como la salida del programa, y las variables x1, x2, x3,...
como una variable de tiempo multidimensional, que representan los instantes de tiempo del
cómputo en los cuales k produce n. La operación de este ‘computador’ consiste entonces en
colocar un valor específico de k, que se corresponde con el programa a ejecutar, y se calcula la
expresión I(k, n) = D(k, n) hasta hallar los instantes x1, x2, x3,... en los cuales valores
412
Texto traducido del original, en inglés. Ver nota 54, p. 39.
413
Una ecuación diofantina ordinaria está constituida por constantes e incógnitas relacionadas mediante
adición y multiplicación; una ecuación diofantina exponencial incorpora la operación de exponenciación.
Esto implica que en una ecuación diofantina ordinaria, los exponentes son exclusivamente números
naturales, mientras que en una exponencial, los exponentes pueden contener incógnitas. En cualquier
caso, la idea es evitar el uso de números enteros negativos y la substracción, por lo cual es mandatorio
emplear ambos lados de la ecuación (los términos se deben coleccionar a ambos lados del símbolo ‘=’, no
pudiéndose en general llevar la ecuación a una forma f(x)=0) ([Cha04], c. II).
414
Julia Robinson, Hilary Putnam, Martin Davis y Yuri Matijasevic. Matijasevic construyó una ecuación
diofantina donde una de las variables (k) se distingue como parámetro, y que tiene solución para
determinados valores de k si y sólo si el k - ésimo programa es del tipo que finaliza. En esencia, lo que
Matijasevic demostró en 1970 es que el 10º Problema de Hilbert es equivalente a decidir si un programa
computacional arbitrario es del tipo que finaliza. Y como desde Turing se sabe que no existe un
algoritmo para resolver el Problema de Finalización, el 10º Problema de Hilbert resulta insoluble.
Matijasevic ha seguido trabajando al respecto; en particular, en colaboración con James Jones (1984) han
producido un resultado que Chaitin usa en sus argumentos.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 161
Ecuación Diofantina Ordinaria Universal
(Computador Universal)
I(k, n, x1, x2, x3,....) = D(k, n, x1, x2, x3,....)
k: programa
n: salida
x1, x2, x3,...: instantes de tiempo
Fig. 3.3: Ecuación Diofantina Ordinaria Universal; representación del autómata de Turing, o el computador universal.
predeterminados de n hacen que la ecuación se satisfaga - lo que implicaría que el ‘programa’
k ha producido la ‘salida’ n415. Así, por ejemplo, puede suministrarse un número k que sea la
codificación de un programa para enumerar todos los teoremas de un sistema axiomático
formal, y los teoremas serían devueltos como números tales que su decodificación produce la
cadena de caracteres correspondiente al teorema416. “Y esta ecuación diofantina significa que
estamos en problemas. Significa que no puede haber una forma de decidir si una ecuación diofantina
tiene alguna solución. Porque de poder hacerlo, podríamos decidir si un programa computacional
devuelve una salida, y si pudiéramos hacer eso, podríamos solucionar el Problema de Finalización de
Turing.” ([Cha04], c. II).
El trabajo combinado de Robinson, Putnam, Davis y Matijasevic, permite
demostrar en 1970 que el 10º Problema de Hilbert de 1900 es insoluble: no
existe ningún algoritmo para hallar la solución de una ecuación diofantina
polinomial. Porque una ecuación diofantina ordinaria universal es un
modelo para el computador universal, y el 10º problema de Hilbert resulta
entonces equivalente al insoluble Problema de Finalización de Turing
([Cha04], c. II).
Esto muestra que el problema de la incomputabilidad - y por tanto, de la
incompletitud - está incorporado en el núcleo de las matemáticas, la
aritmética elemental, y acecha disfrazado en las ecuaciones diofantinas
algebraicas de las antiguas Grecia y Alejandría, desde hace más de dos
mil años ([Cha04], c. II).
Empleando los precedentes resultados - y el trabajo de Jones y Matijasevic de 1984417 - en
1987 Chaitin logra reinterpretar los bits de su número Ω como aserciones sobre una ecuación
diofantina exponencial. Construye una ecuación de proporciones fantásticas (17000 variables)
cuyas soluciones saltan de una cantidad finita a una infinita según el valor de cada bit de Ω 418
(Fig. 5.6). Así, Chaitin demuestra en forma concreta que su número real Ω se puede derivar
directamente de ciertas aserciones sobre ecuaciones diofantinas, y por tanto, el hecho que existan
verdades matemáticas irreducibles reside en la aritmética elemental, no derivando ni de la teoría de
415
Naturalmente, los ‘programas’ y sus ‘salidas’ serían números, pero consistirían simplemente una
codificación para cadenas de caracteres, las cuales serían las descripciones de algoritmos o sistemas
axiomáticos formales.
416
Por ejemplo, conviértase el número natural obtenido a binario, omítase el bit más significativo,
sepárese la cadena de bits en octetos , y decodifíquense los bytes obtenidos según el código ASCII (este
ejemplo asume que la codificación fue efectuada en ASCII). Naturalmente, no es el único tipo de
codificación posible.
417
Ver [Cha04], capítulo II, sección “Hilbert's 10th Problem & Diophantine Equations as Computers”.
418
Similarmente, en 2003, Ord y Kieu (Australia) consiguen construir una ecuación diofantina cuyas
soluciones pasan de ser una cantidad par a una cantidad impar siguiendo los bits de Ω.
Ingeniería Electrónica – Universidad Católica del Uruguay
162 - [ 3 ] Modelos
conjuntos, ni de los números reales, ni de construcciones matemáticas más abstractas que las efectuadas
por Peano. Esto parece rendirle homenaje a Kroneker: “Dios creo los números enteros, el resto es
obra del hombre.” ([Cha04], c. VI).
Ecuación Diofantina Exponencial (Chaitin, 1987)
I(k, n, x1, x2, x3,....) = D(k, n, x1, x2, x3,....)
k, x1, x2, x3,...: incógnitas
n: parámetro
La ecuación tiene una cantidad infinita de soluciones
si el n-ésimo bit de Ω
? es 1
La ecuación tiene una cantidad finita de soluciones
si el n-ésimo bit de Ω
? es 0
Fig. 3.4: Ecuación Diofantina Exponencial de Chaitin (1987). Sus soluciones varían de una cantidad finita a infinita,
según el n - ésimo bit de Ω sea 0 o 1.
Cabe notar la diferencia entre los trabajos de Matijasevic y Chaitin. Matijasevic muestra que
hay una ecuación diofantina ordinaria, polinomial, dotada de un parámetro ante cuya variación
uno se cuestiona si la ecuación tiene solución o no, y que resulta ser equivalente al Problema de
Finalización de Turing. Esto demuestra que el 10º problema de Hilbert es insoluble, y que por
tanto hay cuestiones que escapan al razonamiento formal matemático. Sin embargo, Chaitin
requiere una ecuación diofantina exponencial para llevar la aleatoriedad algorítmica a la
aritmética de Peano; en lugar de preguntarse como Hilbert si existe un algoritmo para decidir
si una ecuación diofantina tiene solución, la pregunta que se formula Chaitin es más abstracta:
si el número de soluciones es una cantidad finita o infinita. En otras palabras: la ecuación de
Matijasevic está construida de forma que tiene solución solamente si cada programa particular
(obtenido al variar el parámetro de la ecuación) es del tipo que finaliza. La ecuación de Chaitin
está construida de forma que la cantidad de soluciones es finita o infinita según el valor de
cada bit de Ω. Así, la ecuación de Matijasevic plantea N preguntas aritméticas a ser
respondidas con sí o no, y que representan log2N bits de información algorítmica; la ecuación
de Chaitin contiene esta información depurada de redundancias, y por tanto, en forma
incompresible419 [Cha92].
Elaborada sobre el trabajo de Matijasevic y Jones de 1984, la ecuación
diofantina exponencial de Chaitin de 1987 demuestra que se puede hallar
la carencia absoluta de estructura de Ω inclusive en la aritmética
elemental. La aleatoriedad algorítmica, la información irreducible, no
requiere construcciones matemáticas más abstractas que las efectuadas
por Peano con {N, +, ·, =}.
“Esta es la razón por la cual digo que hay aleatoriedad en la teoría
numérica elemental, en la aritmética de los números naturales. Esta es una
pared de piedra impenetrable, es el peor caso. Desde Gödel sabíamos que
no podíamos obtener un sistema axiomático formal que fuese completo.
Sabíamos que estábamos en problemas, y Turing nos mostró cuan básico
419
Esto se corresponde con la diferencia entre la compresibilidad de la información contenida en el
número B y en el número Ω (p. 153 de la presente sección).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 163
era, pero Ω es un caso extremo donde el razonamiento falla por
completo.”420 [Cha92].
[ 3.3.6.2.5 ] CONSECUENCIAS DE LA TEORÍA DE INFORMACIÓN ALGORÍTMICA
Las consecuencias de la Teoría de Información Algorítmica trascienden a la matemática y
meta-matemática. Pese a su relativamente corta historia, se registra una aplicación en la física
que - de resultar una vía fructífera - significaría una incursión en niveles aún más
fundamentales que los manejados hasta la fecha por cualquier teoría física, Cuántica y
Relatividad incluidas, y brindaría una nueva perspectiva para el modelado de la realidad. Sin
embargo, según Chaitin las implicancias de los fenómenos de incompletitud, incomputabilidad
y aleatoriedad algorítmica no han calado en la propia comunidad matemática. La presente
sección se dedica a describir someramente estas cuestiones, aunque las implicancias de
algunas de las consideraciones que se efectúan aquí serán manifiestas en otras secciones de
este documento.
[ 3.3.6.2.5.1 ]
¿MATEMÁTICAS CUASI-EMPÍRICAS?
En primera instancia, se consideran las consecuencias de AIT en lo relativo a las
matemáticas. Parafraseando a Platón, el ‘mundo de las matemáticas’ resulta ser de
complejidad infinita - de hecho, incluso el mundo de la aritmética elemental presenta
complejidad infinita - y por tanto, no es asequible mediante sistemas axiomáticos formales de
complejidad finita. No alcanza con un único y estático sistema de axiomas, como era la
pretensión de Hilbert. Si se pretende el acceso a regiones arbitrarias del universo matemático,
necesariamente se requieren aportar nuevos postulados, nuevas reglas de inferencia, u otra
clase de información a la teoría matemática general. “¿Y de dónde podremos adquirir nuevo
material si no puede ser deducido de lo que ya sabemos? Bueno, no estoy seguro, pero creo que podría
provenir del mismo lado de donde los físicos sacan sus ecuaciones: basados en inspiración, imaginación, y
experimentos - en el caso de las matemáticas, computacionales, no de laboratorio.”421 ([Cha04], c. VI).
El universo matemático presenta complejidad infinita - ya desde la aritmética
elemental - y por tanto no es asequible mediante un sistema axiomático
formal, cuya complejidad es finita. El acceso a ese universo matemático
requiere permanente incorporación de nuevos axiomas y reglas de
inferencia - un inexorable aumento de la complejidad - y esta información no
podrá ser adquirida mediante deducción a partir de la información
conocida, sino que requerirá, como la física, de inspiración y experimentos,
que en el caso de la matemática serán de tipo computacional
([Cha04], c. VI).
Prima facie, esta conclusión de Chaitin parece chocar con la concepción de Podnieks acerca
de la naturaleza del método matemático, la cual se presenta en la sección 3.3.2: “... la
verdadera naturaleza del método matemático consiste en la investigación de modelos estables y
autocontenidos, de los cuales se pueden extraer el mayor número de conclusiones a partir de un
mínimo de premisas...” Sin embargo, no necesariamente las visiones de estos autores son
incompatibles, como se infiere de las conclusiones que Podnieks efectúa sobre el final del
primer capítulo de [Pod97]. Según Podnieks, si bien el sistema numérico natural fue
desarrollado a partir de la experiencia humana con colecciones finitas de objetos, los resultados
concernientes al infinito numérico pueden obtenerse sólo mediante modelos teóricos. Pero esta
creencia (que resultados generales sobre números naturales pueden ser obtenidos
exclusivamente por medio del razonamiento sin la práctica experimental adicional) significa que
se está convencido que el modelo teórico es estable, autocontenido, y (suficientemente)
completo. De hecho, la teoría numérica tiene dos formulaciones, pre y post Cantorianas (esta
420
Texto traducido del original, en inglés. Ver nota 54, p. 39.
421
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
164 - [ 3 ] Modelos
última en términos de la teoría de conjuntos de Zermelo-Fraenkel más el Axioma de Elección,
ZFC) y si bien la formulación post-Cantoriana ha reemplazado a la original, ambas se
mantienen y pueden usarse para deducir nuevos teoremas. Por otro lado, la geometría
Euclidiana no es sustituible por las geometrías no Euclidianas, y sin embargo, la geometría de
un tipo puede ser empleada sin perjuicio de lo que se pueda hacer mediante el empleo de una
geometría del otro tipo. Por este motivo, Podnieks sostiene su definición de la matemática como la
investigación de modelos que pueden ser tratados independientemente de los datos experimentales:
precisamente porque son estables y autocontenidos ([Pod97], s. 1.6). Esto no contradice la
advertencia de Chaitin sobre el agotamiento de las posibilidades en un sistema axiomático
formal de carácter estático; sólo habla del proceder matemático una vez que se ha extraído el
concepto de la experiencia práctica. Por ello Podnieks incluso avala el proceder Platónico para
la investigación matemática: el modelo estable y autocontenido debe ser la ‘realidad ulterior’, si
no ha de tener ninguna contraparte experimental ([Pod97], s. 1.6). Esto no implica que otro
proceder - como el sugerido por Chaitin, basado en ‘experimentación’ - sea el adecuado para
generar nuevas experiencias de las cuales se extraerán nuevos conceptos. Así, para Podnieks
los métodos genético y axiomático (sección 3.2.3) no son empleados en forma heurística, sino
para clarificar conceptos intuitivos cuando estos no son lo suficientemente precisos como para
continuar la investigación. De hecho, el criterio de Podnieks para evaluar una teoría o modelo
es sumamente pragmático: ante una teoría que presente contradicciones, una nueva teoría será
mejor si preserva los resultados útiles de la anterior, eliminando las contradicciones422. Y si en
una teoría surgen problemas de incompletitud, entonces cualquier extensión de esta será mejor
si alguno de los problemas se decide positiva o negativamente 423 ([Pod97], s. 1.6). Esto también
está alineado con las ideas de Chaitin: para obtener más a la salida, debe suministrarse más a
la entrada. En esencia, la contradicción entre la noción de Podnieks y las ideas de Chaitin es
aparente si se acepta que Podnieks considera que se hace ‘matemática’ desde el momento en
que un concepto ha de ser formalizado por los métodos genético o axiomático porque su
formulación intuitiva no permite progreso ulterior, mientras que Chaitin considera que ciertas
cuestiones intuitivas han de aceptarse sin posibilidad ulterior de formalización.
La actitud Platónica - suponer que un modelo matemático es la ‘realidad ulterior’ y
así trabajar independientemente de cualquier contraparte experimental - es válida
para aplicar los métodos genético y axiomático, una vez que los conceptos intuitivos
se han escindido del ‘mundo experimental’ de donde fueron obtenidos, y se han
vuelto poco precisos para proseguir la investigación. Así, la naturaleza del método
matemático según Podnieks - la investigación de modelos estables y autocontenidos,
que pueden ser tratados independientemente de los datos experimentales - no es
incompatible con la idea de Chaitin, puesto que no se refiere a la generación de
nuevos conceptos, sino a su tratamiento y depuración una vez conseguidos. De
hecho, Podnieks - similarmente a Chaitin - sugiere la extensión del sistema
axiomático en el que se funda la matemática adoptando una actitud absolutamente
pragmática.
En virtud de la incompletitud, la incomputabilidad, y la existencia de hechos matemáticos irreducibles
(aleatoriedad algorítmica) la creencia de Chaitin es que la matemática debiera practicarse más con el
espíritu de una ciencia experimental, en lugar de siempre demandar pruebas para todo. Aduce que esta
actitud es la adoptada de hecho por los científicos teóricos de la computación, cuya comunidad
- aunque no lo admita, y se refiera al problema P ≠ NP como una hipótesis no demostrada424 422
Por ejemplo, en este sentido la teoría de conjuntos ZFC es mejor que la teoría de conjuntos de Cantor
(sección 3.3.3.1).
423
Aunque, en este sentido, puedan producirse teorías poco interesantes (como sucede, por ejemplo, al
adicionar la Hipótesis del Continuo a ZFC). En este caso, se requieren hipótesis más potentes (por
ejemplo, adicionar el Axioma de Constructibilidad, o el de Determinismo, que producen dos teorías
interesantes aunque contradictorias, según Podnieks).
424
P ≠ NP se refiere a la diferencia entre la complejidad Polinomial vs. No - Polinomial.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 165
se comporta de la misma forma que lo harían los físicos: emplean la hipótesis P ≠ NP como un
nuevo axioma, como un postulado más. Chaitin señala que los postulados científicos jamás son
‘auto-evidentes’ - evidentes por sí mismos - sino que son justificados pragmáticamente, porque
para aquellos que trabajan en las ciencias empíricas, como los biólogos o físicos, el criterio
clave consiste en la utilidad de la hipótesis y no necesariamente su ‘veracidad evidente’; así,
cuando varias conjeturas pueden ser explicadas a partir de una cierta hipótesis, esta es tomada
en cuenta muy seriamente por los científicos experimentales. Sin embargo, esta sugerencia
parece ridícula para la mayoría de los matemáticos. “Creo que la afirmación de Euclides, que un
axioma es una verdad evidente, es un gran error. Ciertamente, la ecuación de Schrödinger no es una
verdad evidente. Y la hipótesis de Riemman tampoco, pero es sumamente útil.”425 (Chaitin).
Empleando un término acuñado por Imre Lakatos, Chaitin se declara partidario de adoptar
una actitud ‘cuasi-empírica’ en matemáticas, porque considera que esta es la única forma de
adaptarse a la existencia de los hechos matemáticos irreducibles que demuestra AIT: sin
objetar al usual mecanismo de demostración a partir de los axiomas, considera que mientras no
se halla una prueba, recurrir a conjeturas y argumentos de carácter heurístico constituye una
alternativa perfectamente válida - y en algunos casos, quizás esa sea la única alternativa viable.
La adopción de criterios experimentales en matemática, refrendada y promovida por
Chaitin, es habilitada por una cuestión fundamental: la existencia del computador. Este objeto,
inicialmente considerado como un mero artilugio tecnológico, ha cambiado radicalmente la
forma en que la humanidad desarrolla sus actividades, al punto que actualmente se ha vuelto
indispensable para el funcionamiento de la sociedad moderna, y tremendamente útil en el
ámbito científico. Pero lo que generalmente no se explicita es la crucial incidencia que el computador
puede tener en el desarrollo de la propia matemática - fin que, irónicamente, constituyó su (usualmente
ignorado) origen426. La incipiente tendencia a proceder en forma más pragmática (‘cuasiempírica’) entre los matemáticos se designa ‘matemática experimental’, una frase comúnmente
escuchada en el campo del caos, fractales y dinámica no lineal. La posibilidad que introduce la
matemática ‘experimental’ consiste en que mediante la ejecución de experimentos numéricos,
cabe la chance de observar algún hecho o comportamiento que sugiera el planteo de conjeturas
interesantes. Naturalmente, obtener una prueba razonablemente concisa de conjeturas
surgidas a partir de observaciones experimentales sería lo deseable - de hecho, obtener
múltiples pruebas desde distintos puntos de vista sería lo mejor. Pero si esto no sucede, y no se
puede esperar a que alguien halle alguna prueba, se puede seguir adelante sobre la base de
‘evidencia experimental’, que se obtiene del experimento original u otros experimentos
adecuados. Naturalmente, este proceder es propiciado por el computador, porque hacer
cálculos en un autómata es sencillo (en comparación con el cálculo manual) y se pueden
probar relativamente rápido una cantidad significativa de casos. Afirma Von Bertalanffy: “Los
conjuntos de ecuaciones diferenciales simultáneas427 como camino hacia un ‘modelo’ o una definición de
un sistema son fastidiosos de resolver, si son lineales, hasta en el caso de pocas variables; de no serlo no
pueden resolverse salvo en casos especiales. Por esta razón las computadoras han abierto un nuevo
camino en la investigación de sistemas; no solo facilitando los cálculos que de otra suerte habrían
requerido tiempo y energía excesivos y reemplazando el ingenio matemático por procedimientos
rutinarios, sino también abriendo campos donde no existen teorías o modos de solución matemáticos. Es
posible así computerizar sistemas que van más allá de las matemáticas ordinarias; por otro lado,
experimentos realizados en el laboratorio pueden ser sustituidos por simulación en computadora, y el
modelo alcanzado ser verificado entonces con datos experimentales.” ([Ber93], p. 19). A modo de
ejemplo, Chaitin cita al libro A New Kind of Science de Wolfram, aduciendo que constituye un
largo capítulo de matemáticas experimentales. De hecho, Wolfram debió desarrollar su propio
lenguaje de programación, Mathematica, para poder efectuar los cómputos masivos que le
425
Texto traducido del original, en inglés. Ver nota 54, p. 39.
426
Ver sección 3.3.6.1.
427
U otras estructuras matemáticas como conjuntos de ecuaciones en diferencias para los sistemas
discretos.
Ingeniería Electrónica – Universidad Católica del Uruguay
166 - [ 3 ] Modelos
condujeron a sus conjeturas 428. Así, Chaitin afirma que el computador ha incrementado enormemente
la experiencia matemática, y reconoce que - irónicamente - no han sido sus resultados, ni los de Gödel o
Turing, los que han impulsado a la matemática experimental, sino su corolario tecnológico y agente
habilitante: el computador. Irónico, además, si se tiene en cuenta que de las tres viejas escuelas de
filosofía matemática - lógica, formalista, e intuicionista - la más relegada fue la filosofía
intuicionista de Brouwer (ver sección 3.3.3.2.1) cuya actitud constructivista precedió por años
al computador que habría de darle impulso sobre fines del siglo XX [Cha92].
La existencia del computador proporciona a los matemáticos de un
versátil ‘laboratorio’ para efectuar ‘experimentos matemáticos’. La
posibilidad de cálculo masivo ha incrementado significativamente la
experiencia matemática, y promueve la adopción de una actitud ‘cuasiempírica’ en matemáticas - un pragmatismo similar al de las ciencias
físicas y biológicas - donde en lugar de ‘evidencia experimental’ se
aceptaría ‘evidencia computacional’ mientras que la tradicional
demostración matemática permanezca inasequible. De hecho, los fenómenos
de incompletitud y aleatoriedad algorítmica implican que las conjeturas,
argumentos heurísticos, y evidencia computacional derivada de
experimentos numéricos con el computador, quizás constituyan la única
alternativa ante las limitaciones inherentes a los sistemas axiomáticos
formales para el razonamiento. Y que - al igual que los postulados científicos,
que son justificados pragmáticamente en función de la utilidad que suponen ciertas hipótesis matemáticas quizás no tengan más remedio que ser
aceptadas en función de su utilidad.
“Es posible argumentar que los teoremas de incompletitud fallan el objetivo completamente, porque la
matemática no se trata de consecuencias de reglas, sino de creatividad e imaginación. Considere el
número imaginario i, la raíz cuadrada de -1. Este número era imposible, rompió la regla que x 2 debe ser
positivo, pero las matemáticas eventualmente se beneficiaron y tuvieron más sentido con i que sin i. ¡Así
que quizás los teoremas de incompletitud son irrelevantes! Porque limitan al razonamiento formal, pero
nada dicen acerca de lo que pasa cuando cambiamos las reglas del juego. Como matemático creativo,
ciertamente adhiero al punto de vista que la imaginación para cambiar las reglas del juego es más
importante que moler eternamente las consecuencias de un conjunto de reglas dadas. Pero no sé como
analizar la creatividad y la imaginación con mis herramientas meta-matemáticas...”429 430 ([Cha99], c. I).
De esta manera, Chaitin remarca un punto crucial en relación con todo lo discutido en la
sección 3.3.5, y la presente sección 3.3.6: los resultados de incompletitud, incomputabilidad, y
aleatoriedad algorítmica sólo se aplican a los sistemas axiomáticos formales à la Hilbert
descritos en la sección 3.3.4. Pero al mismo tiempo, con esto reitera la necesidad de un cambio
en la forma de hacer matemáticas, que supone un cuestionamiento al formalismo como el
único método de desarrollo matemático. La cuestión consiste precisamente en proponer el
428
Sin embargo, a diferencia de Chaitin, Wolfram no considera que exista aleatoriedad en el universo,
sino seudo - aleatoriedad. Esta diferencia puede resumirse en una simple pregunta, que enfrenta razón
versus aleatoriedad: ¿Es el universo como π o como Ω? La idea de Wolfram es que el universo es como π:
parece complicado (su expansión decimal o binaria parecen cadenas de dígitos aleatorias) pero en esencia
no lo es, puesto que es la razón (cociente) entre una circunferencia y su diámetro . Coincidentemente,
según AIT la complejidad de π es finita porque existen algoritmos capaces de computar uno a uno sus
dígitos (aunque en la práctica el cómputo de π sea interminable). Pero según Chaitin, si se ha de confiar
en los actuales resultados de la Física Cuántica, al parecer el universo tendría efectivamente complejidad
algorítmica infinita, y sería más bien como Ω - y por tanto, en gran parte incomprensible. Por el contrario,
Wolfram considera que existen algoritmos sencillos y determinísticos que en última instancia dan cuenta
de la complejidad aparente que se observa, y por ello habla de seudo - aleatoriedad, o una aleatoriedad
aparente. Para Wolfram - como Leibniz - nada sería contingente, todo sucedería por una razón [Cha02b].
429
Texto traducido del original, en inglés. Ver nota 54, p. 39.
430
Nótese que Chaitin coincide con Dixon respecto a la dificultad de analizar la actividad creativa (ver
sección 2.1.1.2).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 167
cambio en las reglas del juego que darán lugar a la matemática del futuro, cambio que Chaitin
sugiere puede provenir por adopción de una actitud ‘cuasi-empírica’ en matemáticas, similar a
la de las ciencias experimentales como la física, que acepte evidencia ‘experimental’ producida
por el computador.
“Richard Mattuck, en su libro al que modestamente se refiere como ‘Diagramas de Feynman para
Idiotas’ (el título oficial es ‘A Guide to Feynman Diagrams in the Many-Body Problem’) resume el
progreso de la física como sigue. ¿Cuántos cuerpos se requieren para tener un problema?”431
([Cha99], c. VII). Porque, irónicamente, el progreso de la física ha logrado reducir la cantidad de
cuerpos necesarios para tener un problema: la Mecánica Newtoniana puede resolver la
interacción gravitatoria entre dos masas, pero tres cuerpos constituyen un problema insoluble
si se pretenden soluciones en forma cerrada; en la Relatividad General, dos cuerpos ya
representan un problema que requiere apelar a cómputo masivo en un computador; y en Física
Cuántica, incluso cero cuerpos es demasiado, porque el vacío cuántico es un espacio de
creación y aniquilación de partículas virtuales, extremadamente complicado, que directamente
impide soluciones en forma cerrada. Conclusión: la física contemporánea es muy complicada;
sus ecuaciones no son sencillas. Y esta ‘evolución en complejidad’ de la física le sugiere a
Chaitin la existencia de una contraparte en la futura evolución de la matemática. Se pregunta
Chaitin: “¿Cómo será la matemática del futuro? ¿Habrán nuevas ideas, sencillas y poderosas, o las
cosas serán entreveradas y complicadas como en biología?”. Recuérdese que uno de los resultados de
AIT es que no se pueden probar bits individuales de Ω, pero sí se está habilitado a probar todo
tipo de propiedades estadísticas de los bits de Ω. Quizás las matemáticas del futuro, al igual que la
física contemporánea, deba resignarse a que ciertas cuestiones son sólo tratables en términos estadísticos,
y no en términos individuales, de casos particulares. “¿Una nueva matemática complicada? 432 En cierta
forma, en los tres casos, Gödel, Turing, y yo, ya tenemos una nueva matemática ‘biológica’ complicada,
la matemática del tercer milenio, o al menos la del siglo XXI. La visión convencional es que la materia es
lo primario, y que la información si existe, emerge de la materia. ¿Pero que tal si la información es
primaria, y la materia un fenómeno secundario?” ([Cha99], c. VII). Este punto, aunque muy
discutible, parece ser tomado en cuenta muy seriamente por algunos físicos contemporáneos
australianos, y de hecho, constituye el elemento esencial de su propuesta de una ‘física de
procesos’, que se discute poco más adelante. Si la postulación de Tegmark sobre la simetría
completa entre física y matemáticas433 resulta acertada, entonces habría que atender al
desarrollo de esta propuesta de física de procesos, para ver como puede influir en el desarrollo
de la matemática post Gödel-Turing-Chaitin.
Los resultados de incompletitud, incomputabilidad y aleatoriedad
algorítmica son aplicables exclusivamente a los sistemas axiomáticos
formales à la Hilbert. Pero aunque un cambio en las ‘reglas del juego’
permitiría evitar las limitaciones que derivan de los precedentes
resultados, al mismo tiempo implicaría abandonar al formalismo como
herramienta exclusiva para el desarrollo matemático 434. Quizás una ‘nueva
actitud’ en matemáticas implique resignarse a que ciertos hechos
matemáticos puedan ser estudiados únicamente en términos estadísticos, y
no en una base individual, determinista, y estrictamente deductiva.
Sin embargo, con un cambio en las reglas del juego de la matemática que
impliquen la adopción de una actitud ‘cuasi-empírica’, la matemática
431
Texto traducido del original, en inglés. Ver nota 54, p. 39.
432
Nótese la sugerencia que se efectúa sobre el fin de la sección 1.1.1 del presente trabajo, acerca de una
transmutación de la complejidad entre la física y la matemática, afirmación que además puede
reinterpretarse en términos de los contenidos del capítulo 3 como una reformulación de modelos.
433
Ver sección 1.1.1 y [Teg03].
434
Esto sustenta la propuesta mencionada precedentemente, referente a la adopción de una actitud
pragmática en matemáticas, como se acostumbra en física o las ciencias biológicas, donde la utilidad de
las hipótesis y la evidencia experimental son elementos de vital importancia.
Ingeniería Electrónica – Universidad Católica del Uruguay
168 - [ 3 ] Modelos
podría experimentar una ‘evolución en complejidad’, análoga a la
evolución de las ciencias experimentales 435. Así, la similaridad entre física
y matemáticas quizás resulte más profunda de lo que Chaitin sugiere:
quizás la postulación de Tegmark sobre la simetría completa entre física y
matemática no sea tan descabellada. Y quizás entonces la conjetura que se
efectúa en este documento, referente a un proceso de transmutación de la
complejidad entre modelos de la realidad de carácter Aristotélico y
Platónico, tampoco sea una idea del todo ridícula (sección 1.1.1).
“Quizás estas ideas foráneas serán rechazadas de plano por el sistema inmune de la comunidad
matemática. Por ahora ciertamente lo son436”, dice Chaitin, comentando que sólo a los físicos les
gusta su trabajo. Es que si bien a los físicos les interesaba el fenómeno de la incompletitud de
Gödel, hasta el trabajo de Chaitin no pudieron conectarlo con su actividad. El resultado de
Gödel es demasiado abstracto como para referirse desde un punto de vista comprensible en
términos físicos, pero la idea de aleatoriedad proviene de la física, y la noción de complejidad
en términos del ‘programa más conciso’ se asemeja a la idea termodinámica de entropía, lo que
permite la conexión [Cha00]. Aunque esta conexión pareciera ser una consecuencia inesperada
y fortuita de la Teoría de Información Algorítmica, teniendo en cuenta la postulación de
Tegmark sobre simetría completa entre física y matemáticas, y las conjeturas efectuadas en este
documento como consecuencia de esa hipótesis437, resulta pertinente un somero planteo de esta
conexión colateral de AIT con la física. Los resultados son provocativos.
[ 3.3.6.2.5.2 ]
DE REGRESO A LEIBNIZ Y A HERÁCLITO: FÍSICA DE PROCESOS
En [Cho00] se introduce la idea de Física de Procesos, propuesta por los australianos Cahill y
Klinger. “Los resultados de Gödel y Chaitin se aplican a cualquier sistema formal lo suficientemente
potente como para hacer aserciones sobre sí mismo438. «Aquí es donde entra la física» dice Cahill. «El
Universo es suficientemente rico como para ser auto-referente - por ejemplo, yo soy consciente de mí
mismo». Esto sugiere que la mayoría de las verdades cotidianas carecen de explicación. De acuerdo a
Cahill y Klinger, ello debe ser porque la realidad está basada en aleatoriedad. Ellos creen que la
aleatoriedad es más fundamental que los objetos físicos. En el seno de la física convencional reside la idea
que existen ‘objetos’ - cosas que son reales, a pesar de que no interactúen con otras cosas. Antes de
escribir ecuaciones para describir cómo operan los electrones, los campos magnéticos, y el espacio, los
físicos comienzan por asumir que tales cosas existen. Sería mucho más satisfactorio deshacerse de este
basamento de suposiciones. Esto fue reconocido en el siglo 17 por el matemático alemán Gottfried
Leibniz439. Leibniz creía que la realidad estaba constituida por cosas que él designaba ‘mónadas’, cuya
existencia se debía exclusivamente a las relaciones de una con cada otra440. Esta imagen languideció en
los remansos de la ciencia porque era inmensamente difícil de convertirla en una receta para calcular
cosas, a diferencia de la mecánica de Newton.”441 ([Cho00], p. 2).
La Física de Procesos es un modelo de la realidad basado en información. La hipótesis
fundamental es que la realidad debe modelarse como información semántica (o relacional) auto435
Ver las secciones 1.3.1 y 1.3.2 del presente documento, haciendo abstracción de su orientación a
‘sistemas’.
436
Se refiere a las ideas de aleatoriedad algorítmica en el seno de las matemáticas, y la idea de aceptar
evidencia ‘experimental’ de tipo computacional.
437
El manejo del detalle y la abstracción como la transmutación entre modelos de tipo Aristotélico y
Platónico de la realidad (sección 1.1.1); la existencia de modelos matemáticos ‘informales’ y la
incorporación de semántica a los modelos matemáticos formales (sección 3.2.2).
438
Es decir, sistemas que permiten la autorreferencia.
439
Todo parece indicar que la obra de Leibniz habría de ser debidamente revisada y reconsiderada desde
la perspectiva actual.
440
Nótese la idea subyacente de sistema, en el sentido de Von Bertalanffy o Simon (capítulo 1). ¿Otra
coincidencia?
441
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 169
organizada por una red neuronal442 estocástica, donde las limitaciones derivadas de la Teoría
de Información Algorítmica son implementadas mediante la introducción de ruido aleatorio
auto-referente. Este modelo en base a una red neuronal sugiere que la realidad genera y
procesa información como patrones, y no como símbolos en algún sistema axiomático formal; el
punto clave es que la información es semántica, es decir, tiene significado dentro del sistema. Al
elaborar modelos mediante sistemas formales o sintácticos, los físicos asumen que estos son
capaces de comprimir la realidad en axiomas y reglas para la manipulación de símbolos. Gödel
demostró que este tipo de sistemas - de soportar auto-referencias - poseen la limitación
fundamental de no poder comprimir todas las verdades en una estructura axiomática. Así,
todos los modelos de la física basados en sistemas sintácticos (sistemas donde la información es
exclusivamente sintáctica y carece de sentido dentro del sistema) sufren de las limitaciones
Gödelianas. Si bien en la física clásica y moderna estas limitaciones ‘sintácticas’ fueron
soslayadas mediante el empleo de meta-reglas y aserciones provenientes de fuera del sistema
formal, sus modelos son concebidos con un paradigma de estructura y no de proceso. En
particular, la Física de Procesos se distingue por su capacidad de modelar al tiempo como un
proceso - logrando un modelo que posee noción del ahora, del pasado registrable, y del futuro
incierto - a diferencia de la física ‘estructural’ donde el modelo temporal es geométrico, y por
ello incapaz de expresar el problema de la ‘flecha del tiempo’. “La falla persistente de la física
para modelar correctamente todos los aspectos del tiempo, aparte del orden de eventos, surge porque la
física siempre ha usado modelos que no representan procesos, como son por naturaleza los sistemas
formales o sintácticos. Tales sistemas no requieren ninguna noción de proceso - son completamente
estructurales y estáticos.”443 ([Cah03], pp. 10-11).
En la Fig. 3.5 se presenta en forma gráfica la limitación de los sistemas sintácticos autoreferentes. La frontera Gödeliana separa las aserciones demostrables por el sistema sintáctico
de las indemostrables. Chaitin, con su Teoría de Información Algorítmica, prueba que en
matemáticas estas aserciones indemostrables son objetos de estructura aleatoria desde la
perspectiva del sistema axiomático formal considerado. Por esta razón los objetos
algorítmicamente aleatorios no pueden ser comprimidos en los axiomas del sistema formal;
individualmente no poseen estructura que se pueda aprovechar para describirlos en forma
concisa. Las reglas de inferencia del sistema formal no permiten acceder a zonas allende la
frontera de Gödel, por lo cual sólo mediante meta-reglas se podría alcanzar algún objeto cuya
estructura no es describible por el sistema axiomático formal en cuestión444.
Según Cahill, es precisamente la consideración de las limitaciones de Gödel la que conduce a
desmistificar el usual paradigma en el cual la realidad se codifica en formalismos y ‘leyes’. “La
Física de Procesos es un modelo radical de la teoría de la información, que surgió del análisis de varias
limitaciones existentes; de las limitaciones de los sistemas formales de información descubiertas por
Gödel, Turing y Chaitin, de las limitaciones del modelo geométrico del tiempo en los modelos construidos
por Galileo, Newton y Einstein, y por las limitaciones de la teoría cuántica y su incapacidad de dar
cuenta de los procesos de medición. Como es usual dentro de la física estas limitaciones fueron
disimuladas por varias meta-reglas y construcciones metafísicas.(...) En física de procesos, la hipótesis
fundamental es que la realidad ha de ser modelada como información semántica auto-organizada, es
decir, información que ‘internamente’ tiene significado, usando un modelo de red neuronal limitado y
auto-referente. Tal sistema no posee leyes u objetos a priori, y se hace evolucionar usando un proceso de
auto-inicio, de forma que es el propio sistema el que ‘internamente’ genera patrones de relaciones y sus
modos dominantes de comportamiento, y todos los (sub)sistemas son de carácter fractálico, es decir,
relaciones dentro de relaciones, y así sucesivamente ad infinitum.”445 ([Cah03] s. 2.2, pp. 9-10).
Nótese, en primer lugar, como los resultados de Gödel, Turing y Chaitin, aunque constituyan
442
Una red neuronal es un sistema matemático que guarda semejanza con el modelo de las redes
neuronales de los sistemas biológicos. Las redes neuronales se caracterizan por su habilidad de
procesamiento de patrones (información no simbólica).
443
Texto traducido del original, en inglés. Ver nota 54, p. 39.
444
Es decir, objetos cuya descripción no puede hacerse en términos de los axiomas y reglas de inferencia
del sistema de forma más concisa que darlo ‘tal cual’ (secciones 3.3.6.2.1 y 3.3.6.2.3).
Ingeniería Electrónica – Universidad Católica del Uruguay
170 - [ 3 ] Modelos
objetos de estructura
algorítmicamente
aleatoria (Chaitin)
meta-regla
regla
Sistema
Axiomático
Formal
frontera de Gödel
objetos estructurados
Fig. 3.5: Representación gráfica de la limitación Gödeliana de los sistemas sintácticos auto-referentes, desde la
perspectiva de la Teoría de Información Algorítmica de Chaitin. La ‘frontera de Gödel’ confina aquellos objetos cuya
estructura permite describirlos en forma concisa en término de los axiomas y reglas de inferencia del sistema
axiomático formal. Las reglas del sistema no permiten acceso a objetos allende la ‘frontera de Gödel’, los cuales pueden
ser alcanzado sólo mediante meta-reglas (o la ampliación de la base axiomática). Estos objetos son algorítmicamente
aleatorios respecto del sistema axiomático formal en cuestión. (Adaptado de [Cah03], p.12; Fig. 2).
limitaciones a los sistemas formales, parecen promover nuevos horizontes en lugar de ejercer
influencias ‘pesimistas’ para el desarrollo - al menos, en el ámbito de la física. Nótese, en
segundo lugar, que el nuevo paradigma requiere la introducción de significado en los modelos
matemáticos446. Nótese, en tercer lugar, la importancia superlativa que se confieren a las
relaciones entre los elementos de un sistema, las que en este modelo son suficientes para
representar al sistema, prescindiendo de los objetos que constituyen los elementos del sistema447. Y
nótese, finalmente, la mención acerca de la estructura fractálica que aparentemente produce
este modelo de sistema448.
La visión de la física de procesos que promueven Cahill y Klinger se representa en la Fig.
3.6. En esta concepción, las estructuras que se perciben emergen de la aleatoriedad autoreferente - matemáticamente, podrían verse como ‘verdades de ensemble’ establecidas a partir
de las ‘verdades contingentes’ producto de un proceso iterativo - por lo cual en esencia el
sistema sintáctico es inducido por el sistema semántico. Cahill aduce que el modo simbólico o
sintáctico usual es aplicable solamente a descripciones fenomenológicas de alto nivel, y que
por esta razón fue descubierto primero449. No obstante, el modelo de la realidad en términos de
procesos se remonta a Heráclito (540-480 AC) quien aducía que el sentido común se equivoca
al pensar que la realidad consiste de objetos estables; más bien la realidad está en estado de
flujo. La apariencia de los objetos dependerían de este flujo para su continuidad e identidad, y
445
Texto traducido del original, en inglés. Ver nota 54, p. 39.
446
Ver la discusión al respecto en la sección 3.2.2.
447
La noción de sistema, según Von Bertalanffy, se confiere en la sección 1.3. Las secciones 1.4 y 1.5
introducen la noción de complejidad en sistemas debida a Simon.
448
La idea de una estructura fractálica se plantea en la sección 1.7, en relación a sistemas complejos. En
el caso de la física de procesos de Cahill y Klinger, la estructura a la que se refieren es la del propio
universo, que surgiría a partir de... ¡ruido aleatorio auto - referente!. Nótese que esta bizarra idea no es
incompatible con la noción de sistema complejo de Simon, quien admite aleatoriedad en la formación de
los sistemas, la que sin embargo no se manifiesta al nivel de las estructuras que emergen de esos
procesos de formación.
449
Nótese que esto es perfectamente compatible con la idea de Simon referente a la formación de
sistemas complejos (ver nota 448, p. 170).
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 171
para Heráclito, no era el cambio sino la apariencia de estabilidad lo que debía ser explicado450.
Por ello, la física de procesos ha sido descrita como Sistema de Proceso Herácliteo,
identificando al flujo con el ruido auto-referente. ([Cah03], p. 14; [CKK00], p. 3).
Sistema semántico auto-referente
(proceso estocástico)
Sistema
Axiomático
Formal
inducido
verdades contingentes
frontera de Gödel inducida
verdades 'de ensemble'
Fig. 3.6: Visión de los sistemas sintácticos desde la perspectiva de la Física de Procesos de Cahill y Klinger. Los sistemas
sintácticos serían inducidos por el sistema semántico auto-referente, en virtud de la percepción de estructuras inducidas
por el proceso estocástico, amenas al tratamiento mediante sistemas formales. (Adaptado y simplificado de
[Cah03], p. 14; Fig. 2).
“El concepto clave es modelar la realidad vía un proceso de orden-desorden, que toma en cuenta las
limitaciones del formalismo o la lógica mediante el uso del nuevo concepto de ruido auto-referente
(SRN 451). Este SRN no es aleatoriedad debida a una simple falta de conocimiento potencial (como sucede
en física estadística) sino que representa lo que en principio son verdades no demostrables o no
algorítmicas; usando SRN esencialmente trascendemos los límites de la lógica sin ser ilógicos. (...) ... en
lugar de ser un impedimento para comprender la realidad, el descubrimiento de Gödel y su extensión
como SRN actúa como un recurso intrínseco dentro de este sistema no formal y con el cual ha sido
posible un modelado de la realidad vastamente mejorado. Induciendo, aproximadamente, un sistema
formal junto con sus meta-reglas asociadas se conecta y engloba al actual modelado físico de la
realidad.”452 ([CKK00], p. 3).
Si la idea de Tegmark sobre simetría entre física y matemática fuere acertada, la
Física de Procesos propuesta por Cahill y Klinger constituiría una evidencia en
favor de la adopción de meta-reglas y del uso de la experimentación en matemáticas,
para superar la barrera Gödeliana inherente a las estructuras formales 453, y
450
Similarmente, desde antaño las filosofías Budistas se inclinan a pensar que la realidad es dinámica, no
estática, pero que la lógica imagina una realidad estabilizada en conceptos y nombres; el objetivo
ulterior de la lógica Budista es explicar la relación entre una realidad dinámica y las construcciones
estáticas de la lógica. ([Cah03], pp. 14-15).
451
Acrónimo de ‘Self - Referential Noise’.
452
Texto traducido del original, en inglés. Ver nota 54, p. 39.
453
La limitación Gödeliana de los sistemas formales muestra la real incidencia del lenguaje en la
apercepción (sección 2.1.2.2): el autómata de Turing (un intérprete de un lenguaje artificial) no es capaz
de determinar cuestiones por fuera del sistema sintáctico empleado, y de nada sirve el argumento de
ampliar el sistema (lenguaje) formal, en virtud de que el problema persiste con toda posible ampliación.
La interpretación ‘física’ de la limitación Gödeliana implica que hay conocimiento inalcanzable en
términos de los sistemas (lenguajes) formales, los cuales sólo pueden formular ‘leyes de la física’
limitadas por la complejidad algorítmica del sistema (lenguaje). El cambio en este panorama reside en
salirse de los sistemas axiomáticos formales, por ejemplo, mediante el uso de la intuición y la
Ingeniería Electrónica – Universidad Católica del Uruguay
172 - [ 3 ] Modelos
alcanzar las verdades contingentes de Chaitin. Por otro lado, las ideas detrás de la
Física de Procesos, y las nociones de sistema, complejidad, y ‘modularidad’ que se
manejan en este documento, resultan no sólo compatibles, sino que además parecen
converger sobre aspectos como estructura, proceso, evolución, complejidad, y
aleatoriedad.
Subyacente en las precedentes consideraciones, reside la idea de incorporación de la
semántica a las estructuras puramente sintácticas de la matemática formalista del
siglo XX. Esta idea se promueve en el presente documento.
“De hecho, estos resultados meta-matemáticos negativos se dan en un siglo que constituye un éxito
tremendo, espectacular para las matemáticas, las matemáticas avanzan a pasos agigantados. De forma
que no hay razón para el pesimismo. Así que lo que necesitamos es una teoría más realista que nos de
una mejor idea de por qué la matemática está resultando espléndida, que lo es. Pero me gustaría tener
alguna comprensión teórica de esto, y no sólo evidencia anecdótica.” (Chaitin). Quizás las ideas de
Tegmark, las de física de procesos, y las de Simon, combinadas puedan explicar el éxito de las
matemáticas del siglo XX - si las estructuras se forman a partir de información aleatoria, y
pueden evolucionar en complejidad generando sistemas modulares jerárquicos, de existir
simetría entre física y matemáticas ello podría dar cuenta del éxito de los sistemas axiomáticos
formales para describir las estructuras matemáticas.
[ 3.3.6.2.5.3 ]
FORMALISMOS INFORMÁTICOS FÚTILES
Acorde a su origen, la Teoría de Información Algorítmica tiene consecuencias en el ámbito
computacional. Prima facie, otorga a los sistemas formales à la Hilbert su justa medida de éxito.
“Como he dicho, los sistemas formales no tuvieron éxito para el razonamiento, pero tuvieron un éxito
brillante para la computación. De forma que Hilbert es el suceso más increíble en el mundo, pero como
tecnología, no como epistemología. ¡Me gusta decir que mi campo no tiene aplicaciones, que lo más
interesante acerca del campo de la complejidad dada por el tamaño de los programas es que no posee
aplicaciones, que demuestra que no puede ser aplicable! Porque no se puede calcular el tamaño del
programa más conciso. Pero eso es lo fascinante acerca de ello, porque revela las limitaciones a nuestro
conocimiento. Por esto es que la complejidad dada por el tamaño de los programas tiene significancia
epistemológica.”454 [Cha00]. Pero además, sugiere que el desarrollo de programas y su
verificación están limitados por estos mismos resultados epistemológicos. “Déjenme repetir: ¡los
sistemas axiomáticos formales son un fracaso! Los algoritmos para demostrar teoremas no funcionan.
Uno puede publicar trabajos al respecto, pero estos sólo demuestran teoremas triviales. (...)
Similarmente, demostrar la corrección de programas empleando métodos formales es fútil. La depuración
se lleva a cabo experimentalmente, mediante prueba y error. Y los gerentes 455 precavidos insisten en
ejecutar un sistema nuevo en paralelo con el viejo hasta que creen que el nuevo funciona. Excepto - lo
que hicimos en un maravilloso proyecto en IBM - si se está constantemente comiendo lo cocinado por uno
mismo. Nosotros estábamos constantemente ejecutando la última versión de nuestros programas,
constantemente compilando nuestro compilador optimizador por medio de sí mismo. Por estarlo
empleando constantemente nosotros mismos, obteníamos una realimentación instantánea del diseño y de
su ‘performance’, que estaba evolucionando constantemente. En mi opinión esa es la única forma de
desarrollar un largo proyecto de programación: un encare descendente totalitario no puede funcionar. Se
debe diseñar a medida que se avanza, y no al inicio antes de escribir una sola línea de código. Y siento
que mi experiencia en el mundo real de depuración de programas confiere una lección filosófica valiosa:
la experimentación es la única manera de ‘demostrar’ que los programas son correctos. Las
demostraciones matemáticas tradicionales son posibles sólo en mundos de juguete, no en el mundo real.
El mundo real es muy complicado. Un físico diría: la matemática pura sólo puede lidiar con el átomo de
hidrógeno. ¡Un protón, un electrón, y eso es todo! La visión de una matemática cuasi-empírica podrá ser
<< p. 171 incorporación de semántica a las estructuras formales - lo que implica un cambio significativo
en el lenguaje empleado.
454
Texto traducido del original, en inglés. Ver nota 54, p. 39.
455
Se refiere a gerentes de sistemas informáticos.
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 173
controversial en la comunidad matemática, pero es una noticia vieja en el negocio de la computación. Los
programadores ya profesan una actitud cuasi-empírica respecto a las demostraciones. Pese a que la
programación es una cuestión puramente mental, no física, los programadores se comportan como físicos,
no como matemáticos, cuando se trata de depurar.”456 457 ([Cha04], s. VII).
Entre los problemas prácticos más importantes en la ingeniería informática se encuentra la
estimación de proyectos informáticos458: la estimación de cronogramas de desarrollo y el
aseguramiento de la productividad y la calidad de los programas computacionales. Al
respecto, los resultados de la complejidad algorítmica459 pueden ser interpretados como
indicadores de ciertos límites a la estimación de proyectos informáticos. Pese a ser límites
abstractos, de todas maneras contradicen las entusiastas afirmaciones efectuadas
ocasionalmente por quienes promueven programas de estimación comerciales.
“Específicamente, si se acepta que la complejidad algorítmica es una definición apropiada para la
complejidad de un proyecto de programación, entonces las proclamaciones de estimación absolutamente
objetiva de la complejidad de proyectos, tiempo de desarrollo, y productividad de los programadores son
necesariamente incorrectas.” ([Lew01], p. 1).
Las estimaciones del tiempo de desarrollo de un programa dependen de las estimaciones de
su tamaño o su complejidad. Pero las estadísticas históricas no pueden proveer esto último en
el caso de programas nuevos, porque la estimación del tamaño y la complejidad de un programa no
son factibles a priori. La complejidad algorítmica muestra que no se puede calcular el tamaño
mínimo de un programa que efectúa una tarea predeterminada, y que si bien existe un tamaño
máximo calculable (el tamaño ‘tabular’ 460) este es inútil porque generalmente sobreestima en
forma grosera el tamaño de un programa razonable para la tarea prefijada 461. De hecho, la
relación entre el tamaño tabular y la (incomputable) complejidad algorítmica, considerada
como función del tamaño tabular, crece tan rápidamente como cualquier función computable.
Asimismo, el tiempo de desarrollo no se puede predecir objetivamente. Esto es una consecuencia
directa del hecho que las estimaciones del tiempo de desarrollo deben considerar la
complejidad del programa y su tamaño462, lo que no es factible a priori. Y finalmente, también
debido a que no es factible determinar a priori la complejidad de un programa nuevo, la
productividad tampoco puede ser determinada objetivamente, ni en forma absoluta ni entre proyectos. La
posibilidad de lograr una estimación estadística también es limitada, puesto que el teorema de
Chaitin - levemente reformulado - dice que un programa de estimación no puede calcular una
cota inferior para la complejidad de programas cuyo tamaño es significativamente mayor que
el propio. Además, la estimación estadística de la complejidad adolece de un problema
intrínseco que no se presenta en las aplicaciones estadísticas comunes, como la estimación de
una media poblacional: el problema es que el basamento es (y será) desconocido, de forma que
no es posible determinar el sesgo y la varianza de los posibles diferentes estimadores [Lew01].
La Teoría de Información Algorítmica tiene consecuencias significativas en el
ámbito computacional. En cuanto sistema formal, la computación está limitada por
456
Texto traducido del original, en inglés. Ver nota 54, p. 39.
457
Esta consecuencia tiene un significado particularmente importante en el desarrollo de sistemas electrónicos
complejos.
458
‘Software estimation’ en la literatura angloparlante.
459
Designada ‘complejidad KCS’ en [Lew01], en referencia a Kolmogorov, Chaitin, y Solomonoff.
460
Se refiere a contener la salida del programa enteramente en una tabla, y no producirla por medio de
un algoritmo más conciso que los datos que la salida representa.
461
Por ejemplo, si la multiplicación de dos enteros arbitrarios de 32 bits se diera en forma tabular en
lugar de algorítmicamente, se requerirían N=64·2 64 bits (cada posible resultado es de 64 bits)
([Lew01], p. 3).
462
Nótese que, en última instancia, hay límites a la velocidad a la cual un programador puede escribir
código. Por tanto, cualquier estimación del tiempo de desarrollo de un programa que se suponga
independiente del tamaño del programa, será errónea si el programa resulta ser mayor que lo que
puede ser construido durante el período estimado.
Ingeniería Electrónica – Universidad Católica del Uruguay
174 - [ 3 ] Modelos
los resultados de incompletitud aplicables a los sistemas formales. En virtud de las
limitaciones de los sistemas formales para el razonamiento, demostrar la
corrección de los programas mediante algoritmos es un intento fútil; la
depuración de los programas no tiene más remedio que hacerse
experimentalmente, vía prueba y error, porque a excepción de casos triviales la
depuración no es factible mediante métodos formales [Cha04].
Los resultados de la complejidad algorítmica pueden ser además interpretados como
indicadores de que la complejidad de los programas, los cronogramas de desarrollo
de proyectos informáticos, y la productividad de los programadores, no pueden ser
estimados objetivamente, y por tanto continuarán siendo una cuestión de opinión.
Aún las estimaciones estadísticas en esas áreas se hallan limitadas por los
resultados de incompletitud que implican el desconocimiento del universo muestral.
En esencia, la estimación objetiva de proyectos informáticos es irrealizable,
y los resultados estadísticos deben adoptarse muy escépticamente. De
hecho, si se creyera que estas estimaciones fueran factibles de codificación como otros
procesos de ingeniería, entonces el litigio sería una consecuencia razonable y
esperable ante estimaciones inadecuadas [Lew01].
[ 3.3.7 ] CONSIDERACIONES FINALES
Se cierra aquí la extensa sección dedicada a la discusión de los modelos matemáticos, que se
iniciara efectuando consideraciones acerca de la incidencia cultural en la matemática, y
presentara su evolución histórica hasta la matemática formalista del siglo XX, asociada a la
figura de Hilbert. La naturaleza del método matemático ha sido considerada en el marco de las
limitaciones meta-matemáticas demostradas por Gödel, Turing y Chaitin, y en consecuencia se
ha considerado la adopción de actitudes en matemáticas similares a las de las ciencias
experimentales, y la incorporación de semántica a los modelos matemáticos formalistas
puramente sintácticos, con objeto de superar estas limitaciones. En particular, se ha discutido
la capacidad de los modelos semánticos para el modelado del mundo real, en términos de las
ideas subyacentes a la Física de Procesos de Cahill y Klinger, un modelo matemático que surge
de considerar prima facie las limitaciones de los modelos estructurales y proponer un modelo
alternativo de proceso.
Sin embargo,após de las exposiciones acerca del autómata de Turing, y la Teoría de
Información Algorítmica, cabe discutir la ubicuidad del campo numérico real para el modelado
matemático. Pueden verse en la siguiente sección algunos argumentos tanto de tipo físico
como matemático en contra del continuo; estos argumentos, aunque pequen por abstractos o
filosóficos, se ven reflejados desde una perspectiva más pragmática cuando se aborda el
concepto de ‘modelo ejecutable’ (sección 3.4) y cuando se discute el modelado en ingeniería
(sección 3.5).
[ 3.3.7.1 ] LOS NÚMEROS REALES SON IRREALES - ARGUMENTOS FÍSICOS Y MATEMÁTICOS EN
CONTRA DEL CONTINUO
“Un número real no es un objeto digital, es un objeto analógico. Y dado que varía con continuidad, y
no en saltos discretos, si uno de tales números se convierte en bits se obtiene una cantidad infinita de
bits. ¡Pero los computadores no pueden efectuar operaciones con números que poseen una cantidad
infinita de bits! Y mi teoría de información algorítmica se basa en lo que las computadoras pueden
hacer.”463 ([Cha04], c. III). De esta forma, Chaitin introduce una discusión respecto a los
números reales, a la cual dedica los capítulos IV y V de [Cha04]464. En esta sección se presentan
463
Texto traducido del original, en inglés. Ver nota 54, p. 39.
464
“A propósito, ¿por qué se llaman ‘reales’? Para distinguirlos de los llamados números ‘imaginarios’ como √ - 1.
Los números imaginarios no son ni más ni menos imaginarios que los números reales, pero inicialmente, varios
siglos atrás, inclusive en los tiempos de Leibniz, hubo mucha resistencia a considerarlos a la par de los >> p. 175
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 175
tales argumentos, que son tanto de carácter físico como matemático, y promueven la
consideración de una ‘filosofía digital’, como en la que se basa la Teoría de Información
Algorítmica de Chaitin.
Según Chaitin, existen indicios de que este universo particular en el que vivimos es de hecho
un universo discreto y digital, y no un universo continuo y analógico. Estas ideas se remiten a
Demócrito, quien aducía que la materia debía de ser discreta, y a Zeno, quien incluso tuvo la
audacia de sugerir que el espacio y tiempo continuos eran imposibilidades contradictorias en sí
mismas. Feynman efectúa al respecto una aguda reflexión: “«Siempre me molesta que, de acuerdo
a las leyes tal como las entendemos actualmente, una máquina de cómputo requiera una cantidad infinita
de operaciones lógicas para determinar que es lo que sucede en una región arbitrariamente pequeña del
espacio, y en una región arbitrariamente pequeña del tiempo. ¿Cómo puede todo ello suceder en ese
pequeño espacio? ¿Por qué ha de requerirse una cantidad infinita de lógica para determinar lo que hará
una pequeña región del espacio-tiempo? Así, frecuentemente he considerado la hipótesis que en última
instancia la física no requerirá una formulación matemática, que en última instancia el mecanismo será
revelado, y las leyes resultarán ser simples como el tablero de damas...» Feynman, The Character of
Physical Law.”465 ([Cha04], c. IV).
De hecho, una gran cantidad de cálculos en física divergen al infinito cuando se trata de distancias
infinitesimales, y si bien los físicos son adeptos a no formularse la pregunta equivocada, Chaitin,
como matemático, se cuestiona si ello no sería una indicación de que los números reales
constituyen un problema, y que las distancias infinitesimales no existen. Al respecto, plantea
dos ejemplos: la infinita cantidad de energía almacenada en el campo alrededor de un electrón
puntual según la teoría electromagnética de Maxwell, y el contenido energético infinito del
vacío de acuerdo a la teoría de campo cuántica 466. Así, para Chaitin, la teoría de cuerdas se
inventó para eliminar las divergencias a medida que las distancias se hacen arbitrariamente
pequeñas - elimina, por ejemplo, fuentes puntuales como el electrón, sustituyéndolos por lazos
de cuerdas, cuya longitud proporciona una escala de distancia mínima - aunque generalmente no
se presente la teoría de esa forma.
Por otra parte, según Rolf Landauer no existe mensura de una magnitud física que se haya
efectuado con más de 20 dígitos (significativos) de precisión. Los experimentos que alcanzan
tal grado de precisión son obras maestras del arte de laboratorio, y de la búsqueda de
cantidades físicas adecuadamente definidas y lo suficientemente estables como para permitir
ser medidas con ese grado de precisión, sin mencionar la eliminación de todas las posibles
fuentes de ruido. Por tanto, Landauer se cuestiona por qué nadie habría de creer en mediciones
arbitrariamente precisas, o en los números reales que se emplean para registrar los resultados de esas
mensuras.
“¡O sea, existen montones de razones para sospechar que podríamos vivir en un universo digital, que
Dios prefiere ser capaz de copiar las cosas en forma exacta cuando debe hacerlo, en vez de obtener el
inevitable incremento en ruido que acompaña al copiado analógico!”467 ([Cha04], c. IV). Y a las
<< p. 174 números reales. Para la época de Euler, los números imaginarios eran extremadamente útiles. Por
ejemplo, el famoso resultado de Euler e ix = cos(x) + isen(x) sometió por completo a la trigonometría. Y la aserción
(Gauss) que una ecuación algebraica de grado n posee exactamente n raíces sólo funciona con la ayuda de los
imaginarios. Adicionalmente, la teoría de funciones de variable compleja (Cauchy) muestra que el cálculo y en
particular las llamadas series de potencia tienen mucho más sentido con los imaginarios que sin ellos. El
argumento final en su favor, si alguno fuere necesario, fue provisto por la ecuación de Schrödinger en la mecánica
cuántica, en donde los imaginarios son absolutamente esenciales, dado que las probabilidades cuánticas (llamadas
‘amplitudes probabilísticas’) deben tener dirección además de magnitud.” ([Cha04], c. V). Texto traducido del
original, en inglés. Ver nota 54, p. 39.
465
Texto traducido del original, en inglés. Ver nota 54, p. 39.
466
De hecho, según la mecánica cuántica, las mediciones con precisión infinita requieren energía infinita
(aceleradores de partículas infinitamente grandes, e infinitamente caros) pero de todas formas, bastante
antes de llegarse a esta situación se obtiene el colapso gravitacional dentro de un agujero negro si se cree
en la relatividad general ([Cha04], c. IV).
467
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
176 - [ 3 ] Modelos
precedentes razones de carácter ‘físico’, pueden agregarse razones de índole puramente
matemática.
La designación de trascendental fue otorgada por Leibniz a su cálculo infinitesimal que
permitía el cálculo de curvas que no satisfacían ecuaciones algebraicas, pero lo que queda de la
idea de Leibniz acerca de los métodos trascendentales es meramente la distinción entre
números algebraicos y números trascendentales: aquellos números que no constituyen
soluciones a ecuaciones de tipo algebraico, y que hoy se denominan números irracionales. Según
Chaitin, la historia intelectual de las demostraciones de existencia de estos números tiene
cuatro etapas significativas, que han cambiado la forma de ver el problema, y que ilustran la
elusividad del conjunto de los números reales. En primer lugar, Liouville, Hermite and
Lindemann, con gran esfuerzo fueron los primeros capaces de exhibir números reales
individuales que demostrablemente eran trascendentales. En segundo lugar, la teoría de
conjuntos infinitos de Cantor reveló que los números reales trascendentes poseían la
cardinalidad del continuo, mientras que los reales algebraicos eran solamente tan numerosos
como los enteros, un infinito ‘menor’. En tercer lugar, Turing demostró que los números reales
algebraicos son computables con su autómata, pero que la mayoría de los números reales son
incomputables y por tanto trascendentales. En cuarto lugar, de la definición de número real
aleatorio resulta que con probabilidad 1, un real elegido al azar es efectivamente aleatorio, por
tanto incomputable, y por tanto trascendental. Así, un número real cuya expresión en binario
es construida mediante infinitos lanzamientos independientes de una moneda equilibrada
resulta, con certeza, un número trascendental, mientras que los reales no aleatorios,
computables, algebraicos, tienen probabilidad nula de ser obtenidos al azar. Y esto significa
que el conjunto de números reales capaz de ser individualmente nombrado, especificado,
definido, o referido - en forma constructiva, o no - por un sistema axiomático formal o por un
lenguaje formal, es de probabilidad nula: los número reales son, con certeza, innombrables
([Cha04], c. V). Así, según Chaitin, aunque surjan naturalmente en la geometría, el conjunto de
los números reales es elusivo. ¿Cómo creer en la existencia de números que no son computables y que
ni siquiera es posible referirlos o especificarlos, con probabilidad uno - ¡certeza! - de que así suceda? Así,
desde los números ‘impronunciables’ de los Pitagóricos, como √2 (sección 3.3.3.1) se llega
entonces - con probabilidad 1, con certeza - a que no hay forma de nombrar, especificar,
definir, o siquiera referirse - no importa que tan poco constructivamente - a números reales
individuales. De los ‘impronunciables’ a los ‘innombrables’, pareciera no haber escapatoria a
esta cuestión ([Cha04], c. V).
Y el argumento principal es que los números reales contienen una cantidad de información infinita.
La primer mención a esta cuestión se debe a Borel, en 1927, donde propone ‘un asombroso
número que lo sabe todo’. Aduce Borel que si se cree en un número real como una secuencia
infinita de dígitos, entonces uno podría consolidar todo el conocimiento humano en un único
número real. Para ello, Borel proponía construir este número como un oráculo cuyos dígitos
- en su expansión binaria - sirviesen para responder toda pregunta imaginable cuya respuesta
pudiere ser expresada en términos de ‘sí’ o ‘no’. Sin embargo, la característica asombrosa del
número oráculo de Borel es que no habría nada que impidiera poner en ese único número real
una cantidad infinita de información. Borel se preguntaba entonces por una razón que diera
credibilidad a tal número oráculo capaz de almacenar una cantidad infinita de información. Y
no parece haber razón alguna para creer en ello, por lo cual Borel considera tal número como
una fantasía matemática, una ‘reducción al absurdo’ del concepto de número real
([Cha04], c. V). Actualmente, un argumento más directo para comprender esta idea consiste en
considerar la capacidad tecnológica disponible para digitalizar la información como texto,
audio, y video. La concatenación de toda esa información en un formato digital podría verse
como el procedimiento de construcción de un número binario, que bien podría corresponderse
con la expansión binaria de un número real en el intervalo unidad. Pero se trataría de una
cantidad de información finita - finita, aunque se incremente el conocimiento humano - por lo
cual se deduce que bastaría con un número racional para almacenarla. Esta versión del oráculo
Diseño de Sistemas Electrónicos Complejos
[ 3.3 ] Modelos matemáticos - 177
de Borel no requiere apelar a ningún número real; sólo precisa un único elemento del campo
numérico racional Q.
La razón por la cual el precedente argumento resulta el principal en el cuestionamiento de la
ubicuidad del continuo, es de origen epistemológico. “Epistemología es definida como la rama de la
filosofía que investiga el origen, estructura, métodos, y validez del conocimiento. Uno de los resultados
más importantes de la epistemología es el descubrimiento de que hay necesariamente algunas
limitaciones del conocimiento.”468 ([Kli69], s. 8.1, p.268). En el citado libro, desde la perspectiva de
la ingeniería, Klir efectúa una clara, pragmática y concisa introducción a la teoría general de
los sistemas, en la línea de Von Bertalanffy469. Y es de sus conclusiones que se puede
comprender el problema epistemológico que plantean los números reales: “La teoría general de
los sistemas tal como se ha delineado es basada esencialmente en este resultado epistemológico. El
concepto de sistema es tal que es posible ante cualquier circunstancia mantenerse dentro de los límites del
conocimiento. No se requiere conocer los límites pero se requiere permanecer dentro de los límites. El
último requerimiento, en contraposición al primero, es asequible mediante una selección clara y única de
cantidades, y mediante el uso de un nivel de resolución espacio-temporal apropiado. El nivel de
resolución se supone es siempre elegido en forma tal que no hay incertidumbre acerca de los valores de
las cantidades en el transcurso de su observación. El nivel de resolución más bajo distingue sólo dos
valores diferentes de cualquier cantidad considerada, y el nivel de resolución más alto está relacionado
con la capacidad discriminatoria de nuestros sentidos o instrumentos aplicados. Se sigue del principio de
incertidumbre de Heisenberg que el poder discriminatorio tiene un límite definido. Si aceptamos el
principio de incertidumbre, hallamos que únicamente los sistemas discretos son significativos
desde el punto de vista epistemológico.”470 ([Kli69], s. 8.1, p.268). Aclara Klir: “El uso de sistemas
matemáticos continuos para describir otros sistemas es meramente pragmático. Métodos matemáticos
potentes para sistemas de variable continua han sido elaborados en el largo transcurso de la historia de la
matemática y son generalmente bien conocidos. Métodos matemáticos eficientes para sistemas con
variables discretas, por el contrario, han sido elaborados sólo recientemente 471 y son menos conocidos. Su
desarrollo está estrechamente relacionado al desarrollo de la ciencia de la computación. Los computadores
digitales automáticos, las herramientas contemporáneas más potentes para procesamiento de información,
son esencialmente sistemas discretos. Son por tanto mejor preparados para la solución de problemas de
tipo discreto. Esto es ventajoso desde que los datos empíricos (esencialmente discretos) pueden ser
procesados directamente y no requieren ser transformados en primera instancia a la forma impropia de
variables continuas. Así, las computadoras digitales nos permiten, en principio, trabajar con los datos
empíricos reales en lugar de sustitutos continuos inciertos. El subsiguiente desarrollo de la matemática
discreta es de primordial importancia para la teoría general de los sistemas así como para la teoría de la
determinación de la evidencia empírica.”472 473 ([Kli69], s. 8.5, p.275).
468
Texto traducido del original, en inglés. Ver nota 54, p. 39.
469
Ver sección 1.3. Cabe aclarar que, desafortunadamente, la citada referencia ([Kli69]) fue conocida y
conseguida a posteriori de la elaboración de los capítulos 1, 2, y casi la totalidad del capítulo 3 del
presente documento. Una temprana consulta a este excelente libro hubiera indudablemente redundado
en una formulación mucho más clara y concisa del concepto de sistema, hubiera permitido profundizar
en los procesos de diseño en ingeniería, y hubiera permitido la incorporación de los conceptos - por
demás acertados - que el autor confiere en la referida obra. No obstante, cabe notar que las afirmaciones
que se efectúan en el presente documento están en sintonía con las ideas de Klir en su “An Approach to
General Systems Theory”.
470
Texto traducido del original, en inglés. Ver nota 54, p. 39. La tipografía en negritas se introduce en el
presente documento, no correspondiendo al original.
471
Nótese la época de la cual data la referencia citada.
472
Texto traducido del original, en inglés. Ver nota 54, p. 39.
473
Cabe notar la coincidencia entre la idea de Klir acerca de los ‘datos empíricos esencialmente discretos’
con la de Landauer (p. 175) que se refiere a la precisión inherentemente limitada de las mensuras de
cantidades físicas. También, son acordes las observaciones de Klir referentes al uso y utilidad de los
computadores con las ideas de Chaitin, que se presentan en la sección 3.3.6.2.5.1 (bajo el rótulo
‘¿Matemáticas cuasi - empíricas?’): los computadores son el medio que permite - y por tanto, promueve el desarrollo de la matemática discreta. Nótese también que la limitación que - según Klir - el >> p. 178
Ingeniería Electrónica – Universidad Católica del Uruguay
178 - [ 3 ] Modelos
Pueden esgrimirse argumentos tanto de tipo físico como matemático en
contra de la existencia de los números reales, pese a su aparentemente
inmediata justificación en la geometría.
Desde antiguo, Demócrito y Zeno aducen que la materia ha de ser discreta y que la
continuidad del espacio y del tiempo es una imposibilidad contradictoria en si
misma. Esto es actualmente argumentado por Feynman, quien señala que una
región arbitrariamente pequeña del espacio-tiempo requeriría de infinitas
operaciones lógicas en un autómata para ser resuelta en término de las leyes de la
física, tal como se conciben en la actualidad (en términos del continuo). Además, la
divergencia de ciertos cálculos de la física, que ocurre cuando se consideran
distancias infinitesimales, se ha debido soslayar mediante teorías que introducen
mínimos a las distancias concebibles, lo que promueve más sospechas respecto al uso
del continuo en la física. Y por encima de todo esto, Landauer aduce que la mensura
de magnitudes físicas ha sido y será limitada en precisión, y que por tanto en física
no hay siquiera razones para considerar números capaces de registrar
precisiones infinitas.
Adicionalmente, el hecho que los números irracionales sea ciertamente una variedad
incomputable, y que además no sea posible referir, especificar o siquiera nombrar
sus elementos, pone en tela de juicio la existencia de este elusivo cuerpo numérico,
inclusive desde el punto de vista matemático. Incidentalmente, dado que toda pieza
de información - texto, imagen, audio, video, etc. - puede ser digitalizada y
concatenada con las restantes para conformar una cadena de bits, finita,
necesariamente tal cadena se corresponde con la expansión binaria de un número
racional en el intervalo unidad, y por tanto basta con un único número racional
para contener la totalidad del conocimiento humano - aunque evolucione, pues
siempre será finito. Y en este contexto, que un único número real baste para
almacenar una cantidad infinita de información, motiva a que Borel los
considere como una fantasía matemática. ([Cha04], c. IV-V). Porque, en
esencia, una cantidad infinita de información es epistemológicamente
insignificante, puesto que necesariamente rebasa los límites - finitos - del
conocimiento.
Estos problemas filosóficos asociados a los números reales eran referidos por el
propio Leibniz como ‘el laberinto del continuo’ ([Cha04], c. V).
[ 3.4 ]
MODELOS EJECUTABLES
[ 3.4.1 ] CONCEPTO DE PROGRAMA, MODELO EJECUTABLE, Y SIMULACIÓN
“Un programa es una descripción o especificación del comportamiento de un computador. Un
computador ejecuta un programa comportándose de acuerdo al programa, satisfaciendo el programa. La
gente usualmente confunde los programas con el comportamiento del computador. Hablan de lo que hace
el programa; por supuesto, este solamente es desplegado en el papel o la pantalla; es el computador el que
hace algo. Preguntan si un programa termina; por supuesto que termina; es su comportamiento el que
puede no hacerlo. Un programa no es un comportamiento, sino una especificación de comportamiento.
Más aún, un computador puede no comportarse como especifica un programa por diversas razones: un
cabezal de un disco puede romperse, un compilador puede ser defectuoso, o un recurso puede agotarse
<< p. 177 principio de incertidumbre de Heisenberg establece sobre la capacidad discriminatoria de los
sentidos humanos y los instrumentos de mensura, constituye una limitante esencial al proceso de
‘desantropomorfización de la imagen del mundo’ propiciado por el avance tecnológico - científico, al que
se refiere Von Bertalanffy (ver nota 131, p. 69).
Diseño de Sistemas Electrónicos Complejos
[ 3.4 ] Modelos ejecutables - 179
(desborde de la pila, desborde aritmético o numérico) por mencionar unos pocos. La diferencia entre un
programa y el comportamiento del computador es obvia.”474 ([Heh04], p. 41)
“Un programa es la especificación del comportamiento del computador; por
el momento, eso significa que es una expresión booleana475 que relaciona un estado
previo con uno posterior. No toda especificación es un programa. Un
programa es una especificación implementada, es decir, una especificación
para la cual ha sido provista una implementación, tal que un computador
pueda ejecutarla.”476 477([Heh04], p. 41).
Al respecto de las precedentes observaciones, cabe notar que en este documento
efectivamente se abusa de la palabra ‘programa’, pues en gran número de casos se refiere con
esta al comportamiento del computador que ejecuta al referido programa 478. Admitiendo esta usual
laxitud en el empleo del término - pero asumiendo su adecuado significado - interesa aquí
discutir aquella particularidad de los programas que deriva, precisamente, de su posibilidad
de ejecución en el computador, lo que les diferencia de otros modelos matemáticos formales
expresados simplemente como símbolos y ecuaciones ‘en papel’.
Una utilidad evidente de los programas es la del cómputo sistemático, ‘mecanizado’; no
obstante, cabe notar la diferencia significativa que existe entre la ejecución de programas que
modelan las propiedades o el comportamiento de sistemas, y la ejecución de programas
dedicados solamente a la realización de cálculos científicos, o a la gestión empresarial. En estos
últimos, la estructura de control del programa se puede alterar, mientras que el resultado
producido por la ejecución el programa se mantenga correcto. Es decir: del comportamiento
del computador pretendido por el programa, interesa solamente la devolución de resultados
correctos desde el punto de vista lógico. Pero el modelado de un sistema ‘real’ no solamente
debe reflejar la fidelidad lógica, o la precisión de los resultados, sino también otros aspectos
como por ejemplo la fidelidad temporal479, causalidad, etc., lo que implica que la elaboración de la
estructura de control de este otro tipo de programa requiere cuidados adicionales480. Así, con
objeto de diferenciar los distintos tipos de programa - y recordar la diferencia subyacente cabe introducir el concepto de modelo ejecutable:
Un modelo ejecutable es un programa, cuyo objeto es modelar el
comportamiento de alguna entidad - fundamentalmente sistemas - vía el
comportamiento del computador.
474
475
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Una expresión en términos del Álgebra de Boole.
476
Texto traducido del original, en inglés. Ver nota 54, p. 39. El subrayado corresponde al autor original;
la tipografía en negritas es resorte del presente documento.
477
Nótese que la noción de ‘programa’ como ‘especificación implementada del comportamiento de un
computador’ está admitiendo la consideración como ‘programa’ de su código fuente, en las hipótesis de
(a1) existencia de un compilador adecuado para el computador que ha de ejecutar el programa, y (a2)
compilación sin errores del código fuente; o (b1) existencia de un intérprete adecuado para los comandos
dados en el código fuente, y (b2) código fuente libre de errores de sintaxis. Es decir, por ‘programa’
puede hacerse referencia a una descripción del comportamiento de un computador que no sea
directamente ejecutable por este, siempre que exista algún medio que garantice su traducción a otra
descripción que sí sea directamente ejecutable por el computador.
478
Por ejemplo, en la sección 3.3.6.1 se discute repetidamente si un programa finaliza o no, en lugar de
efectuar el planteo estrictamente correcto: si la ejecución del programa finaliza o no.
479
Temporización que - según el nivel de abstracción al que se elabore el modelo - podrá limitarse a
modelar el orden parcial o total de eventos, o modelarlos con determinada precisión.
480
El actual diseño de sistemas electrónicos programables (fundamentalmente los designados sistemas
embebidos) presenta como uno de los temas claves el ‘modelo de cómputo’ a emplear por los programas
dedicados a modelar los sistemas. Este ‘modelo (o modo) de cómputo’ tiene precisamente relación con la
‘estructura de control’ del programa.
Ingeniería Electrónica – Universidad Católica del Uruguay
180 - [ 3 ] Modelos
La designación de ‘modelos ejecutables’ pretende diferenciarles de aquellos
programas que son dedicados exclusivamente al cálculo científico, a la gestión
administrativa, u otros propósitos de índole similar, y cuyo objeto es básicamente la
devolución de resultados correctos desde el punto de vista ‘lógico’, sin que interese
esencialmente el proceso de ejecución (el comportamiento del computador) que los
produce.
Los modelos ejecutables tienen como objeto la descripción del comportamiento de los
sistemas a los que modelan, por lo cual su ejecución se orienta a representar
procesos, en los cuales la fidelidad de la representación temporal,
causalidad, etc. son cuestiones tan importantes como la fidelidad lógica, o
la precisión de los resultados. Por tanto, la estructura de los modelos
ejecutables reviste singular importancia desde la perspectiva de la
aplicación.
En cuanto modelo, un modelo ejecutable cumple con la noción que se confiere en la sección
3.1: es una construcción análoga a una entidad, a la cual ‘representa’ con limitada precisión, en
aspectos que son relevantes para cierta situación en la cual se pretende emplear el modelo en
lugar de la entidad original. Pero la utilidad principal de los modelos ejecutables consiste
precisamente en la posibilidad de ejecutar el modelo en el propio computador, para estudiar su
comportamiento y propiedades en un ambiente controlado. Por este motivo, los modelos
ejecutables son usualmente llamados simulaciones, aunque el término es apropiado sólo cuando
el modelo computacional es claramente distinto del sistema que modela481 [PtP01]. Aquí se
prefiere emplear la designación de ‘modelo ejecutable’ frente al término ‘simulación’, en virtud
de la relación entre modelos y el proceso de refinamiento de descripciones que constituyen los
procesos de diseño482.
Los modelos ejecutables son también denominados simulaciones, pero esta
designación es adecuada sólo cuando el modelo es claramente distinto al sistema que
modela. Por razones de generalidad, se prefiere entonces la designación de ‘modelo
ejecutable’.
La utilidad principal de los modelos ejecutables - simular el comportamiento de algún sistema
al que modelan - aprovecha la posibilidad de representar la dinámica del sistema483 mediante el
propio proceso de ejecución del modelo que efectúa el autómata (el computador) 484. La
481
Aunque pueda no resultar intuitivo, no siempre el modelo ejecutable se diferencia claramente del
sistema real. En el caso de sistemas de cómputo general (designémosles sistemas programables)
perfectamente puede mutarse de una implementación física, a una implementación ‘algorítmica’
ejecutada sobre otro dispositivo físico programable. De las secciones 3.3.5.2 y 3.3.6.1 se tiene que un
computador puede emular a cualquier otro, es decir, un computador adecuadamente programado puede
ser indistinguible - desde el punto de vista lógico - de otro computador, y por tanto, la funcionalidad del
primer dispositivo físico puede ser emulada por otro dispositivo, programándolo adecuadamente. Es
decir, un emulador es un computador ejecutando el ‘modelo ejecutable’ de otro computador, al que ‘simula en
forma exacta’ (emula) desde el punto de vista lógico. Este caso muestra que las diferencias entre el ‘modelo
ejecutable’ y el sistema modelado pueden resultar difusas desde ciertas perspectivas - en el ejemplo,
desde el punto de vista de los programas es indistinguible el dispositivo original del emulador - y con el
término simulación se pretende indicar los casos en que las diferencias son manifiestas. Sin embargo, el
término simulador se emplea frecuentemente en electrónica para distinguir a los llamados ‘emuladores
en circuito’ de un dispositivo programable (dispositivos que emulan a otros dispositivos programables,
en aspectos físicos y eléctricos además de los lógicos) de una emulación hecha completamente por
programa en un computador, complicando el uso de los términos.
482
Esta cuestión se trata en la sección 3.5.1.
483
Y de su entorno. Generalmente, el comportamiento de un sistema se concibe en respuesta a estímulos
provenientes de fuera del sistema, y esta interacción del sistema con el entorno de alguna manera
también se debe modelar.
484
Por dinámica aquí se refiere a la dinámica del sistema modelado por el modelo ejecutable, y no
significa que el modelo sea una entidad dinámica en el sentido de la sección 3.1, lo que >> p. 181
Diseño de Sistemas Electrónicos Complejos
[ 3.4 ] Modelos ejecutables - 181
capacidad de ser efectivamente ‘dinámicos’ - es decir, la capacidad para desencadenar
procesos en el computador - constituye la propiedad esencial de los modelos ejecutables,
puesto que en ese aspecto superan las limitaciones de sus contrapartes estrictamente
matemáticas, ‘estáticas’. Por ejemplo: el modelo puramente matemático que consiste en las
ecuaciones del movimiento de cuerpos o partículas, elaborado de acuerdo a la mecánica de
Newton, es un modelo estático - las ecuaciones del movimiento f(t)=0 en realidad describen
funciones estáticas, donde se debe apelar a la meta-regla del tiempo geométrico para
interpretar al movimiento o la dinámica del sistema485. Por el contrario, un modelo ejecutable
de la misma situación puede ser empleado para mostrar efectivamente la dinámica del
movimiento, haciendo uso de las capacidades de almacenamiento y visualización del
computador, y de la propia ejecución del programa en el computador, proceso que se
desarrolla en el tiempo486. Así, en comparación con los modelos puramente matemáticos, la
ejecución en el computador de los ‘modelos ejecutables’ posibilita una mayor introspección en
el comportamiento de los sistemas que se modelan, y adicionalmente, permite la interacción
del diseñador con los modelos en el ambiente controlado que supone el computador.
Una propiedad esencial de los modelos ejecutables es la dinámica que es posible
conferirles aprovechando su ejecución del computador. Esto les convierte en un
proceso en el tiempo, a diferencia de sus contrapartes puramente matemáticas que
son descripciones estáticas - tanto de hecho, como también por su significado
puramente estructural, en el caso de modelos matemáticos formales. La capacidad de
manifestarse como un proceso es lo que les hace ideales para la simulación del
comportamiento de sistemas. Las características de almacenamiento y
visualización de datos que provee el computador se conjugan con el ambiente de
ejecución controlado e interactivo que brinda, con lo cual los modelos
ejecutables adquieren un valor superlativo tanto en ingeniería como en la actividad
científica en general.
[ 3.4.2 ] VENTAJAS Y DESVENTAJAS DE LOS MODELOS EJECUTABLES /
SIMULACIONES
Respecto a los sistemas reales, los modelos ejecutables presentan las siguientes las ventajas,
inherentes a su simulación en el computador ([TTOV98], p. 138):
1. Reducción del riesgo asociado a la realización de un nuevo sistema, o a su modificación487.
2. Mayor y mejor control sobre las condiciones experimentales en las que se realizan dichas
observaciones488.
3. Facilidad para probar alternativas y seleccionar la que ofrezca mejores resultados
(exploración del espacio de diseño489).
<< p. 180 supondría un modelo material. En ocasiones, se habla de modelos (ejecutables) dinámicos
dando por sobreentendida la precedente aclaración.
485
[CKK00], p. 2. La meta - regla consiste en imaginar un punto que se mueve según la coordenada t,
indicando el instante actual ([Cah03], s. 2.1, pp. 7-9).
486
Aunque el tiempo en el que se desarrolla el proceso de cómputo en el autómata no sea el tiempo
efectivo de proceso del sistema modelado, estos tiempos pueden hacerse correspondientes de alguna
manera conocida (ya sea determinista o no) y de esa forma, adquiere relevancia el hecho que el cómputo
en el autómata sea un proceso, es decir, algo que se desarrolla en el tiempo. Por lo pronto, la ejecución del
modelo en el computador forzosamente impone la ‘flecha del tiempo’ al sistema modelado.
487
Aquí se refiere fundamentalmente al ‘ambiente controlado’ que supone un computador.
488
Ídem nota 487, p. 181.
489
Ver sección 2.4.1.
Ingeniería Electrónica – Universidad Católica del Uruguay
182 - [ 3 ] Modelos
4. Posibilidad de analizar en menos tiempo las soluciones propuestas a los problemas
descubiertos con la simulación, que mediante observaciones realizadas en el mundo real490.
5. Reducción de la cantidad de suposiciones necesarias respecto a las requeridas por los
modelos matemáticos formales491.
6. Documentación implícita en la especificación de las relaciones lógicas que se establecen al
elaborar el modelo ejecutable.
No obstante, la simulación por computador puede resultar una técnica de resolución de
problemas complicada y costosa, tanto en tiempo de desarrollo del modelo ejecutable como en
tiempo de ejecución, y por tanto, sólo es ventajoso emplearla cuando ([TTOV98], p. 138):
1. el sistema real no existe, y además:
•
su implementación es significativamente más costosa que la del modelo
ejecutable492.
•
su implementación requiere significativamente más tiempo que el desarrollo del
modelo.
•
su implementación conlleva riesgos considerables de construcción, operación,
mantenimiento, observación, etc493.
•
no es factible su implementación por otras razones494.
2. el sistema real existe pero su observación y experimentación es costosa, inaccesible,
peligrosa o destructiva para el propio sistema.
3. se requiere efectuar en un tiempo limitado la predicción del comportamiento del sistema en
largos períodos de tiempo.
4. un modelo matemático formal del sistema no presente soluciones analíticas y por tanto sea
inviable su análisis en términos formales, debiendo recurrirse al cálculo numérico495.
Además de las desventajas que presenta cualquier tipo de modelo, los modelos ejecutables
presentan las siguientes desventajas particulares, inherentes a su naturaleza
([TTOV98], p. 138):
1. La simulación es una técnica o proceso experimental, y por tanto sólo permite mejorar (o
empeorar) la confianza que se tiene en el modelo496.
490
Ver sección 2.4.1.
491
Pueden efectuarse cálculos numéricos en lugar de deducción estricta, y así pretenderse resultados
aproximados, flexibilizando la rigidez inherente a los modelos matemáticos formales (ver secciones 3.2.1
y 3.2.2).
492
No subestime esta consideración. La ‘implementación’ del modelo ejecutable requiere de programación,
y un costo inevitable en este caso corresponde a la remuneración del equipo de diseño del modelo, que
puede ser un monto significativo dependiendo de la aplicación - en la industria aeroespacial, nuclear o
médica, no basta con unos pocos licenciados en informática para resolver y programar los modelos; se
requieren especialistas. Adicionalmente, en caso de modelos sumamente elaborados, el costo del
equipamiento informático para la síntesis y ejecución de los modelos ejecutables puede ser significativo.
Considere, por ejemplo, la infraestructura física y humana que requiere un conjunto de computadores
operando en forma concurrente (‘cluster’) para que el equipo de desarrollo pueda trabajar confiable y
rápidamente - este es un caso usual en el desarrollo de sistemas electrónicos complejos, como un circuito
integrado de aplicación específica, o un microprocesador sofisticado.
493
Considere a modo de ejemplo el diseño de un reactor nuclear.
494
Aunque esotérico, considere por ejemplo el diseño de una estación espacial, a ser ensamblada por
piezas in situ. Como ejemplo más cotidiano, considere el diseño de algún sistema que se adelante a las
tecnologías de fabricación (o a su disponibilidad comercial).
495
Cualquier sistema dinámico no integrable; usual en dinámica no lineal de sistemas.
496
No obstante, note que aunque la simulación constituyera una ‘demostración formal’ en lugar de una
‘técnica experimental’, los resultados de Gödel (sección 3.3.5.2) implican que en cualquier caso >> p. 183
Diseño de Sistemas Electrónicos Complejos
[ 3.4 ] Modelos ejecutables - 183
2. Requiere la validez del propio modelo ejecutable, lo que quizás constituya el problema más
significativo497.
3. En cuanto a su dominio de elaboración, los modelos ejecutables son lenguajes (sistemas)
formales, y por ende sufren, estructuralmente, las mismas limitaciones aplicables a los
sistemas axiomáticos formales (Gödel, Turing, Chaitin; secciones 3.3.5 y 3.3.6).
Adicionalmente, son limitados por el hecho de que el autómata de Turing es una
construcción ideal, y en la realidad es implementable sólo en forma aproximada - un
computador real dispone de memoria y tiempo finitos para la ejecución. Estas limitaciones
se consideran en mayor detalle, a continuación.
[ 3.4.3 ] LIMITACIONES FÁCTICAS DE LOS MODELOS EJECUTABLES
La realidad tecnológica y física obliga a que los modelos ejecutables se vean limitados por la
memoria finita que dispone un computador real para la operación498. En consecuencia los
modelos ejecutables se ven limitados a operar dentro del campo numérico racional Q. Esto
implica que mediante modelos ejecutables no es posible calcular siquiera números computables
en el campo numérico real499 R, debiéndose trabajar sujeto a determinada precisión, mediante
aproximaciones en Q a los x computables de R. Sin embargo, esto no constituye una limitación
severa para las ciencias empíricas o la ingeniería, puesto que estas disciplinas deben lidiar
necesariamente con medidas - mensuras de magnitudes en el mundo real - y por ende el campo
numérico Q satisface plenamente sus necesidades500. De esta manera, la incomputabilidad de
Turing se sufre en los modelos ejecutables que corresponden a cuestiones puramente
matemáticas, pero puede por lo general ignorarse en las simulaciones de sistemas reales. Por
otro lado, como aduce Chaitin (sección 3.3.6.2.5) la actitud adoptada de hecho por la
comunidad de científicos teóricos de la computación es pragmática en lo que se refiere a
pruebas de programas, la que efectúan mayoritariamente en forma empírica - por tanteo y
error, educados, pero tanteo y error al fin - y les permite ir adquiriendo confianza en sus
programas, en lugar de pretender demostraciones estrictas y formales de corrección. En
cualquier caso, la interpretación semántica - y no solamente estructural - que de hecho se hace
de los modelos ejecutables, en virtud de los procesos que estos simulan, permiten soslayar las
limitaciones de tipo Gödeliano, y orientar su uso al terreno experimental donde las
limitaciones son de otra índole501.
En virtud de las limitaciones que impone la realidad - memoria finita de los
computadores reales, y tiempo de cómputo limitado desde la perspectiva humana los modelos ejecutables deben forzosamente operar en el campo numérico
racional Q. Esto no representa problema para las ciencias experimentales o la
ingeniería, puesto que las incertidumbres derivadas de las mensuras en estas
<< p. 182 lo único que se puede tener es confianza...
497
Considere las posibles consecuencias (nefastas) de una simulación inadecuada de un sistema
aeronáutico, de un sistema de control de tráfico de trenes, o de un reactor nuclear. Si bien la confianza
en la corrección de cualquier tipo de modelo para estos casos es trascendental, en particular los modelos
ejecutables - por su capacidad de simular procesos complejos - son quienes juegan un papel básico en
estas aplicaciones.
498
Limitación a la cual se adiciona la humana necesidad de tiempo finito (y razonable) de cómputo (la
limitación temporal no afecta a un autómata - si este no falla, ni fallan sus fuentes de energía; en todo caso, a
la fecha la limitación principal de los autómatas es establecida por la finitud de su memoria).
499
Adviértase el contexto, para diferenciar el término ‘real’ en referencia al campo numérico R y el
‘mundo real’ o la ‘realidad’ (física).
500
En la sección 3.3.7.1 se esgrimen argumentos de tipo físico y matemático respecto a la pertinencia de
los campos numéricos Q y R.
501
Por ejemplo, las limitaciones conceptualizadas en términos de la ‘máscara observacional’ de Klir (ver
nota 370 (p. 146) y [Kli69], s. 3.3, pp. 114-119; el ejemplo 3.6 es particularmente ilustrativo).
Ingeniería Electrónica – Universidad Católica del Uruguay
184 - [ 3 ] Modelos
disciplinas implican que se requiere sólo determinada precisión, y el campo Q
puede satisfacer plenamente esta necesidad.
Así, con la restricción al campo Q en los modelos ejecutables se evita cualquier
posible manifestación del problema de incomputabilidad de Turing, y - aunque
persista inevitablemente el Problema de Finalización - las limitaciones temporales
humanas tornan este otro problema en una simple toma de decisión.
Además, las posibles limitaciones Gödelianas a los sistemas formales que suponen
los modelos ejecutables pueden ser soslayadas mediante una actitud pragmática en
la interpretación de los resultados devueltos por estos - actitud de hecho aplicada en
las ciencias empíricas e incluso por los científicos de la computación - que no
pretenda demostraciones rigurosas sino se conforme con la ‘evidencia experimental’
que brindan las trazas de ejecución.
[ 3.4.4 ] OBJETOS Y PROCESOS
Se presenta aquí una consideración final respecto a la filosofía de desarrollo de los modelos
ejecutables, en función de las ideas manejadas en el presente documento.
Actualmente, el desarrollo de programas sigue un paradigma designado programación
orientada a objetos502, o simplemente, orientación a objetos. La metodología de programación
orientada a objetos propone el desarrollo de programas complejos en base a módulos de
programa, o componentes, los cuales son un modelo computacional de los objetos observables del
mundo real. De acuerdo a este paradigma, los objetos cotidianos son abstraídos en términos de
sus atributos y comportamiento - que computacionalmente se hacen corresponder con datos y
funciones en el código, respectivamente - y se modela la posible comunicación para los objetos
capaces de intercambiar mensajes o señales. Las capacidades de comunicación, junto con
atributos y comportamiento, constituyen así una descripción de tipo ‘caja negra’ del objeto. La
idea central en este paradigma es que los objetos provean un encapsulamiento para los atributos
y el comportamiento; es decir, se ‘empaquetan’ datos y funciones en los objetos, y aunque estos
puedan comunicarse vía las interfases de comunicación definidas, en principio no se les otorga
capacidad de introspección en la forma de operación de los otros objetos 503 con los cuales
interactúan. De esta forma, la implementación504 de un componente puede ser modificada - por
ejemplo, para mejorar su rendimiento - pero si se mantiene invariante su interfase, el
relacionamiento con otros objetos no se ve alterado ([DD94], s. 16.1, pp. 594-595). Esta técnica de
‘ocultamiento de la información’ no es más que una forma de promover la elaboración de sistemas
jerárquicos modulares, en el sentido de Simon (sección 1.5); es una forma de aplicar la abstracción
en combinación con la modularidad estructural de los sistemas que se desean construir, y
facilita la evolución y mantenimiento de los programas. “Los objetos son en esencia
componentes de software505 reutilizables que modelan elementos del mundo real”
([DD94], s. 1.14, p. 14). La programación orientada a objetos promueve que un programa sea
elaborado en forma jerárquico-modular relacionando esos componentes, y aprovechando el ocultamiento
de la información encapsulada en cada objeto para mantener la complejidad dentro de límites manejables.
Sin embargo, la Física de Procesos propuesta por Cahill y Klinger intenta justamente abatir
la idea que el mundo está compuesto por objetos, en favor de una visión Heráclitea de un
mundo en estado de flujo, de perpetuo proceso. ¿Será conveniente entonces proponer la búsqueda de
un nuevo paradigma para la elaboración de modelos ejecutables de sistemas reales, basado en procesos en
lugar de objetos - una programación orientada a procesos? Si bien este cuestionamiento
502
OOP, ‘Object - Oriented Programming’, en inglés.
503
Hay excepciones, pero no cabe una discusión al respecto en la presente sección.
504
O ‘puesta en práctica’, como se le designa en ocasiones.
505
La edición en español de [DD94] no traduce, ni pone entre comillas o apóstrofes, la palabra de origen
inglés ‘software’.
Diseño de Sistemas Electrónicos Complejos
[ 3.4 ] Modelos ejecutables - 185
parecería retrotraer el desarrollo informático a los lenguajes orientados a la acción506, la
elaboración de modelos ejecutables de sistemas electrónicos complejos en la actualidad adolece
de serios inconvenientes para poder expresar cuestiones como concurrencia e intercambio de
información sincrónico o asíncrono - ¡procesos! - entre módulos, y esto constituye una
necesidad puesto que la estructura por sí sola es incapaz de conferir el comportamiento de tales
sistemas, compuestos por millones de elementos integrados. De hecho (y como se ha señalado
por otros motivos en la sección 2.1.2.2) el tópico designado ‘modelos de cómputo’ constituye
un tema de extensa e intensa discusión en el área de diseño de sistemas electrónicos
programables, y las actuales tendencias de ‘diseño en base a actores’ y ‘diseño en base a
modelos’ - relacionadas con el tema de los ‘modos de cómputo’ - se orientan al modelado de
procesos, tomando en consideración los paradigmas de la programación orientada a objetos.
El actual paradigma de desarrollo de programas computacionales se designa
programación orientada a objetos, y consiste básicamente en modelar los
objetos observables en el mundo real abstrayendo sus atributos y comportamiento,
es decir, ‘ocultando’ la implementación.
Sin embargo, cabe cuestionarse si la visión que surge de la Física de Procesos - un
mundo que no se compone de objetos estables, sino que los objetos emergen de un
proceso permanente - no convendría extenderla al diseño de modelos ejecutables de
sistemas, uno de cuyos intereses es precisamente modelar procesos, promoviendo así
lo que podría designarse como programación orientada a procesos.
Cabe cuestionarse, además, si las modernas tendencias de diseño electrónico - el
‘diseño en base a actores’ y el ‘diseño en base a modelos’, relacionadas con el tema
de los designados ‘modos de cómputo’ -no constituye un paso en ese sentido, aunque
partiendo de los paradigmas de la programación orientada a objetos.
[ 3.5 ]
MODELADO EN INGENIERÍA
[ 3.5.1 ] CONSIDERACIONES INICIALES
El empleo de modelos en la ciencia es, según Von Bertalanffy, “... el camino para crear una
teoría...”. Similarmente entonces, puede plantearse que:
En la ingeniería, el modelado es un ‘camino para diseñar’ - los procesos de diseño
en ingeniería se basan en el desarrollo, prueba y verificación de modelos.
En ingeniería, el concepto de modelo está tan íntimamente ligado al concepto de diseño, que
en ocasiones resulta extremadamente difícil distinguir el ‘modelo’ del ‘diseño’507 al cual el
primero pudo dar origen. Esta ‘fusión’ de los conceptos de modelo y diseño se exacerba con el
advenimiento de modelos implementados computacionalmente - modelos ‘ejecutables’ o
simulaciones508 - que en el área particular de diseño electrónico mutan casi inadvertidamente
del ‘modelo ejecutable’ al ‘diseño’ o implementación final (por ejemplo, cuando se trata del
código para simulación de un dispositivo digital, el cual puede derivar directamente en
506
También designados ‘procedurales’, término creado ad hoc del inglés ‘procedural’, y que alude a los
‘procedimientos’ (‘procedures’, en inglés) que en algunos lenguajes de programación como Pascal
constituyen un elemento de construcción para componer un programa, similarmente a las ‘funciones’.
En tiempo de ejecución, este tipo de construcciones son ‘llamadas’ o invocadas, efectúan su función o
procedimiento, y finalizan (eventualmente retornando un valor) por lo cual los lenguajes que las
implementan resultan orientados a la acción (y, en principio, no son orientados a objetos: el lenguaje C es
un caso de lenguaje prima facie orientado a la acción).
507
Cabe recordar que aquí, ‘diseño’ se refiere al producto de un proceso de diseño (ver sección 2.1.2).
508
Ver sección 3.4.
Ingeniería Electrónica – Universidad Católica del Uruguay
186 - [ 3 ] Modelos
indicaciones para la fabricación del dispositivo ‘físico’509). Con objeto de establecer las
diferencias pertinentes, en este trabajo se ha separado tempranamente y en forma explícita el
concepto de modelo del concepto diseño, aunque esta separación pueda parecer, en ciertos casos,
algo artificial510.
De hecho, el proceso de diseño en ingeniería, considerado como concatenación de ciclos de
‘especificación → síntesis → implementación → validación’ que transforman una descripción
más abstracta en una más detallada en cada paso (sección 2.1.1.3) constituye una refinación de
‘modelos’. Por ‘refinación’ se entiende que el modelo se transforma paulatinamente en la
entidad que al inicio representa511, por adición de los detalles que le confieren una mayor
precisión en la representación, hasta que esta resulta indistinguible de la entidad, desde el
punto de vista de la especificación. Para el caso de modelos formales, la ‘refinación’ se efectúa
siguiendo un proceso deductivo, de manera que cada paso es validado en virtud de la lógica que
rige al sistema formal deductivo que se aplica. Para el caso de modelos no formales, aún
pueden aplicarse metodologías que propendan a la sistematización en el manejo de la
información.
En esencia, el proceso de diseño en ingeniería consiste en una refinación de modelos;
un proceso que por incorporación de detalles incrementa la precisión de las
descripciones, desde la especificación a la implementación.
[ 3.5.2 ] CONSIDERACIONES FINALES
En virtud de la naturaleza y finalidad de la ingeniería, es indispensable que los modelos
considerados posean capacidad de cálculo, para permitir predicciones512. Por tanto, los modelos
matemáticos, y los modelos ejecutables, constituyen dos variedades extensamente empleadas
en ingeniería513. Sin embargo, estas clases de modelos adolecen de limitaciones estructurales,
puesto que los sistemas formales axiomáticos son pasibles de los fenómenos de incompletitud
de Gödel, de incomputabilidad de Turing, y de aleatoriedad algorítmica de Chaitin.
Si tanto el dominio de elaboración como el de aplicación de los modelos es de carácter formal
(el uso ‘formal’ implica forma, es decir, resultados sintácticos o estructurales, pero no
semánticos, o de contenido) entonces se está expuesto a los resultados de Gödel, Turing y
Chaitin. Sin embargo,
aunque tanto los dominios de elaboración y aplicación de los modelos empleados en
ingeniería sean de tipo formal, la ingeniería se salva de los fenómenos de
incompletitud, incomputabilidad y aleatoriedad algorítmica por su propia
naturaleza ‘fáctica’ y ‘constructivista’.
La finalidad de la ingeniería consiste, prima facie, en obtener resultados concretos, no teorías
‘universales’514; por tanto, no interesa si otras cuestiones aparte de la que se trata en particular
caen fuera del alcance del modelo empleado. Esto permite emplear el sistema formal más
509
En ejemplo, esto se refiere a simulaciones en lenguajes como VHDL, Verilog, o SystemC, a partir de
las cuales es posible ‘sintetizar’ los dispositivos simulados si se ha atenido a determinadas restricciones
en la expresión de los modelos simulables (sección 5.2.6.1).
510
Similar situación se produce ocasionalmente con los conceptos de sistema y ‘diseño’.
511
En el caso de un diseño, tal entidad es, en principio, inexistente. Sin embargo, se admite en este trabajo
un modelo de una entidad inmaterial, por lo que en este caso podría asociarse la entidad con la
especificación del diseño, o un ‘diseño ideal’ derivado de esta.
512
Esto es compatible con la noción de modelo establecida en la sección 3.1; simplemente se adiciona el
requerimiento de permitir cálculos y predicción.
513
Por similares motivos, la ciencia también requiere y elabora modelos con capacidad de cálculo y
predicción. Recuérdese que, en esencia, una teoría es un modelo. La ciencia en general es una actividad
que requiere la capacidad de predicción - y por tanto la capacidad de cálculo - en sus modelos, las
teorías científicas.
Diseño de Sistemas Electrónicos Complejos
[ 3.5 ] Modelado en Ingeniería - 187
conveniente, e inclusive extenderlo de ser necesario, hasta cubrir las necesidades, sin importar
si otras cuestiones resultan insolubles en el mismo marco. Como los ‘diseños’ ante todo deben
‘funcionar’, la realimentación proveniente de la realidad implica que necesariamente se ha
soslayado la posible incidencia de cualquiera de los fenómenos mencionados.
En ingeniería, la realimentación que proviene de un ‘diseño’ constituido, implica
que fundamentalmente se han soslayado los problemas de incompletitud.
Por otro lado, las especificaciones de diseño implican que se requiere una precisión limitada,
y ello significa que alcanza con limitarse al campo numérico racional para el cálculo en
ingeniería. Asimismo, argumentos de robustez en el diseño desmerecen todo tipo de cálculo de
precisión infinita. Estas consideraciones de corte pragmático (que resultan facilitadoras en vez
de restrictivas para el diseño) se pueden además sustentar en el plano teórico con los
argumentos de índole física y matemática en contra de los números reales (sección 3.3.7.1).
La precisión limitada, impuesta por la realidad y por criterios de robustez del
diseño, y los argumentos teóricos en contra del continuo, promueven esencialmente
una ingeniería ‘racional’, que evita los problemas de incomputabilidad.
Finalmente, los sistemas complejos a los que se refiere este trabajo explícitamente descartan
un componente aleatorio en su operación, porque el objeto de la ingeniería es obtener sistemas
que funcionan, dentro de las especificaciones: el propio hecho de lograr la implementación de un
sistema implica que este funciona en forma determinista dentro de las especificaciones. Así,
las especificaciones de diseño constituyen un límite dentro del cual los diseños
deben ser deterministas, y por tanto, la consecución de un diseño que cumple las
especificaciones implica que, necesariamente, se ha evitado el fenómeno de la
aleatoriedad estructural.
[ 3.6 ]
RESUMEN
MODELOS – CARACTERÍSTICAS Y PROPIEDADES GENERALES
Un ‘modelo’ es una construcción análoga a una entidad, a la cual ‘representa’, con limitada
precisión, en aspectos relevantes para cierta situación en la cual se pretende emplear el modelo
en lugar de la entidad original. Los aspectos relevantes para cada circunstancia son
determinados por la intención de simplificar la realidad de trabajo - ya sea por motivos de
economía en sentido amplio, o por la dificultad que impone la complejidad de dicha realidad o a la intención de focalizar o abstraer aspectos particulares de un problema, por ejemplo para
experimentación.
El modelo de una entidad puede ser de carácter material o inmaterial, según el modo en que
confiere la información con la cual representa a la entidad, y ese carácter es independiente del
carácter material o inmaterial de la entidad representada. En particular, las teorías científicas
son modelos (de carácter inmaterial) puesto que pretenden representar a la realidad en
aquellos aspectos relevantes para cada disciplina - son analogías conceptuales de la realidad, y
eso es la esencia de un modelo.
514
Por ‘teorías universales’ se debe entender ‘válidas no solamente para ingeniería, sino para la ciencia
en general’ (como es por ejemplo el caso de las teorías físicas). Así, la consideración de ‘resultados
concretos’ incluye aquellos resultados cuya validez es de carácter ‘general’ para un área o toda la
ingeniería, pero sin trascenderla; la ingeniería no busca resultados aplicables a todas las ciencias, como
es el objeto de la física, o la matemática.
Ingeniería Electrónica – Universidad Católica del Uruguay
188 - [ 3 ] Modelos
MODELOS VERBALES, MODELOS MATEMÁTICOS, Y MODELOS FORMALES
Amén de su carácter material o inmaterial, los modelos pueden ser de tipo formal o informal,
en el sentido de estar expresados y operar en forma lógico-matemática rigurosa o no,
respectivamente515.
Los modelos informales y formales difieren fundamentalmente en aspectos como grado de
introspección a la realidad modelada, capacidad de deducción, robustez ante perturbaciones, y
limitaciones intrínsecas para capturar la realidad modelada (los fenómenos de incompletitud,
en el caso de los modelos formales). En esencia, los modelos informales admiten la intuición
como herramienta válida para su desarrollo, mientras que los formales se limitan estrictamente
a la deducción. Una virtud de los modelos informales - que deriva del carácter intuitivo de su
formulación - es que brindan introspección al fenómeno al que describen, mientras que el
carácter deductivo de los modelos formales, aunque no lo impide, tampoco lo garantiza. Una
virtud adicional de los modelos informales consiste en la robustez ante perturbaciones que les
confiere su carácter intuitivo, en contraste con la fragilidad intrínseca que implica la propia
estructura de los modelos formales lógicamente consistentes - el mecanismo deductivo
propaga cualquier yerro, desde que se comete o es detectado, invalidando una a una todas las
derivaciones hasta el final de la cadena deductiva. Otro problema que adolecen los modelos
estrictamente formales es el fenómeno de incompletitud, señalado por Gödel en 1931 (sección
3.3.5) que implica que los modelos formales no son siquiera capaces de capturar la totalidad de
los propios formalismos - y, por tanto, más incapaces aún de capturar lo que llamamos
‘realidad’.
En virtud de la noción precedente, en este documento se admite la posibilidad de
consecución de modelos matemáticos informales, dado que la usual asociación entre modelos
formales y modelos lógico-matemáticos es válida sólo en el sentido siguiente: los modelos
formales deben necesariamente ser formulados en forma lógico-matemática y operados estrictamente por
deducción, pero no recíprocamente. La asimetría es provocada por la posible incorporación de una
semántica a los modelos matemáticos, que modifica sus propiedades formales previas,
dependientes exclusivamente de su estructura sintáctica, y que admite el uso de la intuición.
Este hecho es bien conocido por la física, y explica la necesidad de interpretación de los
modelos matemáticos que esta disciplina formula para modelar la realidad, lo que
esencialmente requiere una dotación de significado a la formulación matemática. En
consecuencia, lo que aquí se refiere como ‘modelo matemático informal’ es un modelo expresado
matemáticamente, pero al cual se debe interpretar ad hoc en el contexto de su aplicación - el modelo posee
un significado no capturado en la mera estructura matemática - y que implica que su uso no
necesariamente sigue las vías de deducción estricta - usualmente, se aplican meta-reglas a los modelos
matemáticos para incorporarles el significado necesario516. Esto puede comprenderse con mayor
facilidad si se diferencia entre el dominio de implementación del modelo (por ejemplo, la
matemática) y el dominio de aplicación (por ejemplo, la mecánica clásica de Newton). Se sabe que
las posibles deficiencias de los modelos son un riesgo intrínseco al modelado, en cuanto
representación análoga pero restringida de una realidad. Así, las eventuales inconveniencias
derivadas de un modelo incompleto, inadecuado, o inexacto, atañen exclusivamente al dominio
515
Puede parecer bizarra la posibilidad de concepción de un modelo material de carácter formal (en el
sentido referido, de operar en forma lógico - matemática rigurosa). No obstante, a modo de ejemplo, se
pueden citar las calculadoras mecánicas, capaces de efectuar operaciones aritméticas. Aún más; es
perfectamente factible construir ‘puertas lógicas mecánicas’ que emulen las funciones lógicas usuales de
los circuitos electrónicos digitales (‘Y’, ‘O’, ‘NO’, etc.) con las cuales, en teoría, podrían construirse
modelos mecánicos - y por ende, materiales (aunque probablemente imprácticos) - de diversos
autómatas. De todas maneras, este documento se concentra en los modelos de carácter inmaterial, con lo
cual se evita el tratamiento del precedente asunto.
516
Un caso emblemático en la física es la aplicación de la meta - regla geométrica para establecer la
‘flecha del tiempo’.
Diseño de Sistemas Electrónicos Complejos
[ 3.6 ] Resumen - 189
de aplicación del modelo, no al dominio en el cual este es implementado; a éste sólo compete la
posibilidad de una mala formulación en sus propios términos517.
En virtud de la precedente aclaración, se considera la factibilidad de consecución de modelos
matemáticos - tanto informales como formales - a partir de modelos puramente ‘verbales’, o
‘intuitivos’. Al respecto, se conciben dos formas: un modelo intuitivo puede reconstruirse en
términos de otro modelo, ‘más confiable’ - proceso denominado método genético - o bien por
selección de un subconjunto de propiedades ‘evidentes’ del modelo, las que se postulan sin
requerimientos de validación (axiomas) y de las cuales se derivan el resto de las propiedades
del modelo ya sea por estricta deducción (modelo formal) o admitiendo derivaciones intuitivas,
con la condición de ser estas ‘más evidentes’ que los propios axiomas del modelo - proceso
denominado método axiomático. Toda reconstrucción de un modelo intuitivo - ya sea por el
método genético o axiomático - plantea el problema de la adecuación de tal reconstrucción, en el
sentido de si se mantienen las propiedades esenciales del modelo ‘verbal’ original, y si surgen
propiedades inesperadas o no existentes en el original. Una posible evidencia de una
reconstrucción adecuada consiste en la consecución de varias reconstrucciones que resulten
equivalentes entre sí, pero en principio, demostrar518 tal equivalencia entre reconstrucciones de
un modelo intuitivo es posible solamente entre sus reconstrucciones formales. La aparición de
propiedades no observadas en los modelos originales manifiesta que verdaderamente se ha
efectuado una reconstrucción y no una mera copia; cabe cuestionarse en ese caso si estas
propiedades ‘nuevas’ invalidan la reconstrucción, o si, por el contrario, abren nuevas
perspectivas en el tratamiento de la realidad modelada, o predicen fenomenologías aún no
observadas en esta.
En ciencia e ingeniería los modelos son mayoritariamente expresados en términos
matemáticos, fundamentalmente por la capacidad de cálculo que se requiere de los mismos. Y la
tradición formalista de la matemática ha determinado que la tendencia en ciencia e ingeniería
sea hacia los modelos formales en sentido estricto, y que el método axiomático sea considerado
más confiable que el genético para la matematización de los modelos intuitivos. De hecho, el
método axiomático ha sido empleado para ‘poner orden’ cuando las formulaciones intuitivas
parecen haber llegado a un punto de estancamiento, es decir, donde el avance requiere la
aplicación de la maquinaria deductiva formal para abrirse camino. Así, con la designación de
‘modelo matemático’ se refiere usualmente a un ‘modelo matemático formal’, concebido en
forma axiomática y estrictamente deductiva. No obstante, al decir de Von Bertalanffy, ‘un
modelo verbal (informal) es preferible a ninguno, o a algún modelo formal que - por poder ser formulado
lógica o matemáticamente - es impuesto por la fuerza a la realidad, y la falsifica’519. Aún así, existen
nefastas tendencias a ignorar esta observación, tanto en pro de una formalidad obcecada, como
de una informalidad liviana y apresurada pero disfrazada como formal en ropajes
matemáticos.
Como consecuencia de la observada ubicuidad de los modelos matemáticos en ciencia e
ingeniería, conjugada con su tendencia al formalismo siguiendo la tradición en matemáticas,
las deficiencias que ello pudiere implicar (de acuerdo a la citada observación de Von
Bertalanffy) y la consideración aquí introducida de la factibilidad de modelos matemáticos
‘informales’ (en el sentido de incorporación de semántica a la estructura sintáctica formal de la
517
Cabe reiterar: la ‘incompletitud’ de un modelo, referida a su dominio de aplicación, es una cuestión
inevitable por la propia naturaleza de los modelos; lo que aquí se refiere como modelo ’incompleto’,
‘inadecuado’, o ‘inexacto’ es una calificación básicamente cualitativa, y altamente dependiente del
dominio de aplicación y el caso particular en cuestión; diríase “el modelo no representa adecuadamente
al caso”. Pero el fenómeno de incompletitud Gödeliano, inherente a los sistemas formales, no debe
confundirse con la calificación de modelo ‘incompleto’ de un sistema físico (por ejemplo, un modelo
matemático de la caída libre de un cuerpo hacia la superficie terrestre, que no incorpore los efectos del
rozamiento con el aire, o los efectos rotatorios de la Tierra, cuando estos efectos son relevantes al caso).
518
En el sentido de demostración lógico - matemática rigurosa, formal.
519
Adaptado de [Ber93], p. 23.
Ingeniería Electrónica – Universidad Católica del Uruguay
190 - [ 3 ] Modelos
matemática clásica) se impone una discusión respecto al significado y limitaciones de los modelos
matemáticos. Y esto requiere, a priori, considerar el significado y limitaciones inherentes a la
propia matemática que les da origen.
SISTEMAS AXIOMÁTICOS FORMALES (FREGE, HILBERT)
La matemática tradicional se erige sobre la idea Platónica de la existencia de un ‘mundo de
las ideas’, perfecto, e independiente de la realidad cotidiana. ‘Perfecto’ significa que en el
‘mundo ideal’ de las matemáticas no se observan contradicciones, y que toda cuestión
matemática es decidible. Es decir: toda aseveración matemática correctamente formulada, o bien
resulta válida o bien resulta inválida; jamás será válida e inválida simultáneamente; es
inevitablemente verdadera ó falsa - no cabiendo una tercera alternativa - y la demostración o
refutación de su validez es siempre posible. Este concepto Platónico de perfección se explicita
usualmente mediante los términos completo (toda proposición es decidible en verdadera o falsa)
y consistente (el sistema carece de contradicciones).
Desde Euclides se concibe la idea de matemáticas como un sistema axiomático, es decir, se
concibe el desarrollo matemático como concatenación de razonamientos a partir de un
conjunto finito de postulados iniciales (axiomas) de carácter ‘evidente’ en sí mismos. Luego de
dos milenios de desarrollo, acordes con la filosofía Platonista, este concepto Euclidiano tiene su
culminación circa 1900 con el concepto de Sistema Axiomático Formal de Hilbert. El formalismo de
Hilbert consiste en eliminar de la matemática el razonamiento intuitivo y las ambigüedades del
lenguaje natural u ordinario, en virtud de considerarlo el causante de las (relativamente pocas)
contradicciones emergidas del razonamiento matemático, desde el origen hasta su época.
Hilbert propone la erradicación del lenguaje natural mediante el empleo de algún lenguaje
artificial para el razonamiento matemático o deducción, el cual se basa en la lógica simbólica
propugnada por Frege, Russell y Whitehead. Para Hilbert, un lenguaje artificial permitiría
expresar los axiomas y establecer las reglas de inferencia en forma precisa e inambigua, y
además debería permitir la consecución de un procedimiento ‘mecánico’ - un procedimiento
sistemático - para el chequeo de los teoremas, es decir, un procedimiento de decisión inapelable,
capaz de determinar si los teoremas derivan de los axiomas fundacionales siguiendo las reglas
de inferencia preestablecidas. Para ello, ningún paso del razonamiento matemático puede
efectuarse sin ceñirse estrictamente a las reglas de inferencia establecidas para la teoría, y no
puede introducirse ningún concepto adicional al incluido en el conjunto finito de axiomas del
sistema. Así, la propuesta de Hilbert implica que los teoremas matemáticos son cuestiones
puramente sintácticas, estructurales, independientes de la semántica. Precisamente, la
designación de formal enfatiza que el interés es la forma (y no el contenido) de las expresiones
matemáticas: su veracidad depende exclusivamente de su estructura, y no de lo que estas
podrían aludir o representar.
En esencia, un Sistema Axiomático Formal à la Hilbert es un lenguaje simbólico, cuyas
expresiones son construidas a partir de un conjunto de símbolos y expresiones iniciales
(axiomas) mediante reglas de manipulación de símbolos (las reglas de inferencia son dadas por
operaciones de transformación entre subconjuntos de expresiones); modernamente, se le
designa cálculo lógico. Una secuencia - válida - de manipulaciones simbólicas en el lenguaje
simbólico se corresponde con, y representa a, la concatenación de deducciones en un sistema
deductivo, al que el lenguaje simbólico representa. Apelando al concepto moderno de
‘algoritmo’, una teoría T se denomina teoría formal, si - y sólo si - se dispone de un algoritmo (es decir,
un procedimiento computacional aplicable ‘mecánicamente’) para chequear la corrección del
razonamiento vía los principios de T. En consecuencia, un Sistema Axiomático Formal à la Hilbert
puede considerarse como el conjunto {Alfabeto, Gramática, Axiomas, Reglas de Inferencia,
Algoritmo de Validación}, el cual constituye un conjunto computacionalmente enumerable de
Diseño de Sistemas Electrónicos Complejos
[ 3.6 ] Resumen - 191
aserciones matemáticas, a veces designado conjunto de aserciones matemáticas recursivamente
enumerable, o simplemente conjunto generado520.
INCOMPLETITUD, INCOMPUTABILIDAD, Y ALEATORIEDAD ALGORÍTMICA (GÖDEL, TURING, CHAITIN)
Para la concepción tradicional en matemáticas, sintetizada en el concepto de Sistema
Axiomático Formal de tipo Frege-Hilbert, resulta devastador el hecho que existan limitaciones
fundamentales inherentes a todo Sistema Axiomático Formal con capacidad de autorreferencia,
como por ejemplo, la aritmética elemental de Peano 521. El seminal trabajo de Gödel (1931)
demuestra que no es factible obtener un sistema axiomático formal que sea a la vez consistente
y completo, lo cual implica que en un sistema consistente, no toda proposición es decidible522:
“Bajo la hipótesis de consistencia de la matemática clásica, uno puede dar ejemplos de proposiciones que
son verdaderas por su contenido, pero que no son demostrables en el sistema formal de la matemática
clásica.”523. Y lo que es peor aún: en particular, no puede determinarse la consistencia del
sistema en forma interna, es decir, por mecanismos inherentes al propio sistema formal.
De los resultados de Gödel, puede formularse el siguiente ‘Principio de Imperfección’: Las
teorías fundamentales (sistemas axiomáticos formales de tipo Frege-Hilbert capaces de representar la
aritmética elemental de Peano) no son perfectas: si son consistentes entonces son incompletas, y si son
completas entonces resultan inconsistentes. Además, son incapaces de probar su consistencia interna, es
decir, la consistencia de sus axiomas. Bajo la hipótesis de consistencia, pueden solucionarse
problemas particulares de indecisión mediante la extensión adecuada del conjunto de axiomas
del sistema; sin embargo, este proceso de agregar axiomas nunca permite completar una teoría
fundamental si se mantiene su (hipotética) consistencia inicial. Por tanto, no existe una prueba
final y determinante (absoluta) de consistencia para ninguna teoría fundamental; sólo puede aspirarse a
obtener una prueba de consistencia relativa524. Y, por tanto, las teorías fundamentales no pueden
garantizar la inexistencia de contradicciones en su seno. Consecuentemente, la aceptación de la
consistencia de cualquier teoría fundamental - como la aritmética elemental, o la teoría de conjuntos de
Zermelo-Fraenkel - es esencialmente un acto de fé525. Esta es una suerte de ‘Espada de Gödel’ para
la matemática clásica formalista, que implica que en matemáticas no es posible prescindir de la
intuición, tal como aducía Poincaré 526. Empero, no implica esto que los resultados de Gödel
establezcan una limitación absoluta y terminante para las matemáticas, sino lo que
esencialmente constituyen es un duro argumento en contra del Platonismo en cuanto única
filosofía para el desarrollo matemático: ningún fantástico ‘mundo de las ideas’ puede ser perfecto.
520
Esta formulación en términos ‘computacionales’ se debe a Post y Turing ([Cha04], c. II). Este último
fue quien concibió, para dirimir estas cuestiones, el modelo matemático del primer computador: un
autómata universal, capaz de ejecutar el procedimiento deductivo de Hilbert en base a instrucciones y
datos suministrados mediante un lenguaje simbólico.
521
Y en consecuencia, por extensión, el sistema axiomático formal de toda la matemática clásica.
522
Se selecciona el ‘menor de los males’ entre las dos posibles situaciones: un sistema inconsistente,
aunque completo, es inútil. Al menos, se debe pedir consistencia - y el precio a pagar es la
incompletitud.
523
Kurt Gödel, citado en [Pod97], s. 5.3.
524
Supuesta la consistencia de una teoría fundamental T, sólo puede probarse que T’, obtenida de T por
incorporación o eliminación de axiomas, mantiene o no mantiene la hipotética consistencia de T.
525
Para empezar, la aceptación sin demostración de los axiomas de un sistema formal constituye un acto
de fé, primigenio, independientemente de los resultados de Gödel. Asimismo, y también independientemente
de los resultados de Gödel, cabe argumentar que una prueba de consistencia interna de una teoría no sería
más que otra demostración en esa teoría, en sí misma pasible de duda.
526
Nótese que si bien los resultados de Gödel establecen que la consistencia de una teoría fundamental
jamás sería demostrable, esta aún podría ser refutable de surgir alguna contradicción en el sistema, en
cuyo caso quedaría probada la inconsistencia de la teoría. Así, quizás el afán por demostrar la consistencia
interna de una teoría formal sea sobre todo una pretensión fútil, y que la única actitud viable sería
postular, a priori, la consistencia interna de la teoría formal - he aquí el acto de fé, inicial - para someterla,
a posteriori, a pruebas de refutación.
Ingeniería Electrónica – Universidad Católica del Uruguay
192 - [ 3 ] Modelos
Dado que ningún (único) sistema formal puede describir completamente a todos los sistemas
formales (incluyéndose a sí mismo) no es posible la consecución de un sistema formal para
toda la matemática, como era la idea de Hilbert. No obstante, un sistema formal puede describir
completamente a cualquier otro sistema formal, y en este sentido más modesto, la idea de
Hilbert es factible. De hecho, aunque el formalismo impulsado por Hilbert no sirva para la
deducción, es decir, para el razonamiento matemático, el formalismo ha sido un éxito rotundo para el
cómputo, como atestigua la innegable incidencia del computador y los sistemas programables
en la actualidad.
El éxito de los formalismos en lo referente al cómputo se debe a Turing, quien concibió una
máquina intérprete de lenguajes formales, capaz de ejecutar los procedimientos de validación
pretendidos por Hilbert. La ‘máquina de Turing’ es el modelo matemático de un autómata,
capaz de efectuar manipulaciones simbólicas de acuerdo a un cálculo lógico - en este contexto,
designado ‘programa’ - que se le suministra en términos de una gramática formal. Las
manipulaciones simbólicas se corresponden con los razonamientos deductivos de un sistema
axiomático formal al que el cálculo representa, propósito para el cual este autómata ideal
dispone de memoria y tiempo infinitos. De esta manera, en teoría, todos los teoremas que
derivan de un sistema axiomático formal à la Hilbert se pueden generar mediante cómputo y
manipulaciones simbólicas en el autómata, a partir de la codificación de los axiomas del
sistema y las reglas de inferencia en el lenguaje formal determinado que el autómata es capaz
de interpretar. Y, en particular, este autómata podría ejecutar el ‘programa’ de Hilbert, si se le
suministra el sistema axiomático formal correspondiente a la matemática clásica (los axiomas
empleados por la matemática, codificados en un lenguaje artificial interpretable por el
autómata) con lo cual la interpretación efectuada por el autómata se correspondería con la
ejecución del algoritmo de validación pretendido por Hilbert.
Sin embargo, los sistemas de cómputo adolecen de un problema fundamental, la
incomputabilidad, advertido por Turing en 1936 (en base al referido concepto del autómata
universal) y que implica que hay ciertas cuestiones que el autómata no es capaz de producir
mediante programas 527. La incomputabilidad implica, a su vez, que no puede determinarse de
antemano (mediante el razonamiento, o un algoritmo) si un programa arbitrario - cualquier
posible algoritmo ejecutable por el autómata de Turing - es del tipo cuya ejecución produce un
resultado, o no - equivalentemente, si su ejecución finaliza o no - cuestión denominada
Problema de Finalización528. Considerando que el programa a ejecutarse en el autómata de Turing
puede ser la codificación de un cálculo lógico representativo de un sistema axiomático formal à
la Hilbert, la conclusión de Turing es que no es posible obtener un procedimiento de decisión
para tales sistemas - es decir, un procedimiento que permita decidir la prueba o refutación de
toda aserción formulable en el sistema - puesto que permitiría resolver el referido ‘Problema de
Finalización’ para cada programa. Consecuentemente, aún admitiendo la consistencia del
sistema formal codificado en su autómata, Turing demuestra que existen programas cuya
finalización no se puede decidir por adelantado - equivalentemente, mediante deducción - lo
que implica que el sistema axiomático formal representado por los programas en su autómata
es incompleto. Y así, el sueño de Hilbert es decretado completamente inviable: Turing no
solamente demuestra la incompletitud de los sistemas axiomáticos formales - por una vía radicalmente
diferente a Gödel - sino que además determina que no es factible siquiera obtener un procedimiento de
decisión para la demostración o refutación de una proposición matemática arbitraria, desarticulando
completamente la idea formalista de Hilbert y de la matemática clásica. No obstante, al mismo
tiempo Turing demuestra que el formalismo pretendido por Hilbert para expresar razonamientos - que
falla debido a la incompletitud e incomputabilidad - es sin embargo completo para expresar algoritmos, es
decir, demuestra la universalidad de los formalismos à la Hilbert para el cómputo, lo que constituye la
base teórica para la actual informática.
527
Ver sección 3.3.6.1.1.
528
Ver sección 3.3.6.1.2
Diseño de Sistemas Electrónicos Complejos
[ 3.6 ] Resumen - 193
El golpe de gracia para la matemática formalista es asestado a mediados del siglo XX por
Chaitin, con la constatación de la existencia de aleatoriedad en el seno de la matemática pura529.
Chaitin - e independientemente, Kolmogorov - inspirados en la aleatoriedad que había filtrado en el seno
de la física a partir de la Física Estadística y de la Mecánica Cuántica, intuyen que la real causa de la
incomputabilidad de Turing y de la incompletitud de Gödel radica en la existencia de aleatoriedad en el
seno de la matemática pura. Así, el hecho que no se pueda hallar la prueba o refutación de determinadas
aserciones matemáticas, quizás se deba a que el resultado es aleatorio - en cuyo caso no hay nada que
probar o refutar.
La aleatoriedad supuesta por Chaitin y Kolmogorov en el seno de las matemáticas no tendría
el usual carácter ‘estadístico’ inherente a la aleatoriedad que manifiestan los procesos físicos,
sino que sería una aleatoriedad de tipo ‘estructural’, diferente, aunque relacionada con la
primera. En matemáticas, ‘aleatorio’ es aquel objeto que carece de estructura o patrón, y que
por tanto no puede ser ‘calculado’ a partir de objetos más concisos, debiendo ser descrito ‘tal
cual es’. Así, un objeto matemático aleatorio es tal que su descripción matemática es irreducible,
incompresible. Esta es la idea básica de aleatoriedad ‘estructural’. Apelando a la noción de
computabilidad (al autómata de Turing) la aleatoriedad ‘estructural’ inherente a las
matemáticas puede interpretarse en términos algorítmicos: si el algoritmo más conciso que
genera un objeto matemático (por ejemplo, un número) resulta igual o más largo que la
descripción ‘directa’ del propio objeto (la cadena de cifras del número, en el ejemplo) entonces
el objeto es aleatorio. Así, en este contexto la aleatoriedad ‘estructural’ es designada aleatoriedad
algorítmica.
En virtud del equivalente computacional de los sistemas deductivos obtenido por Turing con
su autómata, Chaitin propone considerar las teorías científicas como ‘programas’ ejecutables
por un computador para calcular las ‘observaciones’, es decir, efectuar predicciones. Observa
que los postulados en las teorías físicas contienen ‘comprimido’ al comportamiento del
fenómeno modelado por la teoría, permitiendo su predicción - mediante cálculo e
interpretación - a partir de ese conjunto finito y reducido de suposiciones básicas.
Similarmente, la función de los axiomas en un sistema axiomático formal es contener
‘comprimidos’ a los teoremas, los cuales pueden ser ‘descomprimidos’ por deducción,
mediante las reglas de inferencia asociadas al sistema. En este contexto, la idea de Chaitin es
‘comprimir’ información en un programa, y si el tamaño del programa es mayor que la propia
información que el programa produce como salida - o equivalentemente, si la forma más
concisa para conferir la información es darla ‘tal cual es’ - entonces la teoría o el sistema formal
representado por el programa es inútil. Coincidentemente con el Principio de Parsimonia, el
programa más conciso se correspondería así con la mejor teoría: la minimización del programa
que representa a un sistema formal lo torna más confiable, puesto que esencialmente minimiza
el conjunto de axiomas del sistema.
En consecuencia, según el concepto de aleatoriedad algorítmica, compresión es comprensión; la
información aleatoria es incompresible, y por tanto, incomprensible 530.
La relación entre compresibilidad y comprensibilidad sugiere una forma de medir la
complejidad de la información: en términos del programa más conciso que la produce. Esta es
la idea central de la Teoría de Información Algorítmica de Chaitin: la complejidad algorítmica se
refiere a la mínima cantidad de información que se debe suministrar a un computador para que realice su
tarea.
529
Ver sección 3.3.6.2.
530
Cabe remarcar que la compresión a la que se refiere la Teoría de Información Algorítmica es
compresión sin pérdidas. A modo de ejemplo: las utilidades de compresión de datos que se emplean en los
computadores (‘zip’, ‘pkzip’, ‘gzip’, ‘bzip’, ‘bzip2’, ‘compress’, etc.) son de esta clase, pero existen
protocolos de compresión de audio, video, e imágenes (‘mp3’, ’mpeg’, ‘jpeg’, etc.) que son de la clase con
pérdidas; vale decir, no permiten reconstruir la información original mediante descompresión, sino sólo
una aproximación (que se considera adecuada en cada caso).
Ingeniería Electrónica – Universidad Católica del Uruguay
194 - [ 3 ] Modelos
Definido formalmente el concepto de aleatoriedad algorítmica, Chaitin constata la existencia de
este tipo de aleatoriedad estructural en el seno de la matemática mediante la definición - formal - de un
número real que llama Ω531. Este número, que resulta incomputable en el sentido de Turing, y
contiene comprimida en forma óptima la información acerca del Problema de Finalización de
Turing, puede ser definido formal y correctamente en términos de la aritmética elemental de
Peano por medio de ciertas ecuaciones diofantinas exponenciales, capaces de representar la
operación del autómata de Turing 532. De esta manera, los fenómenos de incompletitud de Gödel e
incomputabilidad de Turing quedan vinculados al hecho más fundamental - y más radicalmente antiPlatónico - que es la existencia de aleatoriedad de tipo estructural en matemáticas, incluso al nivel de la
venerable aritmética elemental.
Una primer consecuencia de la aleatoriedad estructural en el seno de las matemáticas es que
hay áreas de la matemática en las cuales el razonamiento es inútil, y sólo puede esperarse un tratamiento
estadístico de los fenómenos. Y otro efecto de este resultado sobre los sistemas axiomáticos
formales à la Hilbert es que si se compara la complejidad algorítmica del sistema axiomático
con la complejidad algorítmica del resultado que se pretende derivar de ese sistema, y el
resultado es más complejo que el sistema, entonces no es factible obtenerlo del sistema
mediante deducción ([Cha99], c. 1). Chaitin demuestra que un sistema axiomático formal que
- codificado para un autómata de Turing - resulta ser de N bits, permite decidir todas las
cuestiones de complejidad hasta N bits; ese es el límite del sistema [Cha00]. Así, la complejidad
algorítmica finita de un sistema axiomático formal finito es capaz de capturar solamente una cantidad
finita de información; para obtener más información a la salida, se debe suministrar más
información a la entrada. En consecuencia, el universo matemático, infinito533, no es asequible a partir
de un conjunto de axiomas finito.
En definitiva, la matemática clásica, Platónica por excelencia, ha de someterse a la injuria
que le espetan los fenómenos de incompletitud, incomputabilidad, y aleatoriedad algorítmica.
Sin embargo, no constituye esto un descrédito a su utilidad ni ubicuidad como herramienta,
sino que resiente exclusivamente la filosofía Platónica basal de la matemática tradicional,
cuestionando la ubicuidad de la filosofía Platónica como motor del desarrollo en matemáticas. Así,
en virtud de la asimetría entre la capacidad de refutación y la incapacidad de demostración de su
consistencia interna - similarmente a como ocurre con la evidencia experimental en física ciertos autores comienzan a cuestionarse si la matemática podría adoptar criterios de
desarrollo similares a la física, en base a evidencia ‘computacional’ en lugar de la evidencia
experimental ‘de laboratorio’ de la física. “Esta es una visión ‘casi empírica’ (Lakatos) de cómo
trabajar en matemáticas, fuertemente relacionada con la idea de la llamada ‘matemática experimental’,
que usa evidencia computacional en lugar de la demostración tradicional para ‘establecer’ nuevas
verdades. Esto no sólo podría ser extremadamente conveniente, como Borwein, Bailey y Girgensohn
531
El número real Ω de Chaitin - designado Probabilidad de Finalización - constituye una reformulación del
Problema de Finalización de Turing, que considera el ‘ensemble’ de programas auto-delimitantes del tipo
cuya ejecución finaliza, e indica la probabilidad de que un programa, generado aleatoriamente bit a bit
mediante lanzamientos independientes de una moneda equilibrada, finalice al ser ejecutado. Chaitin
demuestra que los bits de Ω son la prueba de existencia de aleatoriedad algorítmica en matemáticas: el
hecho que la información del Problema de Finalización de Turing esté ‘empaquetada’ en los bits de Ω en
forma irreducible e irredundante, hace que estos efectivamente simulen ser el resultado de un proceso
aleatorio como el lanzamiento de una moneda. Esto implica que Ω posee muchas de las características
típicas del resultado de un proceso aleatorio en el sentido físico - un proceso impredecible, que
solamente admite un tratamiento estadístico. Por esta razón, Ω constituye un resultado de incompletitud
más severo que la incomputabilidad: manifiesta que hay áreas de la matemática en las cuales el razonamiento
es inútil, y sólo puede esperarse un tratamiento estadístico de los fenómenos.
532
Ver sección 3.3.6.2.4.
533
Infinito no debe interpretarse como el resultado de perpetuar la cadena deductiva a partir de los
axiomas fundacionales (puesto que, según Chaitin, la información que se obtendría - una vez superado
el tamaño en bits correspondiente a la codificación de los axiomas - sería redundante). Debe
interpretarse, por ejemplo, considerando las infinitas aserciones factibles de correcta formulación en
términos matemáticos.
Diseño de Sistemas Electrónicos Complejos
[ 3.6 ] Resumen - 195
argumentan, sino de hecho podría ser a veces absolutamente necesario para el progreso de la matemática
a pesar del fenómeno de la incompletitud.” ([Cha04], c. VI).
El éxito rotundo de los formalismos à la Hilbert para el cómputo - factible gracias a las
implementaciones reales y concretas del autómata ideal de Turing, los computadores - en
conjunción con la concepción de una matemática experimental, constituyen la base para el
desarrollo de modelos computacionales. Al igual que los modelos matemáticos formales, el
dominio de formulación de estos modelos es estrictamente formal, mas su dominio de
aplicación excede en capacidades al de sus contrapartes matemáticas ‘en papel’, al incorporar
la propia ejecución del modelo por el autómata, lo cual les confiere la característica dinámica de
proceso. Por este motivo, en el presente documento no sólo se refiere a estos modelos matemáticos
implementados computacionalmente como programas, sino que en casos específicos se habla de
modelos ejecutables.
MODELOS EJECUTABLES
Un programa es una implementación de una descripción o especificación del comportamiento
de un computador, es decir, una especificación del comportamiento de un computador, para la cual ha
sido provista una implementación que puede ser interpretada (y ejecutada) por un computador 534. Es un
algoritmo, expresado en un lenguaje formal, de forma tal que resulta interpretable por una
implementación real del autómata ideal de Turing.
Un modelo ejecutable es un programa, cuyo objeto principal es modelar el comportamiento de
los sistemas a los cuales representa. Es así orientado naturalmente al modelado de procesos, lo
que implica que no puede limitarse a la devolución de resultados correctos desde el punto de
vista ‘lógico’, sino que debe fidelidad en otros aspectos inherentes a procesos como es, por
ejemplo, la evolución temporal535. Según el nivel de abstracción al que se elabore el modelo
ejecutable, podrá limitarse a modelar el orden parcial o total de eventos, o modelarlos con
cierta precisión predeterminada. Así, la propiedad esencial de los modelos ejecutables es la
dinámica que es posible conferirles aprovechando su ejecución en el computador. Esto les
convierte en un proceso en el tiempo, a diferencia de sus contrapartes matemáticas ‘en papel’
que son descripciones estáticas - tanto de hecho, como también por su significado puramente
estructural, en el caso de modelos matemáticos formales.
La capacidad de manifestarse como un proceso hace ideales a los modelos ejecutables para
la simulación del comportamiento de sistemas reales. Las características de almacenamiento y
visualización de datos que provee el computador se conjugan con el ambiente de ejecución
controlado que brinda, con lo cual los modelos ejecutables adquieren un valor superlativo tanto
en ingeniería como en la actividad científica en general.
La designación de simulación pretende diferenciar la ejecución de modelos ejecutables, de las
implementaciones de algoritmos que son dedicados exclusivamente al cálculo científico, a
gestión administrativa, u otros propósitos de índole similar, cuyo objeto no es la descripción de
procesos sino básicamente la devolución de resultados correctos desde el punto de vista
‘lógico’. Es a estos últimos que se les designa simplemente programas.
En virtud de las limitaciones de los computadores reales - memoria finita - y las limitaciones
humanas - tiempo de ejecución finito y razonable - los programas (entre los cuales se hallan los
modelos ejecutables) se ven restringidos a trabajar en el campo numérico racional Q. Esto no
representa problema para las ciencias experimentales o la ingeniería, puesto que en estas
disciplinas las incertidumbres derivadas de las mensuras requieren únicamente cierto grado de
precisión, y por tanto el campo Q puede satisfacer plenamente sus necesidades.
Adicionalmente, las posibles limitaciones Gödelianas a los lenguajes formales con los que se
elaboran los programas y modelos ejecutables pueden ser soslayadas mediante una actitud
pragmática en la interpretación de los resultados o procesos que producen; una actitud
534
Adaptado de [Heh04], p. 41.
535
Y, asociado a ello, la concurrencia.
Ingeniería Electrónica – Universidad Católica del Uruguay
196 - [ 3 ] Modelos
aplicada de hecho en las ciencias empíricas e incluso por los científicos en computación, que
no pretenda demostraciones rigurosas sino que se conforme con la ‘evidencia experimental’
que brindan las trazas de ejecución de los modelos ejecutables, o los resultados del cómputo de
los programas de propósito general.
Aunque resulte chocante, la informática es el producto exitoso del concepto de Sistema
Axiomático Formal à la Hilbert, viable gracias al concepto del autómata de Turing, la
ingeniería electrónica, y la tecnología de semiconductores 536. Para la ciencia y la ingeniería en
general, estos conceptos - materializados en el computador electrónico actual - constituyen una
invaluable herramienta de desarrollo. En este contexto, lo que aquí se denominan modelos
ejecutables constituyen quizás la faceta práctica más útil - más que el cómputo con fines
científicos, u otros ‘programas’ de propósito general - en virtud de la incorporación efectiva de
una dinámica a los modelos, que les confiere la investidura de procesos.
MODELADO EN INGENIERÍA
En la ingeniería, el modelado es un ‘camino para diseñar’: los procesos de diseño en
ingeniería se basan en el desarrollo, prueba y verificación de modelos. Si ‘diseñar’ es el acto de
‘definir’ un sistema, y ‘modelar’ es el acto de ‘representarlo’, entonces el proceso de diseño en
ingeniería consiste en una refinación de modelos, desde la especificación a la implementación.
Incluso aunque los dominios de elaboración y aplicación de los modelos empleados en
ingeniería sean de tipo formal, la ingeniería se salva de los fenómenos de incompletitud,
incomputabilidad, y aleatoriedad algorítmica, por su inherente naturaleza ‘fáctica’ y
‘constructivista’. No compete a la ingeniería el resolver las cuestiones con la máxima
generalidad, sino con la generalidad suficiente para cada caso particular al que se enfrenta, y
además, no trabaja en ambientes infinitos ni teóricos, sino acotados y reales (‘fácticos’,
podríamos decir) de los cuales puede obtener una realimentación de la información. Así, se
tiene que:
•
En ingeniería, la realimentación que proviene de los ‘diseños’537 constituidos, implica que se
han soslayado posibles problemas de incompletitud.
•
La precisión limitada, impuesta por la realidad y por criterios de robustez del diseño,
promueven esencialmente una ingeniería ‘racional’ - tanto en sentido alegórico como
concreto, en referencia al campo numérico Q - que evita los problemas de incomputabilidad.
•
Las especificaciones de diseño constituyen un límite dentro del cual los diseños deben ser
deterministas, y por tanto, la consecución de un diseño implica necesariamente que se ha
superado cualquier fenómeno de aleatoriedad estructural.
[ 3.7 ]
CONCLUSIONES
En ingeniería y la actividad científica, es extensivo el empleo de modelos de carácter
inmaterial. Así, las observaciones en la presente sección se centran en esta clase de modelos. En
primera instancia, cabe recordar que:
los modelos de carácter inmaterial son descripciones proporcionadas en
algún lenguaje, ya sea este verbal o escrito, textual o gráfico538.
536
Sobre estos últimos dos aspectos, consúltese el capítulo 4 de este documento, secciones 4.1 y 4.2
respectivamente.
537
Como se usa en el capítulo 2, ‘diseño’ se refiere al producto de un proceso de diseño.
538
Por tanto, al igual que las descripciones que constituyen al producto de un proceso de diseño, los
modelos están a priori sometidos a las condicionantes de los lenguajes (y la cultura) empleados (ver
sección 2.1.2.2). A su vez, las referidas condicionantes son precedidas por condicionantes de tipo
sicofísico, entre las cuales la propia estructura del sistema nervioso central humano probablemente
determine la estructura lógica del pensamiento. Naturalmente, todo esto se enmarca dentro de >> p. 197
Diseño de Sistemas Electrónicos Complejos
[ 3.7 ] Conclusiones - 197
En virtud de la noción de ‘modelo’ conferida en el presente capítulo, si la entidad a modelar
es un sistema, puede considerarse que modelar es esencialmente el acto de ‘representar’ a ese
sistema. Por otro lado, en virtud de la noción de ‘diseño’ conferida en el capítulo 2, puede
considerarse que diseñar es ‘definir‘ al sistema mediante descripciones adecuadas. Así, tanto la
representación como la definición del sistema son descripciones, y en este contexto, cabe
concebir la siguiente relación entre los conceptos de ‘diseño’ y ‘modelo’:
los procesos de diseño en ingeniería consisten en un refinamiento de
modelos, donde ‘refinamiento’ implica un proceso de transformación de
descripciones (modificaciones de la representación del sistema) que por
incorporación de detalles incrementa la precisión de la descripción inicial
(especificación) hasta la final (implementación) las que juntas ‘definen’ al
producto del proceso de diseño.
Dada la naturaleza de las disciplinas, la generalidad de los modelos empleados en ingeniería
y la actividad científica requieren capacidades de cálculo, y por ende, a la fecha los modelos
matemáticos son de importancia superlativa en este contexto. En virtud de la
‘desantropomorfización de la imagen del mundo’ señalada por Von Bertalanffy 539, se registra
un progresivo incremento en el nivel de abstracción de los modelos científico-tecnológicos, que
afecta particularmente a los establecidos en términos matemáticos. Adicionalmente,
considerando los dos milenios de tradición Platónica en matemáticas, la tendencia es
inevitablemente hacia la formalización de los modelos.
En lógica y en matemáticas, formal significa referente a la forma, en
contraposición a referente al contenido.
Consecuentemente, en relación a sistemas, formal se refiere exclusivamente a las
estructuras (sintaxis) vacías o despojadas de contenidos (semántica 540).
Cabe notar que la usual idea de ‘rigurosidad’ asociada al término ‘formal’ en matemáticas
deriva del concepto de Sistema Axiomático Formal tipo Frege-Hilbert. Este tipo de sistema es un
cálculo lógico, ‘dual’ al sistema deductivo de las matemáticas, cuya estricta manipulación simbólica
se hace corresponder con el razonamiento matemático, la deducción. Así, la manipulación
sistemática de símbolos es lo que sugiere la idea de rigurosidad asociada al razonamiento
matemático. Pero la esencia de un Sistema Axiomático Formal tipo Frege-Hilbert reside
precisamente en la forma o estructura que condiciona a los símbolos541.
En consecuencia, por definición todo modelo ‘formal’ debe ser expresado en términos
matemáticos, y además ser manipulado exclusivamente mediante deducción. Sin embargo, nada
impide describir modelos en términos matemáticos y operarlos ‘informalmente’, en el sentido
de no limitarse a operar por deducción - seguir la forma, respetar la estructura - sino, por
ejemplo, aplicar la intuición y considerar significados. Así, aunque pueda resultar sorprendente,
la precedente noción de ‘formal’ admite la posibilidad de consecución de modelos matemáticos
informales, en el siguiente sentido: modelos cuyo lenguaje de descripción es matemático, pero cuyo
tratamiento u operativa no se realiza siguiendo estrictamente un proceso de manipulación simbólica
sistemático, sino que se admiten manipulaciones ‘intuitivas’ además de ‘deductivas’, para lo cual puede
tomarse en cuenta su contenido, es decir, considerarse aspectos semánticos además de sintácticos. Por
tanto,
<< p. 196 las limitaciones generales al conocimiento humano.
539
Ver nota 131, p. 69.
540
Se advierte que el término semántica adquiere significados muy diversos según el contexto. Por
ejemplo, en el contexto de analizadores sintácticos para los lenguajes informáticos, ‘acción semántica’ se
refiere a... ¡cuestiones de sintaxis! (situación por demás irónica, que más se parece a una venganza de la
matemática contra Gödel y Turing que a una terminología infeliz).
541
Ver secciones 3.3.3.2.2 y 3.3.4.
Ingeniería Electrónica – Universidad Católica del Uruguay
198 - [ 3 ] Modelos
la usual asociación entre modelos formales y modelos lógico-matemáticos es válida
sólo en este sentido: los modelos formales deben formularse en forma
lógico - matemática y operarse estrictamente por deducción, pero no es
necesario recíprocamente, pudiendo concebirse modelos matemáticos
‘informales’.
La asimetría es provocada por la posible manipulación intuitiva de los
modelos, en base a consideraciones semánticas, lo que modifica sus
propiedades formales previas dependientes exclusivamente de su estructura
sintáctica.
La asimetría entre modelos formales y modelos matemáticos referida precedentemente
puede analizarse considerando el dominio de implementación del modelo (es decir, en que términos
es efectuada la descripción) y su dominio de aplicación (es decir, en que circunstancias se emplea
esa descripción). Un ejemplo lo constituye la física: esta disciplina siempre efectúa una
interpretación en base a conceptos de física (el dominio de aplicación) de los modelos que formula
en términos matemáticos (el dominio de implementación). Pero interpretar implica que
previamente se efectuó una dotación de significado a la formulación matemática; precisamente
aquí es donde se provoca la asimetría referida precedentemente. Un caso concreto es la
aplicación de la meta-regla geométrica del tiempo542.
La asimetría entre modelos matemáticos y modelos formales, causada por la incorporación
de semántica a la mera estructura sintáctica, tiene una consecuencia trascendental:
La dotación de una semántica a los modelos matemáticos - que modifica sus
propiedades formales, exclusivamente estructurales - permite soslayar
limitaciones como los fenómenos de incompletitud de Gödel, incomputabilidad
de Turing, y aleatoriedad algorítmica de Chaitin-Kolmogorov, inherentes a
cualquier modelo estrictamente formal543.
La precedente afirmación puede ilustrarse con otro ejemplo extraído de la física. El modelo
de ‘Física de Procesos’, propuesto por investigadores australianos de la universidad de
Flinders544, se basa en la hipótesis fundamental que la realidad debe modelarse como
información semántica (o relacional) auto-organizada, donde semántica alude al hecho que la
información es interna al sistema, y tiene significado dentro del sistema. Este sistema semántico
es actualizado mediante un proceso estocástico iterativo que incorpora ruido aleatorio
autorreferente, implementado mediante una red neuronal. Esto sugiere que la realidad genera y
procesa información como patrones, y no meramente como símbolos en algún sistema axiomático
formal. Según los autores, a partir de las inicialmente débiles y escasas relaciones entre los
elementos de información que componen a su modelo, el proceso iterativo las fortalece,
incrementa y asocia, hasta generar estructuras (agrupaciones de elementos de información
cuyas relaciones se automantienen)545. Como consecuencia del surgimiento de estas estructuras
de información, para los autores se induce un sistema formal axiomático cuyas reglas permiten
acceder a dichas estructuras de información, mientras que al resto del sistema - consistente en
información no estructurada - eventualmente puede accederse mediante meta-reglas 546. “El
descubrimiento dramático es que en lugar de resultar un impedimento para la comprensión de la
542
Ver secciones 3.2.2 y 3.3.6.2.5, p. 168: De regreso a Leibniz y a Heráclito: Física de Procesos.
543
Ver secciones 3.3.5 y 3.3.6.
544
Ver sección 3.3.6.2.5, p. 168, De regreso a Leibniz y a Heráclito: Física de Procesos; [Cho00], [Cah03],
[CKK00], [Kit02].
545
En palabras de los autores: “... el sistema opera formando una estructura disipativa, impulsada por el SRN†,
y que se caracteriza por un emergente y expansivo espacio de procesos fractálico tridimensional, en el cual se
hallan embebidos defectos topológicos fractálicos auto - replicantes. (...) Este surgimiento es un incremento no
algorítmico de la complejidad del sistema”([CKK00], p. 3). (Texto traducido del original, en inglés. Ver nota
54, p. 39) †Ver nota 547, p. 199.
546
Ver Fig. 3.6 y Fig. 3.5.
Diseño de Sistemas Electrónicos Complejos
[ 3.7 ] Conclusiones - 199
realidad, el descubrimiento de Gödel y su extensión a SRN 547 actúa como recurso intrínseco a este
sistema no formal, y con el cual se ha hecho posible un modelado de la realidad vastamente mejorado. Al
inducir, aproximadamente, un sistema formal junto con meta-reglas emergentes asociadas, se vincula
con y engloba al actual modelado físico de la realidad.”548 ([CKK00], p. 3).
No obstante, aún sin efectuar consideraciones semánticas para soslayar las limitaciones
inherentes a los sistemas formales, estos igualmente resultan ideales para expresar algoritmos.
La manipulación formal de símbolos en base a reglas precisas, que Hilbert prescribía como
método para efectuar razonamientos matemáticos infalibles 549, fue imaginada por Turing como
operaciones efectuadas por una máquina automática ideal - un autómata ideal - capaz de
aplicar sistemáticamente sobre los símbolos las reglas de manipulación predefinidas.
Sirviéndose de este modelo de autómata, Turing demuestra la universalidad de los
formalismos à la Hilbert para el cómputo, para expresar algoritmos; sienta así la base teórica para
la actual informática550.
Las actuales implementaciones del autómata de Turing, los computadores, son máquinas de
procesamiento simbólico - formales en sentido estricto - donde los símbolos a manipular se
designan programas. La interpretación de estos programas, que es efectuada por la máquina
obedeciendo a reglas predefinidas, determinan el comportamiento del computador según cada
programa.
Un programa es la especificación del comportamiento del computador para
la cual ha sido provista una implementación, tal que un computador pueda
ejecutarla 551.
La especificación del comportamiento de un computador pretendida en un programa
puede no corresponderse con el efectivo comportamiento del computador, por
motivos como errores de concepción del programa, errores en la posible
traducción del programa al nivel ejecutable, o errores de ejecución debidos a
fallas físicas del computador.
La utilidad natural de los programas es la del cómputo sistemático, ‘mecanizado’; no
obstante, existe una diferencia significativa entre la ejecución de programas dedicados
solamente a la realización de cálculos científicos, o a la gestión empresarial, y la ejecución de
programas que modelan las propiedades o el comportamiento de sistemas. En los primeros, la
estructura de control del programa se puede alterar mientras que el resultado producido por la
ejecución el programa se mantenga correcto; verbigracia, del comportamiento del computador
pretendido por el programa, interesa solamente la devolución de resultados correctos desde el
punto de vista lógico. Pero el modelado de un sistema ‘real’ no solamente debe reflejar la
fidelidad lógica y/o la precisión de los resultados, sino también otros aspectos como por ejemplo
la fidelidad temporal552, causalidad, etc., implicando que la elaboración de la estructura de control
547
Acrónimo del inglés ‘Self - Referential Noise’: ruido aleatorio autorreferente.
548
Texto traducido del original, en inglés. Ver nota 54, p. 39.
549
Idea que falla debido a los fenómenos de incompletitud (Gödel) e incomputabilidad (Turing).
550
Ver sección 3.3.6.1.3.
551
Adaptado de [Heh04], p. 41. Nótese que no toda especificación es un programa; debe existir al menos
una implementación para serlo. La noción de ‘programa’ como ‘especificación implementada del
comportamiento de un computador’ admite la consideración como ‘programa’ de su código fuente, en
cualquiera de los siguientes pares de hipótesis: (a1) existencia de un compilador adecuado para el
computador que ha de ejecutar el programa, y (a2) compilación sin errores del código fuente; o (b1)
existencia de un intérprete adecuado para los comandos dados en el código fuente, y (b2) código fuente
libre de errores de sintaxis. Es decir, por ‘programa’ puede hacerse referencia a una descripción del
comportamiento de un computador que no sea directamente ejecutable por este, siempre que exista algún medio
que garantice su traducción a otra descripción que sí sea directamente ejecutable por el computador.
552
Temporización que - según el nivel de abstracción al que se elabore el modelo - podrá limitarse a
modelar el orden parcial o total de eventos, o modelarlos con precisión determinada.
Ingeniería Electrónica – Universidad Católica del Uruguay
200 - [ 3 ] Modelos
de este otro tipo de programas requiere cuidados adicionales 553. Así, con objeto de diferenciar
los distintos tipos de programa - y recordar la diferencia subyacente - conviene introducir el
concepto de modelo ejecutable:
Un modelo ejecutable es un programa, cuyo objeto es modelar el
comportamiento de alguna entidad - fundamentalmente sistemas - vía el
comportamiento del computador. La designación de ‘modelos ejecutables’
pretende diferenciarles de aquellos programas que son dedicados exclusivamente al
cálculo científico, a la gestión administrativa, u otros propósitos de índole similar, y
cuyo objeto es básicamente la devolución de resultados correctos desde el punto de
vista ‘lógico’, sin que interese esencialmente el proceso de ejecución (el
comportamiento del computador) que los produce.
Los modelos ejecutables tienen como objeto la descripción del comportamiento de los
sistemas a los que modelan, por lo cual su ejecución se orienta a representar
procesos, en los cuales la fidelidad de la representación temporal,
causalidad, etc. son cuestiones tan importantes como la fidelidad lógica, o
la precisión de los resultados. Por tanto, la estructura de control de los
modelos ejecutables reviste singular importancia desde la perspectiva de
la aplicación.
La utilidad natural de los modelos ejecutables consiste precisamente en la posibilidad de
ejecutar el modelo en el propio computador, para estudiar su comportamiento en un ambiente
controlado. Por este motivo, los modelos ejecutables son usualmente llamados simulaciones,
aunque el término es apropiado sólo cuando el modelo computacional es claramente distinto
del sistema que modela554. Esa capacidad para desencadenar procesos en el computador
constituye la propiedad esencial de los modelos ejecutables, que en ese aspecto superan las
limitaciones de sus contrapartes matemáticas ‘en papel’, necesariamente estáticas. Por
ejemplo, para el caso de modelos ejecutables de sistemas físicos, el proceso de ejecución del
modelo que efectúa el computador sustituye a la meta-regla geométrica del tiempo aplicada en
sus contrapartes matemáticas ‘en papel’.
Una propiedad esencial de los modelos ejecutables es la dinámica que es
posible conferirles aprovechando su ejecución del computador. Esto les
convierte en un proceso - un desarrollo de eventos en el tiempo - a diferencia
de sus contrapartes puramente matemáticas que son descripciones estáticas - tanto
de hecho, como también por su significado puramente estructural, en el caso de
modelos formales.
Esta capacidad de manifestarse como un proceso es lo que les hace ideales para la
simulación del comportamiento de sistemas, con la ventaja adicional de contar con
el ambiente de ejecución controlado e interactivo que brinda el computador.
El actual paradigma de desarrollo de programas se designa programación orientada a objetos, y
consiste básicamente en modelar los objetos observables en el mundo real abstrayendo su
implementación. Sus orígenes se hallan, indudablemente, enraizados en la llamada ‘cultura
occidental’ con su particular manera de percibir y conceptualizar la realidad. Sin embargo,
ante la visión que propone la Física de Procesos (un mundo que no se compone de objetos
estables, sino uno en el cual los objetos emergen de un proceso permanente) cabe plantear la
posibilidad de elaborar un nuevo paradigma de programación orientado al efectivo modelado
de procesos - paradigma que podría designarse como programación orientada a procesos.
Incidentalmente, la consecución de tal paradigma facilitaría la elaboración y la aplicación de
553
El actual diseño de sistemas electrónicos programables (fundamentalmente los designados sistemas
embebidos) presenta como uno de los temas claves el ‘modelo de cómputo’ a emplear por los programas
dedicados a modelar los sistemas. Este ‘modelo (o modo) de cómputo’ tiene precisamente relación con la
‘estructura de control’ del programa.
554
Ver nota 481, p. 180.
Diseño de Sistemas Electrónicos Complejos
[ 3.7 ] Conclusiones - 201
modelos ejecutables, cuyo propósito fundamental implica el modelado de procesos. Y, de
hecho, el diseño electrónico de actualidad requiere paradigmas de programación que faciliten
esa ‘orientación a procesos’, en virtud del carácter de las aplicaciones de los sistemas
electrónicos.
En virtud del propósito de los modelos ejecutables, y ante la visión que propone la
Física de Procesos, cabe plantear la posibilidad de elaborar un nuevo paradigma de
programación que constituya una alternativa o complemento a la actual
programación orientada a objetos: una programación orientada a procesos.
De hecho, tal paradigma facilitaría el diseño de sistemas electrónicos de actualidad,
dado que gran parte de las aplicaciones típicas de dichos sistemas requiere
intervenir en procesos, y además, el comportamiento previsto por la programación
en sistemas programables requiere en muchos casos un diseño desde la perspectiva
de procesos, y no de funciones o procedimientos.
El computador y sus programas (modelos ejecutables incluidos) constituyen un sistema
formal que, por idóneo para el cómputo y la expresión de algoritmos, está sujeto a las
limitaciones inherentes a todo sistema formal 555. Pero al igual que ocurre con los sistemas
formales ‘en papel’, es posible mitigar el impacto de las limitaciones considerando aspectos
semánticos. Al respecto, los modelos ejecutables cuentan con una libertad adicional respecto a
sus contrapartes exclusivamente matemáticas, que es la posibilidad de interpretar - e incluso,
interactuar con - el proceso de ejecución del modelo. Un ejemplo manifiesto es la simulación556 de
sistemas, donde la alteración de parámetros del modelo puede efectuarse en tiempo de
ejecución, facilitando entonces la interpretación de los cambios de comportamiento del modelo.
Si bien el dominio de implementación de los modelos ejecutables es formal, estos
cuentan con una ventaja frente a sus contrapartes exclusivamente matemáticas: la
posibilidad de interpretar - e incluso, interactuar con - el proceso de ejecución,
lo que facilita efectuar consideraciones semánticas para sobreponerse a las posibles
limitaciones de Gödel, Turing, y Chaitin.
Además, luego de los resultados de la Teoría de Información Algorítmica de
Chaitin557, la ‘evidencia experimental’ provista por las trazas de ejecución
de los programas o modelos ejecutables quizás sea la única forma de
establecer conclusiones inasequibles por la vía formal; en este aspecto, los
modelos matemáticos ‘en papel’ nada pueden aportar.
Cabe aclarar una diferencia importante entre un programa à la AIT558 y un modelo
ejecutable. Prima facie, un modelo no contiene la totalidad de la información inherente a la
entidad que representa, sino sólo la esencial al propósito 559; en este sentido podría considerarse
555
Aunque los computadores - en cuanto implementación real del autómata de Turing, ideal - no posean
memoria infinita, ni sus usuarios humanos dispongan de tiempo infinito para esperar resultados, de
todas formas los resultados de incompletitud, incomputabilidad y aleatoriedad algorítmica son
aplicables.
556
Aquí sí se asume que el modelo ejecutable es claramente distinto al sistema modelado, y por ende, el
empleo del término simulación.
557
Ver sección 3.3.6.2.5.
558
Acrónimo del inglés ‘Algorithmic Information Theory’, la Teoría de Información Algorítmica, de Chaitin.
559
No sólo ello es la esencia de un modelo, sino que además, la ‘totalidad de la información’ cae en un
terreno filosófico (epistemológico) harto difícil. Una excepción a la afirmación sería el ‘modelo’
constituido por el par de descripciones especificación - implementación de un proceso de diseño, pero ello
no quita la validez al argumento que diferencia los programas en la noción de AIT de los ‘modelos
ejecutables’ en la noción del presente documento.
Ingeniería Electrónica – Universidad Católica del Uruguay
202 - [ 3 ] Modelos
que los modelos ‘comprimen’ información, pero lo hacen con pérdidas560. En contraposición, AIT
supone una compresión de información sin pérdidas.
Los resultados de la aleatoriedad algorítmica pueden ser interpretados como una causa para
que la complejidad de los programas, los cronogramas de desarrollo de proyectos informáticos,
y la productividad de los programadores, no puedan ser estimados de forma objetiva, y por
tanto continúen esencialmente siendo una cuestión de opinión. Incluso las estimaciones de
carácter estadístico en esas áreas se hallan limitadas por el fenómeno de la aleatoriedad
algorítmica, al implicar este la incompletitud, y por ende el desconocimiento del universo
muestral. Así,
el fenómeno de aleatoriedad algorítmica implica que la estimación
objetiva de proyectos informáticos es irrealizable, y los resultados
estadísticos deben adoptarse muy escépticamente. De hecho, si se creyera que
estas estimaciones fueran factibles de codificación como otros procesos de ingeniería,
entonces el litigio sería una consecuencia razonable y esperable ante estimaciones
inadecuadas [Lew01].
Una consecuencia aún más significativa de la Teoría de Información Algorítmica sobre el
dominio informático es respecto a la depuración de programas. Cabe destacar que el interés por
esta cuestión no concierne solamente a la informática, sino que se extiende particularmente a la
electrónica, dado que el diseño electrónico de actualidad incorpora una significativa cantidad y
variedad de herramientas, procedimientos y conceptos informáticos561.
La Teoría de Información Algorítmica expone de forma palmaria las limitaciones
que los sistemas formales presentan para el razonamiento. En cuanto dominio
estrictamente formal, la informática sufre tales limitaciones, y como consecuencia se
tiene que demostrar la corrección de los programas mediante algoritmos - a
excepción de casos triviales - es un intento fútil. En general, la depuración
de programas no tiene otra opción que efectuarse experimentalmente,
mediante prueba y error562 [Cha04].
Hasta aquí se ha argumentado que las limitaciones inherentes a los modelos formales (ya sean
estos expresados en forma lógico-matemática convencional, o en términos computacionales
mediante programas y modelos ejecutables) pueden ser eventualmente sobrepuestas mediante
la incorporación de semántica (la consideración de contenidos, amén de la propia estructura del
sistema formal). No obstante, conviene estimar si esas limitaciones pueden afectar las
actividades de ingeniería, por ejemplo en aquellos casos en que la ingeniería hace uso de
modelos formales sin aplicación de meta-reglas e interpretaciones semánticas.
Aunque tanto los dominios de elaboración y aplicación de los modelos empleados en
ingeniería sean de tipo formal, la ingeniería elude los fenómenos de
560
Una analogía es el caso de la compresión de un archivo de audio en formato MP3, frente a un archivo
de audio comprimido con utilidades tipo ZIP - en el último no se pierde información; en el primero sí,
pero (desde cierto punto de vista) contiene la esencial, y así resulta más eficiente.
561
Ver capítulos 4 y 5.
562
Esta afirmación no habilita a abandonar alegremente los intentos por mejorar - y asegurar dentro de
límites razonables - la calidad de los programas. Que la actitud de tanteo y error sea comúnmente la
adoptada por programadores mediocres, no necesariamente responde a un cabal conocimiento de estas
limitaciones abstractas, sino usualmente de una conducta que quizás sea apenas adecuada a la
producción de programas orientados al usuario de computadores personales. En ningún caso puede ser
la actitud de quienes programan sistemas de los cuales depende la seguridad o calidad de la vida
humana, o de los cuales pueden desencadenarse problemas ecológicos. De hecho, en estos casos, las
limitaciones de los sistemas formales constituyen una problemática clave que se intenta gestionar para
sobreponer. Un ejemplo de carácter cotidiano lo constituye el diseño, fabricación, programación, e
implantación de controladores industriales como PLC; incluso el desarrollo de los lenguajes de
programación y compiladores para estos equipos es objeto de una cuidadosa preparación.
Diseño de Sistemas Electrónicos Complejos
[ 3.7 ] Conclusiones - 203
incompletitud, incomputabilidad y aleatoriedad algorítmica por su propia
naturaleza ‘fáctica’ y ‘constructivista’.
La finalidad de la ingeniería consiste, prima facie, en obtener resultados concretos, no teorías
‘universales’563; por tanto, no interesa si otras cuestiones aparte de la que se trata en particular
caen fuera del alcance del modelo empleado. Esto permite emplear el sistema formal más
conveniente, e inclusive extenderlo de ser necesario, hasta cubrir las necesidades, sin importar
si otras cuestiones resultan insolubles en el mismo marco. Además, como los ‘diseños’ ante
todo deben funcionar, la realimentación proveniente de la realidad - un ‘diseño’ constituído y
operativo - implica que necesariamente se ha eludido el fenómeno de incompletitud.
En ingeniería, la realimentación que proviene de un ‘diseño’ constituido, implica
que fundamentalmente se han soslayado los problemas de incompletitud.
Por otro lado, las especificaciones de diseño implican que se requiere una precisión limitada, y
ello significa que alcanza con limitarse al campo numérico racional para el cálculo en
ingeniería564. Asimismo, argumentos de robustez aplicados al diseño desmerecen todo tipo de
cálculo de precisión infinita. Estas consideraciones de corte pragmático (que resultan
facilitadoras en vez de restrictivas para el diseño) se pueden además sustentar en el plano
teórico con los argumentos de índole física y matemática en contra de los números reales
(sección 3.3.7.1).
La precisión limitada, impuesta por la realidad y por criterios de robustez del
diseño, y los argumentos teóricos en contra del continuo, promueven esencialmente
una ingeniería ‘racional’, que así evita los problemas de incomputabilidad.
Finalmente, los sistemas complejos a los que se refiere este trabajo explícitamente descartan
un componente aleatorio en su operación, porque el objeto de la ingeniería es obtener sistemas
que funcionan, dentro de las especificaciones. Así, el propio hecho de lograr la implementación de
un sistema implica - conforme a la noción de diseño esbozada en el capítulo 2 - que éste
funciona en forma determinista dentro de las especificaciones. Por tanto,
las especificaciones de diseño constituyen un límite dentro del cual los diseños
deben ser deterministas, y por tanto, la consecución de un diseño que cumple las
especificaciones implica que, necesariamente, se ha evitado el fenómeno de la
aleatoriedad estructural.
En conclusión: no sucede que los fenómenos de incompletitud, incomputabilidad, y
aleatoriedad algorítmica o estructural dejen de existir u operar cuando se trata de actividades
de ingeniería, sino que la ingeniería logra eludir sus efectos por su propia naturaleza.
No obstante, conforme las actividades de ingeniería se desplacen a niveles más abstractos de
conceptualización - probablemente asociado al uso incremental de herramientas y conceptos
de informática - el cabal conocimiento de las limitaciones inherentes a los sistemas formales y
sus efectos habrá de tenerse, correspondientemente, cada vez más en consideración.
563
Por ‘teorías universales’ se debe entender ‘válidas no solamente para ingeniería, sino para la ciencia
en general’ (como es por ejemplo el caso de las teorías físicas). Así, la consideración de ‘resultados
concretos’ incluye aquellos resultados cuya validez es de carácter ‘general’ para un área o toda la
ingeniería, pero sin trascenderla; la ingeniería no busca resultados aplicables a todas las ciencias, como
es el objeto de la física, o la matemática.
564
Y además, cualquier número real es aproximable con precisión predeterminada por un racional.
Ingeniería Electrónica – Universidad Católica del Uruguay
PARTE II
[4]
EVOLUCIÓN HISTÓRICA DE LA ELECTRÓNICA
Luego del extenso preámbulo de carácter genérico y contenido mayormente filosófico de la
Parte I (capítulos 1 a 3) se inicia con este capítulo la segunda parte del presente documento,
específica al ámbito del diseño electrónico.
En función del objetivo del presente documento (conferir el panorama de diseño de sistemas
electrónicos complejos) el propósito de este capítulo es presentar la evolución histórica de la
electrónica, a partir del desarrollo de los circuitos integrados - particularmente los de alta escala
de integración - por considerarse este hecho como el ‘mojón tecnológico’ a partir del cual fue
factible la consecución de sistemas electrónicos complejos. No se discute aquí ningún aspecto
tecnológico en sí mismo, sino que las referencias tecnológicas son efectuadas exclusivamente
en función de su incidencia en el diseño de los sistemas electrónicos; en esencia, lo que se trata
en este capítulo es la incidencia de la tecnología en el diseño a lo largo del tiempo.
Cabe notar que la evolución histórica de la electrónica, a partir de los circuitos integrados de
alta escala de integración, ha sido concurrente con el desarrollo de la informática. Esta
circunstancia no es casual, sino consecuencia de la sinergia establecida entre ambas disciplinas
a partir de los logros de la microelectrónica de fines de la década de 1970. Entre los productos
de la microelectrónica de esa época, la consecución de microprocesadores permitió diseñar
plataformas de cómputo más potentes que las de las previas generaciones. Sobre estas
plataformas más capaces, la informática pudo extender y perfeccionar sus propias
herramientas de desarrollo, y con ellas, obtener mejores y más potentes abstracciones de
cómputo y herramientas de diseño asistidas por computador. En particular, se produjo un
significativo desarrollo de herramientas informáticas para asistir al diseño electrónico, con las
cuales la electrónica abordó el diseño e implementación de nuevas y más potentes
generaciones de procesadores y computadores. Se cierra así un ciclo de soporte mutuo entre
ambas disciplinas, que induce a su desarrollo en forma concurrente. En consecuencia, dado
que las herramientas informáticas han brindado el soporte fundamental a los flujos de diseño
electrónico actuales565, en este capítulo se presenta, amén de la evolución de la electrónica, la
evolución histórica de la estructura de las herramientas informáticas para diseño electrónico
asistido por computador.
Las siguientes secciones 4.1, 4.2, y 4.3, se dedican a conferir una sinopsis del desarrollo
electrónico de fines del siglo XX, sobre tres dimensiones: el diseño electrónico desde 1970, la
fabricación de IC a partir de la década de 1980, y la estructura de las herramientas informáticas
para diseño electrónico en el mismo período.
En la sección 4.4 se presenta la problemática actual que enfrenta el diseño electrónico. De
esta manera, se estará en condiciones de abordar con mayor detalle el panorama de diseño de
sistemas electrónicos complejos de actualidad (capítulo 5).
565
Véanse la relación entre los conceptos de metodología, flujo y herramientas de diseño en la sección
2.2.
Gonzalo Sánchez - Ingeniería Electrónica – Universidad Católica del Uruguay
208 - [ 4 ] Evolución Histórica de la Electrónica
[ 4.1 ]
SINOPSIS DEL DESARROLLO ELECTRÓNICO (1970-2000)
La microelectrónica nace circa 1960, y durante la década de 1970 evoluciona hasta la
consecución de las primeras memorias y microprocesadores [TTOV98]. Así se dan las
condiciones para que en la siguiente década de 1980 se acelere significativamente el desarrollo
informático, y se produzca la co - evolución microelectrónica-informática, a un ritmo
vertiginoso. Es en la década de 1980 que las dificultades en el diseño electrónico comienzan a
manifestarse por la vía de los hechos, y por tanto es la época que se considera en el presente
trabajo como referencia inicial para la discusión del diseño de sistemas electrónicos complejos.
A modo de sinopsis566 de la evolución de la microelectrónica, se extrae de la presentación en
[TTOV98], s. 1.1 una lista de los eventos significativos acaecidos en cada una de las décadas
desde 1970 hasta el fin del siglo XX.
[ 4.1.1 ] DÉCADA DE 1970 567
•
Se registra una significativa evolución de los procesos de fabricación de circuitos integrados
(IC, ‘Integrated Circuits’) de tipo analógico y digital, cuyo origen data del inicio de la década
de 1960.
•
Tanto la fabricación como el diseño de circuitos integrados se hallan confinados al ámbito
específico de las fábricas de semiconductores (‘foundries’) no siendo accesible a los
diseñadores fuera de este contexto, en virtud del nivel de abstracción de los diseños 568 y su
estrecha relación con la tecnología de fabricación.
•
El esfuerzo de diseño de los circuitos integrados se concentra en los niveles eléctrico
(establecer características e interconexiones de los componentes básicos a nivel de
transistor) y topográfico569 (dibujar las ‘máscaras’ necesarias para la fabricación de los
dispositivos y sus interconexiones).
•
El proceso de diseño de circuitos integrados es fundamentalmente manual, y a la medida de
las posibilidades de cada tecnología. La única herramienta informática para asistir al diseño
es el simulador analógico de esquemas eléctricos SPICE 570.
566
Los temas referentes a la fabricación y el diseño de circuitos integrados, y la evolución de las
herramientas de diseño electrónico y los entornos de desarrollo, se discuten con mayor detalle en las
secciones 4.2, 4.3 y 4.4.
567
Tomado de [TTOV98], s. 1.1, pp. 2-12.
568
Se trabaja a nivel eléctrico y topográfico (se considera el comportamiento eléctrico de los transistores
individuales, y se preocupa de su configuración geométrica e interconexión) lo que, en esencia,
constituye un trabajo al nivel de implementación (nivel físico).
569
Proceso designado ‘layout’ en la literatura angloparlante. También se habla del nivel geométrico.
570
Acrónimo de ‘Simulation Program with Integrated Circuit Emphasis’, SPICE es un simulador de
propósito general para circuitos analógicos lineales y no lineales. Contiene modelos para la mayoría de
los elementos básicos con los que se conforman circuitos analógicos, y presenta las siguientes
capacidades: cálculo del punto de operación (polarización); cálculo de sensibilidad; análisis de
fenómenos transitorios; análisis de Fourier, ruido, y distorsión; cálculo de funciones de transferencia,
ubicación de polos y ceros de funciones de transferencia, y cálculo de la respuesta en frecuencia en
régimen de pequeña señal (‘small - signal’). SPICE fue desarrollado en la Universidad de Berkeley,
California, y su primer versión se publica en 1972. En 1975 se publica la versión SPICE2 - que mantiene
el núcleo del programa intacto, pero incluye mejoras en los modelos de los dispositivos simulables,
mejoras en las técnicas numéricas, en la interfaz de usuario, y otras adiciones - y finalmente en 1985 se
publica la versión SPICE3, en la cual se cambia el lenguaje de programación del código fuente de
FORTRAN a C. Aún hoy se sigue usando el simulador original, o algunos de sus descendientes directos,
los que incorporan más modelos, nuevas técnicas numéricas, nuevas capacidades de cálculo y análisis, e
interfases de usuario modernas.
Diseño de Sistemas Electrónicos Complejos
[ 4.1 ] Sinopsis del desarrollo electrónico (1970-2000) - 209
•
Los circuitos integrados son desarrollados con el objetivo de constituir componentes estándar,
con los cuales es posible conformar sistemas electrónicos sobre placas de circuito impreso
(PCB, ‘Printed Circuit Board’) específicos a la aplicación, tarea esta última que sí puede ser
llevada a cabo por diseñadores fuera del ámbito de las fábricas de semiconductores.
Sobre el fin de esta década, se obtienen las primeras memorias dinámicas de acceso aleatorio
(DRAM) y los primeros procesadores. Esto permite el advenimiento de los primeros
computadores ‘pequeños’ - en relación a los grandes computadores centrales (‘mainframes’)
prevalentes en la década - los cuales constituyen el soporte inicial para el desarrollo mutuo
electrónico-informático de la década siguiente.
[ 4.1.2 ] DÉCADA DE 1980 571
•
Los microcomputadores de fines de la década de 1970 dan paso a las estaciones de trabajo
(‘workstations’) y los computadores personales (PC, ‘Personal Computers’). Sobre esta base se
potencia un ciclo sinérgico de soporte mutuo entre microelectrónica e informática, en el
cual la primera disciplina genera plataformas de cómputo sobre las cuales la segunda
puede desarrollar sus abstracciones de programación, las que a su vez permiten la
consecución de herramientas informáticas para desarrollo electrónico que son aplicadas
para diseñar nuevas generaciones de plataformas de cómputo.
•
Se logra la independización entre los procesos de fabricación y diseño de circuitos integrados, lo
que hace factible el diseño de circuitos integrados fuera del contexto de las fábricas de
semiconductores.
•
En las referidas circunstancias de independencia de los procesos de fabricación y diseño de
circuitos integrados, se constata el surgimiento de un desfase entre las capacidades de
fabricación y las capacidades de diseño, debido a una carencia casi absoluta de
metodologías y herramientas de diseño y a la inviabilidad de aplicación de las técnicas de
prototipado de circuitos impresos al desarrollo y depuración de circuitos integrados. Este
desfase se ha denominado ‘brecha tecnológica’.
•
Sobre los computadores personales y las estaciones de trabajo se promueve una
significativa actividad de desarrollo de metodologías y herramientas de diseño asistidas por
computador (CAD, ‘Computer-Aided Design’). Aunque en principio estas herramientas son
orientadas al diseño de circuitos integrados, rápidamente se extienden para abordar el
diseño electrónico en general.
•
Una gran novedad de la década es la factibilidad del diseño de circuitos integrados específicos
para la aplicación (ASIC, ‘Application-Specific Integrated Circuit’)572. Estos son circuitos
integrados fabricados específicamente para una aplicación, diseñados por los propios
ingenieros que desarrollan la aplicación. Esto constituye un salto cualitativo respecto a las
posibilidades de diseño de la década anterior, donde las aplicaciones se desarrollaban en
base a componentes estándar. Se identifican cuatro modalidades en el diseño de ASIC:
1. Diseño totalmente a medida (‘full-custom’): La libertad del diseño es máxima, pero
requiere lidiar con todos los niveles de diseño, inclusive los de mayor complejidad
(eléctrico y geométrico) y por tanto se involucra a todas las etapas del proceso de
fabricación del IC. Los riesgos y costes son elevados, y por tanto justificables sólo
para grandes volúmenes de producción, o proyectos con restricciones severas (de
velocidad, consumo de potencia, área del circuito, o confidencialidad) con
presupuestos suficientes.
2. Diseño en base a celdas estándar precaracterizadas (‘semi-custom standard cells’): Los
IC se diseñan a partir de bibliotecas de celdas precaracterizadas para cada
tecnología, que si bien limitan las posibilidades de diseño respecto de un ASIC, le
571
Tomado de [TTOV98], s. 1.1, pp. 2-12.
572
Véase [Tew96] para una concisa presentación de los ASIC.
Ingeniería Electrónica – Universidad Católica del Uruguay
210 - [ 4 ] Evolución Histórica de la Electrónica
evitan al diseñador el lidiar con los niveles más bajos del diseño (topográfico o
geométrico, y eléctrico). Similarmente a los ASIC, estos dispositivos requieren el
proceso de fabricación completo.
3. Diseño en base a matrices de puertas predifundidas (‘semi-custom gate arrays’):
Consiste en diseñar los circuitos sobre la base de una estructura regular de
dispositivos básicos implantada en el IC, la cual es personalizable mediante un
conexionado específico que sólo requiere las últimas etapas de fabricación.
Similarmente al diseño en base a celdas estándar, el diseño de estos dispositivos se
basa en bibliotecas de celdas correspondientes a cada familia (biblioteca de celdas
precaracterizadas para cada tecnología) y está limitado en forma ulterior por las
posibilidades de la estructura prefabricada.
4. Diseño en base a lógica programable (FPGA, ‘Field-Programmable Gate Array’; FPLD
‘Field-Programmable Logic Devices’; CPLD ‘Complex Programmable Logic Devices’):
Similarmente al diseño en base a matrices de puertas predifundidas, el diseño se
realiza en base a componentes prefabricados en el IC, pero la diferencia reside en
que estos dispositivos son programables - la interconexión de sus componentes
internos se define mediante programación - lo que permite disponer de ellos após de
su proceso de fabricación completo y de su verificación en la fábrica. El diseño se
basa en bibliotecas precaracterizadas y mecanismos de mapeo de funciones; de
estos se deriva la ‘programación’ que, al cargarse en el dispositivo, activa las
conexiones de sus componentes prefabricados de la manera indicada por el
diseñador. Esta fase de programación la puede hacer el propio diseñador en pocos
segundos, inclusive cuando el dispositivo ya se halla incorporado a un sistema, en
una placa de circuito impreso573.
•
Sobre el fin de la década, surge otra novedad: los primeros lenguajes de descripción de
dispositivos electrónicos (HDL, ‘Hardware Description Language’). Estos son lenguajes de
programación orientados a la descripción de dispositivos electrónicos digitales, que
permiten la concepción del diseño a niveles arquitectural574 y funcional575 (elevando así el
nivel de abstracción respecto del nivel físico576) pero que permiten descripciones mixtas
multinivel577. En esencia, los HDL adoptan los conceptos de abstracción provistos por los
lenguajes de programación usuales en informática578 y agregan capacidades expresivas para
573
De aquí la designación de ‘field - programmable’, que podría traducirse como programable ‘in situ’,
aludiendo a la capacidad de programación - y reprogramación - del dispositivo luego de instalado en la
aplicación final.
574
Nivel arquitectural, o estructural: el circuito o sistema se describe mediante bloques funcionales, y
eventualmente incorpora información relativa a la temporización de las acciones, pero no se confieren
detalles de implementación física. Se distinguen dos subniveles: descripciones en términos de
transferencias entre registros (RTL, ‘Register Transfer Level’) y, por debajo, descripciones en términos de
puertas lógicas.
575
Nivel funcional o comportamental: el comportamiento del circuito o sistema se especifica como una
relación funcional entre entradas y salidas, en forma totalmente independiente de la posible
implementación.
576
Nivel físico: las descripciones son en términos eléctricos (nivel de transistor) o geométricos (topografía
de la descripción eléctrica del circuito; máscaras de fabricación).
577
Es decir, descripciones de circuitos constituidas por módulos descritos a diferentes niveles de
abstracción; por ejemplo, módulos descritos en términos algorítmicos (nivel funcional) módulos descritos
en términos RTL (nivel arquitectural) y módulos descritos en términos de puertas lógicas (nivel
arquitectural, de menor abstracción que el RTL).
578
Los lenguajes de ‘alto nivel’ (HLL, ‘High - Level Languages’) como C, C++, Ada, etc. empleados para la
programación ‘general’ o ‘habitual’ de computadores (programación de sistemas operativos,
programación de herramientas informáticas de desarrollo, y programación de aplicaciones de usuario,
como bases de datos, procesadores de texto, planillas de cálculo, sistemas de gestión, cálculo científico,
etc.).
Diseño de Sistemas Electrónicos Complejos
[ 4.1 ] Sinopsis del desarrollo electrónico (1970-2000) - 211
el modelado de eventos concurrentes. Aunque originalmente pensados para la simulación de
dispositivos, ciertos subconjuntos de los HDL permiten elaborar descripciones que habilitan
además la síntesis automática579 del IC modelado. Con la promitente consolidación de los
niveles físico, arquitectural, y funcional se busca promover el diseño descendente: partiendo
de una descripción a nivel funcional (comportamental) se buscan generar varias
descripciones a un nivel arquitectural (RTL y/o de puertas lógicas) para, mediante
simulación, evaluar alternativas antes de abordar el diseño detallado y la implementación
física580. Sin embargo, en virtud de su acoplamiento a la innovación tecnológica, el
desarrollo de los entornos de diseño durante esta década de 1980 siguió, de manera natural,
un proceso ascendente581, y logró consolidar solamente los niveles físico y arquitectural,
mientras que la incorporación definitiva del nivel funcional a metodologías y herramientas
de diseño no se logró sino hasta la década siguiente.
[ 4.1.3 ] DÉCADA DE 1990 582
•
Los diseños en base a FPGA, CPLD y FPLD cobran importancia frente a los ASIC ‘fullcustom’, en virtud del costo que tiene la fabricación de ‘máscaras’ para estos últimos 583, el
cual se incrementa conforme la innovación tecnológica permite reducir los tamaños de los
circuitos integrados a escalas submicrónicas.
•
Se introducen nuevas tecnologías de encapsulado, lo que permite la integración de de
varios microcircuitos sobre un mismo sustrato cerámico, laminado, o de silicio, con
conexiones prefabricadas (MCM, ‘Multi-Chip Modules’). Las posibilidades de manufactura
submicrónicas hacen factible la integración de sensores y actuadores mecánicos a los
circuitos integrados (MEMS, ‘Micro-Electro-Mechanical Systems’) e inclusive sensores
químicos, en base a los mismos procesos de miniaturización electrónicos. Emerge así una
nueva categoría de sistemas electrónicos: los Microsistemas, o Sistemas en un Encapsulado
(SoC, ‘System-on-Chip’).
•
En el contexto de sistemas en un encapsulado y microsistemas, se agranda la ‘brecha
tecnológica’ debido a la carencia de métodos y herramientas para lidiar con la complejidad
de los diseños584. Esto suscita mayor esfuerzo en la investigación de metodologías,
especialmente las de tipo descendente: se requiere la consecución de diseños ‘correctos por
construcción’ para minimizar las iteraciones del proceso de diseño (en virtud de la creciente
constricción del tiempo disponible desde la concepción a la comercialización; ‘time-to-
579
Es decir: la generación de las máscaras para la fabricación de un ASIC (en alguna de las primeras tres
modalidades referidas precedentemente) o la programación de una FPGA o CPLD.
580
Esencialmente, se facilita la exploración del espacio de diseño (sección 2.4.1) actividad de importancia
superlativa en las metodologías de diseño descendente (‘top - down’) (secciones 2.2.1 y 2.2.1.1).
581
‘Bottom - up’; ver secciones 2.2.1 y 2.2.1.2.
582
Tomado de [TTOV98], s. 1.1, pp. 2-12.
583
Problema referido como ‘the million - dollar - mask problem’ en la literatura de habla inglesa, en
referencia al costo en el entorno del millón de dólares para la fabricación de una (única) ‘máscara’ a
partir de la cual se producen los circuitos integrados.
584
Por ejemplo, se invierte el problema de retardos en las señales: en la década de 1980, el retardo de una
conexión podía despreciarse frente al retardo de una compuerta (en tecnologías superiores a una micra,
el 80% del retardo se debe a compuertas y el 20% a las conexiones) mientras que en la década de 1990,
las tecnologías sub - micrónicas avanzadas (por ejemplo 0,3 μm) determinan que el 80% del retardo se
debe a las conexiones frente al 20% de las compuertas. Así, los procesos de diseño de IC deben
incorporar a las etapas de posicionamiento y conexión de bloques funcionales una fase de planificación
topográfica (‘floorplaning’) que tenga en cuenta estos retardos de conexión, lo que aumenta
significativamente la complejidad del diseño (y la de las herramientas informáticas que asisten al
diseño).
Ingeniería Electrónica – Universidad Católica del Uruguay
212 - [ 4 ] Evolución Histórica de la Electrónica
market’585) y evitar las correcciones a las máscaras de fabricación de IC (en virtud de su costo
exhorbitante para tecnologías submicrónicas; ‘the million-dollar-mask problem’).
•
Sobre los niveles físico y estructural consolidados a fines de la década anterior, se
consolidan definitivamente los niveles arquitectural y funcional con el desarrollo y la
implantación de los HDL en los flujos de diseño (VHDL 586 y Verilog son los HDL que
obtienen aceptación; se convierten en estándar de la IEEE).
•
Con los HDL, se diseñan ‘macro’ bloques funcionales, como microprocesadores de uso
general (CPU, ‘Central Processing Unit’) procesadores de señales digitales (DSP, ‘DigitalSignal Processors’) y microcontroladores (MCU, ‘Micro-Controller Units’). No obstante, este
tipo de dispositivos requiere programación, y por tanto, los HDL no son en general
suficientes para dar una solución integral a los problemas planteados por los SoC o los
sistemas en PCB que incorporan bloques programables. Se requiere el uso conjunto de HDL
con lenguajes de programación de bajo y alto nivel (lenguajes ensambladores específicos a
cada dispositivo programable, y/o lenguajes de uso general como C, C++, Ada, Java, etc.
con sus respectivos compiladores) lo que genera la necesidad de interfases entre lenguajes,
interoperabilidad (por ejemplo, para simulación) etc. 587
•
La integración en red de los sistemas informáticos potencia el desarrollo de los sistemas
electrónicos, al permitir el trabajo concurrente y a distancia de equipos de diseño, con
facilidades de comunicación, visualización, almacenamiento, y procesamiento muy
superiores a la década precedente588.
•
Se produce una generalización del diseño electrónico: del diseño de IC como los ASIC, las
metodologías y herramientas de diseño en desarrollo se comienzan a aplicar para el diseño
de sistemas electrónicos ‘macroscópicos’, y su integración con sistemas de información
generales. Esto se produce en el marco de una evolución coordinada de las distintas
técnicas CAD, dando lugar a la llamada Automación del Diseño Electrónico (EDA,
‘Electronic Design Automation’). La evolución es concurrente con el desarrollo de la Ingeniería
Informática Asistida por Computador (CASE, ‘Computer-Aided Software Engineering’) como
parte del ciclo sinérgico de soporte mutuo entre microelectrónica e informática iniciado en
la década previa. Esta evolución concurrente promueve el desarrollo más general de la
Ingeniería Asistida por Computador (CAE, ‘Computer-Aided Engineering’).
Conferida la precedente sinopsis de la evolución del desarrollo electrónico desde 1970 al fin
del siglo XX, el resto del capítulo se dedica a reexaminar, con mayor detalle, la evolución del
diseño electrónico a partir de los años 80 (origen de las tecnologías VLSI 589 para IC).
585
Ver nota 594, p. 216.
586
Acrónimo de ‘VHSIC - HDL’. VHSIC es acrónimo de ‘Very High - Speed Integrated - Circuit’, o circuito
integrado de alta velocidad., por lo cual VHDL significa: lenguaje de descripción de circuitos integrados de
alta velocidad.
587
Esta programación, referida como programación embebida, constituye un serio problema - en el
contexto más general de diseño de sistemas embebidos - al que se le dedica particular atención sobre finales
del siglo XX, principios del XXI y hasta la fecha. En particular, la interoperabilidad de HLL y HDL es
una cuestión clave para el codiseño, cosimulación y codepuración de sistemas, conceptos que se presentan
más adelante en este documento.
588
Considérese, simplemente, las posibilidades abiertas por la red global Internet para el intercambio de
información, en diversos formatos soportados por las capacidades ‘multimedia’ desarrolladas en esta
época: “... podemos decir que estamos asistiendo a una auténtica explosión de medios no siempre fácil de seguir y
asumir” [TTOV98], p. 12.
589
Acrónimo de la voz inglesa ‘Very Large Scale of Integration’, se refiere a circuitos integrados de ‘muy
alta escala de integración’.
Diseño de Sistemas Electrónicos Complejos
[ 4.2 ] Sinopsis de la fabricación de circuitos integrados - 213
[ 4.2 ]
SINOPSIS DE LA FABRICACIÓN DE CIRCUITOS INTEGRADOS
[ 4.2.1 ] TENDENCIAS HISTÓRICAS Y PROYECCIONES
Impulsada por la incesante evolución tecnológica, la industria de semiconductores ha sido
históricamente capaz de proveer dispositivos que cada tres años cuadruplican su cantidad de
funciones, con sólo un modesto factor de incremento del tamaño de los circuitos de 1.4, y un
factor de aumento en el costo de los dispositivos de - coincidentemente - 1.4. Es decir que,
manteniendo el costo del mm2 de silicio prácticamente constante, se sigue aún la tendencia
anunciada en 1965 por Moore, referente a la evolución del nivel de integración de los
dispositivos electrónicos.
En 1999, la Asociación de Industrias de Semiconductores (SIA, ‘Semiconductor Industry
Association’) indica en su publicación ITRS (‘The International Technology Roadmap for
Semiconductors: 1999 Edition’) que esta tendencia se ha acelerado en los últimos años,
reduciéndose el ciclo de cuadruplicación de funciones de tres a dos años, mientras que se ha
mantenido la tendencia histórica de disminución del costo por función en un 25 - 30% al año
[SIA99].
Este aumento de la funcionalidad de los dispositivos a costos cada vez más reducidos, se ha
basado fundamentalmente en la capacidad de ‘escalamiento’ de la industria de
semiconductores, que es la capacidad de integración de un número cada vez mayor de los
mismos elementos constitutivos de circuitos integrados por unidad de área de silicio.
Actualmente, se está llegando a un punto donde las técnicas de ‘escalamiento’ empleadas
durante los últimos 30 años para la fabricación de dispositivos CMOS planares comienzan a
manifestar limitaciones inherentes a los materiales utilizados. No obstante, tales tecnologías
pueden extenderse mediante la introducción de nuevos materiales, dando a los físicos de estado
sólido y a los diseñadores de circuitos integrados la posibilidad de mantener la tendencia
histórica generada por las técnicas de ‘escalamiento tradicional’, constituyendo un nuevo
régimen denominado ‘escalamiento equivalente’. Esto posibilita desplazar el límite de los
procesos CMOS planares por unos cinco o diez años más, y con ello continuar el seguimiento
de la ‘Ley de Moore’590.
En base a la posibilidad de extender las técnicas de manufactura actuales con la introducción
de nuevos materiales - o sea, continuar en la tendencia de la ‘Ley de Moore’ mediante técnicas
de ‘escalamiento equivalente’ - la SIA anuncia en ITRS 1999 sus proyecciones de logros
tecnológicos para los siguientes 15 años, los que se resumen en la Tabla 4.1 y se representan
gráficamente en la Fig. 4.1. Estas proyecciones son establecidas en base a lo que la SIA
denomina ‘Nodos Tecnológicos’, concepto que pretende sincronizar el desarrollo tecnológico
general con una dimensión característica de las memorias DRAM (longitud entre conexiones
metálicas de celdas de bit DRAM) cuyos ciclos de reducción históricamente siguieron la ‘Ley
de Moore’ (logrando una cuadruplicación de la cantidad de bits por circuito integrado cada
tres años). Por ende, cada ‘Nodo Tecnológico’ supone un avance tecnológico significativo
respecto al nodo previo (70% de ‘escalamiento’) aunque no indica la resolución máxima
obtenible mediante los procesos de fabricación, la cual suele ser mayor. No obstante, para
ediciones posteriores a ITRS 1999 la SIA prevé abandonar este concepto de ‘Nodo Tecnológico’
a causa de - precisamente - el ‘escalamiento equivalente’, que con la incorporación de nuevos
materiales requerirá otras formas de estimar la tasa de ‘escalamiento’ concurrentemente con el
aumento de funcionalidad y la evolución del costo por función.
590
Naturalmente, la capacidad de producir cada vez más transistores por mm 2 tiene un límite físico,
impuesto en última instancia por la estructura atómica de la materia. En algún momento, esta limitación
física impondrá restricciones inexorables al escalamiento de los dispositivos semiconductores, que - de
acuerdo a las teorías físicas actuales - como máximo podrán contar con transistores mono - electrónicos
o conformados por un único elemento cuántico.
Ingeniería Electrónica – Universidad Católica del Uruguay
214 - [ 4 ] Evolución Histórica de la Electrónica
Tabla 4.1: Proyección de desarrollo tecnológico de semiconductores – SIA 1999
Año
Nodo Tecnológico
(nm)
1997
250
1998
250
1999
180
2002
130
2005
100
2008
70
2011
50
2014
35
250
Nodo Tecnológico (nm)
200
y = 204.52e -0.1087x
R2 = 0.998
180
150
130
100
100
70
50
35
50
2014
2011
Año
2008
2005
2002
1999
0
Fig. 4.1: Datos de la Tabla 4.1 aproximados por un modelo exponencial (recuadro interno de la gráfica)
En el resumen de su edición 2001 de ITRS, la SIA se ve obligada a ajustar sus proyecciones
anunciando metas más exigentes que las previstas en su documento de 1999, a raíz de la
evolución tecnológica experimentada en el período comprendido entre las publicaciones, el
que sobrepasó significativamente las expectativas [SIA02]. Los ‘nodos tecnológicos’ revisados
para la edición 2001 de ITRS se indican en la Tabla 4.2 591. A efectos comparativos, la longitud
entre conexiones metálicas de celdas DRAM se representa gráficamente en la Fig. 4.2,
conjuntamente con los datos correspondientes de la edición 1999.
Tabla 4.2: Proyección de desarrollo tecnológico de semiconductores – SIA 2001
Nodo Tecnológico y Capacidad de los CI
Longitud entre conexiones metálicas de celdas de bit DRAM
(nm)
Tamaño de memorias DRAM (Mbits)
Longitud física de compuerta en microprocesadores (nm)
Frecuencia de reloj en microprocesadores (MHz)
2001
130
512
65
1684
2005
80
2000
32
5173
2010
45
2016
22
8000
18
11511
64000
9
28751
Estas tendencias históricas y proyecciones de posibilidad tecnológica de manufactura son las
que han permitido el desarrollo casi explosivo de la electrónica por los últimos 30 años hasta la
fecha. Consecuentemente, el desarrollo permanente de la electrónica en las mismas
proporciones que las históricas se ha tornado en algo habitual y ‘esperable’ desde el punto de
vista de los consumidores (en su más amplia acepción) al punto que la industria de
591
En esta edición de ITRS, la SIA comienza a extender el concepto ‘Nodo Tecnológico  Longitud entre
conexiones metálicas de celdas de bit DRAM’ como índice de avance tecnológico, incorporando otras
categorías de comparación.
Diseño de Sistemas Electrónicos Complejos
[ 4.2 ] Sinopsis de la fabricación de circuitos integrados - 215
250
Nodo Tecnológico (nm)
200
y = 204.52e -0.1087x
R2 = 0.998
180
150
130
130
100
100
70
80
50
y = 184.48e
R2 = 0.9999
50
-0.1181x
35
45
22
2014
2011
Año
2008
2005
2002
1999
0
Fig. 4.2: Datos de la Tabla 4.1 y la Tabla 4.2, aproximados por modelos exponenciales (recuadros internos de la gráfica)
semiconductores considera vital para el negocio el poder seguir cumpliendo con tales
expectativas.
Así, actualmente, el desarrollo tecnológico en la fabricación de semiconductores se ve
instigado por las expectativas que él mismo ha generado, y por los requerimientos que surgen
a causa de esas expectativas. La SIA, por tanto, revisa las (posibles) dificultades que se
presentan para este desarrollo, y efectúa sus previsiones a futuro.
[ 4.2.2 ] DIFICULTADES ACTUALES Y DESAFÍOS FUTUROS
Los avances tecnológicos y las tendencias en la fabricación de semiconductores delineadas
en la sección 4.2.1, se traducen en un significativo aumento en la complejidad de los circuitos
integrados factibles de manufacturar, en especial con la migración a procesos de ‘escalamiento
equivalente’.
Sin embargo, ya en ITRS 1999 la SIA considera un desafío demasiado exigente el poder
seguir la ‘Ley de Moore’, con el ciclo reducido a dos años, exclusivamente mediante innovación
tecnológica592. Consecuentemente, plantea la necesidad de afrontar innovaciones en el área de
diseño de sistemas y circuitos, y la necesidad de integrar diversas técnicas de fabricación en una
misma pastilla de circuito integrado con las propias técnicas de encapsulado.
Esta emergente categoría de productos, que la SIA identifica como sistemas en un solo
encapsulado (SoC, acrónimo de ‘System-on-a-Chip’) se definen principalmente por su prestación y
costo más que por límites tecnológicos. Son generalmente diseños de tecnologías mixtas,
incluyendo memoria DRAM, lógica de bajo consumo o de alta velocidad, subcircuitos
analógicos, subcircuitos de radiofrecuencia, subcircuitos ópticos (especialmente para
592
Cabe mencionar que el seguimiento de la ‘Ley de Moore’ y tendencias similares fue tomado por la
SIA como el espíritu de su ITRS desde 1992 ([SIA99], Introduction – Technology Requirements
Perspective) validando en cierta forma la expresión ‘profecía autocumplida’ de Moore, mencionada
anteriormente en este documento.
Ingeniería Electrónica – Universidad Católica del Uruguay
216 - [ 4 ] Evolución Histórica de la Electrónica
entrada/salida) microsensores y microactuadores (sistemas micro-electro-mecánicos, o MEMS
por su acrónimo en inglés) e inclusive sistemas electro-químicos, previéndose además la
incorporación de sistemas electro-biológicos en un futuro no muy lejano593. Por razones de
costo y tiempo de comercialización594, la SIA estima que gran parte de este tipo de circuitos se
utilice conjuntamente con FPGA 595 y memorias ‘Flash’ 596 para conformar plataformas
programables 597, que mediante programación adecuada se puedan reprogramar y/o reconfigurar
para cubrir una variedad de necesidades.
Según la SIA, con el advenimiento de sistemas en un solo encapsulado, las herramientas de
diseño y las tecnologías requeridas para ensamblar, verificar y programar tales sistemas
incluidos en plataformas programables, presentarán un difícil desafío en la próxima década.
En este contexto, y con objeto de organizar el planteo de las dificultades y definir los
problemas y desafíos para el corto y largo plazo, la SIA clasifica los actuales y los potenciales
problemas por áreas de trabajo, y propone grupos de trabajo correspondientes para estudiar los
problemas598. Un resumen de esta clasificación se encuentra en ITRS 1999 ([SIA99], pp. 5-10)
varias tablas con una exposición más extensa de las dificultades para cada área se presentan en
([SIA99], pp. 11-22) y el desarrollo completo para cada una de las categorías se explicita en el
capítulo correspondiente a cada área de trabajo, lo que constituye el cuerpo del citado
documento. De estos múltiples desafíos y dificultades que la SIA prevé para los próximos
años599 en todas las áreas de trabajo relacionadas con la fabricación de circuitos integrados, se
señalan a continuación algunos pocos600:
593
De hecho, la integración electrónica y biológica es vista por el físico teórico Stephen Hawking como
necesaria para que la humanidad pueda seguir el ritmo exponencial de crecimiento de la información
(ver sección 1.1.2).
594
En la literatura en idioma inglés, el ‘tiempo de comercialización’ se denomina ‘time - to - market’, y se
refiere al tiempo que transcurre desde el inicio del diseño del sistema, hasta su introducción comercial
como bien de consumo en el mercado. Actualmente, este tiempo se ha convertido en un parámetro
crítico para el éxito de un producto, por razones de competencia y de obsolecencia tecnológica. A la
fecha, este factor de presión ha servido para incentivar el desarrollo de metodologías y herramientas de
diseño, pero quien escribe lo considera como un factor más pernicioso que benéfico, conforme somete el
desarrollo a un interés exclusivamente mercantilista - ni siquiera un interés económico en el sentido
amplio del término - contrapuesto al bienestar mental y ecológico que es el que verdaderamente debiera
pautar la ética y los métodos del desarrollo.
595
Acrónimo en idioma inglés de ‘Field Programmable Gate Arrays’. Son circuitos integrados lógicos
conformados por grandes cantidades de celdas, de estructura regular, y función reconfigurable
mediante programación adecuada, la cual se puede llevar a cabo en el sistema final lo cual les confiere la
característica de ‘programabilidad en la propia aplicación’.
596
Tipo de memoria de semiconductor no volátil actualmente usada en microprocesadores y
microcontroladores, y como medio de almacenamiento masivo en cámaras digitales, audio portátil, y
unidades de disco duro de estado sólido.
597
El concepto de plataforma programable corresponde a la categoría de sistemas electrónicos
complejos, más que a la de circuitos integrados, y se estudiará en profundidad más adelante en este
documento. Por ahora, considérese a modo de ejemplo que el computador personal (PC) es una
plataforma programable mediante cambios en programas pero no mediante reconfiguración de
componentes electrónicos.
598
Las mencionadas áreas de trabajo definidas por la SIA son: Área de Diseño; Área de Prueba; Área de
Integración de Procesos, Dispositivos, y Estructuras; Área de Procesos de Fabricación; Área de Litografía; Área
de Interconexión; Área de Integración en Fábrica; Área de Ensamblado y Encapsulado; Área de Medio
Ambiente, Seguridad y Salud; Área de Reducción de Defectos; Área de Metrología; Área de Modelado y
Simulación.
599
Considerando la fecha de publicación de la referencia - 1999 - y la de redacción del presente
documento, los problemas no son solamente futuros sino que muchos son actuales.
600
No se hace una transcripción textual, sino una adaptación de los conceptos originales.
Diseño de Sistemas Electrónicos Complejos
[ 4.2 ] Sinopsis de la fabricación de circuitos integrados - 217
1. el manejo y la consideración de un número enorme de dispositivos que componen los
sistemas implementados sobre circuitos integrados, producto de los avances en las
tecnologías de integración
2. la consideración de la interacción de esa cantidad enorme de dispositivos integrados en una
pastilla de silicio601
3. la gestión de las interconexiones físicas entre el gran número de dispositivos, que además de
la distribución de señales particulares entre los dispositivos del sistema implica la
distribución de las líneas comunes a la totalidad de los dispositivos del circuito, como
alimentación, tierra, y señales de reloj602
4. el mantenimiento de la integridad de las señales, en un contexto de frecuencias de reloj cada
vez más elevadas, voltajes de alimentación cada vez más bajos, e interferencia mutua y
ruido propagado por el sustrato en circuitos integrados cada vez más reducidos, donde los
efectos de la estructura atómica de la materia comienzan a influir significativamente
5. la gestión térmica y de potencia (corrientes y voltajes) de los circuitos integrados, que
eventualmente considere los efectos atómicos de la materia debido a la reducción en el
tamaño de los circuitos integrados y sus encapsulados
6. la necesidad de incorporar funciones de auto-chequeo, y facilidades para chequeo y depuración
externas en los sistemas, en virtud de dificultad para la verificación de los circuitos
integrados que emanan del tamaño decreciente y la complejidad creciente de los sistemas
integrados
7. la incorporación de nuevos materiales, componentes pasivos, elementos mecánicos y
elementos ópticos a los circuitos integrados
8. la necesidad de incorporar capacidad es de programación (y reprogramación) en los
sistemas603
9. la necesidad de nuevas técnicas de modelado, que - en el cada vez más exigente contexto
descrito precedentemente - permitan la consecución de modelos eficientes y unificados, de
forma de permitir el tratamiento integral del encapsulado, el circuito eléctrico, los
problemas térmicos y mecánicos y los efectos físicos debidos a la escala nanométrica de los
circuitos integrados
10.la necesidad de metodologías de diseño para Sistemas en un Encapsulado (SoC) que
requieren capacidades para lidiar con la heterogeneidad de estilos de diseño, incluyendo
analógico, digital, señal mixta, radiofrecuencia, electro-óptico, electro-mecánico, etc.
11.la tendencia al uso de sistemas abiertos y a la integración en red de los sistemas, en particular
con redes de sistemas de cómputo general
12.la interacción entre los diferentes niveles de abstracción de los diseños
13.la consecución de métodos formales para la especificación y verificación a nivel de sistema604, en
el contexto de sistemas heterogéneos tanto en sus estilos de diseño como en sus tecnologías de
implementación
601
En los términos del capítulo 1 del presente documento, la dificultad sería la consideración del sistema,
y el desafío es lograr metodologías que permitan el tratamiento de los diseños a ese nivel de sistema.
602
Problema que implica la resolución espacial en tres dimensiones, y para el cual se proponen
modificaciones como ser interconexiones ópticas o por radiofrecuencia internas a la pastilla de silicio.
603
Este desafío se inscribe en el más general de programación de sistemas embebidos.
604
Verificación no se refiere a ‘ensayos’ o ‘pruebas de campo’, sino a ‘chequeos de consistencia’ (de tipo
teórico).
Ingeniería Electrónica – Universidad Católica del Uruguay
218 - [ 4 ] Evolución Histórica de la Electrónica
14.la necesidad de efectuar los diseños en equipos multidisciplinarios, los cuales son conformados
por numerosos
geográficamente
individuos
con
aptitudes
y
habilidades
diversas,
distribuidos
15.la necesidad de rápida migración de tecnologías en los diseños para mantener la
productividad y para poder superar la rapidez de los ciclos de obsolecencia tecnológica
16.el intercambio de propiedad intelectual605 para favorecer la estandarización, la reutilización de
componentes, y cumplir con las demandas de mayores prestaciones y menores costos de los
sistemas606
Así, según la SIA, la complejidad del diseño está creciendo en forma super-exponencial
debido a los efectos conjuntos derivados de un incremento en la complejidad de la propia pastilla
de silicio, en la complejidad de los sistemas integrados en esta, y en la complejidad de los propios
procesos de diseño. La complejidad en lo que respecta a la propia pastilla de silicio aumenta
debido al incremento en el número de elementos que interactúan, el incremento del número de
interconexiones, la heterogeneidad de elementos que se incorporan (señal mixta, elementos
ópticos, mecánicos, etc.) los efectos de la reducción del tamaño (efectos electromagnéticos y
cuánticos) y su incidencia en los requerimientos de corriente y voltaje. La complejidad en lo
que respecta al sistema integrado en la pastilla (SoC) se ve aumentada por la heterogeneidad
de las aplicaciones y los estilos de diseño correspondientes, y la necesidad de incorporar
programación e integrar bloques de propiedad intelectual por razones de flexibilidad y coste.
La complejidad de los propios procesos de diseño aumenta con el incremento de interacción
entre los diferentes niveles de abstracción del diseño y el incremento del tamaño y dispersión
geográfica de los equipos de diseñadores, necesaria para cumplir con las demandas del tiempo
de comercialización, costo, calidad y productividad. Todo ello tiene directa incidencia en la
verificación (chequeo funcional teórico) de los circuitos integrados, y también se traduce en un
incremento en la complejidad de las pruebas (ensayos empíricos) y los sistemas de prueba
concretos para chequear los dispositivos, ya sean estos externos o intrínsecos al sistema. En
esencia, estos desafíos y dificultades no son más que la manifestación explícita de la ‘brecha tecnológica’,
detectada ya en la década de los 80.
[ 4.3 ]
SINOPSIS DE LA EVOLUCIÓN ESTRUCTURAL DE LAS
HERRAMIENTAS INFORMÁTICAS PARA DISEÑO ELECTRÓNICO
En la sección 4.1.1 se aduce que en la década de 1970, prácticamente la única herramienta
informática para diseño electrónico consiste en el simulador analógico de esquemas eléctricos
SPICE570. Pero conforme se gesta y cierra el ciclo de soporte mutuo entre electrónica e
informática, a partir de la década de 1980 (sección 4.1.2) la diversidad y estructura de las
herramientas informáticas para diseño electrónico varía considerablemente, y en forma
concurrente con los desarrollos en microelectrónica. En ([TTOV98], p. 8) se presenta un
esquema que describe los cambios estructurales en las herramientas en relación a sus
capacidades de intercomunicación, esquema que se reproduce e interpreta aquí, en las figuras
4.3 a 4.6 (secciones 4.3.1 a 4.3.4).
605
IP por su acrónimo de ‘Intellectual Property’. Se refiere a la modalidad de comercialización de diseños
de circuitos integrados - particularmente aquellos programables, bibliotecas de bloques, módulos o
unidades funcionales - que se efectúa en forma de descripciones hechas en lenguajes formales
estandarizados, de manera de posibilitar su inclusión en otros diseños (la noción de diseño como par
especificación - implementación de descripciones se confiere en la sección 2.1.2.1 del presente documento).
606
Esto está relacionado estrechamente con el punto anterior, referente a la dificultad que representan
los ciclos de obsolesencia tecnológica: el intercambio de IP es un método para lidiar con esas situaciones.
Diseño de Sistemas Electrónicos Complejos
[ 4.3 ] Sinopsis de la evolución estructural de las herramientas informáticas para diseño electrónico - 219
[ 4.3.1 ] HERRAMIENTAS CAD INDEPENDIENTES
Inicialmente, las herramientas CAD fueron concebidas independientemente, y cada una
contaba con su interfaz de usuario y su base de datos específica. Así, la interoperabilidad entre
estas herramientas CAD independientes requería de interfases ad hoc, para cada par de
herramientas entre las cuales se deseara transferir información (Fig. 4.3).
Interfaz de Usuarioj
Herramientaj
Base de Datosj
Interfaz Hij
Interfaz Hjk
Interfaz de Usuarioi
Interfaz de Usuariok
Herramientai
Base de Datosi
Interfaz Hki
Herramientak
Base de Datosk
Fig. 4.3: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 1). Herramientas
independientes. Requieren interfases ad hoc para intercambio de información (Adaptado de [TTOV98], p. 8).
El inconveniente manifiesto de este estadio es precisamente la dificultad para el intercambio
de información, que requiere de interfases específicas no disponibles ab initio, las que pueden
ser difíciles o directamente imposibles de desarrollar, según los formatos propietarios de cada
herramienta, y su carácter de público conocimiento o no. Además, esta dificultad escala con el
crecimiento en la cantidad de interfases necesarias, conforme se incrementa el número de
herramientas disponibles.
[ 4.3.2 ] ENTORNOS DE HERRAMIENTAS CAD INTEGRADAS
El segundo paso en la evolución de las herramientas CAD consistió en unificar la interfaz de
usuario y la base de datos para las diferentes herramientas, dando lugar a los entornos CAD
integrados (Fig. 4.4).
Este esquema permite superar el problema de las interfases entre herramientas, pero posee
la desventaja de limitar los flujos de diseño posibles, a aquellos soportados por el entorno
CAD.
Ingeniería Electrónica – Universidad Católica del Uruguay
220 - [ 4 ] Evolución Histórica de la Electrónica
Interfaz de Usuario
Lenguaje de interface
Herramientai
Herramientaj
·····
Herramientan
Lenguaje de acceso / gestión
Base de Datos
Entorno CAD integrado
Fig. 4.4: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 2). Entornos CAD Integrados.
Herramientas comparten Base de Datos e Interfaz de Usuario (Adaptado de [TTOV98], p. 8).
[ 4.3.3 ] ENTORNOS DE HERRAMIENTAS CAD INTEGRADAS, ABIERTOS Y FLEXIBLES
Interfaz de Usuario
Lenguaje de interface
Herramientai
Herramientaj
·····
Herramientan
Lenguaje de acceso / gestión
Base de Datos
Facilidades para integración de nuevas
herramientas
Facilidades para incorporación de
mecanismos de gestión del flujo de diseño
El siguiente paso en la evolución lo constituyen los entornos CAD abiertos y flexibles, que
disponen de facilidades para permitir la inclusión de nuevas herramientas y mecanismos de
gestión del flujo de diseño (Fig. 4.5).
Entorno CAD integrado, abierto y flexible
Fig. 4.5: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 3). Entornos CAD Integrados,
Flexibles y Abiertos. Herramientas comparten Base de Datos e Interfaz de Usuario, y se dispone de facilidades para
integrar nuevas herramientas y mecanismos de gestión del flujo de diseño (Adaptado de [TTOV98], p. 8).
De esta forma, es factible extender el entorno CAD para soportar nuevos flujos de diseño y
sus respectivas metodologías de gestión, lo cual le confiere adaptabilidad.
Diseño de Sistemas Electrónicos Complejos
[ 4.3 ] Sinopsis de la evolución estructural de las herramientas informáticas para diseño electrónico - 221
[ 4.3.4 ] ESTÁNDARES PARA INTERCAMBIO DE INFORMACIÓN ENTRE
HERRAMIENTAS
CAD
El último paso en la evolución de las herramientas de diseño (a la fecha) lo constituye la
estandarización de formatos para el intercambio de información. De esta manera, los flujos específicos
de diseño se configuran e instrumentan empleando las herramientas CAD que adhieran a los
estándares más adecuadas para el caso. Esto evita generar interfases ad hoc entre herramientas,
y permite incluso la interoperabilidad entre herramientas independientes y entornos CAD
integrados (Fig. 4.6).
Herramientai
Entorno CAD Integradom
Entorno CAD Integradol
ESTÁNDARES
(Electrónicos
Informáticos
Mecánicos)
Herramientak
Herramientaj
Entorno CAD Integradon
Fig. 4.6: Evolución de la estructura de las herramientas CAD y su interoperabilidad (cuadro 4). Estándares Electrónicos,
Informáticos, Mecánicos. Herramientas independientes, especializadas, comparten información en base a estándares
electrónicos, informáticos, mecánicos, etc. de dominio público (Adaptado de [TTOV98], p. 8).
Este esquema ha sido promovido por la complejidad que presentan para el diseño los
sistemas heterogéneos, y la consecuente necesidad de intercambio de propiedad intelectual, y
reutilización de diseños y componentes de diseño, para superar la brecha tecnológica y las
presiones mercantiles. La creciente disponibilidad de herramientas de calidad y propiedad
intelectual de carácter libre607 ha sido un factor significativo en la consecución de este estadio.
No obstante, esta última etapa de la evolución de las herramientas CAD no soluciona
definitivamente el problema de la interoperabilidad de las herramientas: la capacidad de
transferir información gracias a los formatos estándar no implica que esa transferencia se
pueda efectuar en tiempo de ejecución, y menos aún en tiempo real. Así, la posibilidad de emplear
modelos ejecutables (en el sentido de la sección 3.4) para el diseño de sistemas electrónicos,
puede resultar significativamente limitada, según sea definido el estándar para el intercambio
de información. Este problema se analiza más adelante en este documento, cuando se trata al
problema de codiseño, cosimulación y codepuración de sistemas electrónicos.
607
Libre, en el sentido de disponer de acceso irrestricto al diseño - es decir, disponer de su descripción
completa. Esto habilita a su inspección y modificación, con objeto de mejorarlo, o adaptarlo a las
necesidades específicas del caso. No implica gratis.
Ingeniería Electrónica – Universidad Católica del Uruguay
222 - [ 4 ] Evolución Histórica de la Electrónica
[ 4.3.5 ] CLASIFICACIÓN ABSTRACTA DE HERRAMIENTAS CAD
Independientemente de su evolución estructural, las herramientas CAD pueden ser
consideradas desde la perspectiva de la tarea o función a la que asisten o automatizan, así
como por la manera en que representan la información.
Según su función, las herramientas CAD típicas pueden ser clasificadas en:
•
Herramientas de Edición: Son las herramientas que permiten al diseñador el ingreso y
manipulación de descripciones, como editores de texto para lenguajes de descripción,
programación, documentación, etc.; editores de esquemas para lenguajes de programación
con sintaxis visual, diagramas, etc.; y editores gráficos para descripciones topográficas o
geométricas (como el diseño de PCB o IC)
•
Herramientas de análisis/simulación: Son las herramientas que asisten al diseñador extraer
propiedades del diseño, ya sea de manera formal (por análisis formal) o mediante simulación.
•
Herramientas de síntesis: Son las herramientas que asisten al diseñador en los procesos de
traducción o refinamiento de descripciones de un nivel de abstracción a otro nivel de abstracción
inferior, o les efectúan en forma automática o semiautomática bajo control del diseñador.
•
Herramientas de optimación: Son herramientas íntimamente asociadas a las herramientas
de síntesis, que usualmente operan de forma transparente para el diseñador (aunque bajo
su control) y cumplen la función obvia de optimar los procesos de síntesis.
Según el modo de representar la información, las herramientas CAD pueden clasificarse en:
•
Herramientas de representación externa: Son las herramientas orientadas al usuario,
típicamente las dedicadas a efectuar descripciones, como las herramientas de edición, o las
herramientas para generación de reportes, informes, u otro tipo de salidas textuales y
visuales, como las herramientas de simulación.
•
Herramientas de representación interna: Son las herramientas orientadas al cómputo, al
procesamiento, y por lo general son transparentes o directamente ocultas al usuario, como las
herramientas de optimación. Estas herramientas operan sobre formatos intermedios o internos,
que no son los formatos de edición, ingreso, captura, reporte, o visualización de datos, sino
los formatos de trabajo de la herramienta (o conjunto de herramientas integradas).
En el capítulo 5, y particularmente en la sección 5.2, las precedentes clasificaciones de las
herramientas CAD se pueden apreciar en relación a las diferentes etapas del proceso de
diseño.
[ 4.4 ]
PRESENTACIÓN DE LA PROBLEMÁTICA Y DESAFÍOS DEL
DISEÑO ACTUAL DE SISTEMAS ELECTRÓNICOS COMPLEJOS
[ 4.4.1 ] COMPLEJIDAD Y SISTEMAS
Según Von Bertalanffy, para poder lidiar con la creciente complejidad exhumada por el
encare reduccionista de la ciencia clásica, esta debió efectuar un cambio filosófico en favor de la
moderna ‘visión de sistemas’ (sección 1.3). Así, el problema de la complejidad asociada a los
sistemas - emergente de relaciones no despreciables, alineales, y dinámicas entre las partes
constitutivas de estos - promovió en la ciencia un cambio que esencialmente requiere una
visión de alto nivel de abstracción608. Como también se aduce en el capítulo 1, las problemáticas
608
En cierta forma, consiste en la transmutación de una visión de carácter Aristotélico por una de
carácter Platónico, a la que se hace mención en la sección 1.1.1. Irónicamente, en virtud de los resultados
de Gödel y sus derivaciones (secciones 3.3.5 y 3.3.6) esta transmutación de perspectivas debe ser
considerada conjuntamente con la aparentemente necesaria renuncia a las ideas Platónicas del mundo
perfecto de las ideas. Esencialmente, consiste en efectuar abstracciones con significado, y no
Diseño de Sistemas Electrónicos Complejos
[ 4.4 ] Presentación de la problemática y desafíos del diseño actual de sistemas electrónicos complejos - 223
inherentes a los sistemas complejos cualesquiera derivan - entre otras causas - de procesos
evolutivos, los que en general incrementan la escala609 de los sistemas (si la evolución de los
sistemas respeta su jerarquía y modularidad) particularmente cuando diferentes procesos
evolutivos se combinan.
Cabe esperar entonces que las problemáticas de sistemas complejos constituyan un ‘factor
común’ a las problemáticas inherentes al diseño electrónico, ya se trate de circuitos integrados
o de cualquier sistema electrónico de tamaño macroscópico que esté constituido por muchas
partes en apreciable interacción alineal, así como de sistemas de información asociado a estos
(como, por ejemplo, los programas que ejecutan los procesadores digitales programables de
dichos sistemas, o las herramientas informáticas que asisten al diseño, tanto de los
procesadores como su programación).
Así, muchas de las dificultades y desafíos anunciados en la sección 4.2.2 trascienden al
ámbito específico del diseño de circuitos integrados VLSI, SoC, y MEMS, por derivarse de
problemáticas inherentes a sistemas electrónicos, y en última instancia, problemáticas generales
inherentes a sistemas (cualesquiera). No incidentalmente, tal como se discute en el capítulo 1 de
este documento, surge entonces el problema de la complejidad asociada a los sistemas y
nuestras limitaciones cognitivas. “Los avances en la tecnología electrónica han sido sencillamente
extraordinarios. Como se manifiesta en la ‘Ley de Moore’, el subyacente crecimiento exponencial en las
capacidades a precio constante tiene profundas implicancias a lo largo del tiempo. Implica un
desplazamiento desde limitaciones de desempeño a limitaciones causadas por nuestra incompleta
comprensión de como realizar determinada aplicación. (...) Actualmente, gran parte del necesario
progreso es constreñido por limitaciones en nuestra comprensión de la tarea o aplicación, más que por la
factibilidad o el coste de implementación.”610 ([LM98], pp. 77-78). “En ciertos casos, un diseño puede no
ser siquiera intentado, puesto que su complejidad no puede ser administrada. La mayor parte de los
programas informáticos hoy en día no serían diseñados sin lenguajes de alto nivel, pese a consideraciones
de eficiencia. Por lo tanto, metodologías y herramientas que manejen la complejidad, aún si sacrifican la
eficiencia, no solamente resultan deseables sino esenciales. En resumen, el aspecto crítico para el
desarrollo de muchos productos no es ‘¿cómo diseñamos circuitería lo suficientemente veloz?’ sino más
bien ‘¿es factible administrar la complejidad del diseño?’ o ‘¿cómo reducimos el tiempo de
comercialización?’ ”611 ([LM98], p. 79).
Los problemas que enfrenta el diseño electrónico de actualidad son, como los de la
ciencia contemporánea, problemas de sistemas 612. Y en este contexto, emerge como
una de las principales dificultades el manejo de la complejidad asociada a los
sistemas, dadas nuestras limitaciones cognitivas.613 Así, el aspecto crítico
para el desarrollo actual de sistemas electrónicos consiste en la
administración de la complejidad del diseño.
También en concordancia con los argumentos que se esgrimen en el capítulo 1 de este
documento, Lee y Messerschmitt resaltan en [LM98] la importancia de la abstracción en el
diseño electrónico, como forma de lidiar con la complejidad asociada a los sistemas614.
<< p. 222 exclusivamente estructurales.
609
No se debe confundir el significado de ‘escala’ en el contexto de sistemas complejos cualesquiera, con
el concepto de ‘escalamiento’ en el contexto de semiconductores, aunque estén relacionados: este último
se refiere a la reducción del tamaño de los circuitos integrados, mientras que el primero tiene relación con
la cantidad de partes constitutivas de un sistema. Tampoco debe confundirse el término ‘reducción’ en el
contexto de semiconductores, con el concepto de ‘reduccionismo’ de la ciencia clásica, pese a su posible
‘semejanza metafórica’.
610
Texto traducido del original, en inglés. Ver nota 54, p. 39.
611
Texto traducido del original, en inglés. Ver nota 54, p. 39.
612
Ver capítulo 1, particularmente la sección 1.3.2.
613
Ver capítulo 1, particularmente la sección 1.4.
614
Sistemas complejos en la noción de Simon (y que es la adoptada en el presente trabajo): ‘totalidades’
cuyas partes experimentan interacciones no lineales ni despreciables, y que presentan >> p. 224
Ingeniería Electrónica – Universidad Católica del Uruguay
224 - [ 4 ] Evolución Histórica de la Electrónica
“Mientras que anteriormente los límites fundamentales en ingeniería eléctrica eran siempre de tipo físico,
hoy tienden a ser la complejidad (y sus primos, ‘decidibilidad’ y computabilidad615). La arquitectura
concebida con cuidado es necesaria para administrar la complejidad, a veces a expensas de la eficiencia.
Una herramienta importante para el manejo de la complejidad es la abstracción. Uno de los éxitos más
dramáticos de la abstracción es el diseño digital, donde los circuitos son modelados como funciones
Booleanas. Otro ejemplo es el diseño sincrónico, donde el tiempo se torna discreto. (...) Muchos diseños
hoy en día usan simultáneamente múltiples abstracciones. Por ejemplo, un microcontrolador puede ser
concebido como un circuito digital sincrónico y luego abstraído como un conjunto de instrucciones. El
conjunto de instrucciones puede ser posteriormente abstraído mediante un compilador, en cuyo caso los
diseños se llevan a cabo en un lenguaje de alto nivel como C, C++, o Java. Los sistemas operativos,
componentes de ‘software’ (JavaBeans o ActiveX) y ‘middleware’ (como CORBA o DCOM) ofrecen
niveles de abstracción aún mayores para el diseño de sistemas. En algunas situaciones, la penalización
sobre el desempeño incurrida por basar los diseños en niveles de abstracción superiores puede ser
sustancial. Esta penalización, sin embargo, resulta perfectamente aceptable cuando nos damos cuenta
que el diseño no podría haber sido conceptualizado correctamente a niveles de abstracción inferiores, o
que el costo o el tiempo de desarrollo del diseño serían excesivos. Un diseño efectuado a un nivel de
abstracción demasiado bajo es probable que resulte pobre, tardío, o ambas cosas.”616 ([LM98], p. 79).
Una herramienta importante para lidiar con la complejidad es la
abstracción617. Y pese al detrimento en el desempeño o eficiencia en los que pueda
incurrirse como consecuencia de efectuar los diseños a un nivel de abstracción
elevado, tal penalización resulta perfectamente aceptable si se estima que el diseño
efectuado a niveles de abstracción demasiado bajos probablemente resulte
pobre, tardío, o directamente erróneo por no ser conceptualizado
correctamente.
[ 4.4.2 ] ABSTRACCIONES ADECUADAS
La abstracción por sí sola no es suficiente para lidiar eficientemente con la
complejidad.
Es preciso determinar y aplicar las abstracciones adecuadas a cada caso.
En sus orígenes, los sistemas electrónicos se limitaban a implementar funciones fijas, como
por ejemplo las funciones de calculadoras elementales o equipos de radio y televisión sencillos.
Sin embargo, desde la aparición del primer microprocesador, los sistemas electrónicos han ido
incorporando en forma creciente dispositivos programables en virtud de la flexibilidad que les
confiere la programabilidad, al punto que los sistemas electrónicos de función fija constituyen
hoy la excepción: las calculadoras son programables por el usuario, los equipos de audio y
video incorporan diferentes tipos de procesadores para sus funciones internas y la interfaz con
el usuario, e incluso los automóviles incorporan electrónica programable. El caso emblemático
lo constituyen los computadores: su utilidad reside exclusivamente en la programabilidad.
<< p. 223 estructura de carácter jerárquico - modular. Esto último - poseer estructura, y que esta sea
jerárquica y modular - es lo que los mantiene dentro de los límites cognitivos. Podríamos denominar
sistemas hipercomplejos a los que no se logra percibirles estructura - quizás probablemente por no ser
ésta de carácter jerárquico, o modular - los cuales quedarían así fuera de nuestra capacidad de
comprensión (al menos, por la vía puramente ‘estructural’; quizás la incorporación de semántica
permita acceder a este tipo de sistemas, pero probablemente a costa de indeterminismo, pérdida de
certeza, incremento del carácter estadístico, etc.).
615
Nótese aquí la referencia a los resultados de Gödel y Turing (secciones 3.3.5 y 3.3.6).
616
Texto traducido del original, en inglés. Ver nota 54, p. 39. Se mantienen los términos ‘software’ y
‘middleware’ que figuran en el original, aquí entre comillas simples.
617
Ver capítulo 1, particularmente la sección 1.1.1.
Diseño de Sistemas Electrónicos Complejos
[ 4.4 ] Presentación de la problemática y desafíos del diseño actual de sistemas electrónicos complejos - 225
En el precedente contexto, el diseño de sistemas electrónicos tradicional ha distinguido dos
aspectos o fases del diseño: ‘hardware’, en referencia a los dispositivos electrónicos físicos618, y
‘software’, en referencia a la programación de aquellos dispositivos electrónicos físicos
programables619. Una evidencia manifiesta de ello es la existencia en la educación universitaria
típica de formaciones independientes de profesionales en informática y electrónica.
Sin embargo, puede observarse que el diseño de ‘hardware’ de actualidad incorpora cada vez
más las técnicas usuales en el desarrollo de ‘software’ y, recíprocamente, el ‘software’ está
adoptando metodologías características del diseño de ‘hardware’ para su propio desarrollo,
situación que sugiere revisar el origen de los conceptos ‘software’ y ‘hardware’, y la aparente
diferencia entre lo que estos evocan: “Cada vez más, los diseños combinan elementos mejor
adaptados a la programabilidad con elementos mejor adaptados a ‘hardware’ diseñado a medida. La
diferencia esencial hoy es que el ‘software’ es secuencial y el ‘hardware’ es concurrente, pero esta
distinción se está difuminando. Tecnologías como los compiladores comportamentales están introduciendo
un estilo más secuencial en el diseño de ‘hardware’. Mientras tanto, lenguajes de programación
concurrentes están introduciendo más concurrencia en el diseño de ‘software’. La cuestión esencial es
escoger la abstracción adecuada, no de elección entre ‘hardware’ y ‘software’; de hecho, puede
argumentarse que esta última carece de sentido dado que cualquier diseño de ‘software’, cuando se lo
considera a otro nivel de abstracción, es un diseño de ‘hardware’620.“621 ([LM98], p. 80).
La precedente observación tiene además una contraparte operacional. “Sintácticamente,
‘hardware’ y ‘software’ se han fusionado completamente. Mientras que los diagramas lógicos y
esquemáticos eran lo usualmente empleado para diseño de ‘hardware’, hoy es cada vez más frecuente
programas en Verilog y VHDL. Estos programas se asemejan sintácticamente mucho más al ‘software’
que al ‘hardware’. Lo que los hace ‘hardware’ es la semántica concurrente detrás de la sintaxis. Las
ingenierías de ‘software’ y ‘hardware’ tiene de pronto muchas cosas en común. Ambas lidian con control
de código fuente, depuración interactiva, estructuras de datos, técnicas de compilación, y semántica de los
lenguajes de programación622. El diseño de sistemas digitales es mayormente una tarea de programación.
Al nivel práctico, el diseño de ‘hardware’ digital en el sentido moderno de emplear herramientas de
diseño asistidas por computador y lenguajes de descripción de ‘hardware’ requiere un conjunto de
habilidades de programación notablemente similar al diseño de ‘software’, incluso en el uso de modelos
de eventos discretos y concurrencia. (...) Mientras que uno puede argumentar que la ‘Ley de Moore’ está
generalmente desplazando al diseño desde ‘hardware’ hacia ‘software’, el diseño de ‘software’ está
también beneficiándose cada vez más de metodologías de diseño al estilo del ‘hardware’. Hay hoy un
énfasis creciente sobre reutilización en ‘software’, y un encare que está adquiriendo impulso son los
componentes de ‘software’. Hay además un creciente interés en la concurrencia y la comunicación dentro
de un sistema de ‘software’. El sofisticado modelo de concurrencia implementado en los lenguajes de
programación sincrónicos/reactivos como Esterel y Lustre emplea abiertamente la metáfora de ‘hardware’
síncrono, y los compiladores para esos lenguajes han tomado prestado métodos de síntesis de ‘hardware’.
La concurrencia en ‘software’, no obstante, puede asumir más formas que lo que puede hacer en
618
Los dispositivos físicos son tangibles, de donde surge la designación alegórica ‘hard - ware’, o cosas
(‘ware’) duras (‘hard’).
619
La programación es considerada inherentemente inmaterial, y por tanto, intangible; de ello surge la
designación alegórica ‘soft - ware’, o cosas (‘ware’) blandas (‘soft’).
620
De hecho, considerado a un nivel de abstracción relativamente bajo, un sistema electrónico que
incluya procesadores programables y su respectiva programación puede ser visto enteramente como un
dispositivo físico (puramente ‘hardware’ en la noción tradicional) donde los programas son meramente el
estado inicial de los elementos y/o celdas de memoria del sistema.
621
Texto traducido del original, en inglés. Ver nota 54, p. 39. Se mantienen los términos ‘software’ y
‘hardware’ que figuran en el original, aquí entre comillas simples.
622
Nótese que aquí, semántica no tiene el significado que se le otorga en el capítulo 3 del presente
documento (esencialmente, interpretación del contenido). En el contexto de lenguajes de programación y
compiladores, semántica se refiere, irónicamente, a la interpretación de la sintaxis (el significado de la
estructura sintáctica, no de su contenido).
Ingeniería Electrónica – Universidad Católica del Uruguay
226 - [ 4 ] Evolución Histórica de la Electrónica
‘hardware’. No requiere estar limitada por nociones de tiempo o distancia, por ejemplo 623, y puede
introducir la noción de cómputo transportable, como agentes o ‘applets’624 de Java, que no tienen
contraparte en ‘hardware’.”625 626([LM98], pp. 82-83).
Así, tal como se aduce en las secciones 4.1 y 4.3, el diseño de ‘hardware’ ha cambiado
radicalmente sobre fines del siglo XX. La inextricable relación entre lo que habitualmente se
designa ‘hardware’ y ‘software’ evidencia la necesidad de revisar el concepto subyacente a esa
designación - esencialmente, que los términos ‘hardware’ o ‘software’ responden al grado de
concurrencia o secuencialidad de la aplicación.
Lo que usualmente se designa ‘hardware’ y ‘software’ en electrónica son
cuestiones esencialmente equivalentes cuando se les considera desde
ciertos niveles de abstracción.
De hecho, el diseño de ‘hardware’ y ‘software’ se ha fusionado
completamente desde el punto de vista sintáctico: el diseño de sistemas
digitales es mayormente una tarea de programación, y al nivel práctico, el diseño de
‘hardware’ digital - en el sentido moderno de emplear herramientas de diseño
asistidas por computador, y lenguajes de descripción de ‘hardware’ - requiere un
conjunto de habilidades de programación notablemente similar al diseño de
‘software’. Recíprocamente, el diseño de ‘software’ está incorporando cada vez más
conceptos y metodologías de diseño al estilo ‘hardware’, como ‘reutilización’ de
‘componentes’, ‘concurrencia’, y ‘comunicación’ dentro de un sistema de ‘software’.
Esta crecientemente inextricable relación entre lo que habitualmente se
designa ‘hardware’ y ‘software’ exige replantearse el concepto subyacente
a esa designación - en esencia, pensar en términos de ‘hardware’ o
‘software’ de acuerdo al grado de concurrencia o secuencialidad en una
aplicación.
Así, la adopción de un encare ‘hardware’ o ‘software’ según el grado de
concurrencia o secuencialidad de un aplicación no necesariamente
constituye una ‘abstracción adecuada’.
En [HNP94], Hehner, Norvell y Paige se refieren al diseño electrónico (digital) a alto nivel de
abstracción627, y puede verse que aquí también se promueve el empleo de la abstracción
623
La concurrencia en dispositivos electrónicos físicos debe forzosamente considerar la distancia entre
sus diversos componentes en relación a la frecuencia de las señales entre estos: la propagación de
señales en caminos conmensurables con su longitud de onda pueden (entre otros efectos de ‘líneas de
transmisión’) desincronizar lo que en esquemáticos del circuito parecía ser concurrente (ver, por
ejemplo, la nota 584, p. 211).
624
‘Applet’: programa que es ejecutado desde otro programa. Un caso típico lo constituyen los pequeños
programas que se ejecutan dentro de un programa de navegación (‘browser’) de internet, cuando es
visitada la página en la cual los ‘applets’ se hallan embebidos. Esto permite que sea el propio computador
local (el que ejecuta el cliente de navegación) quien genere la salida prevista por el ‘applet’ ejecutándolo
localmente, en lugar de solicitar al servidor remoto que ejecute el programa para descargar los
resultados. De aquí se infiere la designación de cómputo transportable: se transporta el motor del
cómputo, en lugar de sus resultados. Debe garantizarse, sin embargo, que este motor sea ejecutable en
el destino; la máquina virtual de Java es una solución prevista para este caso (esencialmente, es un
intérprete con múltiples implementaciones orientadas a operar en diversas plataformas
computacionales).
625
Texto traducido del original, en inglés. Ver nota 54, p. 39. Se mantienen los términos ‘software’,
‘hardware’, y ‘applets’ que figuran en el original, aquí entre comillas simples.
626
Conceptos como ‘eventos discretos’, ‘concurrencia’, ‘lenguajes sincrónicos/reactivos’, ‘síntesis de
‘hardware’’, etc. son presentados con mayor detalle en el capítulo 5 del presente documento.
627
El objeto del trabajo citado ([HNP94]) es la presentación de dos métodos con los cuales implementar
programas ordinarios con puertas lógicas. Nótese que, de hecho, este trabajo indica una implementación
concreta de la equivalencia entre ‘hardware’ y ‘software’.
Diseño de Sistemas Electrónicos Complejos
[ 4.4 ] Presentación de la problemática y desafíos del diseño actual de sistemas electrónicos complejos - 227
adecuada al propósito: “Los métodos de diseño de circuitos digitales que se encuentran comúnmente en
los textos actuales se asemejan a los métodos de programación de bajo nivel en lenguaje de máquina de
cuarenta años atrás. Seleccionar manualmente las puertas lógicas individuales en un circuito es algo así
como seleccionar las instrucciones de máquina individuales en un programa. Estos métodos podrán haber
sido adecuados para el diseño de circuitos pequeños cuando se les introdujo, y podrán ser aún adecuados
para circuitos grandes que son simplemente repeticiones de uno pequeño (como una memoria) pero no
son adecuados para circuitos de aplicación específica que ejecutan algoritmos particulares y complicados.
La alternativa usual a la construcción de circuitos específicos para una aplicación es usar un procesador
de uso general, y adaptarlo para la aplicación escribiendo un programa. Que ello se pueda hacer fue una
visión fundamental, debida a Turing, sobre la cual se basa la ciencia de la computación. Pero para
algunas aplicaciones, particularmente donde la velocidad de ejecución o la seguridad es importante, un
circuito construido a medida presenta algunas ventajas sobre la usual combinación procesador-yprograma. La velocidad se mejora debido a la ausencia de circuitos al nivel de ‘lenguaje de máquina’ con
su ciclo de interpretación ‘carga - ejecución’, y por la facilidad con la que puede introducirse el
paralelismo. La seguridad se mejora por la imposibilidad de reprogramación. Adicionalmente, a menos
que la aplicación requiera un algoritmo extenso, se ahorra espacio en comparación con la combinación de
programa y procesador.”628 ([HNP94], pp. 381-382). Aquí se tiene en forma manifiesta que la
abstracción per se no sólo es insuficiente, sino que tampoco necesariamente resulta útil: la
alternativa al diseño de circuitos específicos - usar un procesador y adaptarlo a la aplicación
mediante programación - equivale a agregar un nivel de abstracción (conjunto de
instrucciones, y su ciclo de carga-ejecución) al diseño, pero este nivel adicional no siempre es
admisible, particularmente en aplicaciones con requerimientos exigentes de velocidad y
seguridad.
Para Lee y Messerschmitt, un incremento del nivel de abstracción en el diseño efectuado de
forma adecuada requiere la redefinición de las nociones y conceptos tradicionales en ingeniería
eléctrica, amén de la revisión de los conceptos referidos a ‘hardware’ y ‘software’ discutida
precedentemente. “Una fortaleza tradicional en ingeniería eléctrica ha sido su encare formal al
modelado de sistemas. Estructuras matemáticas bien desarrolladas, como transformadas de Laplace y
Fourier, ecuaciones diferenciales, procesos estocásticos, y álgebra lineal, han provisto el fundamento para
el modelado de circuitos, procesamiento de señales, control realimentado, y la capa física de las
comunicaciones. Todas estas áreas, sin embargo, se han tornado el dominio de los expertos técnicos y
quedan progresivamente fuera del alcance de los diseñadores629. Para atender las necesidades de los
diseñadores mientras se preserva la tradicional fortaleza en el modelado formal, debemos elevar el nivel
de abstracción. La noción de ‘señal’ no debería limitarse más a sólo ‘voltaje en el tiempo’, sino que
debería ser generalizada para incluir el arribo discreto de mensajes. La noción de ‘estado’ no debería
circunscribirse más a las variables en una ecuación diferencial, sino que debería generalizarse hasta
incluir el estado de un autómata finito. La noción de ‘sistema’ no debería continuar siendo la de una
matriz que define un conjunto de ecuaciones lineales, sino que se debería generalizar hasta incluir un
motor computacional completo en el sentido de Turing.”630 ([LM98], p. 81). No obstante la visión de
‘sistemas’ para el diseño electrónico que se promueve en [LM98], no se discute allí cuales son
los mecanismos concretos para efectuar el incremento del nivel de abstracción.
Al elevar el nivel de abstracción en el diseño, se puede mantener la
fortaleza tradicional de la ingeniería eléctrica, que es su encare formal
para el modelado de sistemas: la clave consiste en permitir a los
diseñadores trabajar en los niveles de abstracción superiores, mientras que
628
Texto traducido del original, en inglés. Ver nota 54, p. 39.
629
Los autores citados designan como ‘expertos técnicos’ a los ingenieros especialistas - usualmente
graduados a nivel doctoral (PhD) - que se hallan involucrados en las investigaciones y trabajos altamente
técnicos que definen el ‘estado del arte’. Con la denominación de ‘diseñadores’ se refieren a los
ingenieros que no caen en la precedente categoría, los cuales usualmente ostentan un grado de ‘bachelor’
(BS) o posiblemente ‘master’ (MSc) y son fundamentalmente quienes diseñan los ‘sistemas’
([LM98], p. 81).
630
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
228 - [ 4 ] Evolución Histórica de la Electrónica
los expertos técnicos pueden continuar en los niveles de abstracción
inferiores631.
Así, la cuestión se torna en establecer los métodos mediante los cuales es
factible elevar adecuada y disciplinadamente el nivel de abstracción.
Tal como se aduce en el presente capítulo, las herramientas informáticas de diseño son
indispensables para el diseño electrónico, y la razón fundamental es que proveen el soporte
para lidiar con múltiples niveles de abstracción. “El diseño de los ‘chips’ actuales con millones de
transistores sería muy difícil de lograr sin herramientas de diseño asistidas por computador. Estas
herramientas administran la información evolutiva del diseño, asisten en la coordinación de múltiples
diseñadores, automatizan ciertas tareas de optimación, y permiten trabajar al diseñador con niveles de
abstracción más altos. Puede argumentarse que la última tarea, pese a ser la más importante, es la más
lenta en evolucionar. En el contexto del diseño digital, el encare de Mead - Conway y los lenguajes de
diseño de ‘hardware’ (hoy particularmente VHDL y Verilog) constituyen dos mojones claves con los
cuales fueron puestos a disponibilidad de los diseñadores nuevos y más altos niveles de abstracción. (...)
Asimismo, nuevas cuestiones devinieron fundamentales a causa de las herramientas. Verilog y VHDL,
por ejemplo, son lenguajes de programación concurrentes con un modelo de cómputo de eventos
discretos632. Un consumidor de herramientas de diseño informado, por tanto, necesita ciertos
conocimientos fundamentales de concurrencia y modelado mediante eventos discretos.”633
([LM98], p. 80).
La precedentemente referida ubicuidad de los HDL - de hecho, la de cualquier lenguaje de
programación - para el diseño de sistemas digitales, es expresada claramente por Hehner,
Norvell y Paige, y reside en la capacidad de permitir descripciones a un nivel de abstracción
superior al de puertas lógicas: “El diseño de circuitos puede ser hecho en forma más efectiva
describiendo la función que un circuito debería cumplir, que describiendo al circuito que debería cumplir
esa función. Un lenguaje de programación es más conveniente para ese propósito que un lenguaje a nivel
de puertas lógicas. Parece casi obvio que los circuitos complejos pueden ser diseñados de esta manera más
fácil y confiablemente que mediante descripciones a bajo nivel en términos de compuertas.”634
([HNP94], p. 410). Al respecto, cabe recordar que los HDL (como VHDL, Verilog, SystemC,
etc.) permiten descripciones tanto a nivel de puertas lógicas, como también a niveles de
abstracción superiores como el nivel funcional o comportamental635.
No obstante, al afirmar que el diseño de circuitos puede ser hecho más efectivamente
mediante lenguajes de programación (ya sea HLL usuales, o HDL) se estaría asumiendo la
existencia de mecanismos para la implementación automática de circuitos a partir de
descripciones comportamentales, cuestión resuelta a la fecha sólo para subconjuntos de los HDL
y lenguajes de programación referidos636.
Pero aún admitiendo su superior efectividad respecto a las descripciones efectuadas al nivel
de puertas lógicas, el diseño a nivel funcional mediante HLL o HDL requiere un conocimiento
de las limitaciones expresivas de los lenguajes, y cierto conocimiento de los mecanismos intrínsecos
de herramientas correspondientes (como los compiladores); no alcanza con meramente
dominar la sintaxis de los lenguajes. Adicionalmente, la selección de la abstracción adecuada
entre las disponibles en los HDL (y eventualmente, algún HLL) resulta competencia específica
631
Nótese que, en esencia, esto sugiere una combinación de los encares ascendente y descendente de un
proceso de diseño (ver sección 2.2.1).
632
El concepto de ‘modelo de cómputo’ se estudia en la sección 5.5.
633
Texto traducido del original, en inglés. Ver nota 54, p. 39. Se mantienen los términos ‘chips’ y
‘hardware’ que figuran en el original, aquí entre comillas simples.
634
Texto traducido del original, en inglés. Ver nota 54, p. 39. Nótese que aquí se sugiere el ‘caso
recíproco’ mencionado en la nota 627, p. 226.
635
Ver secciones 4.1.2 y 4.1.3.
636
Proceso habitualmente referido - con cierta laxitud - como síntesis automática de circuitos (sección
5.2.6.1).
Diseño de Sistemas Electrónicos Complejos
[ 4.4 ] Presentación de la problemática y desafíos del diseño actual de sistemas electrónicos complejos - 229
de los diseñadores que usan estos lenguajes para describir circuitos - ni los lenguajes, ni sus
herramientas asociadas poseen capacidad de decisión a ese nivel - lo que sugiere fuertemente
que el diseñador debe conocer los conceptos fundamentales subyacentes a cada abstracción.
Para el diseño de sistemas electrónicos digitales los HDL constituyen un recurso
clave, con cuya consecución fueron puestos a disponibilidad de los diseñadores
nuevos y más altos niveles de abstracción que el eléctrico y geométrico, e incluso,
que el de puertas lógicas. Y la razón es que en casos de complejidad
significativa, es más fácil, confiable y efectivo describir la función que
debe cumplir un circuito, que describir al circuito que cumpla esa función637.
Por tanto, un vehículo indispensable para alcanzar niveles de abstracción
superiores lo constituyen las herramientas informáticas de asistencia al
diseño. No obstante, el empleo eficiente de herramientas informáticas para asistir al
diseño requiere conocimientos adecuados, no solamente de las
metodologías y flujos de diseño pertinentes a los procesos de diseño
soportados por las herramientas, sino además de las propias abstracciones
y formalismos sobre las cuales se implementa el funcionamiento de las
mismas638. Con los HDL, por ejemplo, afloran cuestiones como ‘concurrencia’ y
‘eventos discretos’, asociados a ‘control de código fuente’ y ‘compilación’, motivo por
el cual estos conceptos - y otros de diversa índole639 - devienen fundamentales para
el diseñador.
Consecuentemente, no sólo se requieren determinar las abstracciones
adecuadas para cada diseño640 sino que además debe tenerse en cuenta
como realizar las referidas abstracciones empleando las herramientas de
diseño apropiadas, en forma disciplinada y consciente641.
[ 4.4.3 ] SISTEMAS EMBEBIDOS HETEROGÉNEOS
Es posible identificar un aspecto clave que contribuye a la complejidad asociada a los
sistemas, en torno al cual gira la problemática y desafíos del diseño de sistemas electrónicos
actuales: la heterogeneidad. Esta no sólo es una característica de los SoC o MEMS (sistemas ‘a
escala microscópica’) sino también de los sistemas designados sistemas embebidos (sistemas ‘a
escala macroscópica’).
Los sistemas embebidos son sistemas electrónicos con capacidad de cómputo, pero que por
estar ‘embebidos’ en otros sistemas a los cuales controlan o aportan funcionalidades, no son
percibidos como un computador. Son, sin embargo, omnipresentes en la vida moderna 642: se
637
Es evidentemente más probable que la descripción de un circuito complejo efectuada a nivel funcional
mediante un HDL (o un HLL con facilidades de expresión orientadas al diseño electrónico) genere un
circuito con el comportamiento deseado, que la misma descripción intentada a nivel arquitectural
(estructural; en términos RTL o de puertas lógicas) o físico (a nivel de transistor, eléctrico o geométrico).
638
Recuérdese que cualquier programa informático debe ser descrito en términos formales, aunque no
necesariamente su comportamiento constituye o implementa un formalismo. En el ámbito de las
herramientas de diseño electrónico un ejemplo lo constituyen los modelos ejecutables destinados a
simulación para producir ‘evidencia computacional’ o trazas de comportamientos (ver sección 3.4).
639
Por ejemplo, en el caso de los HDL se presentan limitaciones expresivas si se pretende emplearlos para
la síntesis automática eficiente de circuitos, que obligan a restringirse a un subconjunto de dichos lenguajes
para efectuar las descripciones para sintetizar.
640
Por ejemplo, al nivel más trivial, determinar que conviene tratar como ‘software’, que como ‘hardware’.
641
Cuales herramientas son necesarias, como se comunican o interoperan, como se asegura que no
incorporan errores al proceso por mala utilización, etc.
642
La vida moderna en sociedades de consumo tecnificadas. Vergonzosamente, a la fecha la mayor parte
de la población mundial aún desconoce el teléfono, no dispone de energía eléctrica, ni agua potable por
cañería.
Ingeniería Electrónica – Universidad Católica del Uruguay
230 - [ 4 ] Evolución Histórica de la Electrónica
les halla en los actuales equipos de audio, fotografía, y video; equipos de telefonía celular y fija;
asistentes digitales personales643; electrodomésticos programables; equipamiento médico,
industrial, científico y militar; equipamiento de automóviles, trenes, barcos, aviones y
vehículos aeroespaciales; etc.
La función esencial de los sistemas embebidos es la interacción con el medio ambiente y sus
procesos físicos que se desarrollan en el tiempo. Así, a diferencia de los sistemas de cómputo
convencionales, los sistemas embebidos necesariamente han de tener una noción de las
variables físicas, particularmente el tiempo físico.
Asimismo, en virtud de sus aplicaciones, los sistemas embebidos son limitados en su tamaño
físico, consumo de potencia, y capacidad de memoria, y por tanto presentan una arquitectura
especializada para cada aplicación. Su arquitectura ‘hardware’ debe ser conformada por
dispositivos de índole diversa para adaptarles a la aplicación, por ejemplo: SoC, MEMS, ASIC
y/o ASIP 644 para funciones críticas y/o específicas; FPGA y/o DSP para procesamiento de
señales; microcontroladores para control del sistema e interfases de usuario; conversores
AD/DA, y un conjunto de entradas y salidas digitales para interactuar con el mundo físico;
etc. La correspondiente arquitectura ‘software’ resulta una mezcla de programación orientada al
control, programación orientada al flujo de datos, y programación para interfaz y comando de
dispositivos periféricos para administrar los diferentes dispositivos y tareas del sistema.
Consecuentemente, los sistemas embebidos son esencialmente
heterogeneidad se manifiesta en las siguientes dimensiones:
heterogéneos, y esa
1. los sistemas embebidos requieren dispositivos electrónicos físicos específicos a cada
aplicación, así como de programación de complejidad significativa a ejecutarse en los
dispositivos programables; en el contexto de aplicaciones diversas y específicas bajo severas
restricciones de coste645, esta heterogeneidad ‘hardware - software’ supera largamente a la
relativa a computadores y programas convencionales, y se manifiesta al momento de la
integración del sistema
2. el ‘hardware’ embebido es inherentemente heterogéneo, en virtud de la combinación de
múltiples dispositivos requerida por la variedad y especificidad de las aplicaciones; entre
estos se cuentan amplificadores, reguladores, filtros, conversores A/D y D/A,
microcontroladores, DSP, memorias, ASIC, ASIP, FPGA, y eventuales SoC y MEMS que
incorporarían elementos ópticos y mecánicos a los precedentes elementos y dispositivos
electrónicos
3. el ‘software’ embebido es correspondientemente heterogéneo, en función de la diversidad de
estilos de programación que requieren estos sistemas y su arquitectura ‘hardware’; en un
caso típico de sistema embebido, como el computador de abordo de un automóvil, se
ejecuta una mezcla de procesos orientados al control, bajo la supervisión de un núcleo de
tiempo real multitarea (que corren, por ejemplo, sobre uno o varios microcontroladores y/o
ASIP) así como tareas orientadas al procesamiento de señales digitales en tiempo real (por
ejemplo, trabajando cooperativamente sobre uno o varios DSP, en comunicación con
aceleradores en FPGA y/o ASIC) motivo por el cual la programación de los referidos
subsistemas necesariamente difiere en forma radical
Así, no sólo los sistemas embebidos son heterogéneos por integrar componentes ‘hardware’ y
‘software’ complejos y específicos, sino que tanto la arquitectura ‘hardware’ como la arquitectura
643
Las modernas agendas electrónicas PDA, ‘Personal Digital Assistants’.
644
‘Application - Specific Instruction Processors’: procesadores integrados específicos a la aplicación.
Constituyen un caso particular de ASIC, donde el circuito integrado diseñado específicamente para la
aplicación es un un procesador que interpreta y ejecuta instrucciones también específicas a la aplicación:
un ‘intérprete de silicio’ específico a la aplicación.
645
En el sentido amplio del término: restricciones al tamaño físico, al tamaño de la memoria, al consumo
de potencia, al costo económico, etc.
Diseño de Sistemas Electrónicos Complejos
[ 4.4 ] Presentación de la problemática y desafíos del diseño actual de sistemas electrónicos complejos - 231
‘software’ son heterogéneas en sí mismas, requiriendo estilos de diseño radicalmente diferentes
para cada uno de sus módulos.
Un factor adicional a la complejidad es la heterogeneidad. Los sistemas
embebidos, que son esencialmente heterogéneos, representan así el mayor
desafío para el diseño electrónico de actualidad. Una evidencia de esta
situación es la diversidad de modelos y lenguajes empleados para la
descripción de los sistemas embebidos.
La heterogeneidad de los sistemas embebidos actuales no sólo está dada
por la mezcla de dispositivos electrónicos físicos con la programación que
compete a los de tipo programable (es decir, la integración de componentes
‘hardware’ y ‘software’ en un mismo sistema) sino también por la
heterogeneidad de los propios componentes ‘hardware’ del sistema (como
IC analógicos, digitales, o mixtos, y sus sub-variedades, más la diversidad de
dispositivos programables, y eventuales partes mecánicas) así como por la
heterogeneidad de estilos de programación requerida para los componentes
‘software’ (como orientación a control, procesamiento de señales, interfases de
usuario, etc.) ([CKL95], pp. 1-2).
[ 4.4.4 ] SISTEMAS ELECTRÓNICOS ANALÓGICOS
Hasta aquí poco se ha mencionado respecto al diseño electrónico analógico. Y el motivo
fundamental es que, actualmente, el cuello de botella se halla en los niveles de mayor
abstracción - al nivel de sistema - mientras que el diseño analógico concentra sus esfuerzos a
niveles eléctrico y topográfico, es decir, al nivel físico, de mínima abstracción (ver sección 5.2,
figuras 5.5 y 5.3). En otras palabras: el diseño analógico es fundamentalmente orientado a
componentes, más no a sistemas, motivo por el cual este documento no dedica atención especial
al diseño analógico.
No obstante, los componentes analógicos son partes constitutivas indispensables de los
sistemas electrónicos, y como tales, deben ser contemplados en el contexto del sistema.
Asimismo, el advenimiento de los SoC y MEMS ineluctablemente requiere considerar ciertos
aspectos de los referidos sistemas a nivel físico, dominio por excelencia del diseño analógico.
Por tanto, es conveniente precisar la problemática y desafíos planteados por el diseño
analógico desde la perspectiva del diseño de sistemas electrónicos complejos.
Al respecto, cabe notar que los problemas de SoC y MEMS a nivel de sistema son,
precisamente, problemas de sistemas, por lo cual se aplican todas las observaciones
concernientes a sistemas efectuadas en el presente documento, por más que estas sean hechas
en el contexto de sistemas mayormente digitales y macroscópicos. Así, las particularidades del
nivel físico (como posibles efectos cuánticos y limitaciones atómicas de la materia, conforme se
reducen las dimensiones de los IC) tienden a ser incorporadas en las herramientas de diseño, al
igual que actualmente sucede con los efectos topográficos y elementos parásitos en un IC. En
particular, los simuladores de circuitos analógicos son unas de las herramientas que deben
considerar los efectos físicos a escala microscópica con creciente precisión, en virtud de su
incidencia conforme se reducen las dimensiones de los transistores, se aumentan las
frecuencias de trabajo646, y disminuyen los voltajes de alimentación debido a los requerimientos
de consumo cada vez más exigentes.
Si bien a la fecha aún alcanza con herramientas del carácter de las descritas en la sección
4.1.2 para la mayoría de los diseños analógicos, en la sección 4.2 se advierte que se aproxima el
momento en el cual la referida incidencia de la escala atómica de la materia en la fabricación de
los IC obligará a considerar los efectos cuánticos, y efectos del encapsulado, tanto en el diseño
646
Se recuerda que al nivel de transistor (niveles eléctrico y topográfico) un diseño digital es
forzosamente un circuito analógico, y como tal, la ‘frecuencia de operación’ es un parámetro relevante
en el dominio analógico.
Ingeniería Electrónica – Universidad Católica del Uruguay
232 - [ 4 ] Evolución Histórica de la Electrónica
analógico como también en el digital. Esto, sumando al advenimiento de los SoC o MEMS,
requerirá una convergencia entre las áreas digital y analógica superior a la obtenida
actualmente. Al respecto, ya existen iniciativas de extensiones a los HDL para la descripción
de circuitos analógicos (como por ejemplo, VHDL-AMS 647 para el lenguaje VHDL) que buscan
elevar el nivel de abstracción de las descripciones de componentes analógicos, con el propósito
de obtener mayor eficiencia en las simulaciones para incorporarles en simulaciones a nivel de
sistema, sin una penalización significativa en eficiencia y precisión. Aún así, se requiere
mantener el nexo con los simuladores de mayor precisión a nivel físico.
Consecuentemente, desde una perspectiva de sistemas, el mayor desafío del diseño
electrónico analógico se presenta en el desarrollo de las herramientas de diseño analógico, y la
integración de estas en el flujo de diseño de sistemas mixtos digitales - analógicos complejos.
En el presente documento no se exploran en forma específica aspectos relativos al
diseño electrónico analógico, por diversos motivos.
En primer lugar, el objetivo principal del trabajo es el diseño de sistemas, lo que
implica fundamentalmente a niveles de abstracción muy superiores al eléctrico y
topográfico, que es donde se concentra el diseño analógico tradicional. En otras
palabras, el diseño analógico típico no se orienta a sistemas, sino a
componentes; la excepción la constituyen los SoC y MEMS.
En segundo lugar, los problemas de sistemas son aplicables a los SoC y
MEMS, por lo cual se puede reaprovechar la consideración de la problemática de
sistemas a alto nivel. Al igual que las particularidades del nivel físico actuales,
como las reactancias parásitas, las futuras consideraciones de los efectos cuánticos y
limitaciones provenientes de la escala atómica de la materia serán reflejados en
las herramientas de diseño y simulación específicas al nivel físico; son las
herramientas de diseño analógico, por tanto, las que presentan los desafíos
de diseño.
En tercer lugar, una cabal comprensión de las metodologías, flujos y
herramientas de diseño electrónico orientadas al diseño de sistemas
(mayormente digitales) puede capitalizarse para comprender las respectivas
contrapartes orientadas al diseño analógico, facilitar la interoperación de
herramientas de ambos dominios, e incluso abordar su eventual fusión. De
hecho, ya se cuenta con extensiones a los HDL para la descripción de circuitos
analógicos, como por ejemplo, VHDL-AMS648 para el lenguaje VHDL. Esta
extensión permite la simulación mixta analógica-digital, con el beneficio de la
aplicación de las técnicas de abstracción para la simulación de sistemas al diseño
analógico; esto mejora la eficiencia de las simulaciones analógicas en el contexto de
reducción del tamaño de los transistores, reducción en el consumo de potencia,
aumento de la frecuencia de operación649, e incidencia creciente de efectos parásitos
y de escala que emergen como consideraciones adicionales a la simulación eléctrica
tradicional650.
Y en cuarto lugar, porque el problema subyacente - aunque quizás el más
significativo - en el diseño de sistemas consiste en la integración de
metodologías, flujos y herramientas diversos, en cuyo caso las relativas al
diseño electrónico analógico, digital, y eventualmente al mecánico,
químico, etc. se presentan en igualdad de condiciones desde la perspectiva
del ‘sistema’ (sección 5.2).
647
AMS, por ‘Analog and Mixed-Signal’ en inglés.
648
(AMS, por ‘Analog and Mixed-Signal’ en inglés)
649
Ver nota 646, p. 231.
650
Ver sección 5.2.6.1.10, particularmente los análisis descritos a partir de las páginas 274 y 277.
Diseño de Sistemas Electrónicos Complejos
[ 4.4 ] Presentación de la problemática y desafíos del diseño actual de sistemas electrónicos complejos - 233
[ 4.4.5 ] ASPECTOS EXTERNOS
Finalmente, cabe notar que a las precedentes características intrínsecas al diseño electrónico
se agregan, a fortiori, fuentes de complejidad externas: los requerimientos que la sociedad actual
demanda de los sistemas electrónicos, y las expectativas generadas en virtud de su rápida
evolución histórica. Estos requerimientos y expectativas crecen en forma vertiginosa y
fomentan la dependencia social en la tecnología, particularmente la electrónica al ser cuasi
omnipresente. Esta situación ejerce una descomunal presión sobre los diseñadores, de quienes
se esperan productos libres de error, que sean tolerantes a fallas, económicos, reutilizables o
reconfigurables, estén extensamente documentados y a la vez sean fáciles de usar 651, y que
además sean producidos en el menor plazo posible para evitar la obsolescencia y maximizar la
utilidad que puedan generar. Desafortunadamente, esta fuente de complejidad es inevitable, y
- en virtud de la voracidad que impone la cultura mercantilista occidental actual probablemente sea la responsable de la mayor parte de los errores de diseño.
La dependencia en la tecnología electrónica que hoy evidencian las sociedades
(al menos, las de los países que se proclaman avanzados) constituye un factor
adicional de complejidad para el diseño electrónico.
Como consecuencia de la voracidad mercantilista occidental actual, esta fuente de
complejidad - que con eufemismo se presenta como el problema del ‘tiempo de
comercialización’652 -es inevitable, y probablemente la responsable de la comisión de
gran parte de los errores de diseño electrónico contemporáneos.
[ 4.5 ]
RESUMEN
La evolución histórica de la electrónica, a partir de los circuitos integrados de alta escala de
integración, ha sido concurrente con el desarrollo de la informática, como consecuencia de la
sinergia establecida entre ambas disciplinas a partir de los ‘70 y ‘80. Entre los productos de la
microelectrónica de fines de la década de 1970, la consecución de microprocesadores permitió
diseñar plataformas de cómputo más potentes que las de las previas generaciones. En la
década siguiente, sobre estas plataformas más capaces la informática pudo extender y
perfeccionar sus propias herramientas de desarrollo, y con ellas, obtener mejores y más
potentes abstracciones de cómputo y herramientas de diseño asistidas por computador. En
particular, se produjo un significativo desarrollo de herramientas informáticas para asistir al
diseño electrónico, con las cuales la electrónica abordó el diseño e implementación de nuevas y
más potentes generaciones de procesadores y computadores, cerrando así un ciclo de soporte
mutuo entre ambas disciplinas, que promueve su desarrollo sinérgico, concurrente. Desde la
perspectiva del diseño electrónico, esta evolución puede resumirse en ciertos hitos acaecidos a
partir de la década del ‘70.
Hasta la década de 1970, tanto la fabricación como el diseño de IC estaba confinado a las
fábricas de semiconductores (‘foundries’). Esta limitación derivaba del hecho que el diseño era
desarrollado a niveles eléctrico y topográfico, contándose entonces con una única herramienta
informática para asistir al diseño de los IC, el simulador SPICE. En este estadio, el objetivo
principal era la producción de IC genéricos (‘componentes’) que los ingenieros fuera del
ámbito de las fábricas podían ensamblar sobre PCB para conformar sistemas electrónicos
específicos a la aplicación. No obstante, a fines del ‘70 fueron implementados los primeros
651
La calidad, completitud y eficacia de la documentación es extremadamente difícil de compatibilizar:
ante la creciente complejidad de los sistemas - requerida directa o indirectamente por los usuarios - la
documentación técnica necesariamente se incrementa - y lo hace en gran volumen - pero al mismo
tiempo esos usuarios son cada vez más renuentes a leer manuales e instrucciones de seguridad
‘complicados’ y ‘extensos’.
652
‘Time - to - market’ en la literatura angloparlante.
Ingeniería Electrónica – Universidad Católica del Uruguay
234 - [ 4 ] Evolución Histórica de la Electrónica
microcomputadores, proporcionando para la década siguiente una plataforma de cómputo
alternativa a los grandes computadores centrales (‘mainframes’) existentes a la fecha.
En los ‘80 se logra la independización de los procesos de diseño y manufactura, con lo cual el
diseño de IC puede pasar a desarrollarse por ingenieros trabajando en aplicaciones fuera de las
fábricas. Los microcomputadores dieron paso a las estaciones de trabajo (‘workstations’) con lo
cual quedaron a disposición las herramientas necesarias para diseñar circuitos integrados
específicos para las aplicaciones (ASIC). Surgieron así cuatro modalidades de diseño para estos
ASIC: diseños totalmente a medida (que requieren un diseño completo - hasta el nivel físico - y
un proceso de fabricación completo del IC); diseños en base a celdas estándar (se diseña a nivel
superior al físico, en base a bibliotecas de celdas, pero aún requiriendo un proceso de
fabricación completo); diseños en base a matrices de puertas predifundidas (se diseña a nivel
superior al físico, en base a bibliotecas de celdas, pero sobre una estructura regular de puertas
de forma que no se requieren la totalidad de las etapas de fabricación del IC); y diseños sobre
dispositivos reprogramables, FPGA y CPLD (que no requieren ninguna etapa de fabricación; el
diseño se efectúa sobre IC verificados a nivel de componentes internos desde la fábrica,
estableciendo la interconexión de los componentes internos mediante una instancia de
programación, que puede efectuarse en el sitio y a demanda). En esta década del ‘80 se constata
que las capacidades de fabricación de IC comienzan a superar a las capacidades de diseño,
situación que se designa brecha tecnológica. Con objeto de sobreponerse a estas limitaciones de
diseño, se intenta elevar el nivel de abstracción desde el nivel físico (niveles eléctrico y
topográfico) al nivel arquitectural (puertas lógicas, y RTL) y posteriormente, al nivel funcional
(comportamiento del circuito). Al respecto, una herramienta clave puesta a disposición de los
diseñadores a fines de la década fueron los HDL (fundamentalmente VHDL y Verilog) cuyo
desarrollo en la década siguiente posibilitó simulaciones (mixtas, y multinivel) y síntesis
automática de circuitos653.
En los ‘90, sobre los niveles físico y arquitectural de fines de la década anterior, se consolida
definitivamente el nivel funcional, y se difunde la implantación de los HDL en los flujos de
diseño. Con los HDL, se diseñan ‘macro’ bloques funcionales, como microprocesadores de uso
general (CPU, ‘Central Processing Unit’) procesadores de señales digitales (DSP, ‘Digital-Signal
Processors’) y microcontroladores (MCU, ‘Micro-Controller Units’). No obstante, este tipo de
dispositivos requiere programación, y por tanto, los HDL no son en general suficientes para dar
una solución integral a los problemas planteados por los sistemas (en PCB) que incorporan
bloques programables. Se requiere el uso conjunto de HDL con lenguajes de programación de
bajo y alto nivel (lenguajes ensambladores específicos a cada dispositivo programable, y/o
lenguajes de uso general como C, C++, Ada, Java, etc. con sus respectivos compiladores) lo que
genera la necesidad de interfases entre lenguajes, interoperabilidad entre herramientas (por
ejemplo, para simulación) etc654. Por otro lado, aunque las FPGA pasan a predominar sobre las
demás modalidades de diseño de ASIC por razones de coste, surgen nuevos tipos de IC en
virtud del incesante incremento en la capacidad de integración de componentes heterogéneos
en las pastillas de silicio. La posibilidad de incorporar a los IC elementos mecánicos (e incluso
químicos, y en algún futuro no lejano, biológicos) permite la consecución de sistemas completos
en una pastilla (genéricamente designados SoC, aunque se distinguen específicamente tipos
como microsistemas electromecánicos, MEMS, o múltiples módulos en un solo encapsulado,
MCM). El surgimiento de los SoC replica a nivel IC el problema planteado por los sistemas
programables en PCB (la necesidad de integrar, al menos, el diseño de los dispositivos o
653
La síntesis automática requiere descripciones efectuadas en términos de subconjuntos específicos de
los HDL, es decir, no se puede admitir el empleo de la máxima capacidad expresiva de los lenguajes
(por ejemplo, la recursión) si se pretende una descripción ‘sintetizable’.
654
Esta programación, referida como programación embebida, constituye un serio problema - en el
contexto más general de diseño de sistemas embebidos - al que se le dedica particular atención sobre finales
del siglo XX, principios del XXI y hasta la fecha. En particular, la interoperabilidad de HLL y HDL es
una cuestión clave para el codiseño, cosimulación y codepuración de sistemas, conceptos que se analizan
con mayor detalle en el capítulo 5.
Diseño de Sistemas Electrónicos Complejos
[ 4.5 ] Resumen - 235
sistemas programables con el diseño de su propia programación); y la integración en red de
los sistemas electrónicos que se acelera en esta década obliga a plantearse la generalización del
diseño electrónico hacia el diseño de sistemas.
La necesidad de generalización del diseño electrónico se manifiestan particularmente en la
evolución de la fabricación de semiconductores, y de las herramientas informáticas de diseño
orientadas al diseño electrónico (herramientas CAD para diseño electrónico).
•
Fabricación de semiconductores: Impulsada por la incesante evolución tecnológica, la industria
de semiconductores ha sido históricamente capaz de proveer dispositivos que cada tres
años cuadruplican su cantidad de funciones, manteniendo el costo del mm 2 de silicio
prácticamente constante. Esta tendencia, anunciada en 1965 por Moore (y por tanto referida
como ‘Ley de Moore’ en la literatura655) se aceleró sobre fines del siglo XX y principios del
siglo XXI. De continuarse esta tendencia, circa 2015 se estarían alcanzando los límites de las
actuales técnicas de fabricación CMOS planares. Así, ya en el año 1999 la industria de
semiconductores ha considerado un desafío demasiado exigente el seguir la ‘Ley de Moore’
exclusivamente por innovación tecnológica, y ha planteado tanto la necesidad de afrontar
innovaciones en el área de diseño de sistemas y circuitos electrónicos, como la necesidad de
integrar diversas técnicas de fabricación en una misma pastilla de circuito integrado, junto
con las propias técnicas de encapsulado. El impulso al diseño electrónico promovido desde
la industria de semiconductores responde al significativo aumento de la complejidad de los
diseños, en tres dimensiones relacionadas: la mayor complejidad de la pastilla de silicio, que
deriva de la escala de integración y el número de componentes posibles de integrar; la
complejidad inherente a los propios sistemas que es factible implantar en un sólo IC, que derivan
de su heterogeneidad de componentes y aplicaciones; y la mayor complejidad de los respectivos
procesos de diseño. Así, aunque las posibilidades de fabricación han sido cada vez mayores, la
brecha tecnológica detectada en los ‘80 continua creciendo pese a los esfuerzos invertidos
específicamente en metodologías y técnicas de diseño656.
•
Herramientas informáticas para diseño electrónico: Inicialmente, las herramientas CAD para
diseño electrónico surgieron en forma independiente para cada tarea dentro del proceso de
diseño (como SPICE para asistir al diseño de IC analógicos, en 1972) por lo que el
intercambio de información entre herramientas requirió la elaboración de interfases ad hoc
para cada par de ellas (por ejemplo, entre SPICE y cada editor de máscaras, o cada editor de
captura de esquemáticos). La solución a este inconveniente fueron los entornos CAD
integrados, los cuales incorporan varias herramientas con capacidad de acceso a la base de
datos del diseño, y además presentan al usuario una interfaz común a ese conjunto de
herramientas que integran al entorno de desarrollo. No obstante, los esquemas de este tipo
experimentaron las limitaciones inherentes a su carácter ‘cerrado’ o ‘rígido’, por lo cual el
paso siguiente en su evolución - a fines de los ‘80 - consistió en dotar la flexibilidad
necesaria a esos entornos CAD para hacerlos extensibles, capaces de incorporar nuevas
herramientas, y efectuar la gestión de los diferentes flujos de diseño posibles. Aún así, estos
entornos CAD abiertos y flexibles resultaron a la postre insuficientes ante las demandas del
intercambio de información entre herramientas. Se llega así al estadio en la evolución de las
herramientas CAD en el cual se definen estándares para el intercambio de información, con lo
cual herramientas independientes y entornos CAD se aseguran la capacidad de
transferencia de información, mitigando así el posible impacto provocado por la
obsolescencia de las herramientas, facilitando su evolución, y permitiendo al diseñador
escoger las herramientas más adecuadas a cada caso. No obstante, este estadio de las
herramientas CAD657 no garantiza más que el intercambio de datos ‘estático’: los estándares
655
Y considerada por algunos como una ‘profecía autocumplida’; la tendencia, observada por Moore
hasta la fecha de su anuncio, fue posteriormente adoptada como ‘hoja de ruta’ por la industria de
semiconductores.
656
Las que, dado sus impulsores, fueron inicialmente en su mayoría de tipo ascendente (‘bottom - up’).
657
Se recuerda que se trata del estadio de su estructura de intercambio mutuo de información.
Ingeniería Electrónica – Universidad Católica del Uruguay
236 - [ 4 ] Evolución Histórica de la Electrónica
sólo aseguran la capacidad de intercambiar los datos de entrada y/o salida, más no la
interoperabilidad de las herramientas, es decir, la capacidad de operar en forma concurrente e
intercambiar datos durante sus procesos de ejecución. Esa capacidad de operar en forma
concurrente es imprescindible, por ejemplo, en el caso de simulaciones de sistemas
programables en las que se busca que la ejecución de los programas sea efectuada sobre
modelos ejecutables de los dispositivos que conformarán al sistema a desarrollar (lo cual
requiere que programas descritos en algún lenguaje como C o Java ‘interactúen’ con
modelos de procesadores realizados en VHDL o SystemC durante la simulación)658.
En esencia, la necesidad de generalización del diseño electrónico responde, al igual que le
sucede a la ciencia contemporánea659, a problemas inherentes a sistemas. Y en este contexto,
emerge como una de las principales dificultades el manejo de la complejidad asociada a los
sistemas, dadas nuestras limitaciones cognitivas660. Así, el aspecto crítico para el desarrollo actual
de sistemas electrónicos consiste en la administración de la complejidad del diseño.
Una herramienta importante para lidiar con la complejidad es la abstracción661. Y pese al
detrimento en el desempeño o eficiencia en los que pueda incurrirse como consecuencia de
efectuar los diseños a un nivel de abstracción elevado, tal penalización resulta perfectamente
aceptable si se estima que el diseño efectuado a niveles de abstracción demasiado bajos
probablemente resulte pobre, tardío, o directamente erróneo por no poder ser conceptualizado
correctamente.
No obstante, la abstracción per se es, en casos, insuficiente. Por ejemplo; en electrónica, lo
que usualmente se designa ‘hardware’ y ‘software’ son cuestiones esencialmente equivalentes
cuando se les considera desde ciertos niveles de abstracción. De hecho, ‘hardware’ y ‘software’ se
han fusionado completamente desde el punto de vista sintáctico: el diseño de sistemas
digitales es mayormente una tarea de programación, y al nivel práctico, el diseño de ‘hardware’
digital - en el sentido moderno de emplear herramientas de diseño asistidas por computador, y
lenguajes de descripción de ‘hardware’ - requiere un conjunto de habilidades de programación
notablemente similar al diseño de ‘software’. Recíprocamente, el diseño de ‘software’ está
incorporando cada vez más conceptos y metodologías de diseño al estilo ‘hardware’, como
‘reutilización’ de ‘componentes’, ‘concurrencia’, y ‘comunicación’ dentro de un sistema de
‘software’. Por tanto, la crecientemente inextricable relación entre lo que habitualmente se
designa ‘hardware’ y ‘software’ exige refinar tanto los conceptos subyacentes a esa designación662
como la aplicación de esos conceptos en cada instancia de diseño. Así, la abstracción por sí sola
no es suficiente para lidiar eficientemente con la complejidad, sino que es preciso determinar y
aplicar las abstracciones adecuadas a cada caso.
Al elevar el nivel de abstracción en el diseño, se puede mantener la fortaleza tradicional de la
ingeniería eléctrica, que es su encare formal para el modelado de sistemas. La clave consiste en
permitir a los diseñadores trabajar en los niveles de abstracción superiores, mientras que los
expertos técnicos pueden continuar en los niveles de abstracción inferiores 663. La cuestión es
entonces establecer los métodos mediante los cuales es factible elevar adecuada y
disciplinadamente el nivel de abstracción. Y, en este aspecto, el papel de las herramientas
informáticas de diseño resulta crucial, puesto que constituyen un vehículo indispensable para
658
La simulación concurrente o cosimulación del ‘software’ y ‘hardware’ de un sistema, así como los
conceptos de codiseño y codepuración se abordan en la sección 5.6.
659
Ver capítulo 1, particularmente la sección 1.3.2.
660
Ver capítulo 1, particularmente la sección 1.4.
661
Ver capítulo 1, particularmente la sección 1.1.1.
662
Puede verse que la designación ‘hardware’ o ‘software’ responde, en esencia, al grado de concurrencia o
secuencialidad en una aplicación.
663
En esencia, esto resulta en una combinación de los encares ascendente y descendente de un proceso
de diseño (ver sección 2.2.1).
Diseño de Sistemas Electrónicos Complejos
[ 4.5 ] Resumen - 237
transitar entre diferentes niveles de abstracción (dado el volumen de datos implícito) y son
idóneas para la implementación efectiva de métodos formales664.
No obstante, el empleo eficiente de herramientas informáticas para asistir al diseño requiere
conocimientos adecuados, no solamente de las metodologías y flujos de diseño aplicables a los
procesos de diseño que buscan asistir, sino además de las propias abstracciones y formalismos
sobre las cuales se implementa el funcionamiento de las herramientas 665. Con los HDL, por
ejemplo, afloran cuestiones como ‘concurrencia’ y ‘eventos discretos’, asociados a ‘control de
código fuente’ y ‘compilación’, motivo por el cual estos conceptos - y otros de similar índole devienen fundamentales para el diseñador. Consecuentemente, no sólo se requieren
determinar las abstracciones adecuadas para cada diseño (por ejemplo, que conviene tratar
como ‘software’, que como ‘hardware’, y éste si es eléctrico, mecánico, etc.) sino que además debe
tenerse en cuenta como realizar las referidas abstracciones empleando las herramientas de
diseño adecuadas, en forma adecuada (cuales herramientas son necesarias, como se comunican
o interoperan, como se asegura que no incorporan errores al proceso por mala utilización, etc).
Así, la inextricable conexión entre ‘software’ y ‘hardware’ no sólo se refiere a las partes que
conformarán el producto de diseño, sino que además alcanza a las propias herramientas que se
emplean (el ‘software’ que asiste al desarrollo del sistema).
Un factor adicional a la complejidad del diseño electrónico de actualidad lo constituye la
heterogeneidad, característica que no sólo es inherente a los SoC o MEMS (sistemas ‘a escala
microscópica’) sino también a los sistemas designados sistemas embebidos (sistemas ‘a escala
macroscópica’).
Los sistemas embebidos son sistemas electrónicos con capacidad de cómputo, pero que por
estar ‘embebidos’ en otros sistemas a los cuales controlan o aportan funcionalidades, no son
percibidos como un computador. Son, sin embargo, omnipresentes en la vida moderna 666: se
les halla en los actuales equipos de audio, fotografía, y video; equipos de telefonía celular y fija;
asistentes digitales personales667; electrodomésticos programables; equipamiento médico,
industrial, científico y militar; equipamiento de automóviles, trenes, barcos, aviones y
vehículos aeroespaciales; etc. La función esencial de los sistemas embebidos es la interacción
con el medio ambiente y sus procesos físicos que se desarrollan en el tiempo. Así, a diferencia
de los sistemas de cómputo convencionales, los sistemas embebidos necesariamente han de
tener una noción de las variables físicas, particularmente el tiempo físico. En virtud de sus
aplicaciones, los sistemas embebidos son limitados en su tamaño físico, consumo de potencia, y
capacidad de memoria, y por tanto presentan una arquitectura especializada para cada
aplicación. Su arquitectura ‘hardware’ debe ser conformada por dispositivos de índole diversa
para adaptarles a la aplicación, por ejemplo: SoC, MEMS, ASIC y/o ASIP 668 para funciones
críticas y/o específicas; FPGA y/o DSP para procesamiento de señales; microcontroladores
para control del sistema e interfases de usuario; conversores AD/DA, y un conjunto de
entradas y salidas digitales para interactuar con el mundo físico; etc. La correspondiente
664
Si bien el autómata de Turing es una entelequia ideal, aún su realización - el computador - es un
intérprete de formalismos limitados (ver sección 3.3.6.1) que - a tiempo infinito - .
665
Cualquier programa informático debe ser descrito en términos formales, aunque no necesariamente
su comportamiento constituye o implementa un formalismo (su dominio de implementación y su dominio
de aplicación difieren; ver sección 3.2.2). Ejemplos de tales programas en el ámbito de las herramientas de
diseño electrónico lo constituyen los modelos ejecutables destinados a simulación para producir ‘evidencia
computacional’ o trazas de comportamientos (ver sección 3.4).
666
La vida moderna en sociedades de consumo tecnificadas. Vergonzosamente, a la fecha la mayor parte
de la población mundial aún desconoce el teléfono, no dispone de energía eléctrica, ni agua potable por
cañería.
667
Las modernas agendas electrónicas PDA, ‘Personal Digital Assistants’.
668
‘Application - Specific Instruction Processors’: procesadores integrados específicos a la aplicación.
Constituyen un caso particular de ASIC, donde el circuito integrado diseñado específicamente para la
aplicación es un un procesador que interpreta y ejecuta instrucciones también específicas a la aplicación:
un ‘intérprete de silicio’ específico a la aplicación.
Ingeniería Electrónica – Universidad Católica del Uruguay
238 - [ 4 ] Evolución Histórica de la Electrónica
arquitectura ‘software’ resulta una mezcla de programación orientada al control, programación
orientada al flujo de datos, y programación para interfaz y comando de dispositivos periféricos
para administrar los diferentes dispositivos y tareas del sistema.
La heterogeneidad característica de los sistemas embebidos actuales no sólo se manifiesta
por la mezcla de dispositivos electrónicos físicos con la programación que compete a los de
tipo programables (es decir, integración de ‘hardware’ y ‘software’ en el sistema) sino también
por la heterogeneidad de los propios componentes ‘hardware’ del sistema (como IC analógicos,
digitales, o mixtos, y sus sub-variedades, más la diversidad de dispositivos programables) así
como por la heterogeneidad de estilos de programación requerida para los componentes
‘software’ (como orientación a control, procesamiento de señales, interfases de usuario, etc.)
([CKL95], pp. 1-2). Una evidencia de esta situación es la diversidad de modelos y lenguajes
empleados para la descripción de los sistemas embebidos.
En el contexto de sistemas embebidos, el diseño analógico no ha sido referido
específicamente. Prima facie, esto obedece a que el diseño analógico es fundamentalmente
orientado a componentes, y no a sistemas. Sin embargo, los SoC y MEMS son sistemas diseñados a
nivel físico, dominio del diseño analógico por excelencia. Y de todas maneras, en cuanto
componentes, los dispositivos analógicos forman parte de los sistemas (particularmente, los
embebidos) por lo cual es necesaria su consideración desde esta perspectiva.
No obstante, los problemas de SoC y MEMS a nivel de sistema son, precisamente, problemas
de sistemas, por lo cual se aplican todas las observaciones concernientes a sistemas por más que
estas sean efectuadas en el contexto de sistemas mayormente digitales y macroscópicos.
Asimismo, las particularidades del nivel físico (como posibles efectos cuánticos y limitaciones
atómicas de la materia, conforme se reducen las dimensiones de los IC) tienden a ser
incorporadas a las herramientas de diseño analógico, al igual que actualmente sucede con los
efectos topográficos y elementos parásitos en un IC. Son así las herramientas de diseño
analógico las que presentan el desafío de diseño.
En este contexto, el problema subyacente - aunque quizás el más significativo - en el diseño
de sistemas embebidos consiste en la integración de metodologías, flujos y herramientas de
diseño tan heterogéneos como los subsistemas que componen al sistema, incluyendo a los
subsistemas o componentes analógicos.
Aún así, la fuente de complejidad más agobiante e intratable para el diseño de sistemas
electrónicos es la dependencia social en la tecnología electrónica (al menos, la que hoy
evidencian las sociedades de los países que se proclaman avanzados). Como consecuencia de la
voracidad mercantilista occidental actual, esta fuente de complejidad669 es - además de
inevitable - la probablemente responsable de la comisión de gran parte de los errores de diseño
electrónico actual.
669
Fuente de complejidad cuya manifestación, eufemista, es el problema del tiempo de comercialización
(‘Time - to - market’) incansablemente reiterado en la literatura, y no sólo la referente al diseño
electrónico.
Diseño de Sistemas Electrónicos Complejos
[5]
DISEÑO DE SISTEMAS ELECTRÓNICOS
COMPLEJOS
[ 5.1 ]
INTRODUCCIÓN
Como se infiere de su título, en este capítulo se aborda el tema central del presente
documento: el diseño de sistemas electrónicos complejos de actualidad. Aquí, los contenidos de los
capítulos 1, 2, y 3, son revisados en términos más específicos correspondientes a los procesos
de diseño en ingeniería electrónica. Esta revisión se efectúa en el contexto establecido en el
capítulo 4, el cual confiere una sinopsis del desarrollo electrónico desde la consecución del IC
hasta fines del siglo XX. Así,
el presente capítulo examina los procesos de diseño electrónico desde fines del siglo
XX a la fecha, desde un punto de vista filosófico centrado en los sistemas y la
complejidad asociada a estos.
Siguiendo con el propósito de presentar a nivel de grado en ingeniería eléctrica el panorama
de diseño electrónico actual, al inicio de este capítulo se propone un esquema (Fig. 5.3) que
permite comprender la estructura de los diferentes encares que actualmente se emplean para
el diseño de sistemas electrónicos complejos. Este esquema elabora sobre las ideas presentadas
en la sección 2.1.1.4 - la ‘celda de diseño’ (Fig. 2.4) y su ‘expansión fractálica’ en el proceso de
diseño completo (Fig. 2.5) - y en consecuencia presenta los niveles de abstracción más
importantes por los que transita un proceso de diseño electrónico completo de actualidad 670. A
este esquema inicial - que continua ostentando un carácter general y abstracto, pese a su
restricción al diseño electrónico - siguen posteriores precisiones que buscan conectarle con las
metodologías y flujos de diseño de diseño específicos que se aplican tanto en academia como
en industria (particularmente, las secciones 5.3 y 5.6). Naturalmente, en virtud del carácter
abierto del tema en cuestión, aún se debe mantener en estas presentaciones un nivel de
abstracción tal que permite sintetizar el panorama de diseño (en el sentido de resumir) y esto, en
sintonía con el carácter de guía al tema que se pretende confeccionar con el presente
documento. Consecuentemente,
debe tenerse presente que la visión del diseño electrónico de actualidad que se
confiere en esta sección difiere - en algunos casos, significativamente - de ciertos
encares o propuestas que se hallan en la literatura dedicada al tema.
No obstante, las eventuales diferencias son más de carácter operativo que
metodológico o filosófico, con lo cual no se ve afectado el carácter de este documento,
que es el de constituir una introducción al diseño de sistemas electrónicos de
actualidad.
670
Nótese la insistencia respecto a que los procesos de diseño referidos son ‘de actualidad’: no se
pretende haber logrado una visión pasible de aplicación a los procesos de diseño futuros - aunque se
confía en que la idea de la ‘celda de diseño’ efectivamente constituirá una herramienta expresiva
aplicable en casos por venir.
Gonzalo Sánchez - Ingeniería Electrónica – Universidad Católica del Uruguay
240 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
La palabra clave aquí es adaptabilidad: la idea es proveer un marco conceptual al
cual poder referirse, para comprender y/o evaluar alternativas de metodologías,
flujos y herramientas de diseño, en casos concretos de diseño.
En virtud de su origen (la ‘celda de diseño’ de la Fig. 2.4) y al igual que el esquema metametodológico del proceso de diseño general referido en la Fig. 2.5, el esquema representativo
del proceso de diseño electrónico que se representa en la Fig. 5.3 es orientado a las descripciones
en cada nivel de abstracción, y no a las tareas que permiten el tránsito entre los diferentes
niveles de abstracción671. Este hecho refleja un esfuerzo consciente en favor de una consistencia
que no se encuentra en general en la literatura, donde se puede constatar - salvo excepciones un uso ad hoc en la esquematización de los procesos de diseño, que no sólo desaprovecha el
método del esquema para conferir la información, sino que tampoco facilita las comparaciones
entre metodologías y flujos de diseño representadas al no favorecer la inferencia e intuición
por parte del lector.
En este capítulo se presentan, además del esquema orientado a los niveles de abstracción,
algunos esquemas orientados a las tareas de tránsito entre los diferentes niveles de abstracción
que componen al proceso de diseño electrónico genérico referido en el párrafo precedente. La
priorización de una visión centrada en descripciones en cada nivel de abstracción, frente a una
visión centrada en las tareas que componen al proceso de diseño y que permiten transitar entre
los diferentes niveles de abstracción, es acorde al propósito de enfatizar la importancia de la
abstracción adecuada en el diseño: se considera en este documento que es más productivo
comprender y extender adecuadamente la jerarquía de abstracciones - lo que facilita la
definición e implementación de tareas o procedimientos para transitarla - que centrarse en la
proposición y elaboración de tareas para acceder a niveles de abstracción, los que pueden no
estar definidos adecuadamente y por tanto no resultar útiles para el proceso de diseño.
En el desarrollo de la presentación de los esquemas precedentemente aludidos, se incurrirá
en la presentación y discusión de metodologías frecuentemente referidas en la literatura, como
diseño en base a actores, diseño en base a modelos, diseño en base a plataformas, codiseño
‘software’-’hardware’, diseño para reutilización de IP (propiedad intelectual) siempre contra el marco
de referencia propuesto para facilitar su ubicación y propósito en un proceso de diseño de
sistemas electrónicos. En este contexto, los niveles de abstracción aludidos en el capítulo 4
(particularmente en la sección 4.1) quedan claramente establecidos en relación al nivel que
aquí se designa ‘nivel de sistema’672. Conceptos como modos o modelos de cómputo, exploración del
espacio de diseño, síntesis de ‘hardware’, compilación de ‘software’, reutilización de diseños y
componentes, etc. también son estudiados en el marco de referencia propuesto.
En varias secciones de diferentes capítulos de este documento se menciona la equivalencia
entre entidades ‘hardware’ y ‘software’, y en el presente capítulo esto se revisa desde la
perspectiva de los procesos de diseño de sistemas electrónicos de actualidad, donde esa
equivalencia es directamente explotada para optimar los diseños. Sin embargo, un diseño a
nivel de sistema (en sentido amplio) requiere la consideración de elementos mecánicos y/o
químicos y/o biológicos673, los cuales prima facie no son equivalentes ni entre sí, ni con
entidades ‘software’ o entidades ‘hardware’ típicas, y por tanto no son pasibles de explotarse con
los objetivos de optimación de la forma que puede hacerse con entidades ‘hardware’ y ‘software’.
Aún así, en este capítulo se discute la forma de considerar entidades mecánicas, químicas y
671
Se prefiere para esta introducción el empleo del término ‘tareas’ en lugar de ‘procesos’ para evitar
confusiones con los ‘procesos de diseño’ vistos en su totalidad. No obstante, y acorde a la idea de
‘proceso de diseño’ como un ‘fractal de celdas de diseño’, resulta evidente que ‘tareas’ es equivalente a
‘procesos’.
672
Se es consciente que, al igual que ha sucedido con el nivel designado ‘funcional’ o ‘comportamental’
en el contexto de los HDL, con el tiempo este nivel de ‘sistema’ será desplazado por niveles de
abstracción adicionales.
673
Elementos que en caso de SoC pueden ser intrínsecos al sistema, y en otros casos formar parte del
entorno del sistema.
Diseño de Sistemas Electrónicos Complejos
[ 5.1 ] Introducción - 241
biológicas junto a las entidades ‘hardware’ y ‘software’ tradicionales en sistemas electrónicos, a
partir del concepto de ‘prototipo virtual’ del sistema. No obstante, por motivos de eficiencia,
este capítulo se centra en el diseño de sistemas electrónicos constituidos por ‘hardware’ y
‘software’ solamente674, y se asume que el lector puede inferir cuando las metodologías, técnicas
y herramientas pueden extenderse a otro tipo de componentes ‘exóticos’.
La evidencia de éxito en el cometido previsto para este documento - y este capítulo en
particular - sería que al finalizar la lectura del presente capítulo el lector pudiere acceder a las
principales referencias aquí citadas, sin experimentar una sensación similar a la de estar
caminando en una caverna oscura con una luz potente aunque de haz compacto que sólo
ilumina hacia donde se le apunta, sino que la caverna se halla tenue pero uniformemente
iluminada, de forma tal que permite percibir una buena extensión alrededor del caminante, y
discernir los obstáculos y vías principales.
[ 5.2 ]
ESTRUCTURA ABSTRACTA DEL PROCESO DE DISEÑO DE
SISTEMAS ELECTRÓNICOS
En línea con lo que se establece en la sección 2.1 del presente documento (dedicada al
proceso y producto de diseño en ingeniería) en esta sección se propone un esquema para el
proceso de diseño en ingeniería electrónica. No obstante, ese esquema (Fig. 5.3) aún presenta un
alto nivel de abstracción, que hace factible su aplicación en áreas allende la ingeniería
electrónica. Su inclusión aquí en lugar de la sección 2.1.1.4 responde al compromiso entre
generalidad alcanzable, y aseguramiento del objetivo propuesto, del cual prima la última
consideración eligiéndose en consecuencia la presente ubicación.
Por conveniencia, en la Fig. 5.1 se reitera la ‘celda de diseño’ de la Fig. 2.4, la cual constituye
el origen conceptual del esquema de la Fig. 5.3.
especificación
análisis
síntesis
implementación
Fig. 5.1: ‘Celda de Diseño’ (ver sección 2.1.1.4, Fig. 2.4)
674
Sistemas que incorporan elementos programables o configurables (como μP, μC, DSP,ASIP, o FPGA,
CPLD, ASIP, ASIC respectivamente) con su correspondiente programación, pero no incluyen entidades
mecánicas, químicas o biológicas intrínsecas. Nótese que la ‘programación’ comprende a la
configuración de dispositivos como FPGA o CPLD, y los diseños de ASIP y ASIC, dado que estos se
desarrollan mediante HDL, son descripciones de carácter inmaterial conferidas como archivos de
computador, y su complejidad equivale (o supera) la de la programación de dispositivos ‘intérpretes de
instrucciones’.
Ingeniería Electrónica – Universidad Católica del Uruguay
242 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
Asimismo, en la Fig. 5.2 se presenta la ‘expansión fractálica’ de la ‘celda de diseño’ de la Fig.
2.5, con algunas modificaciones tendientes a resaltar la capacidad de la ‘celda de diseño’ para
expresar la recurrencia inherente a todo proceso de diseño.
proceso de diseño
especificación
especificación
' celda de diseño'
descripción(n)
descripción (n)
A
A
S
descripción (n-1)
implementación
S
descripción(n-1)
implementación
Fig. 5.2: Expansión ‘fractálica’ del proceso de diseño en términos de la ‘celda de diseño’ de la Fig. 5.1 (ver sección
2.1.1.4, Fig. 2.5). Nótese a la ‘celda de diseño’ representando tanto al proceso de diseño ‘completo’ como a cualquier
etapa intermedia, y a su vez, la consideración de esa etapa cualquiera como un proceso de diseño ‘completo’.
Conviene reiterar aquí lo que se establece en la sección 2.1.1.3, considerando la ‘celda de
diseño’ de la Fig. 5.1 en términos relativos a un proceso de diseño completo, como el
representado en el esquema de la Fig. 5.2675:
•
especificación e implementación son descripciones relacionadas, cuyo objeto es la
representación del diseño en dos diferentes niveles de abstracción del proceso. La
descripción más abstracta (la especificación) prescribe qué ha de implementarse, mientras
que la descripción más concreta (la implementación) indica cómo ha de implementarse 676.
•
síntesis es un proceso de refinamiento del diseño entre dos niveles de abstracción;
transforma la representación más abstracta en una más concreta y detallada. Los niveles de
abstración son representados por un par especificación - implementación de descripciones,
cuya relación define los refinamientos válidos.
•
análisis es el proceso de validación del proceso de síntesis; su cometido es verificar la
coherencia y compatibilidad de la implementación respecto a la especificación de la cual ha
sido sintetizada, conforme a la relación dada entre las descripciones.
En base a los precedentes esquemas, se propone un esquema meta-metodológico para el
proceso de diseño de sistemas electrónicos (Fig. 5.3). Este esquema constituye la referencia
inicial y de mayor abstracción para el resto del presente capítulo.
675
Adaptado de [ELLS97], p. 56-57.
676
Las nociones de ‘descripción más abstracta’ y ‘descripción más concreta’ son relativas, puesto que una
descripción ‘más concreta’ es la ‘más abstracta’ para un eventual siguiente refinamiento del diseño. En
consecuencia, el como resulta un que desde la perspectiva del nivel de abstración inferior.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 243
especificaciones del sistema:
propósito, comportamiento, funciones,
propiedades, requerimientos / restricciones
de desempeño
especificación
verificación:
- formal
- simulación
a2,1
s1,2
modelo del sistema
verificación:
- formal
- simulación
a3,2
s2,3
partición 'software' / 'hardware':
mapeo función - arquitectura
modelos de módulos 'hardware'y 'software'
(ejecutables / no ejecutables; formales /
informales):
prototipo virtual diferenciado
síntesis de módulos 'hardware'
a4,3
s3,4
síntesis de módulos 'software'
síntesis de interfases / sistemas operativos
módulos
' hardware' y 'software'
verificación:
- ensayo
modelo del sistema
(ejecutable /no ejecutable; formal / informal):
prototipo virtual
exploración del espacio de diseño
modelos de módulos
' hardware' y 'software'
verificación:
- simulación
- emulación
captura de especificaciones del sistema
a5,4
s4,5
implementación
módulos 'hardware' y 'software' del sistema:
prototipo real / realizable
· traducción (formatos) de descripciones
· manufactura; realización
· procesos de configuración / programación
realización e implantación del sistema:
instancia del sistema + documentación
Fig. 5.3: Esquema abstracto del proceso de diseño electrónico actual, en términos de la ‘celda de diseño’ de la Fig. 2.5 y
su ‘expansión fractálica’ de la Fig. 5.2 (o las respectivas figuras 2.4 y 2.5 en la sección 2.1.1.4). Adviértase que la
terminología que figura en el esquema es empleada por diferentes culturas y grupos de diseño con significados
que no necesariamente se corresponden entre sí, ni con el que les asigna el presente documento.
El diseño de sistemas electrónicos comienza por la especificación de su propósito,
comportamiento y funcionalidad deseados, las propiedades que debe honrar, y las
restricciones que debe cumplir. Para ello se emplea una variedad de modelos conceptuales a
diferentes niveles de abstracción, siendo el más abstracto el designado prototipo virtual del
sistema, y el de menor abstracción prototipo real/realizable del sistema, a partir del cual está
garantizada la implementación del sistema.
En las siguientes secciones (5.2.1 a 5.2.10) se describe cada nivel de abstracción, cada tarea
de síntesis, y cada tarea de análisis que figura en el esquema de la Fig. 5.3.
Ingeniería Electrónica – Universidad Católica del Uruguay
244 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
[ 5.2.1 ] ESPECIFICACIÓN DEL SISTEMA
En sintonía con la descripción de los procesos de diseño en ingeniería que se efectúa en la
sección 2.1.1, el esquema para el proceso de diseño en ingeniería electrónica que se propone en
la Fig. 5.3 comienza con la especificación del sistema. Esto implica la declaración del propósito del
sistema, su comportamiento esperado, las funciones que debe desempeñar, las propiedades que ha
de cumplir, los requerimientos que se le exigen, y las restricciones a las que deberá someterse.
El propósito del sistema se relaciona con su aplicación. Aunque pueda darse por
sobrentendido el propósito del sistema y tildar de perogrullada la inclusión en las
consideraciones iniciales del diseño, igualmente conviene siempre establecerlo claramente. La
razón es que lo aparentemente obvio al momento del diseño puede no serlo tiempo después,
cuando el diseño se aborde con otro propósito (por ejemplo, para su uso como componente
para otro sistema, o para su propio mantenimiento y mejora) y particularmente cuando ello
sea efectuado por agentes ajenos a los que participaron en el diseño del sistema.
El propósito del sistema es una idea esencial que no debe omitirse en la
especificación: por obvio que pueda parecer al momento del diseño, es invaluable
contar con esta información tiempo después, por ejemplo, para su mantenimiento,
para revisiones del sistema, o para su reutilización como componente en otro
sistema. La inclusión del propósito en las especificaciones contribuye a evitar la
‘Bourbakización’677 del diseño.
El comportamiento pretendido del sistema y/o las funciones que ha de desempeñar el sistema
constituyen una especificación comportamental y/o funcional del sistema. Esta especificación no
sólo debe ser compatible sino además coherente con el propósito y aplicación del sistema. No es
una descripción completa o siquiera detallada del sistema, sino un conjunto de indicaciones
acerca del comportamiento y funciones pretendidos del sistema, suficiente para caracterizar la
operación deseada de este. Es el punto de partida para el proceso de diseño, que se encarga de
completar los detalles hasta la implementación de un sistema que satisface las especificaciones.
La especificación comportamental y/o funcional del sistema es una declaración
del comportamiento pretendido y/o funciones a desempeñar por el sistema,
compatible y coherente con su propósito y aplicación, y que caracteriza su operación
sin llegar a describirla en forma detallada o completa.
Las propiedades que debe cumplir el sistema constituyen un conjunto de afirmaciones acerca de
su comportamiento o funcionalidad. En lugar de una especificación del comportamiento o
funciones del sistema (en eso consiste la especificación comportamental/funcional) las
propiedades son abstracciones del comportamiento o funcionalidad en alguna dimensión particular.
Por ejemplo, establecer que determinados módulos de la programación de un sistema sean
reentrantes678 no define ni la función de esos módulos ni su comportamiento, sino sólo una
677
Nicolas Bourbaki es el seudónimo colectivo adoptado en 1939 por un grupo de matemáticos
(mayoritariamente franceses) que propugnan la sistematización de la matemática. Según Chaitin
([Cha04], c. II) la continua revisión de sus monografías hasta obtener ‘la perfección’ (único estándar
aceptable para el grupo) lo que logra es erradicar el lenguaje común de los trabajos, y con ello, todo
rastro de las ideas, y el origen de las mismas, que hay detrás de cada demostración, dejando solamente
un resultado expresado formalmente, que dificulta la introspección.
678
Un módulo se designa reentrante cuando siendo invocado múltiples veces y estando alguna instancia
en en ejecución simultáneamente con otra u otras, el estado interno del módulo respecto de una
invocación es independiente del estado interno respecto de otra invocación; es decir, por cada
invocación, el resultado que devuelve depende sólo de los parámetros que se le pasan en la invocación, y
la historia de esa invocación particular, pero no de las restantes. Una función reentrante es una función
que puede ser usada por más de una tarea sin miedo a la corrupción de datos, admitiendo ser
interrumpida en cualquier momento para luego proseguir sin perder información. Las funciones
reentrantes emplean variables locales (registros del procesador, o variables en la pila del sistema) o
protegen sus datos cuando se usan variables globales (por ejemplo, trabajando con copias >> p. 245
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 245
propiedad que deben cumplir. Naturalmente, en el caso de un sistema diseñado adecuadamente,
la descripción funcional y/o comportamental necesariamente satisface las propiedades, por lo
cual el conjunto de estas sería información redundante. Sin embargo, las propiedades son más
sencillas, más abstractas, y más incompletas comparadas con las especificaciones funcionales y/o
comportamentales, por lo cual tales aserciones suelen ser más fácilmente verificables, y por
tanto su definición permite controlar el cumplimiento de aspectos claves de la especificación
del sistema ([ELLS97], p. 5).
Las propiedades son un conjunto de aserciones, de carácter fundamentalmente
cualitativo, sobre aspectos clave del comportamiento y/o las funciones del sistema.
Son más sencillas, abstractas, e incompletas que la descripción comportamental o
funcional del sistema - son una abstracción del comportamiento o la funcionalidad
en alguna dimensión particular - y por tanto más fáciles de verificar.
En tanto que las propiedades del sistema son generalmente de carácter cualitativo, los
requerimientos del sistema son fundamentalmente de carácter cuantitativo, y se asocian a índices
de desempeño para evaluar al diseño, por ejemplo, en términos de costo, confiabilidad,
velocidad, consumo, tamaño, etc. ([ELLS97], p. 4).
Si bien hay restricciones implícitas por las propias especificaciones, o por la realidad y
circunstancia particulares al momento del diseño (ver sección 2.1.1.1) las restricciones que se
mencionan en el esquema se refieren a limitaciones explícitas a los índices de desempeño referidos
precedentemente.
Los requerimientos son fundamentalmente asociados a índices de desempeño del
sistema, y por tanto de carácter cuantitativo. Amén de las restricciones implícitas
por el conjunto de especificaciones o la circunstancia de diseño, pueden además
limitarse en forma explícita los precedentes requerimientos.
Cabe recordar que una especificación ‘por exceso’ - restricciones allende lo
necesario - puede limitar en forma ficticia el espacio de diseño, con un
impacto negativo sobre la posible solución de diseño (ver sección 2.4). Así, es
usual - y hasta conveniente - que las especificaciones sean parcialmente
incompletas679.
[ 5.2.2 ] PROCESOS DE SÍNTESIS S1,2
[ 5.2.2.1 ] CAPTURA DE ESPECIFICACIONES
Por lo general, las especificaciones para el diseño (sección 5.2.1) son conferidas en maneras
heterogéneas y en carácter informal.
Heterogéneas, en el sentido de su medio de expresión; básicamente se refiere al lenguaje en el
cual se efectúa la comunicación de los contenidos, el cual puede ser natural (textual o incluso
verbal, en al menos un idioma) gráfico, matemático, en términos de programas de
computadores, etc. y cualquiera de las posibles combinaciones de estas formas. La
heterogeneidad en las formas de comunicar los contenidos de la especificación suele
corresponderse con la heterogeneidad de la aplicación a la que está destinada el diseño, y
constituye una fuente concreta de complejidad para el proceso de diseño.
<< p. 244 locales de las variables globales). Recíprocamente, una función no reentrante no puede ser
compartida por más de una tarea a menos que se asegure la exclusión mutua a esa función, ya sea
mediante semáforos, o bien deshabilitando las interrupciones durante la ejecución de las secciones
críticas del código de la función.
679
Parcialmente busca sugerir que las especificaciones son lo menos completas posible, con objeto de no
establecer restricciones ficticias al espacio de diseño; obviamente, las especificaciones no pueden ser
‘demasiado’ incompletas, vagas, o inexistentes. La expresión ‘partially incomplete specifications’ es
frecuente en la literatura de diseño electrónico, mas no se explicita su significado.
Ingeniería Electrónica – Universidad Católica del Uruguay
246 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
Informal se refiere a la forma de expresión, en este caso, que no sigue el formalismo
matemático680. Las posibles consecuencias de las especificaciones informales son la carencia de
relaciones precisas entre ellas - eventualmente, falta de relación lógica o incluso de coherencia y la impronta cultural681 que heredan (esto último ligado íntimamente a la heterogeneidad de
los medios de expresión).
Así, el paso de síntesis etiquetado s1,2 en la Fig. 5.3, la captura de las especificaciones, consiste en
la recolección de esas especificaciones usualmente heterogéneas e informales, y la traducción de
este conjunto a un formato adecuado para el proceso de diseño. Por adecuado no se implica
común u homogéneo; esto dependerá de la metodología adoptada para cada proceso de diseño.
La captura de especificaciones es esencialmente su ‘mapeo técnico’: consiste
en la recolección y traducción del conjunto de especificaciones - las que son
usualmente descripciones heterogéneas (diversidad de medios textuales y
audiovisuales) e informales (carentes de relaciones precisas, o incluso coherentes) a un formato adecuado para las etapas posteriores del proceso de diseño.
En el marco del esquema de la Fig. 5.3, un ‘mapeo técnico’ exitoso resulta
en la consecución del modelo del sistema.
Actualmente, cualquier descripción audiovisual (textual, verbal, gráfica estática o animada)
que componga las especificaciones tiende a ser digitalizada para que sea factible introducirle
en un computador. Por lo general, más allá de la mera intención de operar con las
especificaciones como con cualquier conjunto de archivos en un computador (poder
guardarles, copiarles, transmitirles, etc.) se intenta que además sea posible su tratamiento
mediante el computador, es decir, su manipulación a nivel del contenido y su significado. Ello
requiere el empleo de programas estándar para captura y manipulación de texto y datos 682, o la
elaboración de programas específicos para esos propósitos683, o la elaboración de modelos
ejecutables684. En este contexto, y particularmente en caso de sistemas donde la seguridad es
una consideración primordial, se tiende a la formalización de las especificaciones, lo cual casi
asegura685 la posibilidad de su tratamiento mediante el computador.
La tendencia es hacia la manipulación de las especificaciones mediante el
computador incluso a nivel de sus contenidos y significado, lo cual significa
que la traducción es orientada al empleo de programas estándar para manipulación
de texto y datos, o a la elaboración de programas específicos (entre estos, los modelos
ejecutables; ver sección 3.4). En casos donde la seguridad es primordial, además se
tiende a la formalización de estas especificaciones.
680
El formalismo en el sentido de Hilbert se presenta en la sección 3.3.3.2.2, y se define en términos más
‘modernos’ en la sección 3.3.4; previamente, la sección 3.2 discute los temas de modelado informal,
formal y matemático.
681
Cultural, más en el sentido de costumbres personales, grupales o institucionales que de de costumbres y
conocimiento sociales; en este último sentido, hasta la propia matemática y el formalismo matemático
son discutibles como consecuencia de fenómenos culturales (ver sección 2.1.2.2).
682
En una primera instancia, se emplean sistemas de gestión de documentos y bases de datos
relacionales. Las aplicaciones de hojas de cálculo, aunque limitadas en sus capacidades de manejo de
datos respecto a la anteriores, permiten cálculos simples, de listas, iterativos, y pueden generar gráficos
y analizar condiciones, con lo cual son extremadamente útiles para la rápida evaluación de los
compromisos de diseño iniciales. Desafortunadamente, este tipo de herramientas generalmente no
provee mecanismos de enlace con las restantes herramientas del proceso de diseño.
683
Esto es útil en caso que un programa de hojas de cálculo tradicional no resulte adecuado o eficiente.
684
Los modelos ejecutables son programas orientados a la simulación de sistemas. Ver sección 3.4.
685
No lo asegura completamente, en virtud de los fenómenos de incompletitud, incomputabilidad y
aleatoriedad algorítmica que sufren los formalismos matemáticos à la Hilbert (ver secciones 3.3.5 y 3.3.6)
y por la imposibilidad de representar el continuo en forma digital con memoria y tiempo de ejecución
finitos.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 247
En el contexto de diseño electrónico de actualidad, el ‘formato adecuado’
es un modelo ejecutable del sistema, eventualmente formal - un prototipo
virtual del sistema.
[ 5.2.3 ] MODELO DEL SISTEMA: EL PROTOTIPO VIRTUAL
El modelo del sistema es una descripción comportamental o funcional
abstracta del sistema, para cuya consecución se ha introducido, seleccionado, o
modificado la información contenida en las especificaciones del sistema, hasta
eliminar eventuales redundancias o incoherencias en la formulación.
Una descripción funcional (‘functional description’) es un modelo del sistema en términos de un
diagrama de bloques funcionales686. Esto implica que la descripción del sistema puede efectuarse
satisfactoriamente en término de funciones. En consecuencia, una descripción funcional es
generalmente asociada al desarrollo y validación de algoritmos que resuelven las diferentes
funciones del sistema.
Una descripción comportamental (‘behavioral description’) expresa el comportamiento deseado del
sistema, para lo cual no necesariamente es más adecuado - o siquiera factible - emplear bloques
exclusivamente funcionales o algorítmicos. Una descripción comportamental es esencialmente
más abstracta - y, por tanto, más flexible - que una descripción funcional, y resulta más
adecuada para modelar sistemas embebidos (sección 4.4.3) donde la evolución temporal del estado
del sistema importa tanto como las funciones que este realiza en diferentes momentos.
En el encare de diseño electrónico tradicional, se parte de una descripción funcional del
sistema, donde las funciones son asignadas a priori a componentes ‘hardware’ y ‘software’. Esta
partición primigenia, que usualmente es decidida exclusivamente en base a la experiencia
previa y preferencias del equipo de diseño, induce a bifurcar el proceso de diseño en dos
procesos débilmente acoplados - diseño del ‘hardware’ por un lado, y del ‘software’ por otro hasta la fase de integración. Ello frecuentemente ocasiona lo que se designa como problema de
continuidad de modelos: ante el surgimiento de incompatibilidades al momento de la integración,
los ajustes necesarios se intentan realizar en los componentes ‘software’ por razones de costo,
pero no puede descartarse la posibilidad de que los ajustes requieran un rediseño del
‘hardware’ (y, de existir, una eventual refabricación de prototipos) a un costo significativamente
superior.
En el precedente contexto, aunque tanto el ‘software’ como el ‘hardware’ sean diseñados en
forma jerárquico - modular, una partición inicial inadecuada puede igualmente tener un
impacto nefasto en la jerarquía y modularidad del sistema687, en virtud de la fijación a priori de
la interfaz ‘hardware’ - ‘software’ sin opciones de reconfiguración luego de la referida partición
inicial.
Consecuentemente, en el marco del esquema de diseño electrónico que se presenta en la Fig.
5.3, el encare tradicional de diseño de sistemas electrónicos se saltea el nivel correspondiente al modelo
del sistema, pasando directamente del nivel de especificación al nivel de modelos de módulos
‘hardware’ y ‘software’ del sistema. Así, las tareas que en el referido diagrama se indican como
s2,3 (“exploración del espacio de diseño”, y “partición ‘hardware’ - ‘software’: mapeo
función → arquitectura”) no se ejecutan como parte del proceso de diseño, sino que la
686
Véase, por ejemplo, el esquema del proceso de diseño propuesto en [Ras00] que se representa en la
Fig. 2.2 del presente documento.
687
Los conceptos de jerarquía y modularidad de sistemas se discuten en la sección 1.5, referidos al
fenómeno de la complejidad asociada a los sistemas.
Ingeniería Electrónica – Universidad Católica del Uruguay
248 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
arquitectura del sistema688 es precisamente establecida a priori en base a las preferencias y
experiencia previa del equipo de diseño.
En los procesos de diseño electrónico tradicionales se concibe al sistema diferenciado
ab initio en componentes ‘hardware’ y ‘software’. Tal división ad hoc induce una
bifurcación del proceso de diseño en dos procesos débilmente acoplados, ‘hardware’
por un lado, y ‘software’ por otro. Esta fijación a priori de la interfaz
‘hardware’ - ‘software’, carente de opciones de reconfiguración luego de la partición
inicial, ocasiona un “problema de continuidad de modelos” que frecuentemente
eclosiona en la fase de integración del sistema. Además, una partición
‘hardware’ - ‘software’ inicial inadecuada puede tener un impacto nefasto en la
jerarquía y modularidad del sistema, aunque las partes se diseñen separadamente
en forma jerárquica y modular.
En referencia al diagrama de la Fig. 5.3, los procesos de diseño electrónico
tradicional se saltean al nivel del modelo del sistema, para pasar
directamente de la especificación a los modelos de módulos del sistema.
Las tareas de exploración del espacio de diseño y partición
‘software’ - ‘hardware’: mapeo función → arquitectura (identificadas como s2,3
en el referido diagrama) no son ejecutadas, sino que el resultado - la
arquitectura del sistema - es establecida a priori, en base a las preferencias
y experiencia previa del equipo de diseño.
Prima facie, al ser abstracta, una especificación comportamental y/o funcional no implica ni
induce partición alguna del sistema en componentes ‘hardware’ y ‘software’. Así, resulta natural
que el modelo del sistema mantenga esa abstracción, y tampoco induzca tal partición. Con esta
filosofía, el encare de diseño electrónico de actualidad concibe al sistema como una jerarquía de
subsistemas y/o procesos en interacción, pero a diferencia del encare tradicional, no asigna o
relaciona inicialmente esos subsistemas o procesos a componentes ‘hardware’ o ‘software’. Así, el
modelo en base a subsistemas y/o procesos en interacción carece de una orientación
arquitectural implícita, lo que adicionalmente evita una posible orientación prematura hacia la
tecnología de implementación implícita por cada combinación particular posible de ‘hardware’ y
‘software’.
Esta indiferenciación inicial elimina restricciones ficticias y por tanto amplía el espacio de diseño689,
habilitando un diseño jerárquico y modular a nivel de sistema, a diferencia del encare
tradicional que se ve limitado al diseño jerárquico - modular del ‘hardware’ y ‘software’ por
separado, con su interfaz fijada de antemano.
Consecuentemente, en el marco del esquema de la Fig. 5.3, el encare actual de diseño electrónico
plantea la efectiva consecución de un modelo del sistema, derivado de la especificación comportamental o
funcional. En principio, este modelo no incorpora en forma explícita ni el propósito, ni las
propiedades, restricciones o requerimientos de la especificación; sólo modela comportamiento
y/o funcionalidad, siendo el objeto del proceso de diseño refinar690 adecuadamente este modelo
inicial de forma de lograr una implementación, y que esta cumpla con la totalidad de las
especificaciones.
El diseño electrónico de actualidad concibe efectivamente un modelo del
sistema, en términos de una jerarquía de subsistemas y/o procesos en
688
Arquitectura del sistema: en la literatura, se refiere al conjunto de componentes ‘hardware’ o ‘software’
que implementa la funcionalidad del sistema. En este documento, se prefiere designar arquitectura al
conjunto de componentes físicos y/o de programación, cada uno de los cuales implementa parte de la
especificación funcional del sistema; el motivo es que ‘componentes físicos’ puede referirse tanto a
dispositivos electrónicos como mecánicos, o incluso de otro tipo, mientras que el término inglés
‘hardware’ se interpreta usualmente como ‘dispositivos físicos electrónicos’, excluyendo los de otro tipo.
689
Ver sección 2.4.
690
Ver sección 2.1.1.4.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 249
interacción, coherentes con la especificación comportamental y/o funcional
del sistema, y compatible con el resto de las especificaciones.
Este modelo no tiene correspondencia directa con el ‘hardware’ o
‘software’ subyacente - es ‘arquitecturalmente agnóstico’, indiferente - y
por ende, tampoco se orienta a ninguna tecnología particular de
implementación.
Esta indiferencia inicial elimina restricciones ficticias y amplía el espacio
de diseño, habilitando un diseño jerárquico y modular a nivel de sistema.
Esto constituye una diferencia esencial con el encare tradicional, que se ve
limitado al diseño jerárquico - modular del ‘hardware’ y ‘software’ por
separado, con una interfaz fijada de antemano.
Naturalmente, debe efectivamente verificarse que la especificación comportamental y/o
funcional ha sido respetada en el modelo del sistema, y además, que este no es incompatible ab
initio con las restantes especificaciones, aunque ello sea dirimido en etapas posteriores del
proceso de diseño. Es decir, debe verificarse que el modelo del sistema cumple con la
especificación comportamental y/o funcional, y que no viola a priori las propiedades,
requerimientos y restricciones que componen al resto de la especificación. Pero,
recíprocamente, el modelo del sistema constituye una oportunidad para verificar las
especificaciones, es decir, su coherencia interna y compatibilidad691. Una sinopsis de este tipo de
aspectos relativos a la los procesos de análisis que posibilitan la validación o verificación, se
pospone a la sección 5.2.10.
El modelo del sistema debe ser validado coherente y compatible con las
especificaciones, pero recíprocamente, puede ser empleado para verificar la
coherencia y compatibilidad de las propias especificaciones, vía iteraciones
en el ciclo de diseño: especificaciónA → s1,2 → modelo del sistema → a2,1 →
especificaciónB.
En el contexto de diseño electrónico de actualidad, se tiende a que el modelo del sistema sea
ejecutable 692, y de allí que aquí se le designe como prototipo virtual. Así, esencialmente, el
prototipo virtual es el modelo ejecutable de la especificación comportamental/funcional del sistema,
eventualmente de carácter formal.
Naturalmente, es posible la consecución de modelos ejecutables para las partes ‘software’ y
‘hardware’ de un encare tradicional693. No obstante, como se establece al inicio de la presente
sección, esto corresponde a la descripción del nivel de modelos de módulos del sistema; es así
que la designación de prototipo virtual se reserva para designar al modelo ejecutable de la
especificación comportamental/funcional, diferenciándole de otros modelos ejecutables que
pudieren emplearse en los restantes niveles de abstracción del proceso de diseño.
Por prototipo virtual se designa a un modelo ejecutable, eventualmente
formal, de la especificación comportamental/funcional del sistema.
691
No es este un aspecto menor: “Actualmente, la mayor fuente de errores en la integración procede
habitualmente de defectos en la especificación del ASIC, que podrían haberse evitado mediante la utilización de un
lenguaje formal, apto para su simulación y posterior síntesis, capaz de incorporar ficheros tecnológicos y criterios
de integración necesarios para eliminar las ambigüedades existentes en la misma; esto obliga a una sólida
coherencia en la fase de especificación.” ([TTOV98], p. xvii). En la cita, debe asumirse que lo que aquí se
designa modelo del sistema se halla integrado a lo que allí designan especificación; no por ello se invalida la
relevancia de una especificación y modelo del sistema coherentes para el proceso de diseño.
692
El concepto de modelo ejecutable se presenta en la sección 3.4.
693
El ‘software’ puede directamente describirse mediante un HLL, y el ‘hardware’ puede describirse
mediante un HDL; ambos pueden ser simulados - o co - simulados (ver sección 5.6) - en una estación de
trabajo, previo a una implementación del ‘hardware’ del sistema objetivo que ejecute su propia
programación (‘software’).
Ingeniería Electrónica – Universidad Católica del Uruguay
250 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
Aunque resulte inmediata la posibilidad de elaborar modelos ejecutables de las
partes ‘hardware’ y ‘software’ de un sistema (por ejemplo, en un proceso de diseño
electrónico tradicional) estos modelos corresponden al nivel de modelos de módulos
‘hardware’ - ‘software’ indicado en la Fig. 5.3, y no al modelo a nivel del sistema.
Así, se reserva la designación de prototipo virtual para el caso específico señalado,
con objeto de diferenciarlo de otros modelos ejecutables que pudieren emplearse en
los restantes niveles de abstracción del proceso de diseño.
En cuanto modelo ejecutable, el prototipo virtual permite la simulación del sistema, lo que
habilita la exploración del espacio de diseño, a nivel de sistema, con asistencia de herramientas
informáticas. Cuando además de posible694 es pertinente (como en el caso de sistemas con
requerimientos de seguridad críticos695) este prototipo virtual se construye tal que admita
análisis formal. Así, el prototipo virtual puede comprender incluso aquellas partes mecánicas,
químicas, biológicas, etc. que en caso de un SoC son intrínsecas al sistema, y que en el caso más
general de un sistema embebido corresponden al sistema que integran, o su entorno.
Inicialmente, en concordancia con el principio de no sobre - especificación del sistema, el
prototipo virtual no modela el detalle del comportamiento y/o funcionalidad del sistema, sino
sólo lo necesario para asistir a la toma de decisiones de diseño críticas. Posteriormente, el
prototipo virtual puede puede ser ajustado mediante retroanotación desde etapas ulteriores del
proceso de diseño. Por ejemplo, se puede ir incorporando progresivamente información
referente a tiempos de ejecución de procesos o retardos en la propagación de señales, que se
extrae a partir de estimaciones, simulaciones, o mediciones conforme se va accediendo a los
niveles de abstracción inferiores del diseño. De esta forma, se mantiene al prototipo virtual
como modelo de referencia durante la totalidad del proceso de diseño, con la ventaja adicional
que es el modelo ejecutable de mayor eficiencia en simulación (o eventual análisis formal) por
ser el de máximo nivel de abstracción.
Con el prototipo virtual se mitiga el problema de continuidad del modelo, puesto que desde
el inicio se dispone de un modelo integral del sistema, contra el cual referirse. Además, en caso
de ser factible la refinación progresiva del prototipo virtual hasta la implementación del
sistema696, el modelo dado por el prototipo virtual es disponible para la totalidad del proceso de
diseño, con lo cual el problema de continuidad desaparece por completo. Desafortunadamente,
por sencilla que parezca esta posibilidad, no lo es su realización: “Es un corto paso conceptual
desde el modelo arquitectural a la implementación del sistema; después de todo, el modelo es ejecutable,
el sistema objetivo también es ejecutable, de forma que es simplemente una cuestión de transformar uno
en otro. El lío, por supuesto, está en los detalles.”697 ([SP02], p. 2).
En cuanto modelo ejecutable, el prototipo virtual permite la simulación del
sistema - eventualmente, su análisis formal - y habilita a la exploración
del espacio de diseño, a nivel de sistema, con la asistencia de herramientas
informáticas.
En las metodologías de diseño de actualidad se modela con el prototipo
virtual a las partes ‘hardware’ y ‘software’ del sistema (en forma
694
Ténganse presente los fenómenos ‘Gödelianos’ (Gödel, Turing, Chaitin; secciones 3.3.5 y 3.3.6); en un
contexto ‘computacional’, la incomputabilidad, el Problema de Finalización, y la aleatoriedad algorítmica.
695
Por ejemplo, equipamiento de uso aeronáutico, naval, de ferrocarril, médico, industrial, etc.
696
La facilidad para refinar progresivamente el modelo del sistema, desde el prototipo virtual hasta la
implementación, es fuertemente dependiente de la realización concreta del prototipo virtual (estructura,
lenguaje de descripción, etc.) así como del conjunto de herramientas de diseño que da soporte al flujo
específico que se adopte para el diseño. En ciertos casos, no resulta factible un refinamiento paulatino
del modelo, sino que se requiere prácticamente una refacción o reconstrucción del modelo conforme se
pretende acceder a un nivel de abstracción inferior; de aquí que no se asuma a la ligera la factibilidad de
un refinamiento ‘continuo’.
697
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 251
indiferenciada) así como también eventuales partes mecánicas, químicas,
biológicas, etc. que constituyen al propio sistema (por ejemplo, un MEMS) o
a su entorno (por ejemplo, la planta industrial).
Con el prototipo virtual no se captura un comportamiento o funcionalidad
detallados del sistema, sino sólo lo necesario para asistir a la toma de
decisiones de diseño críticas.
El prototipo virtual puede ser ajustado progresivamente por
retroanotación de detalles desde niveles de abstracción inferiores,
manteniéndose así como modelo de referencia para todo el proceso de
diseño, con la máxima eficiencia en simulación o eventual análisis formal
por su nivel de abstracción. Al ser un modelo integral del sistema se mitiga
el problema de continuidad; de ser posible su refinación progresiva hasta
la efectiva implementación del sistema, el problema de hecho se elimina.
“El beneficio principal de una metodología descendente698 es que las decisiones de diseño pueden ser
tomadas en el momento apropiado, es decir, con la mínima cantidad de esfuerzo desperdiciado. Cada vez
que se toma una decisión, esta puede ser probada en el contexto del modelo general del sistema para ver
sus efectos. Este es el propósito de emplear modelos de sistema ante todo.”699 ([SP02], p. 3).
El prototipo virtual puede emplearse para ensayar el impacto de las
decisiones de diseño a nivel global.
La carencia de un prototipo virtual es un claro indicador de un diseño no
realizado a nivel de sistema.
No obstante, la utilidad del prototipo virtual está supeditada a las capacidades de
interoperabilidad de las herramientas informáticas de diseño que dan soporte al flujo700 de
diseño, en particular, las que permiten trabajar en forma coordinada con diferentes partes del
modelo a diferentes niveles de abstracción (idealmente, las que permiten simulación mixta
multi - nivel) y síntesis comportamental701. A su vez, las capacidades de interoperabilidad de las
herramientas están supeditadas a la capacidad expresiva de los los lenguajes de programación
con que estan implementadas (o que ellas implementan) y los modos de cómputo que estos
soportan702.
La utilidad del prototipo virtual está supeditada a las capacidades de
interoperabilidad de las herramientas informáticas que dan soporte al
flujo de diseño (sección 5.6) y estas, a la capacidad expresiva de los los
lenguajes de programación que las implementan (o que ellas implementan)
y los modos de cómputo que los respectivos lenguajes soportan (sección 5.5).
Consecuentemente, el lenguaje de descripción del prototipo virtual es un
aspecto crítico del diseño.
Como se aduce en diversos pasajes del presente documento703, el lenguaje de descripción de
cualquier modelo ejecutable constituye un problema crítico, que se manifiesta
698
Ver sección 2.2.1.
699
Texto traducido del original, en inglés. Ver nota 54, p. 39.
700
Ver sección 2.2.
701
En la sección 4.3.4 se introducen algunos aspectos básicos acerca de la interoperabilidad de
herramientas CAD. Refiérase a la sección 5.2.6.1.2 para una discusión acerca de la síntesis
comportamental. En la sección 5.6 se hacen referencias a la co - simulación multi - nivel.
702
El concepto de modos o modelos de cómputo y su relación con los lenguajes de programación se presenta
en la sección 5.5.
703
El problema del lenguaje es un problema subyacente a toda descripción, y por tanto, general. En
particular, la sección 2.1.2.2 discute preocupaciones de tipo epistemológico al respecto de los lenguajes.
Ingeniería Electrónica – Universidad Católica del Uruguay
252 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
particularmente al momento de intentar la composición de modelos, independientemente
de su nivel de abstracción.
El tema de los lenguajes de descripción del prototipo virtual constituye un álgido punto de
debate. Como puede inferirse de [EDAC01] y [GR00], una corriente significativa a nivel
mundial es la que impulsa a la extensión de los lenguajes de programación general (HLL) y su
empleo para modelar al sistema704 (véase, por ejemplo, [GL97], [SP02], [Swa01], [CJ02],
[OSCI02a], [OSCI02b], [YMSTHN98], y [SGXX]).
Sin embargo, otras culturas consideran que el diseño a nivel de sistema requiere capacidades
descriptivas tales que no resulta conveniente o eficiente incorporarles por modificación a los
HLL estándares.
Entre estas, las iniciativas más directas buscan métodos para combinar descripciones HLL y
HDL (estándares) para modelar al sistema; por ejemplo, se usa C para describir algoritmos, y
VHDL para describir los circuitos y dispositivos digitales (y aún otros lenguajes según los
diferentes encares). No obstante, una simulación en este encare multilenguaje requiere la
implementación de mecanismos de comunicación entre la simulación VHDL y la ejecución del
código C compilado705 (y también con los eventuales restantes modelos ejecutables descritos en
otros lenguajes). Usualmente se emplea un “‘bus’ de cosimulación”, que puede ser realizado
mediante comunicación interprocesos, ‘pipes’, o ‘sockets’ en sistemas Unix, o el propio ‘bus’
físico PCI del computador anfitrión, dependiendo de si hay simulación o emulación del
‘hardware’ objetivo (algunos esquemas de estos casos se representan sintéticamente en
[Mah04], pp. 2-13). Una presentación de la descripción multilenguaje se tiene en
[JRLHCVMDZXX], y un ejemplo concreto es comentado en [LVHJACXX]. En esta línea, se
requieren elaborar metodologías y/o entornos de diseño de sistemas, que frecuentemente implican
el desarrollo de interfases para el programador (API, ‘Application Programmers Interface’) en algún
HLL estándar. Esas API orientan el empleo de los HLL para la construcción de modelos
ejecutables adecuados al propósito del entorno o metodología, y a sus eventuales simuladores
específicos (los que son desarrollados conjuntamente con la API). Ocasionalmente, se
desarrollan también lenguajes específicos para descripción de sistemas para acceder a niveles de
abstracción superiores a los que los HLL y HDL estándares permiten describir. Algunos
ejemplos de los casos referidos son [LWDV99], [VVBD99], [RS97], y [Tan01].
Por otro lado, a diferencia de quienes abordan al problema de interoperabilidad de herramientas
y modelos desde la perspectiva de interfaz entre lenguajes (véase, por ejemplo, [MG03] y
[CKOGXX]) otros se preocupan de la interoperabilidad al nivel de los modos de cómputo
subyacentes a los lenguajes (fundamentalmente, los impulsores del proyecto Ptolemy [PtP01], y
otros como Polis [Pol99], o Metropolis [MetXX]).
Las precedentes cuestiones son objeto de discusión en las secciones 5.5 y 5.6.
[ 5.2.4 ] PROCESOS DE SÍNTESIS S2,3
Los procesos de síntesis identificados s2,3 en la Fig. 5.3 son los que llevan del prototipo virtual
indiferenciado al prototipo virtual diferenciado, es decir, del modelo funcional del sistema al
modelo arquitectural del sistema. Usualmente se habla de dos tareas componentes de esta fase
de síntesis, la exploración del espacio de diseño y la partición ‘hardware’ - ‘software’, tareas que - al
nivel que se indica en la Fig. 5.3 706 - están íntimamente relacionadas. No obstante, su
consideración por separado obedece a que la referida relación no es bilateral: puede efectuarse
704
En general, el argumento principal para impulsar la extensión de los HLL hasta cubrir los aspectos
‘hardware’ y de sistema, es el de poder así emplear un único lenguaje para la totalidad del proceso de
diseño, lo que elimina el problema de continuidad del modelo (ver sección 5.2.3).
705
El código C puede compilarse para su ejecución en el computador anfitrión, o un emulador ‘hardware’
del sistema, o un intérprete ‘software’ (un intérprete del código de máquina del procesador objetivo, que
es ejecutado por el computador anfitrión; son típicamente designados simuladores del conjunto de
instrucciones, ISS ‘Instruction-Set Simulator’; ver sección 5.2.6.2.1.2).
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 253
un particionamiento del sistema sin la correspondiente exploración del espacio de diseño, pero
no se registra una exploración del espacio de diseño a nivel del sistema que no se traduzca en
un posterior particionamiento del sistema.
[ 5.2.4.1 ] EXPLORACIÓN DEL ESPACIO DE DISEÑO
La actividad de exploración del espacio de diseño se describe, para un proceso de diseño
genérico, en la sección 2.4.1; la presente sección presenta los objetivos concretos para el caso del
diseño electrónico de actualidad, en el marco del esquema abstracto de la Fig. 5.3.
En el encare del diseño electrónico de actualidad, el objeto de la exploración del espacio de
diseño es asistir a la determinación de la partición (óptima) del sistema en componentes
‘hardware’ - ‘software’, es decir, asistir a la determinación de una arquitectura del sistema707, óptima
según ciertos criterios.
El prototipo virtual es el vehículo idóneo para la exploración del espacio de diseño, en virtud
de su calidad ejecutable - lo que efectivamente permite una alteración sistemática y automatizada
de los parámetros de diseño, particularmente por retroanotación - y por carecer de orientación
arquitectural, lo que permite su refinamiento hacia diversas arquitecturas candidato, y el estudio
del impacto de esas diferentes particiones ‘hardware’ - ‘software’ sobre el desempeño del
sistema.
En línea con lo que se establece en la sección 2.4.1, la exploración del espacio de
diseño en un proceso de diseño electrónico de actualidad, al nivel de
abstracción indicado en la Fig. 5.3, tiene como objeto asistir a la
determinación de la arquitectura óptima del sistema.
En este contexto, el prototipo virtual es un vehículo idóneo de exploración
del espacio de diseño, al permitir su refinamiento hacia diversas
arquitecturas candidato, y estudiar su impacto en el desempeño del
sistema.
Al tenerse una arquitectura preestablecida, en un encare de diseño
tradicional no se efectúa la exploración del espacio de diseño (a nivel de
sistema).
[ 5.2.4.2 ] PARTICIÓN EN MODELOS DE MÓDULOS ‘HARDWARE’ Y ‘ SOFTWARE’ - MAPEO
FUNCIÓN → ARQUITECTURA
“La correcta realización de las fases de alto nivel es probablemente la tarea más importante en el
diseño de un circuito. Las decisiones de arquitectura son las que tienen un mayor impacto en todos los
parámetros de los circuitos: complejidad, velocidad y consumo. Aunque en fases posteriores se tienen que
realizar siempre importantes contribuciones al diseño, es difícil que optimizaciones realizadas en dichas
fases puedan compensar una mala selección de la arquitectura de un circuito.” ([TTOV98], p. xviii).
La partición del sistema en componentes ‘hardware’ y/o ‘software’ es una
decisión crítica de diseño, puesto que define la arquitectura del sistema.
Esencialmente, la partición ‘hardware’ - ‘software’ - también llamada partición funcional - es el
proceso de decidir, para cada subsistema del prototipo virtual, si resulta más conveniente
implementar su función mediante un dispositivo electrónico específico, mediante uno
programable y su programación asociada, o mediante las combinaciones más pertinentes de
estos casos708, entre las que se incluyen la posibilidad de emplear dispositivos estándar o
706
Nótese que, por definición, es factible una ‘exploración del espacio de diseño’ dentro de cada
‘subespacio’ asociado a otros niveles de abstracción de un proceso de diseño, aunque tales niveles no
sean el ‘de sistema’ que se indica en la Fig. 5.3.
707
Ver nota 688, p. 248.
708
No todas las culturas de diseño admiten esta tercera posibilidad: “La partición de objetos funcionales
entre componentes del sistema es efectuada como sigue: (1) La funcionalidad del sistema es descrita >> p. 254
Ingeniería Electrónica – Universidad Católica del Uruguay
254 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
específicos a la aplicación (ya sean programables o no) y programación estándar o específica
(programas ya desarrollados en otros proyectos, eventualmente por otros equipos o terceras
partes, o programación específica al caso).
La partición ‘software’ - ‘hardware’ puede verse en forma abstracta como un mapeo
función→arquitectura: define cuales componentes ‘hardware’ y ‘software’
se han de implementar, y asigna las funciones a las unidades
arquitecturales definidas.
En el encare de diseño actual, esta tarea está íntimamente ligada a la exploración
del espacio de diseño, vía el prototipo virtual.
“En términos genéricos, el problema de mapeo toma como entrada una especificación funcional y
produce como salida una arquitectura y una asignación de funciones a las unidades arquitecturales.”709
([ELLS97], p. 42). “La función de costo optimada por el proceso de mapeo incluye una mezcla de
tiempo, área, costo, y consumo de potencia, donde la importancia relativa depende fuertemente en el tipo
de aplicación. (...) Los componentes de la función de costo pueden tomar la forma de restricción estricta o
de cantidad a ser minimizada.”710 ([ELLS97], p. 43).
La arquitectura que surge de la partición ‘hardware’ - ‘software’ debe estar incluida en el
‘conjunto solución’ del espacio de diseño711, es decir, debe ser compatible con la especificación.
Dado el conjunto de especificaciones funcionales (idealmente, en términos del
prototipo virtual del sistema) y un conjunto de componentes (arquitecturas
candidato) un algoritmo de particionamiento analiza los posibles mapeos
función→arquitectura buscando minimizar una función de costo
predeterminada, es decir, busca la partición óptima para un criterio dado
(adaptado de [RAASPXX], p. 64). Este es un problema de optimación
multivariable de complejidad no polinomial ([RAASPXX], p. 45).
Una exploración eficiente del espacio de diseño (sección 5.2.4.1) es esencial
para evitar mínimos locales de la función de costo.
EL ‘ESQUEMA Y’ DE EVALUACIÓN ARQUITECTURAL
Un procedimiento empleado en la literatura para implementar los procesos de síntesis s2,3 es
basado en el ‘esquema Y’712. Este esquema fue originalmente propuesto para evaluar
arquitecturas orientadas a flujos de datos (por ejemplo, para procesamiento de señales
[LWDV99]). El objetivo original es el estudio del desempeño de una arquitectura programable
en diferentes aplicaciones. No obstante, puede también ser empleado para evaluar diferentes
arquitecturas para una aplicación ([LSS98], pp. 2-3; [WVBXX]).
El ‘esquema Y’ se representa en la Fig. 5.4, adaptado para mantener la coherencia con el
esquema abstracto del proceso de diseño de la Fig. 5.3:
Las arquitecturas son evaluadas cuantitativamente por medio de análisis de desempeño. Los
resultados numéricos obtenidos pueden sugerir mejoras en la arquitectura, reestructuras o
<< p. 253 como una colección de objetos funcionales indivisibles; (2) La función de cada componente del sistema
es implementada en ‘hardware’ o ‘software’” ([RAASPXX], p. 48; texto traducido del original, en inglés; ver
nota 54, p. 39. El texto en negritas no figuran en el original).
709
Texto traducido del original, en inglés. Ver nota 54, p. 39.
710
Texto traducido del original, en inglés. Ver nota 54, p. 39.
711
Ver sección 2.4.
712
Originalmente propuesto por: B. Kienhuis, E. Deprettere, K. A. Vissers, P. Van Der Wolf, “An
Approach for Quantitative Analysis of Application-specific Dataflow Architectures”, Proc. Of International
Conference on Application-specific Systems, Architectures and Processors (ASAP 97), pp. 338-349, 1997.
No debe confundirse con el esquema homónimo propuesto por Gajski para ilustrar las tres dimensiones
en el diseño de circuitos integrados: D. Gajski, “Silicon Compilers”, Addison-Wesley, 1987.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 255
prototipo virtual
(modelo funcional)
arquitectura1
mapeo función - arquitectura
ajuste del
prototipo
virtual
prototipo virtual
diferenciado
(modelo arquitectural)
modificación de
la estrategia
de mapeo
modificación
de arquitectura,
o selección de
otra arquitectura
candidato
evaluación de desempeño
Fig. 5.4: ‘Esquema Y’ de evaluación de arquitecturas programables para diferentes aplicaciones, adaptado a la
evaluación de arquitecturas para el prototipo virtual (Adaptado de [LSS98], p. 3; [LWDV99], p. 182, y otros).
ajustes en la descripción funcional, o la modificación de la estrategia de asignación de las
funciones a los elementos arquitecturales.
Aún así, subsiste la cuestión de cómo proponer arquitecturas razonables, o cómo derivarlas
del prototipo virtual en forma automática, o al menos, asistida por herramientas de diseño.
[ 5.2.5 ] MODELOS DE MÓDULOS ‘HARDWARE’ Y ‘SOFTWARE’: EL PROTOTIPO
VIRTUAL DIFERENCIADO
“El particionamiento determina que partes de la especificación serán implementadas sobre esos
componentes713, mientras que su implementación efectiva será creada por síntesis de ‘software’ y
‘hardware’.”714 ([ELLS97], p. 43).
El resultado de la partición funcional es un conjunto de modelos de
módulos ‘hardware’ y ‘software’ del sistema, a partir de los cuales los
respectivos procesos de síntesis se encargan de llenar los detalles de las unidades
arquitecturales e interfases hasta su implementación.
A diferencia del ‘arquitecturalmente agnóstico’ prototipo virtual (sección 5.2.3) el modelo del
sistema en este nivel es diferenciado en componentes ‘hardware’ y ‘software’, por lo cual puede
designarse prototipo virtual diferenciado.
Aquí puede presentarse un conflicto crítico, dado que el lenguaje de descripción del
prototipo virtual no necesariamente es el adecuado para la descripción de los modelos de
módulos ‘hardware’ y ‘software’ del prototipo virtual diferenciado. El empleo de lenguajes
713
Componentes ‘hardware’ (p. ej. microprocesadores, microcontroladores, memorias, dispositivos de
E/S, ASIC, FPGA); componentes ‘software’ (p. ej. un sistema operativo, administradores de dispositivos
o ‘drivers’, procedimientos, programas concurrentes); y canales de interconexión (p. ej. canales
abstractos, memorias compartidas, ‘buses’ de comunicación) ([ELLS97], p. 43).
714
Texto traducido del original, en inglés. Ver nota 54, p. 39.
Ingeniería Electrónica – Universidad Católica del Uruguay
256 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
diferentes para el prototipo virtual y el prototipo virtual diferenciado - una discontinuidad del
lenguaje - puede contribuir al problema de continuidad del modelo referido en la sección 5.2.3,
y es una razón por la cual el lenguaje de descripción del prototipo virtual es señalado en dicha
sección como un aspecto crítico en el proceso de diseño. Así, el problema consiste en cómo
efectuar una eventual traducción entre los lenguajes de descripción del prototipo virtual
indiferenciado y el diferenciado en caso de tratarse de descripciones en lenguajes diferentes.
La consecuencia más significativa de una eventual discontinuidad del
lenguaje de descripción entre el prototipo virtual y el prototipo virtual
diferenciado, es que eventuales modificaciones al primero requieren un
nuevo esfuerzo de traducción para reflejar los cambios en el segundo715
(Adaptado de [SP02], p. 2).
El problema crítico radica en la viabilidad de tal traducción ante una
eventual discontinuidad de lenguajes, dado que no es sólo un problema de
interfaz entre lenguajes (sección 5.5).
La precedente es una de las razones que impulsa a la consecución y empleo de un un único
lenguaje para la especificación, modelado, simulación y síntesis del diseño. Esta visión, y la de
sus detractores, así como de alternativas que combinan descripciones en diferentes lenguajes,
se trata en la sección 5.5.
Como se indica en la sección 5.2.3, los procesos de diseño tradicional
establecen su primer modelo a este nivel, con lo cual evitan el problema de
la discontinuidad del lenguaje.
No obstante, lo hacen a costa de no explorar el desempeño de arquitecturas
alternativas, e incluso, sin validar la correspondencia con las especificaciones, es
decir, lo hacen a costa de la continuidad del modelo.
El prototipo virtual diferenciado modela el comportamiento de los módulos en términos de
operaciones, sentencias de asignación, y construcciones de control (Adaptado de [Lin97], p.3).
Es natural que los modelos de los módulos ‘software’ sean descritos en un HLL, mientras que
los modelos de los módulos ‘hardware’ son generalmente descritos mediante un HDL. “Los
lenguajes de descripción de ‘hardware’ (HDL) son lenguajes de alto nivel, similares a los de
programación (C, Pascal, Ada,...) con una sintaxis y semántica definidas para facilitar el modelado y
descripción de circuitos electrónicos, desde las celdas de base de un ASIC hasta sistemas completos,
pudiéndose realizar estas descripciones a distintos niveles de abstracción, precisión, y estilos de
modelado... (...) Mientras en ‘software’ se recurre a los lenguajes de alto nivel para implementar los
algoritmos de forma independiente716 del procesador que los va a ejecutar, en el caso del ‘hardware’ son
los HDL, quienes permiten descripciones de los circuitos a alto nivel de abstracción e independientes de
la implementación tecnológica final.” ([TTOV98], p. 13-14). Recientemente, se registran esfuerzos
- y disputas - relativos a popularizar las descripciones de ‘hardware’ mediante lenguajes HLL, a
los cuales se les ha dotado de capacidad para expresar la concurrencia y noción del tiempo que
son inherentes al ‘hardware’, pero ajenos al ‘software’ típico717 ([GL97], [GR00], [EDAC01],
[SP02]); un ejemplo son las clases SystemC para el lenguaje C ([Swa01], [CJ02], [OSCI02a],
[OSCI02b]). Nótese que tal extensión permite usar un único HLL para el prototipo virtual
diferenciado - y eventualmente para el prototipo virtual - con lo cual se eliminaría tanto la
discontinuidad del lenguaje como la del modelo.
715
Se asume que la discontinuidad del lenguaje impide una traducción automática entre estos.
716
Téngase presente que esta ‘independencia’ requiere de compiladores, ensambladores, enlazadores,
cargadores, etc. (en la literatura de habla inglesa, las herramientas CLAS) específicos a cada procesador
objetivo.
717
Amén de ignorar la concurrencia y temporización, el desarrollo de ‘software’ usual tampoco requiere
que los lenguajes de programación brinden recursos para modelar propiedades típicas de señales
eléctricas, como alta impedancia, indeterminado, o no importa; tampoco requiere recursos específicos para
modelar cálculos en punto fijo, ni tamaños de palabra arbitrarios, etc.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 257
Una situación usual es que los modelos de los componentes ‘hardware’ se
hallen descritos a nivel comportamental en términos de un HDL, mientras
que los modelos correspondientes a los componentes ‘software’ se hallen
descritos mediante algún HLL, o - más abstractamente - en un lenguaje de
comandos.
Otra situación posible es que todos los modelos se hallen descritos en
términos de un único lenguaje; típicamente un HLL que ha sido dotado con
noción de tiempo y capacidad de expresar concurrencia (características
inherentes al ‘hardware’). Esto permite usar un único HLL para el
prototipo virtual diferenciado - y, eventualmente, para el prototipo
virtual - con lo cual se eliminaría tanto la discontinuidad del lenguaje
como la del modelo.
Idealmente, en el prototipo virtual diferenciado, los modelos de los módulos arquitecturales
son aún indiferentes a la tecnología final de implementación. Sin embargo, normalmente
resulta imposible mantener un grado de independencia tal, y por tanto, existe
indefectiblemente cierta orientación tecnológica en estos modelos. No obstante, el objetivo es
mantenerla al mínimo de forma de poder efectuar, dentro de cada ámbito ‘hardware’ y
‘software’, una exploración del (sub)espacio de diseño tendiente a optimar decisiones, ya no a nivel
de la arquitectura global como en la sección 5.2.4.1, sino a nivel de los detalles de los módulos
arquitecturales y sus interfases. “Las técnicas y herramientas de síntesis tradicionales, que son
aplicadas a niveles de abstracción inferiores del diseño, se concentran bien en ‘hardware’ o ‘software’. El
particionamiento a estos niveles de abstracción inferiores se ocupa más de la asignación de recursos y
optimación del flujo de datos. Al nivel arquitectural, el particionamiento es significativo e implica la
identificación de los componentes ‘hardware’ y ‘software’ dado que son inicialmente indistinguibles.”
([Tan01], p. 6). Así, dependiendo de las herramientas concretas que se dispongan, la síntesis de
‘hardware’ a partir de cada descripción HDL admitirá una cierta tecnología de implementación,
y la disponibilidad de herramientas CLAS 718 para cada HLL limitará las alternativas de
procesadores de silicio estándares para el ‘software’.
[ 5.2.6 ] PROCESOS DE SÍNTESIS S3,4
En la presente sección se da un primer nivel de detalle acerca de los procesos de síntesis que
llevan del prototipo virtual diferenciado al prototipo realizable.
En virtud de fijar a priori la interfaz ‘hardware’ - ‘software’ y no considerar la posibilidad de
reconfiguraciones posteriores, los procesos de síntesis de ‘hardware’ y de ‘software’ en un encare
tradicional se realizan en forma prácticamente independiente. Por el contrario, los encares de
actualidad - además de elaborar un prototipo virtual con el cual validar la especificación, y
determinar el mapeo función → arquitectura óptimo - buscan continuar con un proceso de
diseño integral, por refinación del prototipo virtual a los modelos de módulos, y de estos, a los
módulos propiamente.
En un encare de diseño tradicional, los procesos de síntesis que llevan del
prototipo virtual diferenciado al nivel de módulos ‘hardware’ y ‘software’
son prácticamente independientes; de hecho, son usualmente ejecutados
siguiendo culturas específicas de diseño de ‘hardware’ y ‘software’.
La cosíntesis - el desarrollo concurrente de la síntesis de ‘hardware’ y
‘software’ - es una meta de las actuales metodologías de codiseño
‘software’ - ‘hardware’ (sección 5.6) que buscan mantener un proceso de
diseño integrado.
Cabe notar que es posible efectuar un desarrollo concurrente de los procesos de síntesis de ‘hardware’
y ‘software’ independientemente de la existencia de un prototipo virtual. Tales casos quedan
718
Compiladores, ensambladores, enlazadores, cargadores, etc.
Ingeniería Electrónica – Universidad Católica del Uruguay
258 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
comprendidos en la sección 5.6, pero aún así, en este documento no se les considera
estrictamente procesos de diseño a nivel de sistema, precisamente por carecer de prototipo
virtual (indiferenciado). El motivo es que - pese a que en algunos casos de co - diseño el
prototipo virtual diferenciado pudiere sufrir modificaciones arquitecturales significativas - su
nivel de abstracción es igualmente el de un modelo de módulos ‘hardware’ y ‘software’, con lo
cual presenta dos desventajas respecto a un eventual prototipo virtual para el mismo sistema:
1. el menor nivel de abstracción del prototipo virtual diferenciado respecto al prototipo virtual
reduce la eficacia y posibilidades de simulación y/o análisis formal, inhibiendo sus
potenciales como modelo de referencia para el resto del proceso de diseño;
2. el menor nivel de abstracción del prototipo virtual diferenciado respecto al prototipo virtual
complica la verificación de la correspondencia entre el modelo y las especificaciones, ya al
inicio del proceso de diseño.
La posibilidad de cosíntesis ‘hardware’ - ‘software’ depende de la
capacidad de interoperabilidad de las herramientas de diseño.
En general, los métodos de codiseño (sección 5.6) requieren un entorno de modelado,
ejecución, y verificación (usualmente, simulación) integral o interoperable, desde el
prototipo virtual al realizable, sustrato que no siempre es fácil o factible de
instrumentar.
La presentación de los procesos de síntesis designados s3,4 en el esquema de la Fig. 5.3 y sus
correspondientes procesos de análisis a4,3 (secciones 5.2.6.1, 5.2.6.2, y 5.2.6.3) pretenden ilustrar
cada proceso de diseño ‘hardware’ y ‘software’ por separado, posponiendo a la sección 5.6 su
consideración en un entorno de diseño integral.
[ 5.2.6.1 ] SÍNTESIS DE MÓDULOS ‘HARDWARE’
El proceso de síntesis de módulos ‘hardware’ se esquematiza en la Fig. 5.5.
Al igual que el esquema abstracto del proceso de diseño electrónico de la Fig. 5.3, el esquema
de la Fig. 5.5 es orientado a los niveles de abstracción. En este último esquema, los niveles de
abstracción designados “descripción comportamental y/o funcional”, “descripción RT”,
“descripción lógica”, “descripción física”, y los procesos etiquetados s3,4 A ... s3,4 C, y a4,3 A ... a4,3 C
(que se hallan enmarcados en la zona rectangular al centro del esquema) constituyen un
refinamiento entre los niveles 3 (modelos de módulos) y 4 (módulos) del esquema de la Fig. 5.3
(como sugieren los subíndices en la designación de los procesos referidos) mientras que el
nivel designado “implementación física” se corresponde719 con el nivel “implementación” de la
Fig. 5.3 (y los procesos asociados, con sus homónimos en esta última figura). El motivo de esta
superposición entre los niveles de menor abstracción de los esquemas de las figuras 5.3 y 5.5
responde simplemente a la intención de presentar el proceso de síntesis de ‘hardware’ en forma
‘autocontenida’.
719
Corresponde y no equivale, puesto que el nivel de implementación del esquema de la Fig. 5.3
eventualmente involucra a los componentes ‘software’ del sistema.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 259
verificación:
- chequeos de consistencia
- simulación (lógica)
retroanotación:
- temporización
· estimaciones
· retardos de puertas o
retardos de conexiones
(niveles inferiores)
verificación:
- chequeos de consistencia
- simulación (lógica /
analógica)
retroanotación:
- temporización
· retardos de puertas
· retardos de conexiones
(nivel inferior)
verificación:
- chequeos de consistencia
y/o reglas (LVS; DRC;
ERC)
- simulación (analógica)
retroanotación:
- temporización
· retardos de conexiones
(distribución topológica;
incidencia de parásitos)
- elementos / efectos
parásitos
verificación:
- ensayo (BIST; ATE)
descripción
comportamental y/o
funcional
a4,3 A
s3,4 A
descripción RT
a4,3 B
s3,4 B
modelos comportamentales y/o
funcionales de los módulos
'hardware':
descripción HDL
comportamental / funcional
síntesis comportamental - RT:
mapeo de función en arquitectura
RT objetivo (celdas de biblioteca)
· agendamiento de operaciones
· asignación de recursos 'hardware'
arquitectura de transferencia de
registros de los módulos
'hardware': descripción HDL de
arquitectura RT (unidad de
datos y unidad de control)
síntesis RT - lógica (celdas de
biblioteca)
descripción lógica
a4,3 C
s3,4 C
descripción física
(geometría/topología)
a5,4
s4,5
implementación física
circuitos de puertas lógicas de
los módulos 'hardware':
descripción HDL de
arquitectura de puertas lógicas
síntesis lógica: optimación lógica,
planificación topográfica
(posicionamiento) e interconexión
descripción física de los
módulos 'hardware':
· descripción geométrica de las
capas físicas de los IC (ASIC)
· 'bitstreams' de configuración
de IC reconfigurables (FPGA)
· procesos de manufactura
(tecnología específica)
· procesos de configuración
dispositivos físicos (IC) de los
módulos 'hardware'
Fig. 5.5: Esquema del proceso de síntesis de ‘hardware’. Los niveles de abstracción designados “descripción
comportamental y/o funcional”, “descripción RT”, “descripción lógica”, “descripción física”, y los procesos etiquetados
s3,4 A ... s3,4 C y a4,3 A ... a4,3 C (enmarcados en la zona rectangular al centro del esquema) constituyen un refinamiento entre
los niveles 3 (“modelos de módulos”, o “prototipo virtual diferenciado”) y 4 (“módulos”, o “prototipo realizable”) del
esquema de la Fig. 5.3. A diferencia de estos, el nivel designado “implementación física” se corresponde con el nivel 5
(“implementación”) de la Fig. 5.3, y los procesos asociados s4,5 y a5,4, con sus homónimos en la referida figura.
Este esquema representa el proceso de implementación de un circuito integrado (IC). El proceso de implementación
de una plataforma ‘hardware’ sobre una placa de circuito impreso (PCB) se limita al nivel de “descripción física”,
donde lo que se describe es el PCB del sistema sobre el cual se integran los dispositivos y componentes físicos.
El esquema de la Fig. 5.5 representa al proceso de implementación de un circuito integrado a
partir de su modelo comportamental o funcional. Estos IC - típicamente: procesadores ISA de
tipo COTS (GPP, MCU, o DSP) o ASIP; ASIC (analógicos, digitales, o mixtos); SoC; MEMS son posteriormente interconectados en un PCB, junto con dispositivos discretos y más
elementales, para conformar plataformas ‘hardware’.
Desde la perspectiva de los niveles de abstracción del esquema de la Fig. 5.5, el proceso de
implementación de la plataforma ‘hardware’ se halla al nivel de “descripción física”, donde la
Ingeniería Electrónica – Universidad Católica del Uruguay
260 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
descripción corresponde a la topografía del PCB que soporta e interconecta a los dispositivos y
componentes físicos que constituyen la plataforma.
Así, la presente sección 5.2.6.1 se dedica fundamentalmente a describir el proceso de diseño de un IC,
refiriéndose al diseño de plataformas ‘hardware’ sobre PCB cuando resulte pertinente efectuar algún
comentario.
El esquema de síntesis de ‘hardware’ representado en la Fig. 5.5 se refiere al
proceso de implementación de un circuito integrado (IC) de complejidad
significativa, partiendo de su modelo comportamental/funcional.
Los IC VLSI así implementados720 son posteriormente interconectados en un PCB
para conformar plataformas ‘hardware’.
[ 5.2.6.1.1 ] DESCRIPCIÓN COMPORTAMENTAL/FUNCIONAL DE MÓDULOS ‘HARDWARE’
Como se indica en la sección 5.2.5, es usual que los modelos de los componentes ‘hardware’
del prototipo virtual diferenciado se hallen descritos en un HDL (o, equivalentemente, un HLL
aumentado con nociones de concurrencia y temporización). Así, el proceso de síntesis de los
módulos ‘hardware’ parte de los modelos comportamentales/funcionales.
A modo de ejemplo, en la Fig. 5.13 se presenta la descripción VHDL funcional de una puerta
OR (líneas 11 a 17) que también cabe considerar como descripción comportamental, puesto que
establece el comportamiento de la entidad, independientemente que esta ejecute una función
en el sentido tradicional. Aunque maximalmente elemental, el ejemplo tiene la virtud de
ilustrar el nivel de abstracción comportamental/funcional por comparación con otras
descripciones; por ejemplo, una descripción estructural (la descripción de la interfaz de la
entidad ‘puerta_or’ en las líneas 6 a 9 de la Fig. 5.13, equivalente al símbolo esquemático de una
puerta OR, constituye parte de una descripción estructural) o una descripción en términos de
funciones booleanas (en este caso elemental, sencillamente Z = A + B) o de la descripción
geométrica orientada a la implementación en silicio (ver figuras 5.10, 5.11, y 5.12721). El ejemplo
muestra, además, la capacidad del HDL para expresar concurrencia722 y su noción del tiempo723.
En lo que respecta a los componentes ‘hardware’ del prototipo virtual diferenciado, a partir
de este nivel de abstracción el problema de discontinuidad de lenguajes puede ser
completamente evitado, aunque ello no significa que se obtenga la máxima eficiencia de
modelado.
720
Típicamente: procesadores ISA de tipo COTS (GPP, MCU, o DSP) o ASIP; ASIC (analógicos, digitales,
o mixtos); SoC; MEMS. Componentes elementales como lógica discreta, o componentes no integrados
como resistores, capacitores, inductores, diodos, transistores, etc. no son diseñados e implementados
siguiendo el proceso representado en la Fig. 5.5.
721
Estas figuras corresponden a dispositivos más complejos que una simple puerta OR.
722
La sentencia process (A, B) en la línea 13 implica que la entidad es sensible al cambio
- eventualmente simultáneo - de cualquiera de las señales A o B.
723
La declaración after 10 ns en la línea 15 asocia explícitamente un retardo a la asignación
Z ← A or B. Nótese que esta temporización puede implicar que la descripción se orienta a una
tecnología de implementación particular, para la cual el retardo es compatible. Lo usual, sin embargo, es
que el retardo constituya un refinamiento del modelo funcional efectuado por retroanotación desde
etapas posteriores del proceso de diseño, donde no sólo se tiene en cuenta la tecnología de
implementación, sino además los efectos parásitos de la topografía particular del diseño en cuestión.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 261
Fig. 5.6: Descripción VHDL funcional de una puerta OR (líneas 11 a 17). Nótese en la linea 13 la concurrencia explícita
entre las señales A y B, y en la línea 15 la temporización explícita de la señal Z, típicas construcciones de un lenguaje
orientado a la descripción de ‘hardware’. Esta descripción puede también considerarse comportamental, puesto que
establece el comportamiento de la entidad, independientemente que esta ejecute una función en el sentido tradicional.
En principio, cualquier modelo HDL de un módulo ‘hardware’ es
sintetizable desde el momento en el que es simulable. “Al fin y al cabo, un
simulador en tiempo real (un emulador) sería una implementación ‘hardware’ del
código. En consecuencia, el problema no es tanto la posibilidad de sintetizar
una determinada construcción sino las prestaciones (coste, velocidad,
consumo, etc.) de la implementación correspondiente” ([TTOV98], p. 193).
Consecuentemente, las herramientas de síntesis imponen ciertas restricciones a la
descripción HDL para poder asegurar una eficacia mínima en el proceso de síntesis, es decir,
para poder identificar un ‘hardware’ que implemente eficientemente la descripción HDL. Esto
se traduce en que las descripciones no pueden hacer uso de la totalidad de los recursos
expresivos de los HDL, sino que han de limitarse a determinados subconjuntos (designados por
ello sintetizables) de cada HDL para garantizar la posibilidad de síntesis eficiente. Y el
inconveniente al respecto es que se carece de un subconjunto sintáctico estándar para cada
HDL que sea aceptado por todas las herramientas, con lo cual la síntesis es altamente
dependiente de las herramientas de diseño y el flujo de diseño adoptados en cada caso.
Para poder garantizar una síntesis eficiente las herramientas de síntesis
imponen restricciones sintácticas y semánticas a las descripciones de los
módulos ‘hardware’, que les impiden hacer uso de la totalidad de los
recursos expresivos de los HDL, y les limitan a determinados subconjuntos
(designados sintetizables).
La carencia de subconjuntos sintácticos estándar hace que las tareas sean
fuertemente dependientes de las herramientas concretas que se adopten en cada caso
y cada flujo de diseño, y por tanto, dificulta la reutilización de descripciones.
Además, aunque los HDL permitan evitar la discontinuidad del lenguaje, subsiste el
problema de la continuidad del modelo en cualquier proceso de diseño que carezca de un
sustrato de modelado integral o interoperable (sección 5.6) que permita integrar a los modelos
de módulos ‘hardware’ con sus pares ‘software’, y - a un nivel de abstracción superior - al
prototipo virtual.
Ingeniería Electrónica – Universidad Católica del Uruguay
262 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
[ 5.2.6.1.2 ] SÍNTESIS COMPORTAMENTAL S3,4 A
La primer tarea del proceso de síntesis de ‘hardware’ (fase identificada s3,4 A en la Fig. 5.5) es la
síntesis comportamental - también llamada síntesis de alto nivel o HLS 724 - que de la descripción
funcional de los módulos ‘hardware’ produce una arquitectura de lógica de transferencia de registros
o arquitectura RT725 (sección 5.2.6.1.3). Es frecuente hallar en la literatura que por ‘síntesis
comportamental’ se comprenda al proceso de síntesis completo, que toma la descripción
funcional y devuelve la descripción física. En este documento, sin embargo, se prefiere limitar
el alcance del término, con objeto de poder presentar en forma natural los niveles de
descripción RT y lógico726.
Del proceso de síntesis ‘hardware’, la síntesis comportamental es - a la fecha - la fase que
dispone de menor asistencia informática, habiendo pocas herramientas comerciales o
académicas, y siendo estas relativamente inmaduras respecto a herramientas de síntesis
correspondientes a los niveles RT e inferiores.
La salida de una herramienta de síntesis comportamental debe estar constituida por las dos
partes básicas ([Lin97], p.4; [SP02], p.3; [ZivXX], p.5; [CCGLPSV99], p. 187) que conforman
una arquitectura RT (sección 5.2.6.1.3; ver Fig. 5.7):
•
la estructura RT de la unidad de procesamiento de datos, y
•
la especificación de una máquina de estados finita (FSM 727) de la unidad de control.
En parte debido a la inmadurez de su desarrollo, y en parte por motivos de eficiencia, las
herramientas HLS existentes están orientadas al dominio de aplicación del sistema o de los
dispositivos a sintetizar. Orientaciones frecuentes de herramientas HLS son a los dominios de
sistemas dominados por flujos de datos - por ejemplo, procesamiento de señales - o sistemas
dominados por flujo de control - por ejemplo, sistemas reactivos, máquinas de estado, o cualquier
sistema que requiera toma de decisiones - (Adaptado de [CCGLPSV99], p. 191). Otra posible
orientación para sistemas HLS es el diseño de procesadores con arquitectura de conjunto de
instrucciones728 ([Lin97], p. 15). Además de esta orientación al dominio de aplicación, las
herramientas HLS se especializan en la síntesis de circuitos de bajo consumo, o de alta
confiabilidad (cuando la seguridad es una propiedad primordial) u orientados a facilitar su
verificación729. Así, cada herramienta HLS asume un esquema arquitectural para la síntesis, lo que
implica ciertas restricciones en la arquitectura RT que pueden generar 730. Esto atenta contra las
posibilidades de reutilización de modelos ya sintetizados.
Independientemente del patrón arquitectural adoptado por el diseñador o la herramienta
HLS, la arquitectura RT objetivo debe estar compuesta por recursos ‘hardware’ predefinidos
([CCGLPSV99], pp. 192-193). Es decir, se requieren bibliotecas de componentes RT para sintetizar
la arquitectura RT correspondiente a una descripción funcional. Estas bibliotecas pueden ser
724
HLS, acrónimo de la voz inglesa ‘High-Level Synthesis’.
725
RT, por ‘Register Transfer’; también se habla de arquitectura RTL, ‘Register-Transfer Level’.
726
En este aspecto, hay similaridades con el concepto de compilación del ‘software’, donde es usual asumir
que el término se refiere al proceso de generación de código de máquina a partir del programa descrito
en un HLL, aunque es instructivo considerar etapas intermedias de generación de un programa en
lenguaje ensamblador, y posteriormente fases de ensamblado y enlazado hasta el código de máquina.
727
FSM, por ‘Finite-State Machine’.
728
Procesadores ISA, acrónimo de ‘Instruction-Set Architecture processors’. Si bien estos son usualmente
denominados ‘microprocesadores’, y asociados exclusivamente a los procesadores de instrucciones
‘estándar’ presentes en los computadores convencionales, estrictamente el concepto de procesador ISA
incluye a los microcontroladores (μC) procesadores de señales digitales (DSP) y también a los
procesadores de instrucciones de aplicación específica (ASIP).
729
En la literatura, DFT, ‘Design For Testability’: diseño orientado a la verificación.
730
Refiérase a la sección 5.2.6.1.3 para una sinopsis del significado de ‘esquemas arquitecturales RT’
(estructuras de interconexión de componentes arquitecturales RT); un ejemplo se representa en la Fig.
5.8.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 263
dependientes de la tecnología de implementación, y por tanto, pueden diferir según la síntesis
se oriente a ASIC, FPGA, o soluciones intermedias731.
Los componentes o celdas de una biblioteca RT pueden ser clasificados en dos categorías
generales ([CCGLPSV99], p. 194):
•
celdas primitivas: celdas que implementan las típicas operaciones aritméticas, relacionales,
lógicas, etc.732
•
celdas de aplicación específica: funciones personalizadas para el proyecto específico733
Desde el punto de
([CCGLPSV99], p. 195):
vista
de
su
implementación,
estas
celdas
pueden
ser
•
celdas fijas (‘hard-cells’): son celdas que ya definen un esquema lógico y topográfico según
criterios de optimación (velocidad, área, consumo, etc.) no siendo por tanto modificables;
por ejemplo, las celdas estándar (‘standard cells’)
•
celdas configurables (‘soft-cells’): son celdas descritas como una red (‘netlist’) de celdas de una
biblioteca (por ejemplo, celdas fijas, primitivas o de aplicación específica) cuya topografía
no es fija, requiriendo posteriores fases de posicionamiento e interconexión (‘placement’ y
‘routing’; ver sección 5.2.6.1.6)
•
celdas regulares: semejantes a las celdas configurables, las celdas regulares son compuestas
de celdas de una biblioteca, orientadas a circuitos que presentan una gran regularidad
estructural
•
celdas lógicas: celdas descritas en un HDL en términos funcionales (los circuitos combinatorios
son descritos en términos de funciones booleanas, y los secuenciales en términos de
ecuaciones de estado y salida, o diagramas de transiciones de estados) que requieren
posteriores procesos de síntesis RT - lógica (sección 5.2.6.1.4) para obtener un esquema lógico
(sección 5.2.6.1.5) y de posicionamiento e interconexión (sección 5.2.6.1.6) para obtener la
descripción física (sección 5.2.6.1.7); este tipo de celdas es particularmente apropiado para el
diseño de funciones personalizadas
En [Tew96] se presentan las principales modalidades de ASIC, en particular, los diseños en
base a diferentes tipos de celdas. Nótese que, dependiendo de la implementación de las celdas en la
biblioteca disponible para el diseño, las fronteras entre los niveles RT, lógico y físico, y entre los
correspondientes procesos de síntesis, se torna difusa.
Similarmente a como sucede en la traducción de un programa descrito en un HLL a lenguaje
ensamblador, el primer paso de una herramienta HLS consiste en capturar la descripción
comportamental (dada por el código fuente en HDL) a un formato intermedio, usualmente un
grafo734 donde los nodos representan operaciones, los arcos indican la dependencia de las
operaciones, y las propiedades asociadas a los arcos constituyen las restricciones del proceso735.
Este grafo puede estar orientado al flujo de datos (DFG, ‘data flow graph’) al flujo de control
(CFG, ‘control flow graph’) o al flujo de datos y control (CDFG, ‘control-data flow graph’)
731
732
Ver sección 4.1.2.
Sumadores, multiplicadores, desplazadores, contadores,
comparadores, puertas NAND, NOR, XOR, OR, AND, NOT, etc.
multiplexores,
demultiplexores,
733
De ser posible y conveniente, cabe la reutilización de celdas específicas desarrolladas en proyectos
previos.
734
Similarmente a un proceso de generación o interpretación de un programa, esto requiere fases de
análisis léxico del código fuente (reconocimiento e identificación de símbolos) análisis sintáctico
(determinación de la estructura descrita, y generación del grafo representativo) y un análisis semántico
(identificación de las operaciones representadas en el grafo). Ver sección 5.2.6.2.3.
735
La captura de la información de entrada en un formato intermedio, típicamente algún grafo
adecuado al caso, es un recurso casi universal en las herramientas CAD, tanto de desarrollo de
‘software’ como ‘hardware’ (ver Fig. 5.15). Muchas de las tareas de optimación que ejecutan las
herramientas se efectúan por transformaciones del grafo.
Ingeniería Electrónica – Universidad Católica del Uruguay
264 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
correspondientemente a la
[CCGLPSV99], pp. 197-203)
orientación
de
la
herramienta
HLS 736
([Lin97], p.4;
La transformación de la descripción funcional capturada en el grafo en la arquitectura RT
objetivo consta de tres fases interdependientes ([Lin97], p.4; [CCGLPSV99], pp. 203-221;
[ZivXX], p. 5):
•
agendamiento (‘scheduling’): definición del orden de ejecución de las operaciones indicadas en la
descripción comportamental (capturadas en los nodos del grafo) asociándole a cada una un
intervalo de tiempo (‘control step’) el necesario para su ejecución737
•
asignación (‘allocation’): selección del tipo738 y cantidad739 de componentes RT de la biblioteca
para conformar la unidad de procesamiento de datos (UF, elementos de almacenamiento y
de interconexión740)
•
asociación (‘binding’): asociación entre los recursos asignados y las operaciones agendadas
(operaciones a las UF, variables a los elementos de almacenamiento, y transferencias de datos a
interconexiones tal que los datos son transferidos acordes al agendamiento). Es usual que
las tareas de asignación y asociación sean hechas en forma simultánea.
La arquitectura RT sintetizada por un proceso HLS será óptima dependiendo de la adecuada
exploración del espacio de diseño correspondiente 741. De hecho, similarmente al mapeo
función → arquitectura que se efectua en el nivel de abstracción superior sobre varias
arquitecturas candidato para determinar la óptima (sección 5.2.4) la síntesis comportamental
generalmente produce varias arquitecturas RT candidatas, y busca la minimización de la
función de costo aplicable al caso.
Dado que los sistemas HLS tradicionales efectúan la síntesis en base a estimaciones muy
burdas (el área se estima como la suma del área de las celdas empleadas para el diseño; se
asume que el retardo de interconexión es insignificante 742) la interacción entre estas
herramientas y las correspondientes al nivel físico (planificación topográfica o posicionamiento, e
interconexión743) requiere una interoperabilidad mucho mayor que la existente ([Lin97]p. 12).
736
Y al propósito del sistema a sintetizar, asumiendo que la herramienta se ha elegido adecuadamente.
737
A nivel RT, esto requiere cinco etapas: (1) lectura de datos, desde elementos de almacenamiento o
puertos externos, (2) transferencia de datos a una UF, (3) ejecución de la operación, (4) transferencia de
datos hacia elementos de almacenamiento o puertos externos, (5) escritura de datos en el elemento de
almacenamiento.
738
En caso que exista más de un elemento en la biblioteca de componentes RT capaz de ejecutar la
misma operación.
739
En caso de existir dos o más operaciones pasibles de ejecución por diferentes UF, cabe compartir un
recurso entre varias operaciones o ejecutarlas en paralelo, y consecuentemente, debe definirse también
la cantidad de elementos de almacenamiento e interconexión necesarios (y revisar el correspondiente
agendamiento).
740
Ver sección 5.2.6.1.3.
741
Éste es el determinado por los modelos de los módulos ‘hardware’.
742
Hipótesis adecuada sólo para diseños en base a tecnologías ‘viejas’: la progresiva reducción de las
dimensiones de los transistores debida a los avances en las tecnologías de fabricación de
semiconductores (sección 4.2) hace que el área y los retardos introducidos por las interconexiones pasan a
ser los dominantes frente a los inherentes a los transistores y puertas lógicas que estos conforman.
Nótese además que se implica que las celdas incluyen algún tipo de información de su implementación
física; en caso de celdas fijas, esta información se dispone directamente, pero en otros casos debe
estimarse o retroanotarse desde fases posteriores del proceso de síntesis.
743
Respectivamente, herramientas de ‘floorplanning’ o ‘placement’, y ‘routing’; genéricamente, las
herramientas de ‘layout’. Sólo considerando las diferencias entre los ASIC y las FPGA, resulta evidente
que las herramientas de ‘layout’ están generalmente asociadas a cada posible implementación, de forma
similar a como un ensamblador se halla asociado a un procesador (o una familia) ISA particular.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 265
No obstante, con el advenimiento de dispositivos reconfigurables744 como FPGA, que no
requieren de lentas y costosas etapas de fabricación 745, se posibilita la consecución rápida y
económica de prototipos físicos para simulación y verificación. Concomitantemente, el cuello
de botella se traslada en estos casos a las etapas de mayor abstracción del diseño, y allí las
herramientas HLS constituyen un aporte significativo para abreviar los tiempos de diseño.
[ 5.2.6.1.3 ] DESCRIPCIÓN RT
La descripción en términos de lógica de transferencias de registros, o descripción RT, es bien el
producto de una herramienta HLS (sección 5.2.6.1.2) o bien una descripción efectuada en
forma directa por el diseñador, ad hoc, o por refinamiento manual de un modelo
comportamental del ‘hardware’.
En forma abstracta, la arquitectura RT de un circuito digital 746 de complejidad significativa747
puede ser dividida en cuatro módulos: unidad de procesamiento de datos748, unidad de control,
elementos de memoria, y elementos de entrada/salida ([CCGLPSV99], p. 186). Asociando los
elementos de memoria y entrada/salida locales a la unidad de procesamiento de datos749, una
descripción RT se compone básicamente de dos partes:
•
la estructura RT de la unidad de procesamiento de datos, y
•
la especificación de una máquina de estados finita (FSM) de la unidad de control750.
Esta descripción RT abstracta se representa en la Fig. 5.7.
La unidad de procesamiento de datos tiene como cometido la manipulación y
transformación de datos (el cómputo) que debe efectuar el circuito. Usualmente, es conformada
en base a tres tipos de componentes, provenientes de alguna biblioteca de componentes RT751.
744
Se presume aquí más adecuado el término reconfigurable que el término programable (pese a ser este
último el derivado de la designación y, por tanto, el más usual); ‘hardware’ reconfigurable describe con
mayor exactitud la naturaleza de dispositivos como las FPGA que ‘hardware’ programable , el cual además
puede ser asociado fácilmente a procesadores ISA.
745
Ver sección 4.1.2.
746
Cabe recordar que, en este documento, la síntesis de circuitos analógicos - bastante más recalcitrante
a la automación que su contraparte digital - se supone es efectuada mayormente en forma manual, por
lo cual se considerará que los flujos y herramientas de síntesis aplicables al diseño analógico estarán
razonablemente comprendidos por los de síntesis automática o manual de ‘hardware’ digital.
747
Aunque puede hacerse una descripción RT de cualquier circuito elemental, el objetivo por excelencia
de la síntesis de ‘hardware’ son los circuitos complejos, como un procesador digital (un ASIC, o ASIP;
dentro de este último tipo figuran los microprocesadores o microcontroladores ‘típicos’, además de los
específicos a una aplicación).
748
‘Datapath’, en la literatura angloparlante; literalmente: vía de datos. Una designación alternativa usual
es unidad aritmético-lógica o ALU (del inglés ‘Arithmetic-Logic Unit’). La designación más ilustrativa,
combinación de las anteriores, sería unidad de procesamiento aritmético-lógico de datos. No obstante, por
razones de brevedad, aquí se prefiere unidad de procesamiento de datos, o más lacónicamente, unidad de
datos.
749
“Los módulos de memoria RAM y ROM son considerados como externos a la descripción RT por la mayoría de
las herramientas de síntesis.” ([TTOV98], p. 197, nota 4)
750
En ocasiones referida como máquina ASM, ‘Algorithmic State Machine’.
751
Esta biblioteca es la que se le especifica a la herramienta HLS en caso de un proceso de síntesis
comportamental (5.2.6.1.2) para que esta pueda sintetizar la descripción RT a partir de la descripción
HDL funcional.
Ingeniería Electrónica – Universidad Católica del Uruguay
266 - [ 5 ] Diseño de Sistemas Electrónicos Complejos
secuenciación
entradas de control
UNIDAD DE CONTROL
señales de
estado
entradas de datos
salidas de control
señales de
control
UNIDAD DE DATOS
salidas de datos
cómputo
Fig. 5.7: Modelo abstracto de la arquitectura RT de un procesador digital (adaptado de [TTOV98], p. 198) que no
explicita la señal de reloj suministrada a ambas unidades.
•
unidades funcionales (UF): unidades capaces de efectuar operaciones sobre datos, como
unidades aritmético-lógicas (sumadores, multiplicadores, desplazadores, contadores, etc.) y
unidades de funciones específicas, como unidades de direccionamiento de memoria, etc.
•
unidades de almacenamiento: flip-flops individuales, registros, y eventualmente memorias
•
unidades de interconexión: conexiones punto a punto (un origen, un destino) ‘buses’ (diversos
orígenes a diversos destinos) multiplexores (diversos orígenes a un destino)
demultiplexores (un origen, diversos destinos)
La unidad de control es responsable de ordenar la ejecución de operaciones en la unidad de
datos (la secuenciación del cómputo). Para ello, un nivel activo en una de las señales de control en
la Fig. 5.7 origina alguna acción sobre los componentes de la unidad de datos, por ejemplo:
transferencia de datos entre registros, incrementos de un contador, selección de multiplexores,
accionamiento de llaves, etc. La función de la unidad de control es que las señales de control se
emitan en la secuencia adecuada y en el momento adecuado. Así, la FSM que describe a la unidad
de control debe especificar cada secuencia de operaciones que la unidad de datos debe ejecutar
en cada paso (‘control step’)752 ([Lin97], p.4). Las unidades de control son esencialmente circuitos
secuenciales, y como tales, pueden ser de tipo fijas (‘hardwired’) o microprogramadas. En el último
caso, por lo general se requieren herramientas específicas, que asistan a generar la unidad de
direccionamiento de memoria, definir la capacidad de memoria de programa, generar la
programación y cargarla en la memoria de programa, etc. ([CCGLPSV99], pp. 221-222).
Dependiendo del tipo de sistema objetivo (si es dominado por flujo de datos, por flujo de
control, o mixto) será más adecuada cierta forma de interconexión de las UF, cierta forma de
compartir esas conexiones, etc. De hecho, como se menciona en la sección 5.2.6.1.2, las
herramientas HLS se diseñan para la síntesis en base a un esquema arquitectural específico.
Por ejemplo, si el sistema es orientado a flujo de datos, un esquema arquitectural posiblemente
adecuado será el de segmentación (‘pipeline’). Características usuales que diferencias los
diferentes patrones arquitecturales son: unidad de control centralizada o descentralizada;
unidades funcionales sencillas o complejas; interconexiones en términos de ‘buses’
(segmentados por llaves, o no) o multiplexores, etc. Un ejemplo se representa en la Fig. 5.8.
752
Usualmente, cada ciclo de reloj, aunque dependiendo del caso y el esquema arquitectural RT, ciertas
operaciones pueden agendarse sobre varios ciclos de reloj (se asume aquí que se trata de sistemas
síncronos). Ver nota 737, p. 264.
Diseño de Sistemas Electrónicos Complejos
[ 5.2 ] Estructura abstracta del proceso de diseño de sistemas electrónicos - 267
' bus' de control
' bus' de datos
unidad de
control
multiplexor
multiplexor
multiplexor
multiplexor
registro
registro
registro
registro
UF
UF
Fig. 5.8: Esquema arquitectural RT (arquitectura RT objetivo) de la herramienta HLS ‘HYPER’, de Berkeley (adaptado
de [CCGLPSV99], Figura 5.23, p. 227).
En resumen: una arquitectura RT es un conjunto de unidades funcionales, de
almacenamiento, y de interconexión, que conforman una unidad de procesamiento de datos, y una
lógica de control que agenda adecuadamente las operaciones de la unidad de procesamiento de
datos, de forma tal que se respeten las restricciones de área (básicamente, dada por la cantidad
de UF) velocidad (los ciclos de reloj necesarios para ejecutar las operaciones) etc.
correspondientes al caso (Adaptado de [SP02], p. 3). Los posibles patrones de interconexión de
componentes RT serán adecuados o no en función del tipo de sistema a sintetizar (por ejemplo,
si es gobernado por flujo de datos, de control, o mixto); diferentes herramientas HLS están
orientadas a la síntesis de descripciones RT conformes a un patrón o esquema arquitectural
particular. El empleo de bibliotecas de componentes RT puede implicar una orientación tecnológica
particular (de hecho, lo impone si las celdas de biblioteca son fijas y poseen una descripción
física correspondiente a una tecnología de fabricación específica 753); la incidencia tecnológica
depende entonces de la biblioteca y su tipo de celdas. Consecuentemente,
el nivel RT es el más bajo que puede mantenerse razonablemente
independiente de la tecnología de implementación.
753
Celdas como las correspondientes a FPGA, mar de puertas, etc. podrán estar limitadas en mayor o
menor medida a una familia de dispositivos o tecnologías de implementación. Sin embargo, celdas
correspondientes a una tecnología específica de fabricación de ASIC no pueden ser empleadas ‘tal cual’
para tecnologías de fabricación cuya dimensión mínima sea mayor (aunque puede ser posible su empleo
para tecnologías que admiten menores dimensiones, siempre que se respeten las reglas de diseño
aplicables a la ‘nueva’ tecnología). Una excepción son, por ejemplo, las tecnologías CMOS escalables de
MOSIS (SCMOS) cuya ‘escalabilidad’ apunta precisamente a que una descripción física sea compatible
con varias tecnologías y no sólo con una (lo que, naturalmente, puede resultar en que la descripción física
no aproveche al máximo las posibilidades de la tecnología, con una penalización en términos de área).
MOSIS (‘MOS Implementation Service’) es un servicio estandarizado para fabricación de VLSI IC, que
permite el prototipado rápido de IC (y también de PCB). La función del servicio MOSIS es la de un
agente intermediario entre el diseñador y los fabricantes (las ‘foundries’) de forma tal que la consideración
del d
Descargar