Universidad de Oriente
Núcleo de Monagas
Ingeniería de Sistemas
Cursos Especiales de Grado
Automatización y Control de Procesos Industriales
METODOLOGÍA DE DESARROLLO DE APLICACIONES BASADAS EN
COMPONENTES PARA AUTOMATIZACIÓN INDUSTRIAL. UNIVERSIDAD DE
CANTABRIA.
Seminario: Estrategias de Automatización Industrial
Equipo SCADA
Vanessa A. Villalobos B. C.I.: 18.173.743
José D. Figuera M. C.I.: 16.516.398
Tutor: Judith Devia
Maturín, Marzo 2014
ÍNDICE
INTRODUCCIÓN .................................................................................................... 1
MARCO TEORICO.................................................................................................. 2
1. CONCEPTOS BÁSICOS............................................................................... 2
1.1. Desarrollo Basado en Componentes .................................................. 2
1.2. Sistemas de Tiempo real...................................................................... 2
2. METODOLOGÍA PARA DESARROLLO DE APLICACIONES BASADAS
EN COMPONENTES PARA AUTOMATIZACIÓN INDUSTRIAL........................ 3
3. COMPONENTES PARA AUTOMATIZACIÓN.............................................. 5
2.1. DOMINIO: Adquisición de señales analógicas y digitales (Adq). ..... 5
2.2. DOMINIO: Adquisición y digitalización de imágenes de vídeo (IG).. 5
2.3. DOMINIO: Procesado digital de imágenes (Img)................................ 5
2.4. DOMINIO: Graphic Panel (GP) ............................................................. 5
2.5. DOMINIO: Ada Speaker Sound (ASS).................................................. 5
DISCUSIÓN ............................................................................................................ 6
CONCLUSIONES.................................................................................................... 8
REFERENCIAS BIBLIOGRÁFICAS........................................................................ 9
1
INTRODUCCIÓN
La ingeniería software trata de aplicar la tecnología de componentes a fin de
reducir los costos y plazos de desarrollo y abordar la creciente complejidad de las
aplicaciones informáticas.
Mientras que en muchos dominios de aplicación, como en multimedia,
ofimática, o interfaces gráficas, etc., la tecnología de componentes está
plenamente consolidada, en otros, como es el caso de los sistemas de tiempo real
su aplicación presenta problemas que no están aún resueltos y en consecuencia
su uso no es habitual.
Sin embargo, la tecnología de componentes en sistemas de tiempo real está
siendo requerida por la industria de automatización, de potencia y equipamientos
eléctricos, aviación, automoción, etc.
A continuación indagaremos más sobre cómo un grupo de profesores de la
Universidad de Cantabria en España está desarrollando
unametodologíaquefusione ambas tecnologías, y
suaplicaciónaldesarrollodeunagamadecomponentesdestinadosaldominiodelaautom
atizaciónindustrial.
2
MARCO TEORICO
1. CONCEPTOS BÁSICOS
1.1. Desarrollo Basado en Componentes
La ingeniería de software basada en componentes (CBSE) (también conocida
como desarrollo basado en componentes (CBD)) es una rama de la ingeniería de
software que enfatiza la separación de asuntos, por lo que se refiere a la
funcionalidad de amplio rango disponible a través de un sistema de software dado.
Es un acercamiento basado en la reutilización para definir, implementar, y
componer componentes débilmente acoplados en sistemas. Esta práctica persigue
un amplio grado de beneficios tanto en el corto como el largo plazo, para el
software en sí mismo y para las organizaciones que patrocinan tal software.[3]
Un componente de software individual es un paquete de software, un servicio
web, o un módulo que encapsula un conjunto de funciones relacionadas (o de
datos).Todos los procesos del sistema son colocados en componentes separados
de tal manera que todos los datos y funciones dentro de cada componente
están semánticamente relacionados (justo como con el contenimiento de clases).
Debido a este principio, con frecuencia se dice que los componentes son
modulares y cohesivos.
Con respecto a la coordinación a lo largo del sistema, los componentes se
comunican uno con el otro por medio de interfaces. Cuando un componente ofrece
servicios al resto del sistema, éste adopta una interface proporcionada que
especifica los servicios que otros componentes pueden utilizar, y cómo pueden
hacerlo. Esta interface puede ser vista como una firma del componente - el cliente
no necesita saber sobre los funcionamientos internos del componente (su
implementación) para hacer uso de ella. Este principio resulta en componentes
referidos como encapsulados.
Un computador corriendo varios componentes de software con frecuencia es
llamado un servidor de aplicaciones. Usando esta combinación de servidores de
aplicaciones y componentes de software es usualmente llamado computación
distribuida. La usual aplicación del mundo real de esto es por ejemplo el software
de aplicaciones o de negocios. [3]
1.2. Sistemas de Tiempo real
Es un sistema informático que interactúa con su entorno físico, respondiendo a
los estímulos de él, en un plazo de tiempo determinado. No basta con que las
acciones del sistema sean correctas, sino que, además, tienen que ejecutarse
dentro de un intervalo de tiempo determinado. El tiempo en que se ejecutan las
acciones del sistema es significativo. Cabe destacar que
suelenestarintegradosenunsistemadeingenieríamásgeneral,enelquerealizanfuncion
3
esdecontroly/omonitorización (Sistema empotrados). [2]
Las características de los STR son:
Determinismo temporal: Es fundamental que el comportamiento
temporal de los STR sea determinista, lo cual no hay que confundirlo
con la necesidad de que sea eficiente. Además, el sistema debe
responder correctamente en todas las situaciones, se debe prever el
comportamiento en el peor caso posible.
Fiabilidad y Seguridad: Un fallo en un sistema de control puede hacer
que el sistema controlado se comporte de forma peligrosa o
antieconómica. Es importante asegurar que si el sistema de control falla,
lo haga de forma que el sistema controlado quede en un estado seguro;
hay que tener en cuenta los posibles fallos o excepciones en el diseño.
Concurrencia: Los componentes del sistema controlado funcionan
simultáneamente. El sistema de control debe atenderlo y generar las
acciones de control simultáneamente. [2]
Algunas de las aplicaciones de los sistemas de tiempo real son:
Dominio Industrial: Controlador de la planta,Robot para tratamiento de
material peligroso.
Uso militar:Sistema de reconocimiento de blancos automático,Sistema
de guiado de misiles y navegación.
Sistemas altamente críticos:Plantas nucleares,Sistemas de aviónica.[4]
2. METODOLOGÍA PARA DESARROLLO DE APLICACIONES BASADAS EN
COMPONENTES PARA AUTOMATIZACIÓN INDUSTRIAL.
Fue presentada en las XXIV Jornadas de Automática el 11 de septiembre de
2003, en la Universidad de León, España; Jornadas auspiciadas por el Comité
Español de Automática.Está desarrollada por Patricia López Martínez, Pedro
Espeso, Julio Luis Medina y José M. Drake, un grupo de profesores de la
Universidad de Cantabria, en España.
El diseño de componentes de tiempo real es más complejo que el diseño de
componentes que tienen sólo requerimientos funcionales. En primer lugar, los
requisitos de temporización implican especificar las capacidades de colaboración y
sincronización entre componentes a un nivel más bajo del que proporcionan las
interfaces. En segundo lugar, las plataformas habituales de los sistemas de tiempo
real son heterogéneas y proporcionan tan sólo recursos limitados. Y en tercer
lugar, para que un componente pueda ofrecer prestaciones de tiempo real, debe
estar soportado por sistemas operativos, sistemas de comunicación, bases de
datos, etc. Que ofrezcan servicios específicos de gestión de tiempo, de
sincronización y de planificación predecibles. Sin embargo, está actualmente
4
admitido, que la principal dificultad para la implantación de la tecnología de
componentes de tiempo real surge de la falta de estrategias y experiencia de
cómo implementar la tecnología de componentes en los entornos de tiempo real.
[1]
La metodología se enfoca en el modelado, diseño y análisis de componentes
de tiempo real. Se apoya en las características de componibilidad y robustez que
son la base de la tecnología de componentes, y la característica de predictibilidad
de los sistemas de tiempo real.
Para ello, se deben tomar en cuenta la especificaciones de los componentes,
el cual es un descriptor tanto el contrato de uso, el cual que describe los servicios
que ofrece el componente, como el contrato de instalación que especifica el
entorno y los servicios que se requieren para que pueda operar un componente de
tiempo real. Estos deben incorporar un modelo específico que describa las
características temporales de las respuestas que ofrece y las de los recursos que
para ello se necesitan.
Además es importante tomar en cuenta la “interfaz”, la cual es el recurso de
interoperabilidad funcional entre los componentes, y permiten modelar, describir y
gestionar el dominio de la aplicación. La interfaz se formula mediante un modelo
UML. Toda la información relativa al componente se encapsula en un estereotipo
UML <<component_model>>.
Se requiere disponer de una metodología que incorpore a la especificación del
componente como parte de los contratos de uso y de instalación, la descripción
del comportamiento temporal de los servicios que ofrece con independencia de la
implementación concreta del componente que se esté utilizando. Se ha
desarrollado el entorno MAST de modelado, diseño y análisis de tiempo real. Es la
concepción de cada situación de tiempo real que sepresente en la aplicación como
un conjunto detransacciones cuyas ejecuciones concurren en laplataforma.
A fin de formular el modelo de tiempo real de uncomponente y de construir el
modelo de tiempo realde una aplicación a partir de los modelos de tiemporeal de
los componentes con que se construye, se hadefinido el perfil CBSE-Mast que se
formula comoun metamodelo UML.
Habitualmente los sistemas de tiempo real seimplementan como sistemas
cerrados en los quetodos los elementos hardware y software estándedicados a él,
Actualmente comienzan a tener relevancia los sistemas de tiempo real
implementados totalmente o parcialmente sobre entornos abiertos, esto es,
elsistema de tiempo real comparte la plataforma conotras aplicaciones no
modeladas desde el punto devista de tiempo real y que pueden interferir sobre su
comportamiento temporal.
El planteamiento sobre el que se trabaja actualmente,consiste en incorporar a
los componentes que debanoperar en un entorno abierto un planificador localque
durante la fase de instanciación negocia con elsistema operativo un contrato
deservicio. Si elcontrato es aceptado, el planificador local garantizaráque los
5
requerimientos temporales ofertados en elcontrato de uso del componente serán
satisfechos.
Para la aplicación de esta metodología, sobre la queactualmente se está
trabajando, hay que desarrollaraún los siguientes aspectos:
Adaptar el sistema operativo para que tengacapacidad de negociar y dar
soporte a loscontratos de servicio.Por ello se ha desarrollado un núcleo
de sistema operativo de tiempo real que satisface el estándar POSIX.13
(Interfaz portable de sistema operativo) que define el perfil de sistemas
de tiempo real mínimos.
Definir técnicas de análisis de planificabilidad detiempo real basadas en
los contratos de servicio.
Formular una metodología de diseño decomponentes de tiempo real
fundamentada en loscontratos de servicio. [1]
3. COMPONENTES PARA AUTOMATIZACIÓN
2.1. DOMINIO: Adquisición de señales analógicas ydigitales (Adq).
Tiene como objetivo la adquisición y generaciónde señales analógicas y
digitales a través detarjetas de IO de propósito general instaladas encomputadores
con arquitectura PC.
2.2. DOMINIO: Adquisición y digitalización de imágenes de vídeo (IG).
Conjuntos de recursos para la configuración de latarjeta de digitalización de
imágenes de vídeo,captura de imágenes, y transferencia de imágenesen vivo a
ventanas del PC.
2.3. DOMINIO: Procesado digital de imágenes (Img).
Corresponde a diferentes recursos para la gestión,procesado digital, análisis,
caracterizaciónestadística etc. de imágenes almacenadas en elordenador.
2.4. DOMINIO: Graphic Panel (GP)
Define el conjunto de conceptos y recursosinformáticos relacionados con el
control y lasupervisión de un panel gráfico sensible al tacto.
2.5. DOMINIO: Ada Speaker Sound (ASS)
Ofrece recursos para interpretar sonidos ymelodías musicales a través del
altavoz de un PC.Así mismo ofrece recursos para componermelodías a partir de la
información habitual en unpentagrama.
6
DISCUSIÓN
Enelmundofísicoyrealesprecisocontrolaraccionesqueseestándandodeformasi
multánea.Unaformadeenfrentarseaestecometidoesprepararunconjuntodeprograma
squesecomuniquenentresí,de
talmaneraquecadaunocontroleunaspectodelafuncionalidaddelsistema, está
haciendo cambiar la forma en la que se desarrollan actualmente las aplicaciones
software. Esto ha provocado, entre otras cosas, que los modelos de programación
existentes se vean desbordados, siendo incapaces de manejar de forma natural la
complejidad de los requisitos que se les exigen para ese tipo de sistemas.
Comienzan a aparecer por tanto nuevos paradigmas de programación, como
pueden ser la coordinación, la programación orientada a componentes, o la
movilidad, que persiguen una mejora en los procesos de construcción de
aplicaciones software.
El desarrollo basado en componentes software y aplicaciones de tiempo
real es un área nueva y poco explorada. Uno de los principales problemas que
enfrenta esta área es el de definir las tareas a desarrollar y las técnicas a aplicar
para la producción de software de buena calidad. El constante cambio en los
requerimientos es uno de los aspectos más característicos del desarrollo
actualmente, un software de calidad debe estar preparado para absorber este tipo
de cambios con el menor impacto posible. La definición de una arquitectura de
componentes resulta fundamental en este sentido por permitir observar y manejar
globalmente los cambios. Inclusive, el cambio se experimenta a nivel de las
tecnologías aplicables, tanto para el desarrollo como para los sistemas, por lo que
dicha arquitectura de componentes no debe apoyarse en una implementación
particular sino en una especificación de los mismos. Es necesario definir una
metodología para la representación y análisis del comportamiento de tiempo real
de sistemas para ser diseñados utilizando el paradigma de orientación a objetos.
La metodología que se propone concilia las diferencias entre la visión de sistemas
de tiempo real y la del de sistemas orientados a objetos. A tal fin define un nivel de
abstracción adecuado para los elementos de modelado del comportamiento de
tiempo real, que permite formularlos con una estructura paralela a la arquitectura
lógica del sistema, y vincularlos a esta.
Estametodologíapermiteanalizar,yensucasocertificar,elcumplimientodelosreq
uisitosdetiemporealenaplicacionesqueseconstruyenensamblandocomponentessoft
warereutilizables, esto es,componentesquehan
sidopreviamentediseñadosconindependenciadelasaplicacionesenquevanaserutiliza
dos,yqueademássonmanejadosen segundo plano. De la misma manera
sedefineunametodologíademodeladoquefacilitalaconstruccióndelmodelodetiempore
aldeaplicacionesbasadasencomponentes,alofrecerelementosdemodeladodealtoniv
eldeabstracciónyorientadosalacomposición.Conella,sepuedeformularelmodelodeco
7
mportamientotemporaldeuncomponentecon parámetros yreutilizable. En general se
puede decir la utilización de esta metodología aunque todavía está en desarrollo lo
que persigue es crear bases sólidas para desarrollar aplicaciones basadas en
componentes para automatización industrial que permitan dereducirloscostos,
plazosdedesarrolloy abordarlacrecientecomplejidaddelasaplicacionesinformáticas.
8
CONCLUSIONES
Latecnologíadecomponentes proporciona unos beneficios pertenecientes a
la ingeniería de software, para disminuir tiempos de desarrollo y crear aplicaciones
seguras dentro del aumento constante de la complejidad. Por otra parte existen
conflictos esta metodología entre la especificación y su implementación
conlacaracterísticadepredictibilidadquerequierenlasaplicacionesdetiemporeal,
enlasqueelcomportamientotemporaldelarespuesta,queespartefundamentaldesuesp
ecificación,dependeclaramentede suestructura internaydela
plataformasobrelaqueopera.
Por otra de debido a su fase de desarrollo y su complejidad, es difícil hoy en
día su adaptación, sin embargo el desarrollo de esta metodología permite tener la
capacidad de satisfacer tareas en un tiempo de respuesta mínimo otra
característica radica en su constante desarrollo puesto que con los avances
tecnológicos se construyen nuevas mecanismos que operan en tiempo real y que
por consiguiente necesitan tener sistemas controlados por un computador que
tenga la capacidad de interactuar con el mundo físico. Dela misma manera el
procesodetrabajoquesehavisualizado yquesigue en
desarrolloproponefusionarunametodologíademodeladodelcomportamientotemporal
delosserviciosalcontratodeusodelcomponente.Estosmodelostienenlasnecesariasca
racterísticasde asegurar un método de diseño que permita los componentes de un
programa una vez diseñados y construidos, pueden reusarse para crear otros
sistemas y
permitirconstruirunmodelofiabledeunaaplicaciónapartirdelosmodelosdeloscompone
ntesqueutilizaydelaplataformasobrelaqueseejecutan.
9
REFERENCIAS BIBLIOGRÁFICAS
[1] López P., Espeso P., Medina J. y Drake J. (2003) Metodología de
Desarrollo de Aplicaciones basadas en Componentes para Automatización
Industrial. [Documento en línea] Disponible en:
http://www.ceautomatica.es/old/actividades/jornadas/XXIV/documentos/tire/1
46.pdf
[2] Villarroel, J. Sistemas de Tiempo Real. [Documento en línea] Disponible
en: http://webdiis.unizar.es/~joseluis/STR.pdf
[3] Ingeniería de Software Basada en Componentes. [Artículo en línea]
Disponible en:
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software_basada_en_co
mponentes
[4] Aplicaciones de Sistemas de Tiempo Real. [Presentación en línea]
Disponible en:
http://webcache.googleusercontent.com/search?q=cache:vocykw7QzK8J:delt
a.cs.cinvestav.mx/~pmejia/capi2tr.ppt+&cd=7&hl=es-419&ct=clnk&gl=ve

