1.3 Conceptos sobre sistemas aut ´onomos
1.3.3 Organizaci ´on
En esta secci ´on trataremos de analizar el sistema aut ´onomo en t´erminos de su organi- zaci ´on, relacionando ´esta con los objetivos y con el comportamiento del sistema, para construir una visi ´on unificada y global.
El sistema en t´erminos de objetivos, organizaci ´on y comportamiento
Adoptemos una perspectiva global del sistema aut ´onomo. Como hemos mencionado, laorganizaci´onde un sistema en un momento dado se corresponde con suestructura de objetivos. Esto quiere decir que laspropiedades3 del sistema hacen que ´este evolucione
hacia los objetivos. A esta evoluci ´on le llamamoscomportamiento.
Hemos visto que existen diferentes tipos deobjetivos,organizaci´onycomportamiento. Losobjetivos ra´ızse corresponden a un conjunto de propiedades que forman laestructura realdel sistema, y que es la causa de sucomportamiento permanente. Losobjetivos interme- diosse corresponden con otro conjunto de propiedades que forma laestructura hipot´etica
y causa elcomportamiento relativamente permanente.
Debemos concebir la estructura real del sistema como una predisposici ´on o ade- cuaci ´on b´asica del sistema —segundo sentido definalidad—.
Miremos ahora el sistema desde otra perspectiva, volviendo a la formulaci ´on de la GST. La organizaci ´on del sistema se puede explicar en base a dos conceptos: la
estructura-UCy laestructura-ST. El primero explica loselementosque forman el sistema y c ´omo est´an relacionados los unos con los otros. El segundo explica las posibles con- figuraciones y valores que pueden adoptar.
En estos t´erminos, elcomportamiento permanentedel sistema, derivar´ıa de laestructura- UC, dentro de las posibilidades derivadas de laestructura-ST. Como se ha mencionado arriba, el comportamiento permanente sigue una tendencia b´asica del sistema hacia los
objetivos ra´ız.
Sin embargo, eventualmente losobjetivos intermediosylocalespueden cambiar, cau- sando que algunos de los elementos del sistema se modifiquen o sean sustituidos por otros. Esto se refleja en el conjunto de estados potencialmente alcanzables por el sis- tema. Los elementos y acoplamientos susceptibles de sustituci ´on o modificaci ´on consti- tuyen laparte variablede laestructura-UC, y los estados potenciales derivados, la parte variable de laestructura-ST. Derivan en los comportamientosrelativamente permanentey
transitorio.
Como se avanz ´o arriba, la din´amica de laestructura de objetivosy por tanto, la de laorganizaci´on, representan la adaptatividad del sistema. Esto deriva de la posibilidad del sistema para modificar sus propiedades adapt´andolo a las perturbaciones y a la evoluci ´on del escenario de operaci ´on.
Funciones
Entenderemos unafunci´on como una sucesi ´on de estados asociados a un objetivo es- pec´ıfico. Es decir, un conjunto de estados y transiciones que contribuye a realizar un objetivo. La funci ´on es, por tanto, unsubprograma, en el sentido de la terminolog´ıa GST [Kli69, p.45], [Kli80, p.80]. Siguiendo la secuencia de estados y transiciones del subpro- grama, el sistema avanzar´a hacia el objetivo.
Se puede asumir que, en el caso m´as general, un objetivo dado puede alcanzarse de m ´ultiples maneras, a trav´es de diversas funciones. Tambi´en puede componiendo varias funciones, en lugar de una sola. Dado un objetivo, llamaremosdescomposici´on funcional
al proceso por el cual se le asigna una funci ´on concreta o un conjunto de funciones. Desde un punto de vista cognitivo, la relevancia de una funci ´on es sualgoritmo. Un
algoritmoespecifica un modo particular de alcanzar el objetivo correspondiente. Los al- goritmos pueden guardarse representados en la memoria del sistema. En este caso se dice que estas representaciones constituyen funciones en forma conceptual. Cuando el sistema est´a adaptado a un algoritmo espec´ıfico, se dice que la funci ´on est´acorporizada. Independientemente de estar en forma conceptual o coporizadas, podemos distin- guir tres aspectos de las funciones, que llamaremosaferente,eferenteydeliberativo. Se cor- responden aproximadamente con los conceptos usuales deentrada,salidayprocesamiento
respectivamente.
La evoluci ´on de las cantidades aferentes representan la entrada a la funci ´on, intu- itivamente su parte perceptiva. An´alogamente, las cantidades eferentes representan la salida o resultado de la funci ´on, su parte de acci´on. Conviene matizar que el t´ermino ‘acci ´on’, aunque se utiliza com ´unmente y es intuitivo, es impreciso. La parte eferente de una funci ´on no tiene por qu´e conllevar una acci ´on f´ısica. Debe entenderse, en el caso general, como el proceso de cambiar el estado de un cierto n ´umero de cantidades que, a veces pero no necesariamente, pueden ser cantidades f´ısicas. Por ´ultimo, la evoluci ´on de las cantidades deliberativas representa el procesamiento o c ´omputo asociado a la funci ´on, intuitivamente, elpensamiento.
Algoritmos y funciones corporizadas
Hemos introducido las nociones dealgoritmoyfunci´on corporizadacomo una sucesi ´on de estados y como su implementaci ´on con cantidades reales. No se puede asumir en el caso general que una funci ´on corporizada se corresponda directamente con su algoritmo. Est´a sujeta a restricciones derivadas del escenario de operaci ´on y de los recursos del sistema. En concreto, podemos considerar los siguientes puntos:
• Una funci ´on corporizada debe estar basada en un conjunto espec´ıfico de canti- dades del sistema. Sin embargo, un algoritmo puede estar formulado idealmente, sin hacer referencia a cantidades concretas. Esto significa que los valores de algu- nas de las cantidades consideradas pueden no estar especificados por el algoritmo. Por tanto, hacer corresponder un algoritmo con un conjunto espec´ıfico de canti- dades implica resolver la indeterminaci ´on. En otras palabras, el proceso de cor- porizaci ´on de un algoritmo debe asignar valores arbitrariamente a aquellas canti- dades indeterminadas. Esto puede derivar en comportamiento emergente.
• Un algoritmo puede o puede no especificar aspectos temporales. En el primer caso, las prestaciones de los recursos del sistema deben ser suficientes para ase- gurar el cumplimiento de la especificaci ´on. De lo contrario, el algoritmo real de la funci ´on corporizada no se corresponder´a con el original. En el caso de que los aspectos temporales no est´en especificados, esto puede deberse a dos causas.
Primero, que el tiempo sea irrelevante para el algoritmo y por tanto para el obje- tivo. Esto supone un grado de libertad a la hora de corporizarlo. Segundo, que el tiempo sea relevante, pero no est´e especificado. Esto requerir´ıa resolver esta indeterminaci ´on durante el proceso de corporizaci ´on.4
• Los algoritmos conocidos por el sistema pueden provenir de m ´ultiples fuentes, por ejemplo: bases de datos, aprendizaje o procesos de resoluci ´on de problemas. Debido a ´esto, puede ocurrir que un algoritmo no est´e perfectamente adecuado al sistema o al escenario concreto en el que se va a aplicar. Esto puede tener diversos efectos. El ejemplo m´as inmediato ser´ıa el caso en que los estados del algoritmo no pudieran alcanzarse, por estar fuera del rango de las cantidades reales del sistema (insuficiente potencia, resistencia mec´anica, etc.)
• El conjunto de recursos necesarios para corporizar un algoritmo concreto puede ser tambi´en necesario para otros algoritmos. Esto implicar´ıa la necesidad de com- partir recursos o priorizaci ´on. Una gesti ´on de recursos ineficaz causar´a t´ıpicamente comportamiento emergente y fallos en el cumplimiento de las especificaciones temporales.
Estructura funcional
Como se ha mencionado anteriormente, las funciones que lleva a cabo un sistema est´an asociadas a sus objetivos. Por tanto, los objetivos que forman la estructura de obje- tivos en cada instante, tendr´an un conjunto de funciones asociadas, tambi´en siguiendo una estructura, que llamaremosestructura funcional del sistema. En un caso ideal, la estructura funcional podr´ıa corresponderse directamente con la de objetivos. En la re- alidad, los recursos sobre los que las funciones est´an corporizadas, y las circunstancias impuestas por el escenario de operaci ´on, pueden hacerlos diferir, como se deduce de las consideraciones efectuadas arriba.
Los objetivos se descomponen en una o m´as funciones que los realizan, por lo que la correspondencia entre las estructuras funcional y de objetivos no ser´a en general di- recta,uno a uno. Adem´as, como mencion´abamos antes, las funciones est´an corporizadas en recursos reales del sistema, los que pueden introducir nuevas dependencias y res- tricciones derivadas del substrato f´ısico. En conclusi ´on, aunque existir´a una semejanza entre las topolog´ıas y las relaciones de dependencia de la estructura de objetivos y la de funciones, no ser´an iguales.
Como se mencion ´o, la adaptatividad del sistema depende de que la estructura de objetivos se refleje adecuadamente en la funcional, como resultado de un proceso de descomposici ´on de los objetivos en funciones que los realicen, que se llamar´a, como se ha mencionado,descomposici´on funcional. Este proceso es, por tanto, uno de los factores para la autonom´ıa del sistema.
4Cualquier indeterminaci ´on en un algoritmo, sea en cuanto a cantidades o a tiempo o de otra ´ındole, puede
Analicemos la operaci ´on del sistema en conjunto, desde este punto de vista, para determinar de qu´e forma tiene lugar la adaptatividad en el sistema. Como se ha men- cionado, una estructura de objetivos puede ser realizada por m ´ultiples estructuras fun- cionales. En otras palabras, que diferentes conjuntos de sucesiones de estados pueden llevar al mismo estado final. De esto se deduce que si el sistema falla en alcanzar un objetivo espec´ıfico, puede adoptar dos alternativas posibles para mantener la conver- gencia:
• Primero, redefinir la estructura de objetivos —en la medida en que fuera necesario— para preservar la finalidad del sistema.
• Segundo, sustituir el algoritmo del objetivo inalcanzado —sin modificar ´este ´ulti- mo— llevando a cabo un nuevo proceso de descomposici ´on funcional.
La reconfiguraci ´on de la estructura de objetivos, el proceso de descomposici ´on fun- cional y el proceso de gesti ´on de los anteriores constituyen los principales mecanismos de directividad del sistema.
Comportamiento an ´omalo
Volviendo a una perspectiva global, se puede decir que elcomportamientodel sistema es el resultado de sus funciones corporizadas operando en un entorno. Desarrollemos esta idea b´asica teniendo en cuenta la noci ´on de funci ´on comosubprograma.
Una funci ´on es una sucesi ´on particular de estados con un conjunto de transiciones asociadas. Evidentemente, estos estados deben contarse dentro de los posibles del sis- tema,5para que una funci ´on pueda ser corporizada.
Por otro lado, cuando un sistema est´a ejecutando una funci ´on corporizada, sigue la secuencia de estadosautom´aticamente, iniciando la siguiente transici ´on una vez se ha alcanzado cada estado. Esta din´amica est´a especificada en el algoritmo. Idealmente, el algoritmo est´a corporizado de tal manera que el sistema solamente sigue los estados y transiciones especificados.
Este no es el caso real, por las consideraciones expuestas anteriormente. Puede ocur- rir que la funci ´on corporizada no pueda alcanzar exactamente el estado especificado en su algoritmo. En este caso, el sistema puede abandonar definitivamente la convergen- cia o eventualmente recuperar la secuencia de estados especificada. Tambi´en puede alcanzar estados —y sucesiones de ´estos— imposibles de abandonar.6 A este tipo de
comportamiento, en el cual el sistema se separa de la sucesi ´on de estados dada por el algortimo, se le llamar´acomportamiento an´omalo.>sec. 7.4.5, p. 126 y fig. 7.2, p.7.2.
Podemos resumir las principales causas para el comportamiento an ´omalo, expuestas previamente, en dos categor´ıas: las debidas a indeterminaci ´on en el algoritmo y las debidas a restricciones impuestas por el substrato.
5El conjunto de los estados posibles de un sistema junto con las transiciones se llamaprogramaoprograma
completo[Kli80, p.80],program,complete program[Kli69, p.45].
El conocimiento puede ayudar a eliminar o reducir el comportamiento an ´omalo de un sistema. Mejor conocimiento se traduce en mejores algoritmos: mayor precisi ´on y transiciones mejor planificadas por un lado, y una mejor modelizaci ´on del substrato del propio sistema, por otro. Mejor conocimiento tambi´en implica mejores procesos de descomposici ´on funcional: mejor selecci ´on de algoritmos, y mejor correspondencia entre algoritmo y funci ´on corporizada.
Modelo de nodos y flujos
El modelo de nodos y flujos es una herramienta para modelizar la estructura funcional de los sistemas aut ´onomos, dise ˜nada con la intenci ´on de mostrar expl´ıcitamente la es- tructura de dependencias funcionales, as´ı como los aspectos cognitivos de las funciones (aferente, eferente, deliberativo).
Podemos distinguir dos tipos de dependencia dentro de la estructura funcional. En primer lugar, consideremos el caso de un objetivo descompuesto en m ´ultiples funciones, cada una definida por su algoritmo. Necesariamente, estos algoritmos est´an relaciona- dos, al menos, por la cualidad de contribuir al mismo objetivo. De hecho, los algoritmos podr´an compartir informaci ´on. Este caso es un ejemplo del primer caso de dependencia:
dependencia cognitiva.
Por otro lado, como hemos visto, las funciones corporizadas difieren de sus respec- tivos algoritmos en una serie de restricciones derivadas del substrato sobre el que est´an implementadas. Es decir, que las capacidades y la operaci ´on reales de las funciones de- penden del sustrato en el que est´an corporizadas. Estas restricciones son en realidad
relaciones de comportamientoentre sus cantidades: interdependencia. Se llamar´adepen- dencia estructuralodependencia de substrato.
El modelo de nodos y flujos muestra ambos tipos a trav´es de los conceptos denodo
y flujo. Ambos conceptos modelizan lo mismo: una funci ´on. Sin embargo, cada uno permite enfatizar diferentes aspectos de la misma funci ´on. Los emplearemos conjunta- mente.
Nodos: Unnodorepresenta una funci ´on corporizada. Tambi´en emplearemos el t´ermino
unidad funcionalindistintamente, aunque el primero generalmente har´a referen- cia a la funci ´on entendida dentro de la estructura funcional, y el segundo, como funci ´on aislada.7
Como sabemos, la estructura funcional es un conjunto de funciones mutuamente dependientes y relacionadas. Por tanto, una topolog´ıa de nodos. Las dependen- cias entre ellos pueden ser de cualquier tipo, por ejemplo, jer´arquicas en el sentido
cliente–servidoromaestro–esclavo, o dependencias de substrato, como en el caso de funciones que compartiesen recursos.
7No olvidemos que en ´ultimo t´ermino una funci ´on corporizada equivale a unas relaciones de compor-
tamiento concretas entre un conjunto espec´ıfico de cantidades reales del sistema, ajustadas a las posibilidades y finalidad de ´este.
Un nodo es una estructura compuesta por cuatroelementosocomponentes:aferente,
eferente,deliberativo/centraleintegrador. >fig. 7.3, p.130. Los tres primeros se re- fieren, respectivamente, a las partes de la funci ´on, de acuerdo con lo mencionado previamente. El cuarto elemento representa los aspectos comunes, estructurales de la unidad funcional. Desde el punto de vista de estados y transiciones, el el- emento integrador comprende un conjunto de subprogramas que proporcionan estados auxiliares y los acoplamientos del resto de la estructura funcional con los dem´as elementos del nodo. Desde un punto de vista cognitivo, proporciona a los dem´as elementos del nodo mecanismos de sincronizaci ´on, comunicaciones, gesti ´on de recursos y todos los dem´as aspectos estructurales.
Debemos tener en cuenta algunas consideraciones respecto a la modelizaci ´on con nodos. La estructura de nodo que acabamos de describir representa una general- izaci ´on y una conceptualizaci ´on de la noci ´on de funci ´on. Por tanto, las funciones concretas que se puedan identificar en un sistema pueden no tener alguno de los tres componentes. Por ejemplo, funciones de un sistema concentradas en la per- cepci ´on, con toda probabilidad tendr´an unos elementos central y aferente muy reducidos o inexistentes. En este caso, se dir´ıa que los elementos est´andegenera- dos.
Tambi´en hay que tener en cuenta que modelizar un sistema con nodos es arbi- trario, a juicio del investigador. Un mismo sistema podr´ıa modelizarse de diver- sas formas, siguiendo diferentes criterios o situ´andose a diferentes niveles de ab- stracci ´on. As´ı, podr´ıamos considerar el sistema como un ´unico nodo, o dividir la operaci ´on de este en multitud de nodos elementales. Tambi´en podr´ıamos con- siderar unas funciones como subfunciones de otras, dando lugar anodos anidados
—nodos dentro de otros—.
Flujos: Como se ha dicho arriba, losflujos sirven para modelar funciones resaltando aspectos diferentes a los nodos. Mientras ´estos resaltan aspectos cognitivos — explican la funci ´on de acuerdo a cuatro tareas cognitivamente distintas— unflujo
distingue los aspectos operacionales de los de implementaci ´on. Tambi´en consta de cuatro elementos>fig. 7.4, p.133:
• Interfaz de entrada.
• Interfaz de salida.
• Unidad de ejecuci ´on.
• Definici ´on funcional.
El funcionamiento normal del flujo consiste en (1) la aparici ´on de valores en las cantidades que forman el interfaz de entrada, que es el acoplamiento con el en- torno o con el resto del sistema. (2) Launidad de ejecuci´ontransforma los valores de las cantidades del interfaz de entrada. Constituye el proceso asociado a la funci ´on; en t´erminos computacionales: buffers, operadores, registros, etc. (3) Fi-
nalmente, el resultado del proceso pasa a las cantidades delinterfaz de salida, que est´an acopladas al entorno o al resto del sistema.8
Ladefinici´on funcionales una especificaci ´on de la funci ´on corporizada que realizar´a el flujo. Por tanto, define c ´omo son todos los elementos del flujo, en concreto:
• Conjunto de recursos asociados al flujo.
• Estructura del flujo (interfaces, unidad de ejecuci ´on, estados y transiciones posibles).
• Nivel de resoluci ´on en el que operar´a el flujo.
• Relaciones entre las cantidades asociadas (corporizaci ´on de los algoritmos). El nivel de resoluci ´on y las especificaciones de los interfaces vendr´an dados —en gran medida— o limitados por la estructura funcional, ya que son los acopla- mientos entre el flujo y el resto de flujos y el entorno. El conjunto de algoritmos y recursos depender´a de la disponibilidad del sistema en cada instante, y en el objetivo asociado a la funci ´on del flujo.
Modelo de nodos y flujos: Se trata de una combinaci ´on de nodos y flujos, aunque, como se ha mencionado previamente, ´estos se podr´ıan utilizar por separado. Recor- daremos que losnodos, al distinguir entre elementos funcionales aferentes, eferen- tes, centrales e integradores hacen expl´ıcitas las relaciones cognitivas entre com- ponentes. Losflujoshacen expl´ıcitas las dependencias estructurales o computa- cionales, al separar interfaces de unidades de ejecuci ´on y definiciones funcionales. En esencia, elmodelo de nodos y flujosconsiste en considerar cada elemento de un nodo como si fuera un flujo. Es decir, que el elemento aferente se modeliza con un flujo dedicado a procesos aferentes, el eferente con un flujo especializado en procesos eferentes, y an´alogamente con los otros dos elementos del nodo. >fig. 7.5, p.134.
Es interesante analizar las interacciones entre los elementos en el modelo de nodos y flujos. >fig. 7.6, p.136. Desde un punto de vista cognitivo, el nodointerpretasu entorno con el elemento aferente, procesa la informaci ´on con el central y ejecuta sus acciones —f´ısicas o no— con el elemento eferente. El elemento integrador coordina a los otros tres elementos de forma que su operaci ´on sea consistente con el objetivo del nodo —de la funci ´on a la que representa—.
Globalmente, por tanto, los elementos aferente y eferente se comportan como si