Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Revista Iberoamericana
de Inteligencia Artificial
ISSN: 1137-3601
revista@aepia.org
Asociación Española para la Inteligencia
Artificial
España
Segarra Martínez, Miguel J.; de Antonio Bermejo, Angel; Clavijo Blazquez, Jose A.; Sanz Bravo,
Ricardo
Influencia de la Arquitectura en los Sistemas de Control Inteligente
Inteligencia Artificial. Revista Iberoamericana de Inteligencia Artificial, vol. 4, núm. 10, verano, 2000,
pp. 76-81
Asociación Española para la Inteligencia Artificial
Valencia, España
Miguel J. Segarra Martínez , Angel de Antonio Bermejo*, Jose A. Clavijo Blazquez*, Ricardo
✝
Sanz Bravo✝
✝
Universidad Politécnica de Madrid
*
SCILabs Ingenieros
{msegarra, aantonio, jac, sanz}@disam.upm.es
Resumen
Los sistemas de control inteligente son básicamente sistemas software. Esto hace que tengan un ciclo de
vida propio compuesto por una serie de fases o etapas: especificación, desarrollo, validación operación,
evolución y obsolescencia. La manera en que cada una de estas fases se desarrollará a lo largo de la vida
del sistema depende exclusivamente de las decisiones que se tomaron cuando éste todavía no existía.
Estas decisiones críticas, adoptadas en las primeras etapas del diseño, son las que dan carácter a muchas
de las propiedades importantes de las que goza el sistema de control: rendimiento, eficiencia, atributos
de calidad, capacidad de modificación, capacidad de evolución, facilidad de mantenimiento, integración
con su entorno, reusabilidad, funcionalidad, dependibilidad, etc. En este artículo se trata de mostrar de
qué forma la arquitectura global elegida afecta al sistema de control durante el tiempo que éste
permanece en servicio.
Palabras Clave: Ingeniería del software, arquitectura software, estilos arquitectónicos, línea de producto,
estructura, diseño, control inteligente, control de procesos industriales, sistemas distribuidos de control.
1-INTRODUCCIÓN
Una vez descubierta la arquitectura del sistema es Adicionalmente, debe conocer todas las
esencial desglosar esa arquitectura de manera que herramientas necesarias en cada momento de la
ejecución de los trabajos y la mejor forma de
2
seleccionar entre ellas. Este conocimiento no se
Una vez dada una métrica, la cuestión sobre la transmite fácilmente y, desde nuestra experiencia, se
existencia de una arquitectura óptima y de si esa adquiere con el tiempo. Un buen arquitecto, a falta
arquitectura es descubierta o es inventada es un gran de métodos formales, debe desarrollar sus propios
tema de discusión sobre el que existen variadas métodos de selección de herramientas.
opiniones.
horas que un experto o expertos dediquen a la
Desgraciadamente, existe una tendencia clara a identificación del problema de control.
hacer de un arquitecto un simple gestor ó un
negociador que aparece de forma puntual en algunos Una vez identificados los problemas a resolver, es
estadíos del proyecto. De esta forma el arquitecto recomendable evaluar la conveniencia del uso de
pierde toda la perspectiva del proyecto y es incapaz técnicas de Inteligencia Artificial para la resolución
de resolver los verdaderos problemas que de los mismos. Hemos visto situaciones en las que,
indudablemente terminan apareciendo. Además de por ejemplo, problemas de control en sistemas que
esto, se gasta su experiencia de una forma inútil y a se comportaban de una manera lineal se resolvían
la vez su cualificación profesional se deprecia como mediante complejos reguladores fuzzy, dándose
consecuencia de la pérdida de la nueva experiencia además la circunstancia de encontrarse la parte
que el proyecto podría haberle proporcionado. cliente verdaderamente entusiasmada con la solución
adoptada. El motivo no era otro más que la imagen
Puede parecer una definición simple pero es clara, tecnológicamente avanzada que la introducción de
“un arquitecto no es un gestor, es un técnico con un controlador de este tipo proporciona al cliente.
don de gentes”.
Debe comprenderse que desde el punto de vista de
4.-CONSTRUCCION DE SISTEMAS DE la ingeniería esta solución, sin dejar de ser válida, no
CONTROL INTELIGENTE es la más elegante, eficaz o siquiera económica,
Una vez conocidos algunos de los actores que aunque sí es posible que fuera rentable desde el
intervienen en la construcción de sistemas software punto de vista de la imagen de empresa.
de control cabría preguntarse cuáles son las tareas
que se deben realizar para llevar a cabo un desarrollo Ante la evidencia de situaciones de control en las
con garantías de éxito. que las técnicas clásicas no fueran eficaces para
cumplir los objetivos propuestos es necesario
Si comparamos diferentes sistemas de control realizar una selección de tecnologías [9] adecuadas a
inteligente veremos que son bastante heterogéneos. cada problema. Esta técnica clasifica de una forma
En general, no están constituidos por componentes tabular los siguientes parámetros: dominio, tarea y
de características similares. A pesar de ello sí es tecnología. De esta manera, y de una forma
posible encontrar similitudes que permitan extraordinariamente sencilla, es posible decidir la
establecer pautas de comportamiento. tecnología y pasos a seguir para resolver un
problema una vez que éste ha sido identificado.
Se entiende que inicialmente deben aparecer en el
sistema comportamientos que lo clasifiquen dentro En casos simples mediante la selección realizada
de lo que se conoce como control inteligente. anteriormente es posible llegar a una solución
Estamos pensando en proporcionar en alguna satisfactoria. Desafortunadamente, esto solamente
medida funcionalidad al sistema mediante técnicas ocurre en contadas ocasiones.
derivadas de la Inteligencia Artificial: lógica
borrosa, algoritmos genéticos, redes neuronales, En situaciones más complejas se requiere la
sistemas expertos, razonamiento basado en modelos, colaboración de diferentes técnicas de control,
etc. Sin embargo, decidir si las técnicas de control aumentando en gran medida la complejidad del
inteligente son de aplicación a un cierto sistema sistema. En algunas ocasiones y ante problemas
requiere cierto estudio del mismo como se indica a pequeños, el sistema puede ser construido desde
continuación. cero. Cuando el sistema crece de tamaño no es
posible considerar esta aproximación. El sistema
En un primer acercamiento a la arquitectura del debe ser entonces compuesto a partir de
sistema deben clasificarse qué problemas son los que componentes preconstruidos que se combinan para
se quieren resolver. La colaboración con el personal obtener el efecto deseado.
de planta es vital en este punto. Son ellos los que
verdaderamente conocen el proceso y debe exigirse Actualmente se pueden componer sistemas basados
en este punto una colaboración total de las personas en COTS3 con relativa sencillez. Además, presentan
que más conocen los problemas a resolver. la ventaja de que el coste del desarrollo o compra del
Frecuentemente estas personas tienen gran valor componente se reparte entre los diferentes sistemas
para la compañía y tienden a estar sobrecargadas de implantados. La contrapartida del uso de este tipo de
trabajo, haciéndose su participación en la componentes es la falta de control sobre su calidad y
especificación de los problemas muy difícil. Sin las posibles faltas en su funcionamiento. Este
embargo, una mala identificación de las necesidades problema se conoce como el síndrome del “no
del sistema dará lugar, a lo largo del tiempo, a una hecho aquí”. El coste de desarrollar componentes
pérdida económica mucho mayor que el valor de las
3
Commercial-off-the-shelf components
propios se ve ampliamente compensado mediante su manera de enfrentarse a los problemas propuesta
reutilización continua. Además, en el caso de anteriormente. La idea fundamental es que el
componentes de terceros, se evita el trabajo extra de conocimiento adquirido mediante el método
evaluar si el componente realmente proporciona la “bottom-up” propuesto debe dar lugar a
funcionalidad requerida y la seguridad con que esas comportamientos inteligentes independientes de la
funciones se ejecutan. tarea a desarrollar. Además se reconoce también
como fundamental la idea de que la separación entre
Como recomendación básica en el desarrollo de aplicación y dominio no se encuentra determinada
sistemas críticos basados en componentes es de una manera nítida, existe una frontera borrosa.
imprescindible preguntarse “¿cumple el componente
con la funcionalidad necesaria?” y “¿qué ocurre si La técnica se centra en la focalización del problema
un componente provoca una falta?”. en dominios de anchura decreciente hasta que las
aplicaciones finales son construidas. En cualquier
Una vez seleccionados los componentes que punto de este proceso es posible generar
resuelven problemas particulares es necesario elevar componentes del sistema final. Al disminuir junto
un orden de magnitud el nivel de abstracción con con el dominio la complejidad de la funcionalidad
que se observa el problema. El objetivo es tratar de específica objeto de estudio resulta más sencillo
observar las relaciones y/o acoplamientos que realizar una transformación entre la estructura del
pudieran existir entre diferentes partes del sistema. sistema de control y la de la organización que la
Estas relaciones son de muy difícil extracción y desarrolla.
deben ser sistematizadas en forma de patrones [10].
De esta forma el conocimiento adquirido no se Este tipo de desarrollos sólo es posible si se realiza
perderá y será conservado de una forma fácilmente un esfuerzo investigador a largo plazo, donde una
transmisible a otros arquitectos. Uno de los fines de colección ampliable de componentes que
la obtención de la arquitectura del sistema es la representan comportamientos inteligentes se
transmisión del conocimiento que se posee de éste integran para representar diferentes patrones de
entre todas las partes involucradas en el mismo. Las diseño típicos de los sistemas de control. A su vez el
tablas de selección de tecnologías y los patrones no medio de integración de los patrones es un
son más que medios de transporte de ese middleware de comunicaciones con características
conocimiento. La obtención de los patrones que propias de la industria a la que va destinado.
componen el sistema permite realizar variaciones
sobre las políticas de funcionamiento de los Si el middleware de integración proporciona la
componentes individuales de forma que se consiga funcionalidad adecuada se puede realizar el diseño y
su colaboración y no su funcionamiento aislado. construcción del sistema como si fuera monolítico.
Esto permite crear prototipos rápidamente con los
Finalmente, se deben comprender las relaciones que explorar las características reales del sistema
existentes entre los distintos subsistemas existentes. sobre el que se actúa y realizar una primera
Realizadas estas tareas, se conocen las propiedades aproximación a los dominios del sistema y las
externas de los componentes del sistema, se conoce diferentes estructuras de su arquitectura. En etapas
la estructura de los mismos y las relaciones entre posteriores se puede realizar una distribución del
ellos. Es decir, se ha encontrado la arquitectura sistema sobre sus plataformas finales de una manera
intrínseca del sistema y que más fielmente sencilla, aprovechando la funcionalidad
representa su naturaleza. proporcionada por el marco de integración. La
capacidad de diseñar un sistema como monolítico y
La construcción del sistema ni siquiera ha después ser distribuido usando la capacidad del
comenzado puesto que sólo se conoce su naturaleza, middleware se conoce con el nombre de Diseño
pero no cómo se refleja en la organización que Distribuido Tardío[4].
pretende desarrollarlo. De aquí nace la afirmación de
que la arquitectura del sistema influencia a las partes 5.-CONCLUSIONES
y a su vez las partes influencian a la arquitectura.
El objetivo final como ingenieros no debe ser otro
La focalización progresiva de dominios[2] puede que realizar el control del sistema de la mejor forma
arrojar alguna luz sobre la forma en la que debe ser posible. Los procesos aquí expuestos no explican
transformado el dominio de la arquitectura del como realizar dicho control pero sí explican como
sistema, como sistema de control, sobre el dominio no hacer software.
de la organización encargada de llevarlo acabo.
Los sistemas de control inteligente son intensivos
Aunque la focalización progresiva de dominios en cuanto al uso de software se refiere, y éste es muy
propone una metodología “top-down” para el costoso de realizar. La aproximación de objetivos
desarrollo de sistemas autónomos, no desestima la entre las diferentes estructuras relacionadas en la
construcción de un sistema (las estructuras de su • Utilizar la focalización progresiva de dominios
arquitectura) puede dar lugar a un proceso de sobre la arquitectura global del sistema para
desarrollo más eficiente en el uso de los recursos conseguir parte de la funcionalidad del sistema
para conseguir un sistema determinado. en cualquier nivel del proceso.
Existen diferentes técnicas que permiten rebajar los • Finalmente, se deben completar las partes del
costes de tiempo, esfuerzo y dinero en el desarrollo sistema que no fueron contempladas en su
de un nuevo sistema. La arquitectura del sistema arquitectura global y que representan entre un 5-
influencia a las partes involucradas creando nuevos 10% de su funcionalidad
esquemas organizativos y nuevos procesos para
atacar el problema representado por el sistema con Referencias
un riesgo mínimo. A su vez las partes deben buscar
la transformación de la estructura del sistema de [1] Bass L., Clements P. and Kazman R.,
control que mejor se adapte a sus características. 'Software Architecture in Practice',SEI
Series in Software Engineering, Addison
Dentro de este entorno en el que existen múltiples Wesley 1998.
interacciones se propone el siguiente marco de
trabajo como un “método” útil de desarrollo: [2]Sanz R., Alarcón I., Segarra M., Clavijo
J. And Antonio de A. ‘Progressive Domain
• Identificar el problema. Debe exigirse una Focalization in Intelligent Control Systems’
completa colaboración del personal de planta en To appear in “Control Engineering
este punto. Practice”.
• Decidir si son de aplicación las técnicas de [3] Boehm, B.W., ‘Software Engineering
control inteligente derivadas de la Inteligencia Economics’. Prentice-Hall: Englewood
Artificial. Cliffs, NJ, 1981.