METODOLOGÍA DE DESARROLLO DE APLICACIONES BASADAS EN COMPONENTES PARA AUTOMATIZACIÓN INDUSTRIAL

  • 1.
    Universidad de Oriente Núcleode Monagas Ingeniería de Sistemas Cursos Especiales de Grado Automatización y Control de Procesos Industriales METODOLOGÍA DE DESARROLLO DE APLICACIONES BASADAS EN COMPONENTES PARA AUTOMATIZACIÓN INDUSTRIAL. UNIVERSIDAD DE CANTABRIA. Seminario: Estrategias de Automatización Industrial Equipo SCADA Vanessa A. Villalobos B. C.I.: 18.173.743 José D. Figuera M. C.I.: 16.516.398 Tutor: Judith Devia Maturín, Marzo 2014
  • 2.
    ÍNDICE INTRODUCCIÓN .................................................................................................... 1 MARCOTEORICO.................................................................................................. 2 1. CONCEPTOS BÁSICOS............................................................................... 2 1.1. Desarrollo Basado en Componentes .................................................. 2 1.2. Sistemas de Tiempo real...................................................................... 2 2. METODOLOGÍA PARA DESARROLLO DE APLICACIONES BASADAS EN COMPONENTES PARA AUTOMATIZACIÓN INDUSTRIAL........................ 3 3. COMPONENTES PARA AUTOMATIZACIÓN.............................................. 5 2.1. DOMINIO: Adquisición de señales analógicas y digitales (Adq). ..... 5 2.2. DOMINIO: Adquisición y digitalización de imágenes de vídeo (IG).. 5 2.3. DOMINIO: Procesado digital de imágenes (Img)................................ 5 2.4. DOMINIO: Graphic Panel (GP) ............................................................. 5 2.5. DOMINIO: Ada Speaker Sound (ASS).................................................. 5 DISCUSIÓN ............................................................................................................ 6 CONCLUSIONES.................................................................................................... 8 REFERENCIAS BIBLIOGRÁFICAS........................................................................ 9
  • 3.
    1 INTRODUCCIÓN La ingeniería softwaretrata de aplicar la tecnología de componentes a fin de reducir los costos y plazos de desarrollo y abordar la creciente complejidad de las aplicaciones informáticas. Mientras que en muchos dominios de aplicación, como en multimedia, ofimática, o interfaces gráficas, etc., la tecnología de componentes está plenamente consolidada, en otros, como es el caso de los sistemas de tiempo real su aplicación presenta problemas que no están aún resueltos y en consecuencia su uso no es habitual. Sin embargo, la tecnología de componentes en sistemas de tiempo real está siendo requerida por la industria de automatización, de potencia y equipamientos eléctricos, aviación, automoción, etc. A continuación indagaremos más sobre cómo un grupo de profesores de la Universidad de Cantabria en España está desarrollando unametodologíaquefusione ambas tecnologías, y suaplicaciónaldesarrollodeunagamadecomponentesdestinadosaldominiodelaautom atizaciónindustrial.
  • 4.
    2 MARCO TEORICO 1. CONCEPTOSBÁSICOS 1.1. Desarrollo Basado en Componentes La ingeniería de software basada en componentes (CBSE) (también conocida como desarrollo basado en componentes (CBD)) es una rama de la ingeniería de software que enfatiza la separación de asuntos, por lo que se refiere a la funcionalidad de amplio rango disponible a través de un sistema de software dado. Es un acercamiento basado en la reutilización para definir, implementar, y componer componentes débilmente acoplados en sistemas. Esta práctica persigue un amplio grado de beneficios tanto en el corto como el largo plazo, para el software en sí mismo y para las organizaciones que patrocinan tal software.[3] Un componente de software individual es un paquete de software, un servicio web, o un módulo que encapsula un conjunto de funciones relacionadas (o de datos).Todos los procesos del sistema son colocados en componentes separados de tal manera que todos los datos y funciones dentro de cada componente están semánticamente relacionados (justo como con el contenimiento de clases). Debido a este principio, con frecuencia se dice que los componentes son modulares y cohesivos. Con respecto a la coordinación a lo largo del sistema, los componentes se comunican uno con el otro por medio de interfaces. Cuando un componente ofrece servicios al resto del sistema, éste adopta una interface proporcionada que especifica los servicios que otros componentes pueden utilizar, y cómo pueden hacerlo. Esta interface puede ser vista como una firma del componente - el cliente no necesita saber sobre los funcionamientos internos del componente (su implementación) para hacer uso de ella. Este principio resulta en componentes referidos como encapsulados. Un computador corriendo varios componentes de software con frecuencia es llamado un servidor de aplicaciones. Usando esta combinación de servidores de aplicaciones y componentes de software es usualmente llamado computación distribuida. La usual aplicación del mundo real de esto es por ejemplo el software de aplicaciones o de negocios. [3] 1.2. Sistemas de Tiempo real Es un sistema informático que interactúa con su entorno físico, respondiendo a los estímulos de él, en un plazo de tiempo determinado. No basta con que las acciones del sistema sean correctas, sino que, además, tienen que ejecutarse dentro de un intervalo de tiempo determinado. El tiempo en que se ejecutan las acciones del sistema es significativo. Cabe destacar que suelenestarintegradosenunsistemadeingenieríamásgeneral,enelquerealizanfuncion
  • 5.
    3 esdecontroly/omonitorización (Sistema empotrados).[2] Las características de los STR son: Determinismo temporal: Es fundamental que el comportamiento temporal de los STR sea determinista, lo cual no hay que confundirlo con la necesidad de que sea eficiente. Además, el sistema debe responder correctamente en todas las situaciones, se debe prever el comportamiento en el peor caso posible. Fiabilidad y Seguridad: Un fallo en un sistema de control puede hacer que el sistema controlado se comporte de forma peligrosa o antieconómica. Es importante asegurar que si el sistema de control falla, lo haga de forma que el sistema controlado quede en un estado seguro; hay que tener en cuenta los posibles fallos o excepciones en el diseño. Concurrencia: Los componentes del sistema controlado funcionan simultáneamente. El sistema de control debe atenderlo y generar las acciones de control simultáneamente. [2] Algunas de las aplicaciones de los sistemas de tiempo real son: Dominio Industrial: Controlador de la planta,Robot para tratamiento de material peligroso. Uso militar:Sistema de reconocimiento de blancos automático,Sistema de guiado de misiles y navegación. Sistemas altamente críticos:Plantas nucleares,Sistemas de aviónica.[4] 2. METODOLOGÍA PARA DESARROLLO DE APLICACIONES BASADAS EN COMPONENTES PARA AUTOMATIZACIÓN INDUSTRIAL. Fue presentada en las XXIV Jornadas de Automática el 11 de septiembre de 2003, en la Universidad de León, España; Jornadas auspiciadas por el Comité Español de Automática.Está desarrollada por Patricia López Martínez, Pedro Espeso, Julio Luis Medina y José M. Drake, un grupo de profesores de la Universidad de Cantabria, en España. El diseño de componentes de tiempo real es más complejo que el diseño de componentes que tienen sólo requerimientos funcionales. En primer lugar, los requisitos de temporización implican especificar las capacidades de colaboración y sincronización entre componentes a un nivel más bajo del que proporcionan las interfaces. En segundo lugar, las plataformas habituales de los sistemas de tiempo real son heterogéneas y proporcionan tan sólo recursos limitados. Y en tercer lugar, para que un componente pueda ofrecer prestaciones de tiempo real, debe estar soportado por sistemas operativos, sistemas de comunicación, bases de datos, etc. Que ofrezcan servicios específicos de gestión de tiempo, de sincronización y de planificación predecibles. Sin embargo, está actualmente
  • 6.
    4 admitido, que laprincipal dificultad para la implantación de la tecnología de componentes de tiempo real surge de la falta de estrategias y experiencia de cómo implementar la tecnología de componentes en los entornos de tiempo real. [1] La metodología se enfoca en el modelado, diseño y análisis de componentes de tiempo real. Se apoya en las características de componibilidad y robustez que son la base de la tecnología de componentes, y la característica de predictibilidad de los sistemas de tiempo real. Para ello, se deben tomar en cuenta la especificaciones de los componentes, el cual es un descriptor tanto el contrato de uso, el cual que describe los servicios que ofrece el componente, como el contrato de instalación que especifica el entorno y los servicios que se requieren para que pueda operar un componente de tiempo real. Estos deben incorporar un modelo específico que describa las características temporales de las respuestas que ofrece y las de los recursos que para ello se necesitan. Además es importante tomar en cuenta la “interfaz”, la cual es el recurso de interoperabilidad funcional entre los componentes, y permiten modelar, describir y gestionar el dominio de la aplicación. La interfaz se formula mediante un modelo UML. Toda la información relativa al componente se encapsula en un estereotipo UML <<component_model>>. Se requiere disponer de una metodología que incorpore a la especificación del componente como parte de los contratos de uso y de instalación, la descripción del comportamiento temporal de los servicios que ofrece con independencia de la implementación concreta del componente que se esté utilizando. Se ha desarrollado el entorno MAST de modelado, diseño y análisis de tiempo real. Es la concepción de cada situación de tiempo real que sepresente en la aplicación como un conjunto detransacciones cuyas ejecuciones concurren en laplataforma. A fin de formular el modelo de tiempo real de uncomponente y de construir el modelo de tiempo realde una aplicación a partir de los modelos de tiemporeal de los componentes con que se construye, se hadefinido el perfil CBSE-Mast que se formula comoun metamodelo UML. Habitualmente los sistemas de tiempo real seimplementan como sistemas cerrados en los quetodos los elementos hardware y software estándedicados a él, Actualmente comienzan a tener relevancia los sistemas de tiempo real implementados totalmente o parcialmente sobre entornos abiertos, esto es, elsistema de tiempo real comparte la plataforma conotras aplicaciones no modeladas desde el punto devista de tiempo real y que pueden interferir sobre su comportamiento temporal. El planteamiento sobre el que se trabaja actualmente,consiste en incorporar a los componentes que debanoperar en un entorno abierto un planificador localque durante la fase de instanciación negocia con elsistema operativo un contrato deservicio. Si elcontrato es aceptado, el planificador local garantizaráque los
  • 7.
    5 requerimientos temporales ofertadosen elcontrato de uso del componente serán satisfechos. Para la aplicación de esta metodología, sobre la queactualmente se está trabajando, hay que desarrollaraún los siguientes aspectos: Adaptar el sistema operativo para que tengacapacidad de negociar y dar soporte a loscontratos de servicio.Por ello se ha desarrollado un núcleo de sistema operativo de tiempo real que satisface el estándar POSIX.13 (Interfaz portable de sistema operativo) que define el perfil de sistemas de tiempo real mínimos. Definir técnicas de análisis de planificabilidad detiempo real basadas en los contratos de servicio. Formular una metodología de diseño decomponentes de tiempo real fundamentada en loscontratos de servicio. [1] 3. COMPONENTES PARA AUTOMATIZACIÓN 2.1. DOMINIO: Adquisición de señales analógicas ydigitales (Adq). Tiene como objetivo la adquisición y generaciónde señales analógicas y digitales a través detarjetas de IO de propósito general instaladas encomputadores con arquitectura PC. 2.2. DOMINIO: Adquisición y digitalización de imágenes de vídeo (IG). Conjuntos de recursos para la configuración de latarjeta de digitalización de imágenes de vídeo,captura de imágenes, y transferencia de imágenesen vivo a ventanas del PC. 2.3. DOMINIO: Procesado digital de imágenes (Img). Corresponde a diferentes recursos para la gestión,procesado digital, análisis, caracterizaciónestadística etc. de imágenes almacenadas en elordenador. 2.4. DOMINIO: Graphic Panel (GP) Define el conjunto de conceptos y recursosinformáticos relacionados con el control y lasupervisión de un panel gráfico sensible al tacto. 2.5. DOMINIO: Ada Speaker Sound (ASS) Ofrece recursos para interpretar sonidos ymelodías musicales a través del altavoz de un PC.Así mismo ofrece recursos para componermelodías a partir de la información habitual en unpentagrama.
  • 8.
    6 DISCUSIÓN Enelmundofísicoyrealesprecisocontrolaraccionesqueseestándandodeformasi multánea.Unaformadeenfrentarseaestecometidoesprepararunconjuntodeprograma squesecomuniquenentresí,de talmaneraquecadaunocontroleunaspectodelafuncionalidaddelsistema, está haciendo cambiarla forma en la que se desarrollan actualmente las aplicaciones software. Esto ha provocado, entre otras cosas, que los modelos de programación existentes se vean desbordados, siendo incapaces de manejar de forma natural la complejidad de los requisitos que se les exigen para ese tipo de sistemas. Comienzan a aparecer por tanto nuevos paradigmas de programación, como pueden ser la coordinación, la programación orientada a componentes, o la movilidad, que persiguen una mejora en los procesos de construcción de aplicaciones software. El desarrollo basado en componentes software y aplicaciones de tiempo real es un área nueva y poco explorada. Uno de los principales problemas que enfrenta esta área es el de definir las tareas a desarrollar y las técnicas a aplicar para la producción de software de buena calidad. El constante cambio en los requerimientos es uno de los aspectos más característicos del desarrollo actualmente, un software de calidad debe estar preparado para absorber este tipo de cambios con el menor impacto posible. La definición de una arquitectura de componentes resulta fundamental en este sentido por permitir observar y manejar globalmente los cambios. Inclusive, el cambio se experimenta a nivel de las tecnologías aplicables, tanto para el desarrollo como para los sistemas, por lo que dicha arquitectura de componentes no debe apoyarse en una implementación particular sino en una especificación de los mismos. Es necesario definir una metodología para la representación y análisis del comportamiento de tiempo real de sistemas para ser diseñados utilizando el paradigma de orientación a objetos. La metodología que se propone concilia las diferencias entre la visión de sistemas de tiempo real y la del de sistemas orientados a objetos. A tal fin define un nivel de abstracción adecuado para los elementos de modelado del comportamiento de tiempo real, que permite formularlos con una estructura paralela a la arquitectura lógica del sistema, y vincularlos a esta. Estametodologíapermiteanalizar,yensucasocertificar,elcumplimientodelosreq uisitosdetiemporealenaplicacionesqueseconstruyenensamblandocomponentessoft warereutilizables, esto es,componentesquehan sidopreviamentediseñadosconindependenciadelasaplicacionesenquevanaserutiliza dos,yqueademássonmanejadosen segundo plano. De la misma manera sedefineunametodologíademodeladoquefacilitalaconstruccióndelmodelodetiempore aldeaplicacionesbasadasencomponentes,alofrecerelementosdemodeladodealtoniv eldeabstracciónyorientadosalacomposición.Conella,sepuedeformularelmodelodeco
  • 9.
    7 mportamientotemporaldeuncomponentecon parámetros yreutilizable.En general se puede decir la utilización de esta metodología aunque todavía está en desarrollo lo que persigue es crear bases sólidas para desarrollar aplicaciones basadas en componentes para automatización industrial que permitan dereducirloscostos, plazosdedesarrolloy abordarlacrecientecomplejidaddelasaplicacionesinformáticas.
  • 10.
    8 CONCLUSIONES Latecnologíadecomponentes proporciona unosbeneficios pertenecientes a la ingeniería de software, para disminuir tiempos de desarrollo y crear aplicaciones seguras dentro del aumento constante de la complejidad. Por otra parte existen conflictos esta metodología entre la especificación y su implementación conlacaracterísticadepredictibilidadquerequierenlasaplicacionesdetiemporeal, enlasqueelcomportamientotemporaldelarespuesta,queespartefundamentaldesuesp ecificación,dependeclaramentede suestructura internaydela plataformasobrelaqueopera. Por otra de debido a su fase de desarrollo y su complejidad, es difícil hoy en día su adaptación, sin embargo el desarrollo de esta metodología permite tener la capacidad de satisfacer tareas en un tiempo de respuesta mínimo otra característica radica en su constante desarrollo puesto que con los avances tecnológicos se construyen nuevas mecanismos que operan en tiempo real y que por consiguiente necesitan tener sistemas controlados por un computador que tenga la capacidad de interactuar con el mundo físico. Dela misma manera el procesodetrabajoquesehavisualizado yquesigue en desarrolloproponefusionarunametodologíademodeladodelcomportamientotemporal delosserviciosalcontratodeusodelcomponente.Estosmodelostienenlasnecesariasca racterísticasde asegurar un método de diseño que permita los componentes de un programa una vez diseñados y construidos, pueden reusarse para crear otros sistemas y permitirconstruirunmodelofiabledeunaaplicaciónapartirdelosmodelosdeloscompone ntesqueutilizaydelaplataformasobrelaqueseejecutan.
  • 11.
    9 REFERENCIAS BIBLIOGRÁFICAS [1] LópezP., Espeso P., Medina J. y Drake J. (2003) Metodología de Desarrollo de Aplicaciones basadas en Componentes para Automatización Industrial. [Documento en línea] Disponible en: http://www.ceautomatica.es/old/actividades/jornadas/XXIV/documentos/tire/1 46.pdf [2] Villarroel, J. Sistemas de Tiempo Real. [Documento en línea] Disponible en: http://webdiis.unizar.es/~joseluis/STR.pdf [3] Ingeniería de Software Basada en Componentes. [Artículo en línea] Disponible en: http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software_basada_en_co mponentes [4] Aplicaciones de Sistemas de Tiempo Real. [Presentación en línea] Disponible en: http://webcache.googleusercontent.com/search?q=cache:vocykw7QzK8J:delt a.cs.cinvestav.mx/~pmejia/capi2tr.ppt+&cd=7&hl=es-419&ct=clnk&gl=ve