Está en la página 1de 8

Inteligencia Artificial.

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

Disponible en: http://www.redalyc.org/articulo.oa?id=92541008

Cómo citar el artículo


Número completo
Sistema de Información Científica
Más información del artículo Red de Revistas Científicas de América Latina, el Caribe, España y Portugal
Página de la revista en redalyc.org Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
Influencia de la Arquitectura en los Sistemas de Control Inteligente

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

Los sistemas inteligentes de control poseen


características que obligan a que su desarrollo se
base en la experiencia previa del equipo encargado
del proyecto. La más importante de esas
características es habitualmente la carencia de una
especificación clara de los requisitos o
requerimientos que el sistema a diseñar debe poseer.
Esto ocurre bien por la falta de una comprensión
clara del problema por parte de los diseñadores o
bien por una definición pobre del mismo por parte
del cliente. Naturalmente, no todas las personas
involucradas en el desarrollo disponen de la misma 4. El sistema físico: Los sistemas en la industria
experiencia. Exitos y fracasos anteriores influyen en presentan peculiaridades que no aparecen en
las decisiones futuras. A su vez, no parece aceptable otros tipos de instalaciones. Puede ser necesaria
que una disciplina que se tilda de “ingeniería” utilice una instalación de los sistemas en “caliente”, sin
un método tan rudimentario de proceder como es la parar la planta o puede ser necesario diseñar
mera utilización de la experiencia individual sistemas redundantes que entren en
adquirida sin disponer de mecanismos de funcionamiento al fallar el principal. Todo esto
formalización de la misma. Como veremos a además se ve complicado por la complejidad de
continuación, el sistema de control se ve afectado trabajar en un entorno heterogéneo con
por factores que deben ser tratados dentro de un múltiples plataformas y sistemas operativos
marco de trabajo adecuado si se desean conseguir diferentes.
los resultados deseados.
Existen otros actores que intervienen en la
construcción del sistema, puede existir una
organización intermediaria, encargada de lanzar el
1.1-LOS ACTORES producto al mercado, que desee un sistema de bajo
coste, finalizado a tiempo y con la calidad necesaria.
También son de gran importancia las cualidades
En la construcción de un sistema de control aparecen personales de los desarrolladores del sistema, etc.
innumerables actores cuyos efectos se encuentran Tampoco se tratarán en este ámbito situaciones
acoplados y que son de difícil manejo. A los especiales como aquellas en que la organización
problemas puramente técnicos, cabe añadir la desarrolladora y la cliente son la misma (casos en los
complejidad de la organización global que se que la venta del resultado final de los trabajos se
enfrenta al desarrollo. Se pueden distinguir varios realiza a miembros de la propia organización).
actores que afectan a la evolución del sistema entre
los que destacan los siguientes:
Es fácil comprobar que las diferentes partes
interesadas en el sistema de control a menudo tienen
1. La organización desarrolladora: Su principal intereses contrapuestos. Por ejemplo, parece difícil
interés es realizar los trabajos dentro del conseguir un sistema tolerante a fallos con
presupuesto y planificación calculados. Para redundancia activa o estática (interesante para la
ello debe establecer los procesos internos organización cliente) a un coste moderado (una
necesarios que optimicen de una manera pesadilla para la organización desarrolladora).
continua todos los recursos a su alcance.
Necesita básicamente poder financiar sus A la gran dificultad que conlleva tomar las
proyectos a largo plazo que permiten a su vez decisiones acertadas dentro de este marco de
generar sistemas en los que se reutiliza código, intereses dispares y a la vez variantes en el tiempo,
componentes o incluso sistemas completos. se une la complicación de la elección de las
herramientas adecuadas para el correcto avance y
2. La organización cliente: Habitualmente los gestión de los trabajos.
trabajos encargados por la organización cliente
responden a líneas directrices o a estrategias Existe un número inmenso de alternativas con las
(reducción de costes, aumento de la producción que atacar un problema determinado. Partiendo de
o calidad, planes a más largo plazo, etc.) que la modelos de organización desarrolladora (CMM,
organización se plantea para competir dentro de SPICE, PSP, IDEAL, SEMA), mejora de sus
su nicho de mercado. Necesitan un sistema de procesos y gestión de riesgos, modelos de gestión
sencillo mantenimiento, modificable, con un del cambio tecnológico en la empresa cliente y/o
ciclo de vida largo1, etc. y que además responda desarrolladora (IDEAL), pasando por las prácticas
perfectamente a sus especificaciones de diseño. de ingeniería (análisis de requisitos, especificación
del sistema, diseño del software, verificación,
3. Los usuarios finales: Los usuarios finales validación, etc.), lenguajes de modelado de sistemas
necesitan un sistema fácilmente configurable, (UML), sistemas de estimación del coste de
cómodo de utilizar y que, en definitiva, proyectos software (COCOMO, SLIM) y
simplifique sus tareas diarias. Por supuesto, terminando finalmente con las técnicas y
también desean un sistema robusto, fiable, herramientas de más bajo nivel para la construcción
seguro, íntegro, etc. del sistema se puede comprender la cantidad de
esfuerzo que la simple elección de las herramientas
1 puede suponer a la hora de encarar un proyecto de
No es extraño encontrar sistemas industriales de control.
control todavía en servicio y con una antigüedad de
15 años o más.
Por dar un ejemplo, suponga el lector un proyecto encaje dentro de las necesidades y capacidades de
que le resulte familiar y piense que alternativa todos los miembros involucrados.
elegiría para estimar su coste:
Asumiendo las puntualizaciones anteriores, una
1. El modelo COCOMO propuesto por Boehm definición comúnmente aceptada de “Arquitectura
[3] basado en dos ecuaciones de difícil Software” es la siguiente:
estimación al comienzo del proyecto pero
de un funcionamiento claro. “La arquitectura software de un programa o sistema
de cómputo es la estructura o estructuras del
2. El modelo SLIM [6] en el que el sistema, que comprende a sus componentes
funcionamiento interno del modelo no es software, las propiedades de esos componentes
tan evidente como en COCOMO. visibles de forma externa, y las relaciones entre
ellos” [1]
En realidad, para llegar a tomar una decisión es
necesario realizar un análisis sólo al alcance de los Desde nuestro punto de vista, esta definición debe
expertos. Esta dificultad hace que los diseñadores se tomarse en un sentido amplio. La “estructura o
enfrenten siempre de la misma forma a problemas estructuras del sistema” son muy variadas y afectan
diferentes, lo que antes o después acaba terminando no sólo al software sino a los procesos que ligan a
en proyectos cancelados tras una gran inversión todos los miembros involucrados en el desarrollo
global de todas las partes. (organización desarrolladora, cliente, intermediarios,
etc.).
La concepción del sistema de control desde el punto
de vista de su arquitectura (líneas de producto, No todas las estructuras tienen el mismo peso. La
desarrollo basado en COTS, desarrollo basado en más importante es aquella que representa al sistema
arquitectura, procesos software) permite construir de control aislado de los actores que intervienen en
sistemas en los que se llega a un compromiso entre su construcción (que muchos entienden como
los intereses de todos los actores existentes. La razón arquitectura del sistema) y que sintetiza la esencia
de esta afirmación no es otra que la arquitectura del del sistema final. Las demás estructuras se originan a
sistema basa su germinación en los requisitos de partir de ésta y su único objetivo es realizar una
todas las partes involucradas. Por tanto, la transformación de la estructura del sistema a la
arquitectura viene influenciada por las partes en estructura real de las organizaciones de los
conflicto y a su vez la arquitectura influencia a las miembros del desarrollo.
partes.

Evidentemente, la generación de una arquitectura es 3.-EL ARQUITECTO


un proceso costoso en tiempo y dinero.
Afortunadamente, existen mecanismos que permiten Sin duda alguna la figura del arquitecto es de una
la reutilización y/o particularización de instancias importancia singular cuando el desarrollo parte del
genéricas de arquitecturas. desgrane de la arquitectura del sistema.

2.-ARQUITECTURA DEL SISTEMA Sus tareas son de gran complejidad y, aparentemente


Se podría pensar por lo dicho hasta ahora que la en gran medida, no pueden ser aprendidas en un
arquitectura del sistema debería considerar los centro de educación. Necesitan un profundo
elementos que afectan a los intereses de los actores. conocimiento técnico de su dominio de
Si bien ese conocimiento no puede ser obviado conocimiento, lo que contribuye a consolidar la
dentro del contexto del sistema, porque afecta a su capacidad de liderazgo que debe poseer, además de
desarrollo, no es completamente cierto que sea parte una gran habilidad social que permita negociar con
de la arquitectura del sistema. El sistema de control todas las partes. Para realizar esta tarea debe conocer
tiene naturaleza propia y, dada una métrica a la mayor rapidez cuáles son las necesidades de
específica, responde a una arquitectura que debe ser todas las partes con el fin de poder negociar
descubierta2. contrapartidas desde un punto de vista ventajoso.

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.

[4]Antonio de A. ‘Arquitectura de control


• Realizar una selección de las tecnologías
inteligente: Un enfoque basado en
adecuadas a cada problema a resolver.
componentes para sistemas de control’
Tesis doctoral. Universidad Politécnica de
• Si existen varias técnicas y/o varios problemas
Madrid 1999
identificar las interacciones entre ellas. En este
caso puede ser necesario considerar un [5]Ian Sommerville ‘Software Engineering’
desarrollo basado en componentes dentro de un Fifth Edition Addison-Wesley 1995
marco de integración.
[6] Putman, L.H., 'A general empirical
• Identificar los patrones de control que aparecen solution to the macro software sizing and
en el sistema como consecuencia de la estimating problem'. IEEE Trans. on Softw.
interacción de diferentes componentes. Estos Eng., 4(4), 345-61, 1978.
patrones darán lugar a diferentes subsistemas de
control. [7] Shepperd, M.J., ‘Foundations of
Software Measurement’. Prentice Hall:
• Identificando los acoplamientos de los Hemel Hempstead, UK, 1995.
diferentes subsistemas se obtiene la estructura
más básica del sistema (para algunos su [8] Banker, R.D. and C.F. Kemerer, ‘Scale
arquitectura). economies in new software development’,
IEEE Trans. on Softw.Eng., 15(10), 199-
• Realizar una transformación de la estructura 204, 1989
obtenida del sistema de control a la las
diferentes estructuras que representan la [9]Alarcón, I. ‘Modelo para el análisis y
organización que pretende desarrollarlo y hallar conceptualización de sistemas inteligentes
las zonas comunes. Esas estructuras representan para control de procesos industriales en
el problema de control visto desde las diferentes tiempo real’ Departamento de Inteligencia
partes y bajo diferentes puntos de vista: técnico, Artificial. Facultad de Informática.
de disponibilidad de personal, costes, plazos, Universidad Politécnica de Madrid. Mayo,
etc. Las zonas comunes deben representar al 1995.
sistema final en un 90-95% de su totalidad. El
[10] Erich Gamma, et al. ‘Design Patterns:
área común representa la arquitectura global del
Elements of Reusable Object-Oriented
sistema.
Software’ Addison-Wesley Professional
Computing, 1994.

También podría gustarte