Ana lisis de la Plani cabilidad de un Sistema Recon...

118
An´ alisis de la Planificabilidad de un Sistema Reconfigurable en Tiempo Real. Angel Garc´ ıa Zavala 25 de julio de 2002

Transcript of Ana lisis de la Plani cabilidad de un Sistema Recon...

Page 1: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Analisis de la Planificabilidad de un SistemaReconfigurable en Tiempo Real.

Angel Garcıa Zavala

25 de julio de 2002

Page 2: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Indice General

1 Introduccion 4

2 Sistemas de tiempo real 6

2.1 Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Sistemas de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Clasificacion de los sistemas de computo en tiempo real . . . . . . . . 9

2.4 Diseno en un sistema de tiempo real . . . . . . . . . . . . . . . . . . 11

2.4.1 Requerimientos de diseno . . . . . . . . . . . . . . . . . . . . 12

2.4.2 Requerimientos de construccion . . . . . . . . . . . . . . . . . 13

2.4.3 Requerimientos funcionales . . . . . . . . . . . . . . . . . . . . 15

2.4.4 Requerimientos temporales . . . . . . . . . . . . . . . . . . . . 16

2.5 Sistemas distribuidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.5.1 Caracterısticas de un sistema distribuido . . . . . . . . . . . . 18

2.6 Tolerancia a fallas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.6.1 Fases en la tolerancia a fallas . . . . . . . . . . . . . . . . . . 24

2.7 RT-Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.8 Metricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.8.1 Fiabilidad, disponibilidad, comprobabilidad y capacidad de cons-truccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.8.2 La capacidad de desempeno . . . . . . . . . . . . . . . . . . . 31

2.9 Sistemas de tiempo real distribuidos . . . . . . . . . . . . . . . . . . 33

2.9.1 Sistemas de tiempo real distribuidos . . . . . . . . . . . . . . 33

2.9.2 Importancia de las comunicaciones . . . . . . . . . . . . . . . 35

3 Planificadores 36

3.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

1

Page 3: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

INDICE GENERAL 2

3.2 Clasificacion de planificadores . . . . . . . . . . . . . . . . . . . . . . 38

3.2.1 Planificadores manejados por reloj . . . . . . . . . . . . . . . 38

3.2.2 Enfoque de ronda-robin pesado . . . . . . . . . . . . . . . . . 39

3.2.3 Enfoque manejado por prioridades . . . . . . . . . . . . . . . 40

3.3 Teorıa de planificadores . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3.1 Variables de planificacion . . . . . . . . . . . . . . . . . . . . 43

3.3.1.1 Variables que definen el problema de secuenciacion . 43

3.3.1.2 Variables que describen la solucion del problema deplanificacion. . . . . . . . . . . . . . . . . . . . . . . 44

3.4 Planificadores para fieldbuses . . . . . . . . . . . . . . . . . . . . . . 46

3.4.1 Planificador estatico . . . . . . . . . . . . . . . . . . . . . . . 48

3.4.2 Planificador dinamico . . . . . . . . . . . . . . . . . . . . . . 49

3.5 Planificador monotonico . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.6 Metricas de planificadores . . . . . . . . . . . . . . . . . . . . . . . . 53

4 Diseno e implementacion del sistema 58

4.1 Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.1.1 Planificador basado en planes . . . . . . . . . . . . . . . . . . 58

4.1.2 Analisis de planificabilidad del planificador por planes . . . . 60

4.1.3 Retroalimentacion . . . . . . . . . . . . . . . . . . . . . . . . 62

4.1.4 Importancia de los retardos de tiempo . . . . . . . . . . . . . 64

4.2 Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5 Evaluacion y resultados 77

5.1 Frecuencia de muestreo . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2 Desempeno de la aplicacion . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 Evaluacion y resultados . . . . . . . . . . . . . . . . . . . . . . . . . 81

5.3.1 Obtencion de la tabla de vectores de configuracion estables yplanificables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

5.3.2 Ejemplos de dinamicas sobre varios escenarios . . . . . . . . . 87

5.3.3 Uso del planificador en un sistema de control reconfigurable . 99

6 Conclusiones 101

Glosario 104

Page 4: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

INDICE GENERAL 3

A RT-Linux. 108

Bibliografıa 113

Page 5: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Capıtulo 1

Introduccion

Un sistema de computo en tiempo real es aquel en el cual la correctez de su fun-cionamiento no depende solo de los resultados de las operaciones, sino tambiendel instante en el cual tales resultados son producidos. Debido a esto, la varia-ble de interes de un sistema de computo en tiempo real es su respuesta dinamica[Kopetz(1997), Krishna y Shin(1997)].

Por definicion, un sistema de computo en tiempo real debe actuar dentro de unaventana de tiempo determinada por los tiempos maximos, conocidos como plazoslımite. Estos se constituyen como las restricciones locales para cada elemento delsistema. A partir de esta definicion se establece que un programa, el planificador, seencarga de ordenar las tareas con respecto a sus plazos lımite.

En general, los sistemas en tiempo real se aplican comunmente en el area de controlautomatico [Bennet(1994)], con el fin de garantizar la calidad, determinismo y con-sistencia de los datos. Particularmente, parte de la teorıa de sistemas en tiempo realconsiste en la manipulacion de un conjunto de tareas, las cuales tienen asignado untiempo de proceso y un periodo para organizarse, de tal forma que se cumplan susplazos lımites. A esta manipulacion se le conoce como planificacion, que da comoresultado un ordenamiento de tareas llamado plan.

Un programa planificador utilizado frecuentemente para el analisis de tareas es elllamado planificador por planes. Este tipo de planificador combina caracterısti-cas tanto de los planificadores estaticos como de los planificadores dinamicos, yaque son capaces de reconfigurarse en el tiempo de manera determinista. El algo-ritmo basico del planificador por planes fue propuesto inicialmente por Almeida[Almeida et al.(1999)].

La propuesta de esta tesis se basa en un analisis del algoritmo planificador por planes,ası como de los planes propuestos como resultado de la reconfiguracion en lınea apartir de un caso de estudio. El objetivo es encontrar una ordenacion de tareas comosolucion optima, con base a su respuesta dinamica. En tal ordenacion, se entiendepor tarea a las acciones que realizan cada uno de los elementos del caso de estudio.En particular, tales elementos son sensores, actuadores y un controlador.

4

Page 6: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 1. INTRODUCCION 5

El metodo propuesto en esta tesis se divide en dos partes: la primera parte se ocupade generar una tabla de soluciones viables respecto de la planificacion de tareasy de la respuesta dinamica del caso de estudio. La segunda parte compara el planpropuesto contra las soluciones ya planteadas en la tabla, escogiendo la configuracionmas adecuada de acuerdo a los cambios propuestos.

Objetivo:

El objetivo es estudiar el impacto que tiene el planificador por planes sobre un sis-tema distribuido reconfigurable, desde el punto de vista de un sistema dinamico.Dado que la comunicacion es la principal fuente de retardos de tiempo en los siste-mas distribuidos, en esta tesis se propone limitar tales retardos mediante el uso delplanificador por planes. De esta forma, es posible generar una tabla de posibles so-luciones, combinando los parametros de planificacion (tiempos de proceso y periodosde cada elemento). Esto permite el analisis de los retrasos de tiempo, obteniendouna planificacion optima, entendida como la degradacion mınima del sistema debidoa la comunicacion entre procesos.

Contribucion y relevancia:

Actualmente, la teorıa de los sistemas en tiempo real se relaciona con otras areas,tales como sistemas distribuidos [Colouris et al.(2001)], teorıa de control[Arzen et al.(1999), Livani et al.(1999)], tolerancia a fallas [Laprie(1985)], sistemasoperativos [Ramamritham y Stankovic(1994)], y teorıa de planificadores[Liu y Layland(1973)], entre otras. Todas estas areas, al relacionarse con tiempo real,tienen en comun el manejo de las restricciones de tiempo. Ası, existe un gran numerode estudios relacionados con la planificacion de tareas. Sin embargo, el analisis dela planificacion de tareas es todavıa un tema de investigacion abierto, debido a lacomplejidad en el tiempo de los sistemas reconfigurables en lınea.

El presente trabajo propone un plan como solucion al caso de estudio, y lo comparacon la respuesta del planificador sugerido por Almeida. A partir de esto se pretendedeterminar si el plan (ya autorizado segun la teorıa de planificacion) es viable para elcaso de estudio. Notese que no se pretende determinar si un sistema es planificable,sino determinar que tan eficiente resulta el plan para la reconfiguracion en lınea.

En resumen, el presente trabajo pretende obtener una solucion de planificacion, en-contrar los parametros optimos de un conjunto de tareas, y comprobar las posiblescombinaciones de tareas para el caso de estudio. Se considera que los resultados dela planificacion pueden ser utilizados para futuros estudios sobre el mismo problemade reconfiguracion.

Page 7: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Capıtulo 2

Sistemas de tiempo real

2.1 Estado del arte

En esta seccion se exponen los conceptos basicos de la teorıa de los sistemas decomputo en tiempo real.

Un sistema de computo de tiempo real es un sistema de computo en el cual lacorrectez del funcionamiento del sistema no solo depende de los resultados logicos delas operaciones, sino tambien depende del instante fısico en cual estos resultados sonproducidos [Kopetz(1997)], es decir, que dependen del tiempo en el cual se genera elresultado [Stankovic(1988)].

Ejemplos de sistemas de computo en tiempo real son: control en experimentos delaboratorio, control en motores automotores, plantas de energıa nuclear, plantas decontrol de proceso, sistemas de control de vuelo, naves espaciales, avionica y robotica.Se gastan millones de dolares en investigacion en los sistemas de tiempo real tantopor la industria como por los gobiernos.

Los nuevos sistemas deberan ser mas complejos, ser distribuidos y capaces de mostrarcierta ”inteligencia”, ser mas adaptativos y contar con un alto desempeno dinamico.Ejemplos de aplicaciones con un alto grado de peligro son las estaciones espaciales ola exploracion submarina.

Se puede decir que son dos los motores impulsores en los sistemas de tiempo real: lanecesidad de componentes inteligentes y el rapido avance del hardware. Sin embargolo anterior conlleva a una mayor complejidad en los sistemas, siendo mas difıcilde manejarlos. Como ejemplo, podemos citar los sistemas distribuidos que tienenvarios procesadores, tales sistemas existen, pero aun no se tiene un analisis completode tiempos de los sistemas de tiempo real actuando en tales equipos.

Aunque actualmente se han estudiado mas los sistemas de tiempo real, existen al-gunas concepciones erroneas acerca de ellos [Stankovic(1988)] y cuando se quierenresolver problemas relacionados con el tema, se han utilizado soluciones ad hoc. Porlo que, en esta seccion, se van a mostrar algunas de las concepciones erroneas mas

6

Page 8: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 7

importantes que ayudaran a aclarar la teorıa.

En los avances en supercomputo se explota ampliamente los procesos en paralelo paramejorar la velocidad de salida de computo. Sin embargo, esta mejora en velocidadno asegura que las restricciones temporales se cumplan en forma automatica, laarquitectura de tales equipos, por ejemplo, debe ser cuidadosa para tomar en cuentalos posibles topes de trafico en su comunicacion y ejecucion.

El objetivo del computo de alto rendimiento es minimizar el tiempo medio de res-puesta de un conjunto dado de tareas, Sin embargo el objetivo de la computacion entiempo real es la de tomar los tiempos individuales requeridos en cada trabajo. Masque una respuesta rapida, un sistema en tiempo real debe ser predecible.

La teorıa de los sistemas de tiempo real esta relacionada con la ingenierıa de desem-peno y algunos puntos para la realizacion de un sistema ya han sido resueltos enalgunas otras areas de las ciencias de la computacion o la teorıa de operaciones. Sinembargo, existen problemas unicos que no se encuentran en otras areas y que es ne-cesario hacer mayor investigacion. Tal es el caso de sistemas que calculan los plazosde respuesta en forma estadıstica, pero que no garantizan una respuesta adecuadaen toda situacion crıtica.

Otro problema importante, en los sistemas de tiempo real, es el relacionado con latolerancia a fallas. Ya que los sistemas son crıticos, es deseable que existan elementosen adicion para ser capaces de manejar una falla. Desafortunadamente, la toleranciaa fallas implica una mayor complejidad en los sistemas, ya que hay que tomar encuenta los retrasos en los tiempos que puedan ocurrir cuando se suscita algun falloen el sistema.

En el estudio de los sistemas de tiempo real se deben incluir los resultados de muchasareas para cubrir las necesidades temporales de los trabajos.

2.2 Sistemas de control

Uno de los usos principales que tienen los sistemas en tiempo real es el del con-trol. Desde los anos setenta se ha visto que la computacion juega un rol muy im-portante en los procesos industriales de control y monitoreo, como se menciona en[Liu y Layland(1973)]. El objetivo de un algoritmo de control es manejar un procesotal que el criterio del rendimiento es satisfecho [Kopetz(1997)].

Las aplicaciones de control son frecuentemente regulares, consistiendo de una ”se-cuencia infinita” de periodos de control. Su ciclo es el siguiente:

1. El ciclo comienza con la adquisicion de entidades de tiempo real, generalmentemediciones de sensores.

2. Con los datos obtenidos el algoritmo de control calcula un nuevo conjunto depuntos, que modificaran al sistema.

Page 9: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 8

3. Los nuevos valores se distribuyen a los actuadores para modificar el entorno.

El diseno de los algoritmos de control que logran los objetivos deseados de control,a pesar de las perturbaciones aleatorias, son estudiados por la ingenierıa de control.En general, un sistema de computo de tiempo real debe reaccionar a los estımulos delobjeto controlado o de un operador (humano o no) dentro de los intervalos dictadospor su ambiente. Por ello, se debe de disenar de tal forma que asegure que sevan a cumplir todos los plazos lımite, en todas las situaciones, con un rendimientopredecible aun en los escenarios pico.

Ademas de que tradicionalmente los sistemas de control en tiempo real son aplicadosen fabricas de produccion, vehıculos de transporte u objetos inteligentes, los sistemasde control en tiempo real pueden ser utilizados en otras areas, como por ejemplo laagricultura. En la agricultura de precision, se encuentra que los procesos de pro-duccion deben ser controlados estrictamente de acuerdo a las demandas de plantas,tierra y especificaciones ambientales. Todo ello para obtener grandes eficiencias sincontaminacion ambiental [De Baerdemaeker et al.(2001)].

Un sistema de computo de tiempo real es siempre parte de un sistema mayor quees llamado sistema de tiempo real. Tal sistema cambia en funcion del tiempo fısico.Como ejemplo de tales sistemas, tenemos los procesos de fundicion de un metal,una reaccion quımica, etc, y el sistema de control de tiempo real, en este caso, serıaun equipo de computo quien monitorea las etapas del proceso. Es claro que talsistema debe interactuar con el ambiente. La forma de interaccion del sistema decomputo con el sistema debe ser en ambos sentidos, tanto para el control como parael monitoreo. Esto se logra a traves de sensores que informan el estado del sistemay de actuadores que tienen la capacidad de modificar el ambiente.

Debido a que los sistemas son producidos por interes de los humanos, se necesita queuna persona pueda tener acceso al control y monitoreo del sistema. Ahora bien, debenotarse que la evolucion del sistema puede ser mucho mas rapida que la percepcionhumana, por lo que en el sistema de computo debe de haber una sincronıa entre elproceso que esta ocurriendo con la informacion que debe tener el operador.

El sistema de computo en tiempo real se divide en tres grandes subsistemas, cadaparte puede estar formada a su vez por varios componentes o subsistemas: el sistemacon la parte relativa al operador, la parte relativa al objeto controlado y el sistemade computo de tiempo real en sı (ver la Fig. 2.1).

El tiempo en el cual el sistema de computo debe actuar es el llamado plazo lımi-te (deadline). Si un resultado tiene utilidad, aun despues de que un plazo lımitehaya pasado el sistema, es denominado suave (soft) en caso contrario se denominafirme (firm). Por otra parte, a un sistema de computo en tiempo real se le lla-ma duro (hard), si ocurre una catastrofe cuando se pierde un plazo lımite firme[Kopetz(1997)].

Page 10: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 9

����������� ����������� �

� �������������

��� ��� ��!#"$ �&%('�!&)�*+�-,

$ �#��� ��!�)�,/.���"�01�%+2!�*�0 ,

%�,�!�)*+� "%+� ,�3�"40 5

687:9�;�<-=>?=�@+<�A�= B CD�=

E�F�G�H&I�B =F(= @J<�A�=�B C�D�=4K

L MJN�O�P-Q�R�SJOT M�S(N�PVU�W#O�M+N R�X

Y ZJ[�\4] ^�_�`J\acb d�e]�\�fhg#i�j�k�l Z�_

Fig. 2.1: Sistema de computo en tiempo real.

2.3 Clasificacion de los sistemas de computo en

tiempo real

Se pueden clasificar los sistemas de tiempo real bajo diferentes perspectivas. Laprimera clasificacion se puede hacer de acuerdo a las caracterısticas de la aplicaciony de acuerdo al diseno de la aplicacion.

La Fig. 2.2 muestra el esquema de la clasificacion.

��� ����� �� ����� �� ������ ������ ������������������ ����� �"!������

#%$�&'$�(*)�&,+ -�(. /�$�-�0�)$�1�2 . /3$�/�. 4�5

6�7 8:9<;>=@? 8BADCFEDGB? =6�7 8:9<;>=@? 8BADCFHIG>AKJL8

MBNDO>PRQ3SUTKVTIWDPRT:S'XDQYV ZD[B\>]R^3_U`Kab c

]R`:_c^Ya

dKe:f f e<gihBjDkBl edKe:f f e<mDn>h:l eBoIp m:q>eDf

r�s tDu<v>w<xByDz y:{I| s }IyB~Kw��tF� w:z:tK�F���>tDz }Lw

���B�I�B� �L�B���B�B�K�>�I�B�B�K����B�I�B� �L�B��� �>�B�K�B�>�I�B�B�K�

��� �>�I�:� �B�B�K���>�:�D�K�I�D�I� ���� �>�I�:� �B�B�K���>�:�B��� �: <�I�

¡£¢ ¤3¥�¦ §�¨�¥ª© ««�¬�© ¢ ­�«�­ ¢ ®�¯

Fig. 2.2: Clasificacion de los sistemas de tiempo real.

En las caracterısticas de la aplicacion, podemos incluir las de tiempo real duro (hardreal-time) contra las de tiempo real suave (soft real-time) y las seguras de falla (failsafe) contra las de falla operacional (fail operational). Estas dependen de factores

Page 11: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 10

externos al sistema de computo.

En la segunda categorıa, de acuerdo al diseno de la aplicacion, la podemos dividir entres clasificaciones, que dependen de factores dentro del sistema de computo: tiem-po garantizado (guaranteed timeliness) contra mejor esfuerzo (best effort), recursosadecuados (resource adequate) contra recursos inadecuados (resource inadequate) ydisparadas por tiempo (time triggered) contra disparadas por evento (event trigge-red).

• Tiempo real duro contra tiempo real suave.

Es comun dividir las restricciones temporales en dos tipos: duras y suaves. Deacuerdo a las definiciones comunes, una restriccion temporal o tiempo lımitees dura si se considera que la perdida del plazo lımite de alguna de ellas puedeprovocar una catastrofe. Si por el contrario, se pierden algunos plazos lımitesy no hay mayor problema, entonces se dice que es suave.

Se puede hacer otra definicion de acuerdo con la utilidad de los resultados. Sedice que es dura si despues de haber perdido un plazo lımite los resultados notienen ninguna utilidad. En cambio, si se perdio alguno de los plazos lımites ylos resultados todavıa son utiles, entonces se dice que es suave.

Una definicion mas actual se puede adoptar. Una restriccion temporal de untrabajo es dura, si el trabajo es un trabajo de tiempo real, y si el usuariorequiere que la validacion en el sistema, cumpla con su restriccion temporal.Por validacion, se entiende una demostracion por un procedimiento eficiente,probablemente correcto o por simulacion exhaustiva y comprobacion.

• Seguras de falla contra las de falla operacional.

En algunos sistemas se pueden identificar uno o varios estados seguros que pue-den alcanzarse en el caso de que ocurra una falla. Si en un sistema se puedeidentificar tales estados seguros y se pueden alcanzar en un tiempo corto en-tonces el sistema se llama seguro en fallas. Hay, sin embargo, tambien sistemasdonde estos estados no se pueden alcanzar o no existen. En tales sistemas,la aplicacion de control debe proveer un mınimo servicio para evitar una ca-tastrofe y tal sistema es llamado de falla operacional. Debe observarse que lacondicion de que el sistema tenga estados seguros es una propiedad del objetocontrolado y no del sistema en sı.

• Respuesta garantizada contra mejor esfuerzo.

Si un sistema es disenado tomando en cuenta todos los escenarios posibles yresponde adecuadamente, a pesar de la presencia de picos de carga, podemosdecir que el sistema tiene una respuesta garantizada. Por otra parte, si larespuesta analıtica garantizada no puede ser dada, se habla entonces de undiseno con el mejor esfuerzo.

Page 12: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 11

• Recursos adecuados contra recursos inadecuados.

La repuesta garantizada de los sistemas esta basada en el principio de los recur-sos adecuados. Es decir que se cuenta con los recursos suficientes disponiblespara manejarse adecuadamente en la carga pico y en un escenario de falla. Porotra parte, puede ser que no se tengan los recursos suficientes (por ejemplo porfalta de presupuesto, tecnologıa, etc), por lo que los recursos son inadecuados.

• Disparadas por tiempo contra disparadas por evento.

El flujo del tiempo real puede ser modelado por una lınea recta que viene delpasado y va hacia el futuro, cualquier suceso que ocurra en la lınea del tiempoes llamado un evento.

Un disparo (trigger) es un evento que causa el comienzo de un accion. Sepueden distinguir dos categorıas para los disparos:

1. Disparados por eventos. Cuando todas las comunicaciones y las activida-des de proceso son activadas siempre que haya un cambio significativo enel estado del sistema se dice que estos son disparados por eventos.

2. Disparados por tiempo. En cambio los sistemas disparados por tiemposon aquellos donde todas las comunicaciones y actividades de proceso soninicializadas en predeterminados puntos en el tiempo.

2.4 Diseno en un sistema de tiempo real

El progreso tecnologico y las necesidades de usuarios han estimulado nuevas areas delos sistemas de control distribuido. Cada vez es mas frecuente que los controladorespor computadora, aislados en aplicaciones de vehıculos, aviones, robots y maquinasde produccion, sean integrados en la formacion de subsistemas cooperativos, loscuales pueden juntos, proveer una funcionalidad mejorada, rendimiento y flexibilidada costos reducidos.

Maquinas modernas y futuras deberan, por lo tanto, incluir sistemas de control porcomputadora de tiempo real distribuidos y embebidos. La industria en particulara puesto atencion en los sistemas embebidos de tiempo real que cada vez son masfrecuentes en partes de automoviles o en aparatos domesticos que requieren com-ponentes inteligentes para mejorar su funcionamiento. La historia de los sistemasembebidos la podemos resumir en cuatro fases:

1. En la primera, una aplicacion a la medida sin sistema operativo realiza lafuncion de control en un microcontrolador.

2. En la segunda fase, la funcionalidad del producto es aumentada agregandofunciones de software para mejorar la utilidad.

Page 13: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 12

3. Debido al incremento en software, en la tercera fase es necesario agregar unsistema operativo y por lo tanto se tiene que redisenar el software.

4. Finalmente, en la cuarta fase, el producto inteligente es visto como parte de unsistema mas grande y existe la necesidad de comunicarse con otros productosy/o interfaces por lo que ahora es necesaria la teorıa de sistemas distribuidospara lograr el exito en el producto.

Varios niveles de distribucion o descentralizacion de los sistemas de control dentrode la maquinaria son posibles conceptualmente. Ademas, el nivel apropiado de des-centralizacion depende de un numero de factores, incluyendo costos, requerimientosde tiempo real y confiabilidad [Torngren y Widanker(1996)].

En la evolucion historica de los sistemas de control distribuido, se han hechos avancesimportantes. Sin embargo, aun contando con el inmenso peso de la literatura eninvestigacion, no hay aun una metodologıa y herramientas definitivas para construirsistemas de control de tiempo real distribuidos [Torngren y Widanker(1996)]. Apesar de ello, se cuenta con especificaciones muy consistentes tanto en el disenocomo en la construccion, que permiten llegar a construir exitosamente un sistema decomputo de tiempo real. A continuacion se citaran tales requerimientos.

2.4.1 Requerimientos de diseno

En el diseno de un sistema de control en tiempo real, se deben de tomar en cuentalos siguientes puntos [Arzen et al.(1999)].

• La metodologıa de diseno de control debe tomar en cuenta la disponibilidad derecursos de computo durante el diseno.

• Los requerimientos de tiempos de ejecucion del peor caso deben ser relajados.

• El sistema debe ser capaz de adaptar parametros de las tareas en situaciones desobrecarga, de tal forma que la estabilidad y un nivel aceptable de rendimientode control sean mantenidos.

• El sistema debe ser capaz de seguir dinamicamente el rendimiento en el controljunto con la utilizacion de recursos de computo.

• El sistema debe soportar intercambio de informacion en lınea entre el planifi-cador en lınea y las tareas de control.

• El sistema debe ser capaz de medir el tiempo de ejecucion actual utilizado porlas diferentes tareas, y tomar las acciones apropiadas en caso de sobrecarga.

• El analisis de tiempo de ejecucion requerido debe ser parte de una herramientainteractiva para generacion de codigo.

Page 14: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 13

2.4.2 Requerimientos de construccion

Aparte de las caracterısticas antes mencionadas, para su construccion, los sistemasde computo en tiempo real deben de tomar en cuenta los siguientes puntos:

1. Especificacion, analisis y verificacion de los sistemas de tiempo real.

Como primer punto, en la construccion de un sistema de tiempo real, esta laespecificacion y verificacion del sistema. El objetivo principal es incorporaruna metrica temporal. Los metodos deben incluir restricciones temporales enla especificacion de las tareas tales como la enumeracion y descripcion del ordenen que deben ocurrir, resultando ası un analisis cuantitativo del sistema masque uno cualitativo [Stankovic(1988)].

Sin embargo, la complejidad que puede adquirir el sistema puede muy grande.Por ejemplo, un sistema complejo puede llegar a tener cientos de estados y encada uno de ellos se deben cumplir las especificaciones temporales prescritasen el diseno.

El problema mayor en la especificaciones de analisis y verificacion de sistemastiempo real es como incluir las restricciones temporales y como verificar queun sistema cumpla con sus especificaciones. Es muy difıcil asegurar los plazoslımites duros, por metodos ad hoc. Como consecuencia, han surgido una seriede resultados teoricos de planificacion por los que es posible saber a priori siun conjunto de tareas pueden cumplir sus plazos lımites.

La teorıa de planificacion es estudiada en dos comunidades de investigacion:investigacion en operaciones y ciencias de la computacion. Dentro de la inves-tigacion de operaciones, por problemas estudiados, encontramos tıpicamentetrabajos de produccion o flujos de produccion, como: trabajos, ordenaciones yproyectos. Los recursos pueden ser maquinas, celulas de fabricacion, unidadesde proceso, gente, etcetera. Dentro de las ciencias de la computacion, el pro-blema de la planificacion concierne a la planificabilidad de tareas en un monoo multiprocesador y la planificacion de comunicacion en sistema distribuido.

En esta tesis, se va a analizar un problema relacionado con los planificadores,que son los encargados de dar un orden a las tareas. La planificacion en tiemporeal ha sido una area fertil de investigacion durante las ultimas decadas y porello se dedicara el capıtulo 3 al tema.

2. Arquitectura de sistemas de tiempo real.

Las arquitecturas de sistemas para soportar aplicaciones de tiempo real debenser disenadas para proveer las siguientes caracterısticas.

• Velocidad en computo.

• Manejo rapido de interrupciones.

• Alta velocidad en los canales de entrada y salida.

Page 15: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 14

3. Comunicaciones de tiempo real.

En el diseno de sistemas de tiempo real, tanto distribuidos como centralizados,hay la necesidad de usar protocolos de comunicacion que provean un desempenodeterminıstico del sistema.

4. Sistemas operativos de tiempo real

Las dos partes esenciales en los sistemas operativos de tiempo real son:

(a) Temporizacion en tiempo real.

Decide que tareas y en que orden se van a ejecutar.

(b) Kernels de tiempo real.

Ellos deben de proveer los servicios de comunicacion, sincronizacion, sis-tema de archivos y manejo de memoria

Claramente, un sistema operativo de tiempo real debe permitir integrar la pla-nificacion del CPU y manejo de los recursos para que las colecciones de tareascooperativas puedan obtener los recursos que ellos necesitan, en el tiempo pre-ciso, en orden para cumplir con sus plazos lımites. Ademas de los algoritmosde planificacion, la predictibilidad requiere de llamadas primitivas en el sistemaoperativo bien especificadas.

Los sistemas operativos de tiempo real son una parte integral de los sistemasde tiempo real. Las areas funcionales que ellos soportan son: manejo y sin-cronizacion de procesos, comunicacion entre procesos, manejo de memoria yentrada salida.

Sin embargo, la manera en la cual ellos soportan estas areas son diferentesa los sistemas operativos convencionales. En particular, los sistemas operati-vos de tiempo real, restringen la predictibilidad e incluyen caracterısticas parasoportar las restricciones de tiempo real.

Finalmente, los sistemas operativos de tiempo real se pueden agrupar en trescategorıas generales: pequenos, kernels propietarios, extensiones a sistemasoperativos comerciales como Unix [Ramamritham y Stankovic(1994)].

En la aplicacion que se implemento para el sistema de control de esta tesis,se utilizo el sistema operativo RT-Linux. Las caracterısticas de este sistemaoperativo se pueden ver en la seccion 2.7[sec:rt-linux].

5. Tolerancia a fallas

La tolerancia a fallas es una tecnica que ayuda a que un sistema provea unservicio que sea confiable a pesar de fallas. La tolerancia a fallas la podemosdividir en dos areas: tolerancia a fallas por hardware y tolerancia a fallaspor software. De la tolerancia a fallas por hardware se encargan la ingenierıaelectrica, la de software y las ciencias de la computacion. A su vez, la toleranciaa fallas por software la podemos dividir en dos grandes enfoques que son:prevencion de fallas y tolerancia fallas.

Page 16: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 15

Como su nombre lo indica, la prevencion de fallas trata de prevenir las posiblesfallas en el sistema que puedan ocurrir en el futuro, este enfoque asume que elsistema trabaja correctamente y no cuenta con redundancia. Es claro que sıocurre alguna averıa, el componente debe ser mandado a reparacion. De aquıque existan desventajas en este enfoque que podrıamos enumerar como sigue:ausencia de redundancia para enmascarar fallas, el sistema fallara cuando uncomponente falle, procedimientos de mantenimiento manual deberan ser usadospara reparar el sistema.

Tal enfoque no puede ser suficiente para aplicaciones que deban ser confiables,ya que pueden no ser aceptable los retrasos en la reparacion manual, la inacce-sibilidad de los sistemas para reparacion y el excesivo costo y perdida de tiempoen el mantenimiento. En general, los metodos de prevencion de fallas se pun-tualizan en metodologıas para el diseno, chequeo y validacion de los sistemas.En cambio, en la tolerancia a fallas los metodos se enfocan en como usar loscomponentes, de tal manera que los desperfectos puedan ser enmascarados. Deello se hablara mas detalladamente en la seccion 2.6.

2.4.3 Requerimientos funcionales

Para concluir el diseno de los sistemas de computo en tiempo real, a continuacion seintroducen tanto los requerimientos funcionales como temporales que estan involu-crados en la operacion del sistema.

Los requerimientos funcionales de un sistema de tiempo real son los concernientescon las funciones que un sistema de computo de tiempo real debe realizar. Ellas sonagrupadas en adquisicion de datos, requerimientos de control digital y requerimientosde interaccion hombre–maquina.

1. Adquisicion de datos

Los objetos controlados cambian sus estados en el transcurso del tiempo, porlo que es necesario obtener ”fotografıas” en el tiempo de los estados de lasvariables que describen al sistema. Cada estado significativo de una variablees llamado entidad de tiempo real.

Una de las tareas principales, de un sistema de computo en tiempo real, esla observacion, adquisicion y almacenamiento de las entidades de tiempo realque van a servir en el analisis de control. Un ejemplo claro de esta necesidades el proporcionado en el monitoreo de una planta de energıa nuclear. Ental sistema, es de vital importancia que el actue e indique si existe un malfuncionamiento en la planta. Esta informacion tiene un periodo de vida queesta restringido por la dinamica del objeto controlado.

2. Requerimientos de control digital

Se debe de tomar en cuenta que, en muchos sistemas de computo de tiemporeal, se deben calcular un conjunto de puntos para los actuadores y el objeto

Page 17: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 16

controlado directamente, sin la necesidad de ningun sistema de control conven-cional.

3. Requerimientos de interaccion hombre–maquina

Para un sistema de computo en tiempo real es de vital importancia que se hayadisenado una muy buena interfase hombre–maquina que asista al operador encontrolar la maquina u objeto controlado. De no ser ası, una catastrofe puedeocurrir por error o uso indebido por parte del operador.

2.4.4 Requerimientos temporales

Los requerimientos temporales mas demandantes de los sistemas de tiempo real songenerados a partir de los ciclos de control rapidos. Ejemplo de ello es el control quese debe tener en un motor automotrız o de aviacion.

El sistema de control en tiempo real debe muestrear periodicamente el ambiente, yposiblemente el sistema, y checar si hubo un perturbacion y actuar en consecuencia.La constante de duracion entre dos conjuntos de muestreo es llamado el periodo demuestreo dmuestreo. El intervalo de tiempo, pasado un periodo de muestreo, donde elalgoritmo de control responde al muestreo para mandarlo a los actuadores, se llamaretraso de la computadora dcomputadora.

����������� �

���

��������� � �������������� �!��"� ���#������� �!��#�

$&%('*) +-,-+.,-%0/21&%-354*'#%-+46) %(/2$&+7,-%0'#%-38$-1&%-394":<;&:-=&) :?> +-3@:-=94A1&:-,-+('#%-3B ) 4�4#%('"CD,() E#%('"%(F&=�) :7%(F2> :<'#%-3�$-1�%-394":2,-%(>53�) 354�%G/H:

===

I

J-K�L�M�N�O P M�Q

RTS(U V W-SS-X9Y6Z�S-W-[(\#]-R

^�_�`#a�b�c�d e�f�`�g e

h(i&jDk l�m&n8o�p q(rs*t u�u#v(w

Fig. 2.3: Retrasos de tiempo.

El tiempo de respuesta del algoritmo de control no necesariamente es el mismo todo eltiempo. La diferencia entre el maximo y mınimo valor de respuesta es llamado jitterdel retraso y se denomina por ∆dcomputadora. Se trata por cierto de un parametromuy sensitivo que mide la calidad del control, esto se aprecia en la Fig. 2.3.

Cuando surge un cambio en un sistema controlado, como por ejemplo, un sistemadonde se tenga que variar el flujo de vapor para cambiar la temperatura, son impor-tantes las siguientes variables. El retraso del objeto controlado dobjeto es el tiempo en

Page 18: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 17

el cual se aprecia un cambio en la variable atendida y el tiempo alcanzado dalcanzado

que es el tiempo donde se alcanza un nuevo equilibrio, como se puede apreciar en laFig. 2.4.

����� � ��� � ��� � ���������

��� ���������! #"%$#�'&

(�)'*,+#)'-�.�(0/�-�.,1�)'232 4 5'/�6 1�7

8 9:;9<=8 ><=

?0@ A'B�C3D

Fig. 2.4: Tiempos de reaccion.

El tiempo linde (dead time) del ciclo de control es el intervalo de tiempo entre laobservacion de una entidad de tiempo real y el comienzo de la reaccion del objetocontrolado. El tiempo linde es la suma del retraso del objeto controlado dobjeto queesta en el ambito de la dinamica del objeto controlado y el retraso de la computadoradcomputadora que esta determinado por la implementacion computacional.

Como se ha visto y como se vera en los siguientes capıtulos, los sistemas distribuidosy la tolerancia a fallas juegan un papel muy importante en la teorıa de los sistemasde computo de tiempo real, por lo que es necesario dar una introduccion aparte, delos dos temas.

2.5 Sistemas distribuidos

Se define un sistema, como un mecanismo identificable que mantiene un patron deconducta y una interfase entre el sistema y su entorno [Jalote(1994)]. Esto implicaque un sistema deber interactuar con su medio ambiente y es definido de acuerdoa las caracterısticas que se tomen en cuenta para definir al sistema. El patron deconducta es la conducta externa del sistema. La interfase es mas un concepto queuna entidad, ya que es usada solamente para identificar los lımites entre el sistemay su entorno.

El gran crecimiento de las redes de computadoras en todo el mundo se debe a quela tecnologıa Very Large Scale Integration (VLSI) y las redes de comunicacion hanocasionado que exista una gran necesidad de comunicacion entre ellas. Por lo quees deseable que haya una colaboracion entre distintas redes. Esto lleva a resolver

Page 19: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 18

problemas como la distribucion de recursos y la comunicacion entre las diferentesredes o subredes que no necesariamente son del mismo tipo y que, en general, nofueron pensadas para comunicarse entre ellas mismas. Lo anterior ha sido de interespara las ciencias de la computacion creando un area de estudio llamada sistemasdistribuidos.

Un sistema distribuido es un sistema de computo cuyos componentes, ya sea de hard-ware o software, estan localizados en computadoras en red que se comunican coordi-nando sus acciones solo por paso de mensajes [Colouris et al.(2001), Mullender(1995)].Esta definicion trae como consecuencia caracterısticas inherentes en tales sistemascomo: la concurrencia de componentes, la ausencia de un reloj global y la indepen-dencia de fallas en sus componentes, debido esencialmente a que cada equipo decomputo es autonomo.

Uno de los motivos principales de los sistemas distribuidos es el de compartir recursos.Este servicio debe ser fiable, por lo que pueden emplearse tecnicas de replicacionen caso de que un componente falle. Las formas de compartir los recursos en unsistema distribuido las podemos clasificar en 5 metodos de distribucion principales:componentes de hardware, carga, datos, control, y procesamiento. Ejemplos deello es la comparticion de sistemas de archivos, impresoras ası como servicios decomunicacion, como correo electronico o vıdeo conferencia.

2.5.1 Caracterısticas de un sistema distribuido

La concepcion de un sistema distribuido es compleja, ya que existen problemas co-mo: la heterogeneidad entre los equipos de computo, la tecnologıa de comunicacion,diferencia en los sistemas operativos, diferencia o disponibilidad en las aplicaciones,limitaciones de flujo de informacion y mecanismos seguros de la transmision de lainformacion entre otros. Por lo que al disenar un sistema distribuido deben tomar-se en cuenta ciertas caracterısticas para que las aplicaciones distribuidas tengan undesempeno fiable y de calidad.

El area de los sistemas distribuidos se encarga, entre otras cosas, de estudiar ysolucionar los aspectos requeridos en la construccion de las aplicaciones distribuidasque forman el sistema. De la teorıa con la que ya se cuenta, se ha visto que, engeneral, las aplicaciones deben de contar con caracterısticas en la arquitectura delsistema y que por su alcance pueden ser un verdadero reto en su implementacion.Estas caracterısticas son las siguientes:

• Expansibilidad. La expansibilidad de un sistema de computo es la caracterısticaque determina cuando un sistema puede ser extendido y reimplementado dediversas formas. La expansibilidad de un sistema distribuido esta determinadaprincipalmente por el grado de cuantos recursos nuevos pueden ser agregadosy ser puestos a disposicion para el uso de distintos programas clientes.

De la definicion anterior, es claro que debe existir una forma estandar de comu-nicacion entre sus componentes, por lo que las interfases deben de ser publicas

Page 20: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 19

y estandar.

• Seguridad. Puesto que es valiosa la informacion que esta contenida en los dife-rentes equipos, es necesario contar en el sistema con mecanismos de seguridadque garanticen fundamentalmente: la confidencialidad (que ninguna personano autorizada pueda tener acceso a la informacion), integridad (toda la infor-macion que se maneje no pueda ser alterada) y finalmente la disponibilidad(que no haya interrupcion a los servicios de los recursos).

Es claro que la seguridad debe ser un punto importante en el diseno de unsistema distribuido, ya que la informacion que sea accesada debe ser fiable ysolo la debe ver la persona o procesos autorizados. Tambien debe de tomarse encuenta la seguridad en las prestaciones de servicios, puesto que es posible hacerun ataque informatico que podrıa hacer que este no funcionara correctamente,resultando en una degradacion o un mal funcionamiento del sistema.

• Escalabilidad. Un sistema se dice escalable si permanece efectivo y eficientecuando hay un incremento significativo en el numero de recursos y en el numerode usuarios. Un ejemplo de ello es Internet o por ejemplo el sistema de telefonıalocal.

Un punto importante que se debe de tomar en cuenta en la creacion de unsistema escalable es el relacionado con el costo de los recursos fısicos, ya que alcrecer el sistema el costo en conjunto puede elevarse o el sistema puede sufrirperdidas de rendimiento. En el ejemplo de la infraestructura de la telefonıalocal, la red debio haber sido concebida para un incremento grande en el numerode lıneas, ya que de no ser ası, los usuarios pueden sufrir un mal servicio o unaumento desproporcionado en los costos del servicio.

• Manejo de fallas. Es necesario contar con mecanismos que prevengan o corrijanlos errores que un sistema pueda generar. Para ello, se ha desarrollado unateorıa extensa acerca del tema. Aquı solo mencionaremos que, debido a quelos componentes de los sistemas distribuidos estan separados, se puede intuirque si existe una falla en alguno de ellos, esta podra ser aislada facilmente,por lo que la arquitectura en los sistemas distribuidos es ideal para las tecnicasempleadas en la tolerancia a fallas como replicacion y enmascaramiento defallas que puedan ocurrir en algun componente.

• Concurrencia. Tanto los servicios como las aplicaciones proveen recursos quepueden ser compartidos por clientes en un sistema distribuido. Hay por lo tan-to una posibilidad de que varios clientes puedan accesar a un mismo recursocompartido al mismo tiempo. Por lo que es necesario que el recurso puedaatenderlos concurrentemente garantizando el funcionamiento correcto en cadapeticion, puesto que es posible que las operaciones que realice el servidor puedeafectar la integridad de la informacion comun entre ambos procesos. Para ga-rantizar la consistencia en los datos se aplican varias tecnicas de sincronizacioncomo: semaforos, banderas y paso de mensajes.

Page 21: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 20

• Transparencia. La transparencia en una aplicacion esta definida como el en-cubrimiento de la separacion de componentes en un sistema distribuido, desdeel punto de vista de un usuario, ya que el sistema es percibido como un to-do en vez de una coleccion de componentes independientes. Los componentespueden incluir transparencia de acceso, transparencia de localizacion, transpa-rencia en concurrencia, transparencia en replicacion, transparencia en fallas,transparencia en movilidad, transparencia en rendimiento y transparencia enescalabilidad.

• Heterogeneidad. Las redes de computadoras estan formadas por equipos decomputo autonomos que en general son diferentes, la heterogeneidad se aplicaen el tipo de red, sistema operativo, lenguajes de programacion e implementa-cion de las aplicaciones de diferentes desarrolladores. El hecho de tener diferen-tes plataformas lleva a que existan diferentes polıticas en el manejo interno delos datos. Por ejemplo un tipo de dato entero puede ser ordenado de izquierdaa derecha o de derecha izquierda, esto hace que la comparticion de recursos setorne difıcil. Actualmente, muchos de los problemas de heterogeneidad tienensoluciones y otros tantos aun se estan estudiando, pero no existe un metodogeneral que resuelva todos los problemas. Resulta, por ejemplo, que algunastecnicas utilizadas con exito en un cierto problema no son las mejores en al-gun otro problema. Por lo que hasta el momento la solucion depende de lascaracterısticas del problema a resolver.

Se puede mencionar brevemente que ya existen algunas soluciones a los problemasrelacionados con los sistemas distribuidos. Por ejemplo, para el manejo de diferentesredes, plataformas y aplicaciones, se ha hecho la abstraccion de poner una capaintermedia de software entre aplicaciones y hardware de cada sistema, de tal maneraque esta capa homogeneıza la interfase, haciendola mas facil de manejar. Ejemplo deello son los lenguajes Corba y Java que permiten un desarrollo rapido para construiraplicaciones distribuidas. Aunque como lo hemos mencionado anteriormente, existeaun un gran numero de problemas a resolver.

De lo anterior, resulta claro observar que un sistema distribuido ofrece muchas ven-tajas en la construccion como en ejecucion y mantenimiento, dando un servicio decalidad. Estas caracterısticas se toman en cuenta para el diseno e implementacionde un sistema distribuido de tiempo real. Sin embargo, debido a las restriccionestemporales de los sistemas de tiempo real, no todas las soluciones de los sistemasdistribuidos pueden ser utilizadas. Por ejemplo, los tiempos de comunicacion entredos aplicaciones situadas en diferentes equipos de computo no pueden ser desprecia-das, por lo que hay que aunar otras consideraciones temporales en la implementacion,que se veran en el capıtulo 4.

Page 22: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 21

2.6 Tolerancia a fallas

Las mejoras importantes en la razon del costo/rendimiento de los componentes mi-croelectronicos en los ultimos diez anos han abierto un nuevo mercado para la uti-lizacion de la tecnologıa de computo de tiempo real. Muchas de estas aplicaciones,como por ejemplo el control en vehıculos como motores, transmisiones y frenos, tie-nen requerimientos de alta confiabilidad [Kopetz et al.(1995)].

En muchos de los sistemas de computo es necesario que estos sean confiables, ya seapor que los procesos que tienen que manejar requieren que, aun existiendo fallas,trabajen adecuadamente, porque pueden depender vidas humanas o porque un malfuncionamiento puede generar una gran perdida economica. Como ejemplos se en-cuentran controladores industriales, aplicaciones aeroespaciales o sistemas bancarios.De ahı que surja la necesidad de asegurar que un sistema de computo sea confiable,la tolerancia a fallas es una area de estudio que hace que un sistema funcione ade-cuadamente, a pesar de que pueda haber una falla durante un intervalo de tiempo enel sistema. Para ello utiliza la redundancia, es decir usa componentes no necesariossi el sistema funciona correctamente.

En esta seccion se definen algunos terminos para estudiar la teorıa de la toleranciaa fallas. Se debe hacer notar que tales conceptos definidos en la literatura en idiomaIngles, al traducirlos al espanol resultan en palabras que aparecen como sinonimos.Por ejemplo, safety y security, por lo que se escribira el equivalente de la palabra enIngles la primera vez que aparezca, para que el lector pueda identificar facilmente sucontra parte.

La nocion de confiabilidad (dependability) cubre los atributos no funcionales de unsistema de computo que relaciona la calidad de servicio, que un sistema ofrece, sobreun perıodo de tiempo. En el contexto de sistemas de tiempo real duro, las cincomedidas de confiabilidad son: la fiabilidad (reliability), disponibilidad (availability),proteccion (safety) y seguridad (security). Estas caracterısticas ya han sido definidasanteriormente en los sistemas en general por [Laprie(1985), Laprie(1992)].

La fiabilidad es la continuidad de servicio, la disponibilidad tiene que ver con lacerteza de tener el servicio en uso, la proteccion evita consecuencias catastroficas enel medio ambiente y la seguridad previene el acceso no autorizado al sistema y a lainformacion. El atributo mas significativo para la tolerancia a fallas es la fiabilidad yen cierto grado la disponibilidad [Jalote(1994)]. Ası, la confiabilidad se define comola calidad de un servidor al que puede darsele una confianza justificada en el servicioque provee [Laprie(1985), Laprie(1992)]. Vemos entonces que la confiabilidad debeser un parametro muy importante para que podamos construir sistemas que seanconfiables, de bajo costo y faciles de probar y reparar.

La mas crıtica de estas medidas, para los sistemas de tiempo real, es la seguridad: laprobabilidad que un sistema no falle en un modo de falla. La seguridad depende enla correcta funcion de hardware y software. Mientras que un numero de tecnicas sonconocidas para enmascarar las consecuencias de una falla aleatoria en hardware, losproblemas para evitar, detectar y manejar fallas en su software no han sido hasta el

Page 23: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 22

momento resueltas satisfactoriamente.

El diseno en fallas tiene su origen en la complejidad inmanejable de un diseno.Aunque no hay un diseno disponible de una medida universalmente aceptada dela complejidad, hay un acuerdo general en que los siguientes atributos incrementanla complejidad de un diseno:

• Los requerimientos que ponen plazos lımites estrictos.

• El tamano de sistema, muchas veces expresado en el numero de lıneas de codigo.

• La coordinacion, sincronizacion y medicion temporal de las tareas que se eje-cutan concurrentemente y

• La deteccion de errores y manejo de redundancia en sistemas tolerantes a fallas.

Muchas de las aplicaciones de tiempo real utilizan cuatro de estos atributos. Mien-tras el primero de estos atributos, el requerimiento de cumplir con plazos lımitesestrictos, es fundamental a cualquier sistema de tiempo real y no puede ser evitado.Es concebible visualizar una arquitectura que ayude a reducir efectivamente el im-pacto de las otras tres caracterısticas de la complejidad de una aplicacion en tiemporeal.

Un sistema tiene un desperfecto (failure) cuando el comportamiento del sistema noes consistente con su especificacion, los desperfectos son causados por averıas o fallas(faults) en los componentes del sistema (suponemos que un sistema esta formado porvarios componentes y que cada componente es un sistema en sı mismo, en general, eslo mas adecuado para manejar la complejidad). Las especificaciones que un sistemadebera tener para decidir si esta en un estado correcto o no deben ser:

1. Completas: deben ser especificadas en todas las posibles situaciones.

2. Consistentes: que las especificaciones no se contradigan y

3. Correctas: que realmente las especificaciones son las que definen el estadocorrecto.

Sin embargo no siempre se tiene tal informacion por lo que es necesario contar conuna autoridad para juzgar el estado actual del sistema. En tal caso, se dice que elsistema es autoritativo (authoritative) de aquı en adelante consideraremos que todoslos sistemas son autoritativos.

Para terminar de definir la tolerancia a fallas, es necesario conocer algunos conceptosque pueden ser revisados en [Jalote(1994), Johnson(1989)] y [Cristian(1991)].

Un desperfecto (failure) del sistema ocurre cuando el comportamiento del sistema sedesvıa del requerido en las especificaciones [Anderson y Lee(1981)]. Un error es partedel estado de un sistema, el cual es responsable de que aparezcan fallas subsecuentes

Page 24: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 23

[Laprie(1985), Laprie(1992)]. Ası que, la causa de un desperfecto es un error. Yaque un error es una propiedad del estado del sistema, este puede ser observado yevaluado. En contraste, un desperfecto no es una propiedad del estado del sistemay no puede ser observado facilmente, tıpicamente un desperfecto es deducido por ladeteccion de algun error en el estado del sistema.

Se define una averıa o falla (fault) como un defecto que tiene el potencial de generarerrores. De esta definicion, una falla podrıa o no podrıa generar un error. Por otraparte, las causas que pueden producir una falla las podemos clasificar en cuatro areasbasicas: especificaciones, implementacion, componentes y factores externos. Para vermejor la relacion entre los diferentes conceptos se puede ver la Fig. 2.5, que ilustragraficamente la relacion entre falla, error y desperfecto.

Ası para concluir, un sistema es tolerante a fallas si este puede enmascarar la presen-cia de fallas en el sistema usando redundancia. El objetivo de la tolerancia a fallases evitar el desperfecto en el sistema, aun cuando se presenten fallas en algunos desus componentes, el sistema debera ser consistente con sus especificaciones. En unsistema de computacion tolerante a fallas, los desperfectos fuerzan al sistema a re-configurar sus actividades, la reconfiguracion puede poner al sistema en un estadodiferente de operacion, que puede causar un paro en algunos modulos, ası como untrabajo extra de las tareas que se perdieron debido al desperfecto. En la Fig. 2.5, sepuede ver el alcance de la tolerancia a fallas.

���������������� ����� ��� ������ ���

������������� ��! "$#% ��"&�('*)�+,�! -�'

.0/(1�2�341�5�647*8 9�:�/�;<�=�2�/(1�:�6�;

>@?�A�?4BDC�EF�?�GBHE�I$J*E�G�?�G*C�?F

K4L�M M LN�O(PN�Q�RTSVUWL(X�O

Y(Z�[ [ Z�\�]�^_�Z�`�a�bWZ(`�]

c�d�d�e�d�fg h@i�j�k�i�l�m�i4nDo�p4jq i(rsj�t juo�i(v&w

xzy{ |*}�~��u���� ��{ �u�

�z�4� ���(���u����� ������������*� ���

�z�4� �*�����u��������(�����

Fig. 2.5: Relacion de causa y efecto entre falla, error y desperfecto.

La redundancia (redundancy) es la clave para soportar la tolerancia a fallas, ya que nopuede haber tolerancia si no hay redundancia. La redundancia esta definida comoaquellas partes del sistema que no son necesarias para el correcto funcionamientodel sistema si la tolerancia a fallas no es soportada. La redundancia puede ser dehardware, software o tiempo.

Page 25: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 24

• La redundancia de hardware, llamada replicacion, comprende los componentesfısicos que son agregados para la tolerancia a fallas.

• La redundancia de software incluye todos los programas e instrucciones queson empleados para soportar la tolerancia a fallas.

• La redundancia de tiempo requiere un tiempo extra para realizar tareas rela-cionadas para la tolerancia a fallas.

2.6.1 Fases en la tolerancia a fallas

No existe una tecnica que nos diga como implementar la tolerancia a fallas en undeterminado sistema, ya que esto dependera de sus propiedades y requerimientos.Sin embargo, existen principios generales que pueden ser utilizados para el diseno deun sistema tolerante a fallas.

En la implantacion de la tolerancia a fallas, se pueden identificar cuatro fases que son:deteccion de errores, confinamiento de danos, recuperacion de errores y tratamientode fallas con continuidad de servicio, que a continuacion se describen brevemente.

• En la fase de deteccion de errores, la presencia de una falla es deducida por ladeteccion de un error en el estado de un subsistema. Por lo tanto ocurrio undesperfecto en algun componente.

• En la fase de confinamiento, los danos causados debido al desperfecto debenser identificados y delimitados. Hasta aquı, solo se han detectado las fallas, lasdos siguientes fases tiene que ver con la tolerancia a fallas.

• En la fase de recuperacion de errores, se tienen que corregir los errores en elestado del sistema, para que no se propaguen en futuras acciones.

• Finalmente, la fase de tratamiento de fallas con continuidad de servicio; lafalla o el componente danado tiene que ser identificado y el sistema tolerante afallas tiene que funcionar, de tal manera que los componentes danados no seanutilizados, sean usados en diferente manera o reconfigurados para que ya nocausen fallas. En esta etapa, puede haber una degradacion del sistema comomınimo porque existe la posibilidad de inhabilitar algunos modulos que seancausa de alguna falla.

2.7 RT-Linux

Dedicamos esta seccion a RT-Linux que es un sistema operativo de tiempo realbasado en el sistema operativo Linux y que ha sido utilizado para la implementaciondel sistema de control propuesto en esta tesis.

Page 26: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 25

En este momento, existe una gran atencion de la industria en utilizar Linux comosistema operativo en sistemas embebidos y sistemas de computo de plataformas PC.Esto se debe a las caracterısticas que posee este sistema operativo, como por ejemploque es libre y que tambien existe acceso al codigo fuente.

Sin embargo, Linux como tal no posee soporte para tiempo real, ya que su temporiza-dor esta mas bien construido para que todas las aplicaciones tengan acceso al CPU,obteniendo con esto que el rendimiento en general sea alto en el equipo de computo.Sin embargo, las aplicaciones de tiempo real requieren que ciertas instrucciones man-tengan su ejecucion a pesar de que el rendimiento del sistema en general se puedadegradar. Ejemplo de ello es cuando se tiene un proceso que captura datos. Desdeel punto de vista de Linux simple (es decir el normal) este proceso tiene la mismaprioridad que cualquier otro y por lo tanto el temporizador puede interrumpirlo conalgun otro proceso en ejecucion, esto claro esta, no es una caracterıstica deseada enun sistema de tiempo real.

La solucion al problema anterior es construir un temporizador que pueda tener prio-ridades y que no interrumpa los procesos de mayor prioridad en ejecucion, ademasde contar con las caracterısticas de entrada y salida y manejo de interrupciones men-cionadas en la seccion 2.4.2 para trabajar en tiempo real. Sin embargo el kernel deLinux no fue disenado para tales requerimientos y la construccion de un nuevo kerneles en sı una tarea de grandes dimensiones.

La solucion al problema anterior fue realizada por Victor Yodaiken, lıder del proyectoRT-Linux en 1996 en el Instituto de Minerıa y Tecnologıa de Nuevo Mexico. Supropuesta fue la utilizacion de un temporizador de tiempo real en el kernel que seencarga de ”cachar” todas las peticiones de recursos de los procesos antes de quelleguen al temporizador de Linux.

De esa manera, en un proceso que sea catalogado de tiempo real, el planificadorse encargara de ejecutarlo asignandole la prioridad mas alta y al mismo tiempoel temporizador, bloqueara las peticiones de las demas aplicaciones hasta que sehayan ejecutado todos los procesos de tiempo real. Para lograr la planificacion, lasaplicaciones de tiempo real se cargan en el kernel del sistema operativo en forma demodulos, con lo que se logra un adecuado manejo en la memoria de la computadora yademas permite ejecutar al mismo tiempo las demas aplicaciones de Linux ”normal”aunque con una prioridad menor ver la Fig. 2.6. En la primera version de RT-Linuxse pudieron manejar tareas con una precision de 20 microsegundos y el tiempo siguemejorando.

Con el procedimiento anterior se obtiene un sistema operativo que puede funcionar endos mundos. Se cuenta con las caracterısticas de ejecucion de tareas en tiempo real yademas se cuenta con toda la funcionalidad de Linux en su estado normal. Ademasde las caracterısticas mencionadas, existe tambien una caracterıstica que hace queLinux sea candidato a utilizarse en sistemas embebidos, gracias a la caracterıstica dela modularidad, ya que el kernel en sı se puede almacenar en 300 k de memoria y lademas funcionalidad se puede agregar en modulos.

Page 27: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 26

� ���

��� � ���� �

��� ��� �����

������� ���

!#"%$'&�( )�*�+

,.-�/ 0213-4/ 5 6.748 92:3748 ;

<�= >4?�@ A @ B�>�C�D4E

F G�H I�G�J F H�K L M4N O�M�P L N�QR.S T U V4WYX[Z]\2V4^ XU S _2`

a�b c�d b ef g�h�i�j

k3l�m n o�p�on q4r

Fig. 2.6: Funcionamiento de RT-Linux.

La arquitectura mencionada permite hacer de Linux un gran candidato a utilizarseen sistemas de tiempo real, por lo que la industria esta interesada en su utilizacion.

Actualmente existen varios proyectos de Linux en tiempo real basadas en las ideas deRT-Linux, algunos proyectos son: RTAI (Real Time Application Interface)1, que adiferencia de RT-Linux utiliza en la temporizacion el CPU TSC (Time Stamp Clock)en vez de basarse en el chip 8254.

MiniRTLinux2 es una edicion pensada para arrancar RT-Linux desde un disquete.De hecho, no se necesita un disco duro para que funcione, su tamano pequeno permiteası, que pueda ser integrado facilmente en un sistema especıfico. Hay ademas otrasversiones en preparacion que estan consiguiendo funcionar sobre otras plataformascomo en las estaciones de trabajo Alpha y PowerPC.

Otro proyecto diferente, para adaptar Linux a los sistemas de tiempo real, se llamaKURT (Kansas University Real Time Linux). Su filosofıa es muy diferente, porque seinstala dentro del nucleo de Linux y modifica el planificador para incluir una nuevapolıtica de planificacion, llamada SCHED KURT. Es una especie de planificadorcıclico, basado en una tabla elaborada previamente. Es mas simple y eficiente quelos otros, pero cada nuevo proceso de tiempo real fuerza a una redefinicion completade todo el plan, y la tabla suele tener un tamano considerable. Esta es una delas razones por las que KURT solo trabaja con tareas de tiempo real blando. Porotra parte, la implementacion tambien incluye algunos mecanismos de control de lacalidad de servicio (Quality Of Service QoS) y ofrece ademas una variedad amplia defunciones Linux dentro de las tareas de tiempo real, contrariamente a las limitadastareas de tiempo real de RT-Linux.

1http://server.aero.polimi.it/projects/rtai2http://www.rtlinux.org/rtlinux.new/minirtl.html

Page 28: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 27

Otro proyecto reciente, proviene de Timesys3 y la Carnegie Mellon University quehan desarrollado algunas herramientas comerciales como TimeWiz y TimeTrace. Elproducto es llamado TimeSys Linux/RT e integra una parte del kernel de Linuxdentro del nucleo de RT-Linux con la intencion de dotar a las tareas de tiempo realuna mayor flexibilidad. Tambien se ha usado una version modificada de RTAI comokernel de tiempo real para este sistema operativo. No obstante, el nucleo ha sidopreparado para permitir reserva de prioridad, esto es, deja a las tareas de tiemporeal que puedan reservar tiempo de CPU que vayan a usar despues, y de esta formahacer una replanificacion del sistema mas facil de realizarse.

En el campo de los sistemas embebidos, Kwon Seok Kuon ha desarrollado un RT-Linux especialmente disenado para ser utilizado en una tarjeta especial llamadaµCsimm que utiliza una version dedicada de Linux denominada µCLinux. ModificoRT-Linux v0.9J para la version µCsimm del kernel µCLinux4.

Actualmente, RT-Linux se encuentra en la nueva version, la 3.1. Se le ha dotadode mayor compatibilidad POSIX y es capaz de trabajar con otras plataformas comoestaciones de trabajo Alpha y PowerPC. Para mayor informacion acerca de todasestas versiones, se puede consultar5.

2.8 Metricas

Los sistemas de tiempo real son muchas veces usados en aplicaciones crıticas, ydeben, por ello, ser disenadas cuidadosamente antes de que se pongan a operar. Lavalidacion del proceso incluye el chequeo en la correctez del diseno usando metodosformales e informales, la caracterizacion del rendimiento y la fiabilidad.

La eleccion apropiada en las medidas de rendimiento es crucial en la correcta carac-terizacion del rendimiento. Las medidas del rendimiento son criterios en cuanto alrendimiento expresado [Krishna y Shin(1997)].

Para ser util, una medida del rendimiento debera ser concisa. Esto es, esta debeencapsular con pocos numeros, preferiblemente un solo numero, el rendimiento de unsistema. En otras palabras, esta debe converger hacia el mas importante parametrode rendimiento de un sistema y dejar de lado los otros.

Muy a menudo, aun si hay una medida exacta de rendimiento, apreciada por elusuario, la aplicacion determina como los sistemas son calificados.

Ası, se deben tener las siguientes propiedades de las medidas de rendimiento.

1. Representar una codificacion eficiente de la informacion relevante.

2. Proveer una base objetiva en la calificacion de los controladores candidatospara una dada aplicacion.

3http://www.timesys.com4http://www.uclinux.org/simm/realtime5http://www.rtlinux.com

Page 29: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 28

3. Proveer de un criterio optimizacion objetiva en el diseno.

4. Representar hechos verificables.

Estos cuatro puntos traen consigo que haya una codificacion objetiva, que existanbases objetivas para calificacion, que se tengan criterios de optimizacion objetiva yque se puedan tener hechos verificables.

En las secciones siguientes se enfocara en ver las medidas tradicionales que se hanusado comunmente para medir el rendimiento, como son: la fiabilidad, disponibili-dad, y velocidad de salida, junto con medidas relacionadas. Al final, se muestra unanueva metrica llamada capacidad de desempeno utilizada en medir los sistemas detiempo real.

2.8.1 Fiabilidad, disponibilidad, comprobabilidad y capaci-dad de construccion

Uno de los objetivos principales de los sistemas de computo en tiempo real es incre-mentar la fiabilidad. El tema ya ha sido estudiado bajo la perspectiva de la toleranciaa fallas y los sistemas distribuidos desde hace dos decadas [Lamport(1978)]. Se ve-ran las metricas clasicas desde el punto de vista de la tolerancia a fallas y como susresultados son aplicados directamente en los sistemas de tiempo real.

Empleando la tolerancia a fallas, muchos de los desperfectos potenciales son alejados.El objetivo de la tolerancia a fallas es el de incrementar la disponibilidad del sistema,esto es, incrementar el tiempo en el cual el sistema esta disponible para ser usado porlos usuarios. Si ninguno de los objetivos anteriores se cumple la tolerancia a fallasno tiene sentido. A continuacion, se veran los parametros que pueden ayudar en lametrica de un sistema.

Fiabilidad

La fiabilidad de un sistema se define como una funcion del tiempo R(t), la cualrepresenta la probabilidad que un sistema persista satisfactoriamente hasta el tiempot (no falle hasta el tiempo t). La fiabilidad depende del intervalo de observacion.

Sea X una variable aleatoria que representa la vida de un sistema. Esto es, Xrepresenta el tiempo en el cual el sistema fallara. El tiempo a fallar es modeladocomo una variable aleatoria y no se puede predecir con exactitud. Si se asume quela variable X tiene una distribucion F , la fiabilidad de un sistema es una funcion, lacual representa la probabilidad de que el sistema sobreviva hasta el tiempo t.

R (t) = P (X > t) (2.1)

= 1− F (t)

Page 30: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 29

La definicion implica que R(t = 0) = 1, lo cual significa que el sistema inicialmenteesta trabajando y tambien que R (t =∞) = 0 lo que implica que ningun componentetiene una vida indefinida. Si la vida de un sistema es una distribucion exponencial,entonces la disponibilidad es:

R (t) = e−λt (2.2)

El parametro λ es llamado la velocidad de desperfecto del sistema.

De la nocion de fiabilidad podemos calcular el tiempo medio de desperfecto (meantime to failure MTTF), o vida esperada del sistema y esta dada por:

E [X] =

∫ ∞0

R (t) (2.3)

Si tomamos R(t) como una exponencial, entonces obtenemos que:

MTTF =1

λ(2.4)

Es importante resaltar la diferencia entre la tolerancia a fallas y la fiabilidad, latolerancia a fallas es una tecnica que puede mejorar la fiabilidad, pero los sistemastolerantes a fallas no necesariamente tienen una gran fiabilidad. Un sistema puedeser designado para tolerar una simple falla en software o hardware, pero la posibilidadde que ocurran problemas puede ser muy alta y por lo tanto la fiabilidad es baja.Por otro lado, supongamos que se toma un sistema sin tolerancia a fallas, que hayasido construido cuidadosamente con componentes muy buenos. Si ocurre una falla elsistema, se tendra que detener, en este caso tenemos un sistema con gran fiabilidady sin embargo no es tolerante a fallas.

Disponibilidad

La disponibilidad instantanea A(t) (funcion del tiempo) de un componente se defi-ne como la probabilidad de que un componente este funcionando correctamente altiempo t.

La disponibilidad es otro de los objetivos de la tolerancia a fallas. Un sistema puedeser altamente disponible aun experimentando frecuentes periodos de inoperabilidad,en tanto que estos sean muy pequenos. Ası que la disponibilidad no solamentedepende de la frecuencia que ocurra la inactividad, sino tambien de que tan rapidoesta pueda repararse. La disponibilidad, la mayorıa de las veces, es tomada en cuentacuando el objetivo de un sistema es proveer un servicio tanto como sea posible.

Page 31: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 30

Ejemplos de aplicaciones de alta disponibilidad incluyen a sistemas de computo detiempo compartido o sistemas de reservaciones.

El analisis de la disponibilidad se interesa en la disponibilidad despues de un periodoprolongado de tiempo. Para ello, se define la disponibilidad restrictiva, conocidasimplemente como disponibilidad como el lımite de A(t), cuando el tiempo tiendea infinito. Hay que notar que aunque la fiabilidad tiende a cero cuando t tiende alinfinito, la disponibilidad en general es diferente de cero.

Si el tiempo medio de una falla de un componente es MTTF (tiene cada Ti MTTFcomo media) y el tiempo medio de reparacion de un componente es MTTR (cadaDi tiene MTTR como media), entonces la disponibilidad α, de un sistema esta dadapor:

α =MTTF

MTTF +MTTR(2.5)

Esta es una expresion general de la disponibilidad y no es dependiente de la natura-leza de la distribucion de tiempos de vida o de los tiempos de reparacion.

Comprobabilidad

Es necesario medir que tan fiable es el sistema que vamos a utilizar, una comprobacion(test) es un medio por el cual la existencia y calidad de ciertos atributos dentro de unsistema son determinados. La comprobabilidad es la habilidad para comprobar porciertos atributos dentro de un sistema. La comprobabilidad esta relacionada con lamantenibilidad porque es importante minimizar el tiempo requerido para identificary localizar problemas especıficos.

Actualmente, una de las tecnicas mas usuales empleada para la comprobabilidad esla inyeccion de fallas.

Una tecnica importante actualmente para comprobar un sistema tolerante a fallas,que mencionaremos brevemente, es la inyeccion de fallas, la cual consiste en la in-sercion de fallas deliberadamente en un sistema en operacion para determinar surespuesta [Clark y Pradhan(1995)].

Cuando ocurre una falla en el sistema, se debe actuar rapidamente para que nose propaguen los errores, las acciones incluyen detectar la falla, identificar el com-ponente afectado y aislar el componente a traves de la reconfiguracion del sistemacomo lo vimos en la seccion 2.6.1. Con este problema, se debe de tomar en cuentadistribuciones de latencia (latency), el tiempo necesario para realizar cada una deestas acciones. Ya pequenas variaciones en la proteccion y la latencia pueden afectarmucho la confiabilidad. Estos parametros deben ser estimados basados en datos delsistema actual y no estimados.

Estudios de la inyeccion de fallas pueden proveer estos datos a traves de muchosexperimentos individuales que varıan en el como, donde y cuando las fallas son

Page 32: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 31

insertadas intencionalmente. Tambien puede ayudar al diseno durante el desarrollode la aplicacion y finalmente ayudan a crear un diccionario para hacer un diagnosticocuando el sistema llegue a fallar.

Otro problema que se debe tomar en cuenta es el relacionado con el determinismo delas replicas (fault determinism) en los sistemas distribuidos de tiempo real tolerantesa fallas. El problema se aprecia si se solicita un servicio a un conjunto de replicas, elresultado debera ser correcto, aun si alguna de las replicas ha fallado [Poledna(1996)],(siempre y cuando el numero de replicas es menor que un umbral definido), esto esevitar que haya efectos colaterales si ocurre o no una falla.

Por ejemplo, si consideramos dos computadoras las cuales son usadas en el controlde una valvula de seguridad que debe abrirse en caso de que haya un exceso enla presion. Ambas maquinas leen la presion de sensores analogicos, pero debido ala resolucion de los sensores se reciben datos ligeramente diferentes, el resultado esque se pueden tener decisiones diferentes al mismo tiempo. Aunque este ejemplopuede parecer trivial, podemos extender el ejemplo agregando, por ejemplo, quelos relojes de cada una de las maquinas sea diferente. Si el funcionamiento de lavalvula tiene que ver con el tiempo, entonces tambien puede haber controversia encuanto a las decisiones que deban tomarse. Esto muestra que la replicacion simple decomponentes no derivan en un componente compuesto que provee el mismo servicioque el de uno solo con un alto grado de confiabilidad.

El problema del determinismo en las replicas es relativamente nuevo y actualmentese esta investigando en la materia, por lo que sugiere al lector el libro de Poledna[Poledna(1996)].

La capacidad de construccion

Una arquitectura se dice que tiene capacidad de construccion o compuesta (composa-ble), con respecto a una propiedad especificada, si en la integracion de un sistema estapropiedad sigue siendo valida. Una vez que tal propiedad sea implementa al nivel dealgun subsistema, es decir que en una arquitectura con capacidad de construccion,las propiedades del sistema son obtenidas de las propiedades de los subsistemas.

En un auto, por ejemplo, diferentes motores pueden ser combinados con diferentestransmisiones y diferentes embragues y sistemas de suspension. La construbilidadgarantiza entonces que todas las combinaciones de los subsistemas deberan trabajarcorrectamente sin la necesidad de redisenar o recomprobar alguno de los subsistemas.

2.8.2 La capacidad de desempeno

Las medidas anteriores requieren la definicion pensando cuando un sistema esta en-cendido o apagado, pero el problema se complica cuando, por ejemplo, el sistema sedegrada y, en consecuencia, hay que definir ciertos estados de funcionamiento.

Page 33: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 32

El problema de estas medidas es que ellas no proveen un mecanismo para estudiarla interrelacion entre el hardware, el sistema de software y el software de aplicacion.La fiabilidad tıpicamente esta orientada o al hardware o al software pero de formaindependiente una de otra. La disponibilidad es practicamente inutil como una me-dida para cumplir con plazos lımite y para sistemas complejos es difıcil obtener unamedida.

La capacidad de desempeno (performability) mejora sobre las medidas tradicionalespor su explicitud. Toma en cuenta formalmente el hecho de que el rendimiento de unsistema de tiempo real deberıa estar ligado al rendimiento consecuente del procesoque se controla. El proceso controlado es definido teniendo niveles alcanzados ologrados. Estos niveles de rendimiento son definidos desde el punto de vista delusuario. La capacidad de desempeno de un sistemas de tiempo real es definido comola probabilidad de que el sistema de computo pueda lograr los diferentes niveles parallegar a obtener el exito. Mas formalmente, si hay n niveles de logros A1 . . . An,la capacidad de desempeno de un sistema de tiempo real esta dada por un vector(P (A1) , P (A2) . . . P (A3)), donde P (Ai) es la probabilidad de que las funcionescomputacionales alcancen con exito el nivel Ai en el proceso controlado. Ası, lacalidad de servicio es vista por el usuario, como ligada al rendimiento de un sistemade tiempo real.

La Fig. 2.7, muestra un ejemplo de como puede verse a la capacidad de desempeno.

��� ��������� � �������������������� ������� ��������������� ����!��"��#����� �����$

��� �����&% ���(')����� � �*�����������+� ��� �������!���!�,�!��"!������� ���������-.����"��0/#��"���� 1�".��������-2�� ��"!�������������"�����

��� �����435�67����� �8� � ���,���9��"(��� ������-.�,���4�#� ��-���:�������<;��)�=��>������������� ?������ �#-.���4� �@�!��"��#�����7���8�)���8A /#� �!�9���B��"C�!��"D>���"����9���:�����������4����������!���!���!��"��#����� � ����

��� �����*E�GF5���#�������#�����*� �IH�������JK�����$L5��� ������-0�M���)�����8�#� ')�*����� � ������� ��")���

N OQP�R�S!SUT8VXWZYX[8T

\ O]P�R�S^SUT8VXW�YX[ T

Fig. 2.7: Funcionamiento de la capacidad de desempeno.

Para empezar, el modelo oculta la informacion en los diferentes niveles la informacion.Cada vista es mas detallada que la anterior y esta dirigida a gente diferente y lasvistas estas ordenadas, de tal manera que el usuario no conoce nada de las dinamicasdel proceso controlado o del diseno y operacion del sistema de computo de tiemporeal de vistas anteriores.

Regresando a los cuatro requerimientos listados al principio de la seccion 2.8, sepuede observar como la propiedad de la ocultacion de la informacion permite una

Page 34: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 33

codificacion eficiente de la informacion relevante (requerimiento 1). Debido a quefinalmente es manejado por niveles de logro, definidos por el usuario, este proveeuna base objetiva para la comparacion de diferentes sistemas de tiempo real (reque-rimientos 2 y 3). Finalmente, los hechos verificables representados (requerimiento 4)depende de las tecnicas usadas para el modelado.

2.9 Sistemas de tiempo real distribuidos

Desde el punto de vista de funcional, no hay diferencia en que un sistema sea dis-tribuido o centralizado. Sin embargo, en los sistemas distribuidos existen algunosargumentos para preferir una solucion distribuida.

En esta seccion, se daran los argumentos que justifican que un sistema de tiemporeal se construya bajo el esquema de un sistema distribuido (cuya teorıa ya se havisto). Lo anterior permite un mejor control en los componentes haciendo mas facilel manejo de los sistemas como veremos mas adelante.

2.9.1 Sistemas de tiempo real distribuidos

Como ya hemos mencionado en la seccion 2.5, un sistema distribuido es un sistemade computo cuyos componentes, ya sea de hardware o software, estan localizadosen computadoras en red que se comunican coordinando sus acciones solo por pasode mensajes. Por lo que, en tales sistemas, es posible encapsular una funcion logicaque puede ser asociada a una computadora, es decir un nodo. Tal construccion esfactible gracias a la tecnologıa VLSI que nos proporciona alto poder de computo ybajo costo.

Si el sistema es distribuido, su estructura de hardware es como la de la Fig. 2.8, unconjunto de nodos interconectados por un sistema de comunicaciones en tiempo real.

Cada nodo tiene dos partes logicas muy importantes de funcionamiento: el sistemade comunicaciones y el kernel de la computadora. El kernel de la computadora seencarga de realizar todos los calculos y planes que tenga que hacer el sistema detiempo real y el subsistema de comunicaciones se encarga de mandar informaciona los diferentes nodos, a traves de la interfaz con el sistema de comunicaciones detiempo real.

Como es de esperarse, el sistema de comunicacion es un recurso crıtico de un sistemadistribuido, ya que una mala conexion resulta en perdida de informacion global enel sistema. Por eso, la fiabilidad en la comunicacion deberıa ser de un orden demagnitud mas grande que la fiabilidad de cada nodo individual.

Finalmente, el punto mas importante a tomar en cuenta en la construccion de unsistema distribuido de tiempo real es el de la capacidad de construccion. Cuandose tiene un sistema con varios componentes, cada componente tiene caracterısticaspropias en cuanto a su funcionamiento, como por ejemplo, si tiene o no, tolerancia a

Page 35: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 34

��� ������� ��������� ����� ������ ���������� �����������

!�"#$"&%')(�*�( +

,)-�.�-�/

0)1�2�1�34�56$587

9�:;$:<9

Fig. 2.8: Sistema de tiempo real distribuido.

fallas. Se dice que un sistema tiene capacidad de construccion si al integrarse cadauno de los componentes en el sistema completo, este posee las caracterısticas de suscomponentes. Por ejemplo, si los componentes trabajan en tiempo real, el sistematambien debera ser de tiempo real. Ası, la capacidad de construccion nos garantizaque el sistema funcionara adecuadamente obteniendo sus caracterısticas a partir delas que se implanten el los diferentes subsistemas.

En un sistema distribuido de tiempo real, la integracion es lograda por la interaccionentre los diferentes nodos, por lo que el sistema de comunicaciones juega un papelmuy importante en la capacidad de construccion de una arquitectura distribuida,con respecto a las propiedades temporales.

La complejidad de un sistema relaciona su numero de partes y el numero y tipos deinteraccion entre las partes que deben de ser consideradas en orden para entenderuna funcion particular del sistema. El esfuerzo requerido para entender cualquierfuncion deberıa ser constante e independiente del tamano del sistema.

Una de las razones para escoger una arquitectura distribuida en los sistemas de tiem-po real es que podemos dividirlos en subsistemas. Esto facilita su construccion, yaque como es de esperarse, tales sistemas pueden ser bastante complejos. El resultadoes que se puede encapsular los diferentes subsistemas, se aıaislanslan las fallas quepuedan ocurrir en los nodos y tambien algo que es muy importante, es que se puedetener un control estricto entre las interacciones de los diferentes componentes. Todoello, gracias a las caracterısticas de todo sistema distribuido, ya presentado en laseccion anterior 2.5.

Page 36: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 2. SISTEMAS DE TIEMPO REAL 35

2.9.2 Importancia de las comunicaciones

Un sistema de comunicacion de tiempo real constituye la medula espinal de las apli-caciones distribuidas de control. Uno de los problemas tıpicos, el cual ocurre en siste-mas de control comercial, son las variaciones temporales debido a senales asıncronasdentro de los ciclos de control. Un ejemplo es cuando la comunicacion se realiza sobrecanal, donde las senales hacen un muestreo con una velocidad alta del controladorhacia el nodo controlado. Esto quiere decir que, debido al muestreo y sincronizacionde la senales de entrada y salida, el controlador podrıa tener variacion de retardos, elcual afectarıa el rendimiento el ciclo del sistema de control[Wittenmark et al.(1998)].

Con el fin de soportar la complecion temporal de las actividades distribuidas entemporal, los sistemas de control de tiempo real deben asegurar un lımite de retrasoen la entrega de mensajes. Asumiendo la existencia actividades distribuidas duras,suaves y no de tiempo real, las actividades de comunicacion pueden tambien serconsideradas para tener tiempo real duro [Livani et al.(1999)].

El diseno de un sistema de comunicacion en tiempo real debe explotar las carac-terısticas de predictibilidad de los niveles bajos del sistema con el fin de lograr undesempeno predecible en los altos niveles. Si un medio de comunicacion exhibe undesempeno impredecible, entonces un protocolo de comunicacion de alto nivel le seramuy difıcil que pueda proveer comunicacion de tiempo real predecible a las aplica-ciones.

En esta tesis se aborda un problema relativo a la planificacion de tareas en un sistemade control. Para exponer el sistema de control, fue necesario introducir los conceptosbasicos concernientes a la teorıa de los sistemas de tiempo real. Se ha mencionadocual son las caracterısticas principales de un sistema de tiempo real y con ellas unaclasificacion que se puede adecuar a la lınea de investigacion.

De las caracterısticas inherentes de un sistema de tiempo real, surge la compatibilidadcon otras campos de investigacion (que se han estudiado en forma independiente), yque sirven de apoyo para lograr los objetivos de una aplicacion de tiempo real, como:la confiabilidad, fiabilidad, distribucion de procesos, etc. Dos de las teorıas masimportantes que ayudan a los sistemas de tiempo real son: los sistemas distribuidosy la tolerancia a fallas. A ellas se han dedicado las secciones 2.5 y 2.6 respectivamente.

La teorıa contenida en este capıtulo, es importante, porque situa el estado del artede la teorıa y sirve como base, para establecer los lineamientos que se han hecho enla construccion de la aplicacion ası como para hacer la evaluacion de la misma.

Page 37: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Capıtulo 3

Planificadores

3.1 Introduccion

La planificacion ha sido estudiada en la literatura cientıfica desde los anos cincuenta,y ha sido definida como: la asignacion de recursos sobre el tiempo para realizar unconjunto de tareas [Kerr y Slany(1994)]. La planificacion concierne la asignacion derecursos y tiempo a las tareas de tal forma que los requerimientos de rendimiento seanobtenidos. La planificacion es el topico mas estudiado por los sistemas de tiemporeal. Esto es debido a la creencia de que el problema basico de los sistemas de tiemporeal es asegurar que se cumplan los requerimientos temporales.

La gran complejidad en los sistemas de tiempo real, hace imposible una solucionmonolıtica (donde una sola tarea es la que se encarga de dar servicio a todo elsistema). Por lo que los sistemas estan generalmente compuestos de un conjuntode tareas que se ejecutan concurrentemente y donde cada tarea tiene sus propiasrestricciones temporales.

Tal descomposicion propone diferentes escenarios a resolver, como por ejemplo elproblema de contencion. Este problema que se alcanza en el contexto de los sistemasde tiempo real es el efecto del bloqueo causado por la necesidad de sincronizacionde los trabajos que comparten recursos fısicos y logicos, esto es, una tarea de menorprioridad puede bloquear la ejecucion a una o varias tareas de mayor prioridad ha-ciendo que alguno de los plazos lımites se pierdan [Sha et al.(1990)]. Para tal efectose ha propuesto el llamado protocolo de herencia de prioridades basicas y el protocolode prioridades tope [Sha et al.(1990)].

Para plantear a la planificacion, se han hecho dos grandes aproximaciones. Unaes a traves de metodos matematicos clasicos y la otra utilizando tecnicas como lainteligencia artificial, redes neuronales [Cardeira et al.(1997)] o algoritmos geneticos[Monnier et al.(1998)].

• Los metodos analıticos matematicos desarrollados en el contexto de la investi-gacion de operaciones son caracterizados por ofrecer soluciones optimas. Estos

36

Page 38: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 37

metodos tienen sus limitaciones, particularmente en el campo del modelado deaplicaciones reales aunque existen algunos casos de exito.

• Los metodos basados en conocimiento, tratan de representar todas las res-tricciones de un problema de planificacion explıcito, aun si alguna de ellas seconoce vagamente. La principal desventaja es que el conocimiento base es se-parado del motor inferencia y el conocimiento puede ser manipulado de formaarbitraria. Varias tecnicas de inteligencia artificial han sido desarrolladas paramanejar las distintas representaciones.

Ambos acercamientos han sido interpretados como antagonistas, y hay diferenciasfundamentales de naturaleza. Sin embargo los puntos de vista, generalmente soncomplementarios el uno del otro y las tecnicas de un campo pueden generar nuevasideas en el otro.

La planificacion es un problema tanto en la teorıa como en la practica. Los problemasde planificacion teorica, que conciernen a la busqueda de una planificacion optimasujeta a un numero limitado de restricciones, tienen una gran complejidad aleatoria.Mok ha demostrado que el problema de decidir si un conjunto de tareas es planificablecuando los periodos usan semaforos para forzar la mutua exclusion es np-completo[Mok(1983)]. La distribucion de procesos en un procesador de una computadora esun claro ejemplo de ello.

El problema general de planificar n tareas en m maquinas tiene un numero infinitode soluciones factibles ya que los tiempos de ocio entre las operaciones pueden va-riar. Se han propuesto muchas soluciones desde las derivadas de la investigacion enoperaciones hasta el uso de la planificacion borrosa (fuzzy), que puede proveer unamejor representacion, aplicacion, propagacion y relajacion de restricciones imprecisasy le permiten la evaluacion de planes con respecto a objetivos definidos vagamente[Kerr y Slany(1994)]. Ası la planificacion borrosa puede ser vista como una claseborrosa de optimizacion donde la optimizacion se refiere a la busqueda de la mejorsolucion que puede encontrarse usando todos los recursos disponibles tales como:computadoras, tiempo disponible, y algoritmos disponibles. La tarea es buscar cuales el maximo grado de satisfaccion de los objetivos especıficos y restricciones, ambossujetos a imprecision [Sousa et al.(2001)].

Aunque existen muchos metodos para hacer planificacion, para la elaboracion de estatesis se utiliza el metodo clasico del planificador por planes que se ve en la seccion4.1.1 y se proponen trabajos posteriores utilizando la teorıa de logica borrosa o redesneuronales en la seccion ??.

En este capıtulo se dara la clasificacion de los algoritmos de planificacion, tema ne-cesario debido a la gran variedad de parametros que pueden tomarse en cuenta y quemuestran en forma general en donde pueden ser aplicados los distintos planificadoresde acuerdo a sus caracterısticas particulares.

En segundo termino se introducira la notacion necesaria utilizada ampliamente en laliteratura. Tambien se presentaran los planificadores estatico, dinamico bajo una red

Page 39: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 38

fieldbus y el planificador monotonico que son basicos en la teorıa de la planificacion.

Finalmente se daran las metricas que se utilizan para medir su rendimiento bajodiferentes perspectivas.

3.2 Clasificacion de planificadores

La descomposicion en tareas trae como consecuencia que las distintas tareas tienenque ser planificadas [Ripoll Ripoll(1996)].

Muchas veces los parametros de algunas tareas se conocen a priori y generalmenteson tareas que se repiten en un plazo fijo (y si no es ası muchas veces se les puedeasignar uno), tales tareas son las llamadas tareas periodicas y son en general lasencargadas de la parte principal del sistema. Se dice que una tarea es crıtica si elretraso en la obtencion del resultado puede producir una situacion de peligro. Enla teorıa de los sistemas de tiempo real se supone que todas las tareas crıticas sonperiodicas [Kopetz(1997)].

Los sistemas de tiempo real crıticos son aquellos con al menos una tarea crıtica. Laforma en la que se planifican las tareas debe garantizar la correcta ejecucion de todaslas tareas crıticas durante todo el tiempo de ejecucion del sistema. El problema degarantizar la ejecucion de todas las tareas crıticas hace necesario un analisis a prioripara saber si el sistema funcionara adecuadamente. Este tipo de analisis se llamacomprobacion o prueba de planificabilidad (test). La comprobacion de planificabilidades una condicion suficiente para que las tareas crıticas puedan cumplir con sus plazos.Tambien es deseable que ese criterio sea una condicion necesaria para la adecuadaplanificacion de las tareas.

Existen ademas de las tareas periodicas, ciertas tareas que tienen un comportamientoaperiodico, estas se llaman ası puesto que no se conoce cuando se puedan ejecutar,ejemplo de ello son las ordenes de un operador. Este tipo de tareas no pueden sercrıticas ya que no se puede hacer un plan a priori debido a la falta de informacion.Aun cuando las tareas aperiodicas no deben cumplir necesariamente con plazos deejecucion, es deseable que el planificador los ejecute lo antes posible.

Existen tres enfoques generales a la planificacion de tiempo real. Ellos son: maneja-dos por reloj, ronda-robin pesada y manejado por prioridades [Liu(2000)].

3.2.1 Planificadores manejados por reloj

Como su nombre lo indica, cuando el planificador es manejado por reloj (tambienllamado manejado por tiempo), las decisiones son hechas en instantes de tiempoespecıficos. Estos instantes son manejados a priori antes de que el sistema comiencesu ejecucion. Tıpicamente, en un sistema que usa un planificador manejado por reloj,todos los parametros de los trabajos de tiempo real son fijos y conocidos. El plangeneral que indica en que momento una tarea especıfica se debe realizar se construye

Page 40: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 39

de forma ad hoc de acuerdo al problema a resolver, esto es, no hay una metodologıaclara de como realizar el plan. El planificador de trabajos calculado fuera de lınea yes almacenado para su uso en el tiempo de corrida.

El planificador ordena los trabajos de acuerdo a su plan a cada tiempo de planifica-cion, de tal forma que, la sobrecarga de planificacion en tiempo de corrida puede serminimizada.

3.2.2 Enfoque de ronda-robin pesado

El enfoque de ronda pesado es comunmente usado para planificar aplicaciones detiempo compartido. Cuando los trabajos son planificados con base al planificador deronda, cada trabajo junta una cola de operaciones en donde la primera en entrar esla primera en salir (fifo). La operacion en la cabeza de la cola se ejecuta al menos enuna rebanada de tiempo. (una rebanada de tiempo es el granulo basico de tiempo quees determinado para que se ejecuten los trabajos). Si el trabajo no es completadoal final de la rebanada de tiempo, este es interrumpido y colocado al final de lacola para esperar su siguiente turno. Cuando hay n trabajos listos en la cola, cadatrabajo consigue una rebanada de tiempo cada n rebanadas de tiempo, esto es, cadaronda (ver la Fig.). 3.1. Ya que la longitud de la rebanada es relativamente corto,la ejecucion de cada trabajo comienza casi inmediatamente despues de que este estalisto. En esencia, cada trabajo consigue 1/n-esima parte del procesador cuando hayn trabajos listos para su ejecucion, de esta forma el algoritmo de ronda es tambienllamado algoritmo de particion del procesador.

��� ������

� �� ���� ��� � � ������� ���

� �� �!#"%$ & ' ( ) *

+ , -/.�-�0 132

4�4�4

Fig. 3.1: Planificador de ronda.

El algoritmo de ronda-robin pesado ha sido usado para la planificacion del traficoen tiempo real en redes de alta velocidad de cambio [Liu(2000)]. Esta construidoen el esquema del planificador de ronda. En vez de dar a todos los trabajos igualtiempo de particion del procesador, los diferentes trabajos pueden tener diferentes

Page 41: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 40

pesos. Un trabajo con peso wt obtiene wt rebanadas de tiempo cada ronda, por loque la longitud de la ronda es igual a la suma de los pesos de todos los trabajoslistos a ejecutarse. Ajustando los pesos de los trabajos, se puede acelerar o retardarel proceso de cada trabajo que esta siendo realizado.

3.2.3 Enfoque manejado por prioridades

El termino de algoritmos manejados por prioridades se refiere a una gran clase dealgoritmos que nunca dejan un recurso desocupado intencionalmente [Liu(2000)].Establecido de otra forma, los recursos son desocupados solo cuando ningun trabajolos requiere. Las decisiones de planificacion son hechas cuando surgen eventos comola terminacion de trabajos. Un algoritmo manejado por prioridades es ”codicioso” yaque este trata de hacer localmente decisiones optimas. Dejar un recurso desocupadomientras que algun trabajo esta listo para utilizar el recurso no es optimo localmente.Ası cuando un procesador o recurso esta disponible este se toma en cuenta, de talforma que el algoritmo de planificacion nunca hace al trabajo esperar. Sin embargo,en algunas ocasiones es mejor tener algunos trabajos esperando aun cuando ellosesten listos para ejecutarse y los recursos requeridos esten disponibles.

El termino planificacion por lista es tambien descriptivo ya que cualquier algorit-mo manejado por prioridades puede ser implementado asignando prioridades a lostrabajos. Los trabajos listos para su ejecucion son colocados en una o mas colasordenadas por prioridades de los trabajos. En cualquier tiempo de decision del pla-nificador, los trabajos con mayores prioridades son planificados y ejecutados en losprocesadores disponibles. Ası, un algoritmo de planificacion manejado por priorida-des es definido por la lista de las prioridades que este asigna a los trabajos; la lista deprioridades y otras reglas que especifican la polıtica de asignacion, como por ejemplocuando un trabajo se puede interrumpir o no, definen el algoritmo de planificacioncompletamente [Liu(2000)].

En esta ultima categorıa es posible dar una clasificacion mas detallada. Es de mencio-narse que la planificacion ha sido y sigue siendo una area muy fertil. Existe un grannumero de trabajos relacionados con la planificacion tanto por las comunidades deinvestigacion en operaciones como en ciencias de la computacion y por consecuenciaes imposible dar una guıa extensiva de la teorıa.

Son varias las polıticas de planificacion que pueden emplearse al ordenar las tareas otrabajos como tambien se conocen [Stankovic et al.(1995)]. Sin embargo existen dosparadigmas bajo los cuales se agrupa a la planificacion: planificacion suave y dura[Kopetz(1997)]. Estas a su vez tienen varias ramificaciones (Fig. 3.2).

La teorıa de los sistemas de tiempo real se interesa solo por los algoritmos de plani-ficacion duros por lo que solo se abarcara esa rama.

Planificacion estatica contra planificacion dinamica.

• Un planificador es llamado dinamico (o en lınea) si este hace decisiones de

Page 42: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 41

��� ����� �� ��� � ���� � ����� �� �������������������� ����� �! "�����

#"$�%'& ( )+*�,�-

.�/1032�04 5�6

7 8�93:�;;=<�>@?�A B�C : D E�F3G�HH=I�J@K�L M�N GO"PRQ S T3U�V=V=W�X@Y�Z [�\ U ]"^R_ ` a3b�c=c=d�e@f�g h�i b

j+k l'm�n�k o�p

Fig. 3.2: Clasificacion de los planificadores de tiempo real.

planificacion en tiempo de corrida, seleccionando una de las tareas listas aejecutarse. Los planificadores dinamicos son flexibles y faciles de adaptarse alos escenarios aunque requieren de un gran proceso de computo, el planificadordinamico se vera con mayor detalle en la seccion 3.4.2.

• Un planificador se llama estatico si este hace las decisiones de planificacion entiempo de compilacion. Este genera una tabla o plan que se construye fuerade lınea y que posteriormente en tiempo de ejecucion se debe despachar enlos diferentes nodos. Para ello es necesario que se tenga toda la informacionantes de ejecutarse el plan, es decir las caracterısticas de las tareas como son:tiempos maximos de ejecucion, restricciones de precedencia, plazos lımite, etc,puesto que se calcula el plan fuera de lınea en general el tiempo de ejecuciones pequeno.

Planificacion interrumpible contra la no interrumpible.

• En la planificacion interrumpible, la tarea actual en ejecucion puede ser inte-rrumpida, para ceder el lugar a otra tarea con mayor prioridad.

• En la planificacion no interrumpible, la tarea actual no puede ser interrumpidahasta que esta decida dejar los recursos, lo anterior normalmente sucede hastaque esa tarea completa su trabajo.

La clasificacion arriba mencionada se muestra en la Fig. 3.2.

Page 43: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 42

3.3 Teorıa de planificadores

A continuacion se presenta la teorıa y notacion formal de los planificadores. Lanotacion es basica para la comprension de las siguientes secciones y se encuentraesencialmente en [Conway et al.(1967)].

El problema de ordenar una serie de tareas o trabajos en una forma simultanea ysincronizada utilizando varias maquinas es llamado problema de secuencia o planifi-cacion.

Se puede hacer una distincion entre secuenciacion y planificacion: la secuenciacionpuede ser asociada con el orden de las tareas en una sola maquina, en cambio la pla-nificacion es la secuencia sincronizada simultanea en varias maquinas. Comunmenteno se hace tal distincion y ambos terminos se entenderan por planificacion.

En los problemas de secuencia existentes no existe una solucion general, ya que cadaproblema tiene caracterısticas particulares. Sin embargo se tratan de resolver losproblemas en forma general y despues se aplican de acuerdo a los parametros decada tarea.

Para que un proceso se pueda realizar, se requiere un conjunto de trabajos o tareas.La unidad basica de un trabajo es una operacion. Uno puede ver una operacioncomo una tarea elemental que tiene que ser realizada. Las operaciones tienen tresatributos principales:

1. Un sımbolo identificando la operacion de un trabajo particular.

2. Un sımbolo identificando la operacion dentro de una maquina en particular.

3. Un numero real representando el tiempo de proceso de una operacion.

El conjunto de operaciones puede, ser dividido en subconjuntos de acuerdo al primersımbolo en: disjuntos, exhaustivos y mutuamente exclusivos llamados trabajos. Si-milarmente, el conjunto puede ser dividido por el segundo sımbolo en: subconjuntosexhaustivos y mutuamente exclusivos asociados a las maquinas.

Hay tambien un orden parcial entre las operaciones que se tienen que realizar. Esteorden parcial entre operaciones es dado por una relacion binaria llamada precedencia.Si x y y son dos operaciones del mismo trabajo y si por alguna razon el proceso dex debera comenzar antes que el proceso y, entonces se dice que x precede a y y esescrito como

x � y (3.1)

Un caso especial en esta relacion existe cuando no hay operaciones intermedias. Sedice entonces que la operacion x precede directamente a y y se escribe

Page 44: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 43

x �� y si x � y (3.2)

Una maquina en el proceso, es intuitivamente un dispositivo o facilidad capaz derealizar cualquier cosa que se tenga que hacer, sin embargo de manera abstracta unamaquina es solamente una escala de tiempo con ciertos intervalos disponibles.

Planificar un proceso de trabajos es la tarea de asignar a cada operacion una posicionespecıfica en la escala de tiempo de una maquina especıfica.

El problema de planificar tiene que ver con:

1. Los trabajos y las operaciones a ser procesadas.

2. El numero y tipos de las maquinas que se utilizaran en el trabajo.

3. Las polıticas que restringen la manera en que las asignaciones pueden ser he-chas.

4. El criterio por el cual un plan debera ser evaluado.

Los problemas de planificacion difieren en el numero de trabajos que son procesados,la manera en que los trabajos llegan al proceso y el orden en el cual las diferentesmaquinas aparecen en las operaciones de los trabajos individuales.

Ası por ejemplo la naturaleza de la forma de arribo divide a los problemas en estaticosy dinamicos. En el problema estatico todos los trabajos arriban al mismo tiempo paraser procesados, el planificador puede ser enfocado a resolver el problema con todoslos parametros conocidos, por otra parte en el problema dinamico los trabajos arribanintermitentemente en el futuro.

3.3.1 Variables de planificacion

En la planificacion hay una distincion entre las variables que definen el problema,las cuales son consecuencia solamente de la secuenciacion y las variables que sonproducidas por el proceso de planificacion [Conway et al.(1967)]. Se ha adoptado quelas variables inherentes a la secuenciacion se escriben en minusculas y las producidasse denotan en mayusculas1.

3.3.1.1 Variables que definen el problema de secuenciacion

El problema comienza con un taller (workshop) y un conjunto de tareas (en lo queresta de la tesis se asume que la palabra taller es el conjunto de maquinas, junto con

1La notacion que se menciona en esta seccion es la de los planificadores en general y esta deberaser adaptada cuando se utilicen aplicaciones de tiempo real.

Page 45: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 44

el espacio fısico necesario para realizar cierto proceso). Un taller esta completamentedescrito si se da el numero de maquinas y tipo de que esta compuesto. Los trabajosson identificados por numeros naturales de 1, 2 . . . , n. Los atributos relevantes deun trabajo i que son dados como parte del problema son:

ri Es el tiempo de arribo (arrival-time), tiempo listo (ready time) o tiempo inicial(release-time). Este es el tiempo en el cual el trabajo esta disponible para su ejecucion.

di Es el llamado plazo de entrega (due-date), que es el tiempo en el cual un agenteexterno quisiera que el trabajo se haya realizado y dejara el taller.

ai El tiempo de estancia (allowance) es tiempo que un trabajo permanece en el taller.Este tiempo es la diferencia entre el plazo de entrega y el tiempo de arribo.

ai = di − ri (3.3)

En todos los problemas teoricos de planificacion no importa cual de las dos variablessean originales y cual derivada (ya que con la ecuacion anterior se puede calcular lavariable restante).

Un trabajo consiste de un conjunto de operaciones gj. Estas son descritas por paresde valores:

g1 = mi,1, ci,1g2 = mi,2, ci,2

...gj = mi,gj , ci,gj

(3.4)

En donde el subındice i corresponde al trabajo i, mi,j es el numero que identificaa la maquina que es requerida para realizar j-esima operacion y c i,j es el tiempode proceso requerido por la maquina mi,j para realizar la operacion j. El tiempo deproceso ya incluye el tiempo de inicializacion y el tiempo de finalizacion necesariopara realizar el trabajo.

El tiempo total de procesamiento para el trabajo i es una variable ci independientedel planificador y se define como:

Ci =

gj∑k=1

ci,k (3.5)

3.3.1.2 Variables que describen la solucion del problema de planificacion.

La planificacion debe determinar cuando y en que maquina cada trabajo debe serrealizado o para ser mas especıfico cuando y en que maquina cada operacion de cadatrabajo debe ser hecha.

Page 46: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 45

Como se ha visto, para determinar completamente el problema de planificacion esnecesario especificar para cada operacion dos variables de entre: el tiempo de arribo,el plazo de entrega o el tiempo permitido. Equivalentemente, se puede tomar encuenta la variable Wi,j que es el tiempo de espera antes de la operacion j-esima paraque el trabajo i vaya a comenzar, (Fig. 3.3). Otras variables pueden ser introducidas,pero todas ellas son funciones de Wi,j.

��� ���

��� � �

�� ������������������ ����� ���������������������������� !���"��#!���$��%�� �������������'&"��#�(�#� )�*===

+-, . / 0$1 2 3 465 7 8 9$: ; < =>

?�@ ACB!DE@ FHG�I JLK@ ACM�K�N�A�NJ�I K�G�?�DOLPQR =

==

Fig. 3.3: Variables de los planificadores.

Las medidas mas importantes que se pueden derivar de Wi,j estan relacionadas con:

1. El tiempo en el cual los trabajos particulares dejan el taller.

Para ello se define Di el tiempo de terminacion (completion-time) del trabajoi, que es el tiempo en el cual la ultima operacion de un trabajo es completada.

Di = ri +Wi,1 + ci,1 +Wi,2 + ci,1 + . . .+Wi,gj + ci,gj

= ri +gj∑k=1

ci,k +gj∑k=1

Wi,k = ri + ci +Wi(3.6)

2. El tiempo que los trabajos permanecen en el taller.

Fi se define como el tiempo de proceso (flow time) o intervalo de manufactura(manufacturing interval) del proceso i. El tiempo total que el trabajo gasta enel taller es:

Fi = Wi,1 + ci,1 +Wi,2 + ci,2 + . . .+Wi,gj + pi,gj

=gi∑k=1

ci,k +gi∑k=1

Wi,k = ci +Wi = Di − ri(3.7)

Page 47: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 46

3. La diferencia entre los tiempos cuando los trabajos dejan el taller y cuando lostrabajos se supone deben de abandonar el taller.

Se define la tardanza (lateness) Li del trabajo i como:

Li = Di − di = Fi − ai (3.8)

Tambien se define la demora (tardiness) del trabajo i como:

Ti = max(0, Li) (3.9)

Y la premura Ei (earliness) del trabajo i.

Ei = max(0,−Li) (3.10)

La variacion que pueda tener un proceso entre el maximo y el mınimo de latardanza se llama laxedad (laxity).

Las anteriores variables pueden ser vistas graficamente en la Fig. 3.3

3.4 Planificadores para fieldbuses

El trabajo de la presente tesis propone una solucion en la dinamica de un sistemade control utilizando el planificador por planes propuesto por [Almeida et al.(1999)]en una red fieldbus. Por lo que en esta seccion se daran los conceptos basicos defieldbus y se introduciran los planificadores estatico y dinamico en tal configuracion.Posteriormente en la seccion 4.1.1 se especifica el planificador por planes ası como sucomprobacion de planificabilidad desde el punto de vista del diseno de la aplicacion.

Las comunicaciones industriales han adquirido una gran relevancia en los ultimosanos ya que la automatizacion en los procesos industriales se basa en sistemas distri-buidos de control [Arzen et al.(1999)]. Ası en muchos sistemas de control es necesarioque se aplique la teorıa de tiempo real debido a las restricciones temporales.

La automatizacion en todos los procesos lleva al problema de agregar mucho equipohaciendo que los sistemas sean complejos. La solucion a tal problema es una soluciondistribuida con una red de interconexion capaz de conectar a tales equipos con ciertagarantıa. Dado que se utilizan una gran cantidad de componentes a esas redes se hautilizado una conexion serial debido principalmente al bajo costo de cableado y facilmantenimiento [Fonseca y Almeida(1999)].

Page 48: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 47

Las redes mencionadas fueron conocidas como fieldbuses; sin embargo el concepto defieldbuses se ha desarrollado y se considera ahora como un sistema de comunicacio-nes que es capaz de dar servicios de cierta calidad, permitiendo su uso en diferentesniveles de una arquitectura de manufacturacion integrada por computadora (com-puter integrated manufacturing, CIM). Como se menciona en la seccion 2.9.2, la redde comunicaciones en un sistema de tiempo real distribuido es de vital importancia,por lo que los fieldbuses juegan un papel muy importante.

La comunicacion en los fieldbuses debe liberar datos donde queden bien delimitadaslas restricciones temporales y usar protocolos para manejar tales restricciones. Losprotocolos de red que usan un plan de arbitracion de acceso determinıstico de tiemporeal, determinan a priori cuando los datos pueden cumplir las restricciones tempo-rales. Una solucion se logra al utilizar el modelo consumidor-distribuidor-productordel Protocolo de Instrumentacion de Facturacion (Factory Instrumentation Protocol,FIP) sobre un fieldbus.

La historia de los fieldbuses ha sido compleja aunque se ha llegado a algunos estan-dares como el CAN bus. El controlador de red de area (Controller Area Network,CAN) [Fonseca y Almeida(1999)] es un estandar de comunicaciones que fue original-mente desarrollado para aplicaciones de control automotriz distribuido, sin embargosu uso se ha generalizado a otras areas como los sistemas industriales.

Como la definicion original de CAN incluye solo la capa fısica y la capa de liga dedatos, varias soluciones han aparecido definiendo la capa de aplicacion. El bus CANpuede usarse para dos propositos: operacional o rendimiento en tiempo real.

En la especificacion original se define el Protocolo de Instrumentacion de Facturacion(FIP) que se adecua bastante bien a las aplicaciones en tiempo real ya que efectiva-mente garantiza las propiedades de los plazos lımites en las aplicaciones distribuidasbasadas en el. Sin embargo se tiene que pagar el precio de una menor flexibilidad enlos cambios que puedan ocurrir en el sistema, ası pues es necesario introducir meto-dos de planificacion de la distribucion de tareas que permitan flexibilidad y facilidadde uso al introducir nuevos modulos o para cambiar el trafico en el sistema en uso.

Son varias las polıticas de planificacion que pueden emplearse al ordenar los diferentestrabajos o tareas como ya se ha visto en la seccion 3.2. Por ejemplo una posible formade clasificacion es de acuerdo a la forma en el arribo de la informacion al planificador,etc.

En los fieldbuses CAN se han desarrollado los planificadores estaticos, dinamicos ycombinaciones de ellos como por ejemplo en [Zuberi y Shin(1995)]. Como propuestaalterna al FIP, Almeida [Almeida et al.(1999)] ha propuesto el planificador por pla-nes con ciertas ventajas en comparacion a los planificadores tradicionales estaticosy dinamicos. Para observar las diferencias, a continuacion se describen a detallelos planificadores estaticos y dinamicos en un fieldbus. En especial al planificadormonotonico.

Page 49: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 48

3.4.1 Planificador estatico

El metodo mas simple de planificacion es el estatico, un conjunto de tareas sonordenadas en un ciclo y el ciclo se repite una y otra vez. Los planificadores estaticos,son adecuados en situaciones donde un conjunto de mensajes sıncronos son bienconocidos a priori y se espera que sus propiedades no cambien con el tiempo deoperacion. Los planificadores estaticos fueron los primeros planificadores que seestudiaron y actualmente se siguen proponiendo nuevas soluciones estaticas como en[Rehbinder(2000)].

Debido a consideraciones de sobrecarga el tipo de planificador que se usa frecuente-mente es el estatico. El plan que se va a distribuir se construye fuera de lınea, secarga en la memoria del arbitrador central y finalmente se distribuye a los diferentesnodos.

En los fieldbuses FIP todas las transacciones son inicializadas por un arbitro central(bus arbitrator BA), que es un proceso que se encarga de distribuir un plan hechopor un planificador.

En el planificador estatico el conjunto de trabajos tiene que conocerse a priori. Ca-da trabajo tiene un conjunto de operaciones que tienen asociadas un periodo y untiempo de ejecucion que determinan completamente el problema de planificacion. Elconjunto de valores de todas las variables tiene que ser revisado y transferido.

Basado en los periodos y duraciones de cada tarea, los planificadores estaticos realizanun plan (o tabla) cıclico estatico fuera de lınea que describe el orden en el que se vana realizar las diferentes tareas. Las variables que manejan son periodicas aunque sepueden hacer modificaciones para manejar las aperiodicas.

El plan es cargado en la memoria del BA antes que el sistema entre en operacion.Cuando el sistema comienza, el despachador lee el plan propuesto y lo distribuye alos nodos correspondientes, (Fig. 3.4). El plan tiene una longitud finita ya que todaslas variables son periodicas por consecuencia todo el patron de comunicacion debeser periodico.

El plan estatico producido fuera de lınea describe exactamente uno de estos periodosllamado macro ciclo (MC), el tamano del MC es el mınimo comun multiplo de losperiodos de todas las tareas. Este planificador tambien utiliza una resolucion finitatemporal para el periodo de las tareas utilizadas. El tiempo mınimo fijo permitidopara los periodos de las tareas es llamado ciclo elemental (CE) definido fuera delınea, ası el MC tiene un numero entero de CE’s. Cada CE contiene rebanadas detiempo del canal, las cuales pueden ser usadas para las diferentes transacciones.

Ventajas de un plan estatico.

• Determinismo completo. El planificador produce un plan basado en todas lasvariables utilizadas que describe todo el comportamiento futuro en el fieldbus.Siempre que sea posible construir tal plan todas las tareas cumpliran con susplazos lımites.

Page 50: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 49

��������������� ������ ��� ������ ��������

������� �"!�#�� �%$�&�')( �+*+��!,( $��-!,( &���$��.0/ � � � � � � � � �1� � �� � �2� � �3� � � � � � � � �1� � �465 � ��� � � � � � �1� � �

798 :<;= >?= @A:BC<D

EGF�HJI+KMLJN+K�O�PRQ

SUTWV+XRY,Z\[MX^] _ `+XMZMabdcRe�f g�e+c�hMi

j�k�lJm+nMoJp+nrqsn�tWu nRv�w k�l

x�yRz+yR{d|}�~ |Rz

������� �����"��� ����������� � ����� ���������"� � ����� ���

��� �R��� ��� ���M�� R¡¢�£%¤U¥A¤ � �% 

Fig. 3.4: Planificador estatico.

• Baja sobrecarga en el tiempo de corrida. La produccion del plan estatico esgeneralmente intensivo sin embargo este tiene que producirse una vez y fuerade lınea. Por lo que una vez realizado lo unico que se tiene que hacer esdistribuirlo.

Desventajas del planificador estatico.

• Inflexibilidad en la operacion. La principal desventaja del planificador estaticoes la falta de flexibilidad si ocurren cambios en la configuracion. Si hay alguncambio, se tiene que parar el sistema, calcular el nuevo plan para reinicializarel proceso, despues cargarlo en memoria y distribuirlo a la nueva configuracionpara de nuevo. Esto en algunas plantas pude resultar muy costoso o inadmisi-ble.

• Plan potencialmente grande. Debido a que se utilizan en general una grancantidad de dispositivos a un fieldbus, el tamano del macrociclo (mınimo comunmultiplo) del sistema tiende a ser muy grande, por lo que el plan puede sermuy pesado para cargarse en memoria.

3.4.2 Planificador dinamico

Una solucion al problema de planificacion en los fieldbuses FIP se logra al usar elplanificador estatico, sin embargo este tiene la desventaja de inflexibilidad cuandosurge algun cambio en la configuracion. El problema se puede resolver al utilizarun planificador dinamico [Almeida et al.(1999)]. La capacidad de reaccionar a loscambios dinamicos es cada vez mas importante debido a la gran flexibilidad quese demanda a las empresas de manufactura, en parte a la exigencia de tiempos depreparacion cortos, mantenimiento y al aumento y/o disminucion de equipo.

Page 51: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 50

El funcionamiento del planificador dinamico a diferencia del planificador estaticose basa en determinar solo la siguiente tarea que se debe despachar, revisando elconjunto completo de variables con cierto criterio, lo cual se realiza periodicamentey/o cuando se realiza cualquier transaccion, (Fig. 3.5) para ver el funcionamientoesquematico del planificador dinamico.

������� ����� �

��� ���� ����������� ����� ���

���! �"$#&%�'�"$#)(!*�+-, . /%0, (! 1%0, *�"/(! 243 # # # # # # # # #5# # ## # #6# # #7# # # # # # # # #5# # #8:9 # #�# # # # # # #5# # #

;=< >@?BA CDA E�>BFBG@HI

FBJLKLMN>BE�ON>BFBGPHQSRUTWV RPXZY&[\V RP]W^W_`Xba c dSXbc eU[B]W^BfSR&a c RUTWV ^W_

gih j�k�l mnl o!j p�q�rp�l ks�t�l o!q

Fig. 3.5: Planificador dinamico.

Ventajas del planificador dinamico

• La ventaja derivada de los planificadores dinamicos es que en dos sucesivasinvocaciones cualquier cambio que surja en la configuracion puede ser tomadoen cuenta y modificar el plan. De esta forma los planificadores dinamicos sonmuy flexibles ya que manejan los mensajes asıncronos y permiten que hayacambios en la configuracion del sistema.

Desventajas del planificador dinamico

• Por otra parte la gran desventaja de esta polıtica es la sobrecarga en tiempode ejecucion y en consecuencia puede haber incapacidad de predecir si un planpuede ser realizado con sus restricciones temporales. La no garantıa de plazoslımites hace necesario que el planificador cuente con un analizador de plani-ficabilidad en lınea o fuera de lınea, el cual debe ser invocado cada vez quehaya un cambio en el conjunto de variables. Solo el uso del analizador puedeasegurar la operacion temporal adecuadamente.

3.5 Planificador monotonico

Un algoritmo de planificacion es un conjunto de reglas que determinan que tarea debeser ejecutada en un momento particular. Para un conjunto de tareas, un algoritmo

Page 52: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 51

de planificacion es planificable si ninguna de las tareas a ordenar pierden sus plazoslımites.

El planificador monotonico es un planificador interrumpible manejado por priorida-des, si hay una peticion de ejecucion de una tarea con mayor prioridad que la que seesta ejecutando entonces la tarea en proceso es interrumpida inmediatamente paraejecutar la tarea con mas prioridad.

Se ha visto que el planificador monotonico es de gran utilidad ya que:

1. La prueba para saber si un conjunto de tareas es planificable es muy rapida ysirve como base a algunos otros algoritmos de planificacion como el algoritmoservidor esporadico o el algoritmo extendido de intercambio de prioridades.

2. Es modificado para manejar los requerimientos de sincronizacion usando elprotocolo de prioridades tope.

3. Se usa para planificar tareas donde sea permitida poca precision y

4. Puede implementarse muy facilmente en procesadores y/o controladores deentrada salida y medios de comunicacion [Lehoczky et al.(1989)].

Los primeros trabajos se basaban en analisis estadısticos en diferentes sistemas co-merciales o algunos algoritmos con suposiciones irreales que no atacaban el problemade la planificacion en tiempo real [Liu y Layland(1973)]. Liu resuelve un problema deplanificacion en tiempo real y propone una comprobacion de planificabilidad bastanteeficiente.

De acuerdo al artıculo original de [Liu y Layland(1973)] las suposiciones que se debenmantener para que funcione el planificador de tipo monotonico en un solo procesadorde Liu son las siguientes:

1. Las llamadas de todas las tareas que tienen plazos lımites duros son periodicas,con intervalos constantes entre llamadas.

2. Cada tarea debe ser completada antes que la siguiente peticion sea hecha. Lak-esima tarea llamada la tarea τi se realizara en el tiempo (k − 1)Ti y debeconcluir antes del tiempo kTi (con esto se eliminan los problemas de esperaentre tareas).

3. Las tareas son independientes, la realizacion de alguna de ellas no depende delinicio o conclusion de alguna otra tarea.

4. El tiempo de corrida de las tareas se supone constante y no varia con el tiempo.El tiempo de corrida o tiempo de proceso se refiere al tiempo empleado por elprocesador para ejecutar una de las tareas sin interrupcion. En el tiempo deproceso se toma en cuenta el tiempo requerido en inicializacion o por interrup-cion que pueda haber en el proceso, por lo que se considera el maximo tiemporequerido.

Page 53: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 52

5. Cualquier tarea no periodica se considera como especial y se supone que nocontienen plazos lımite crıticos.

6. Todas las tareas deben comenzar al mismo tiempo.

Las suposiciones anteriores permiten caracterizar a cada tarea τi con dos parametros:su periodo Pi y su tiempo de proceso Ci con 0 < Ci < Ti.

Se define como factor de utilizacion (en el procesador) la fraccion del procesadorque se invierte en la ejecucion de un conjunto de tareas, ya que Ci/Ti es la fracciondel procesador que se utiliza en la tarea τi, tenemos que para m tareas el factor deutilizacion es:

U =m∑i=1

(Ci/Ti) (3.11)

Aunque la utilizacion del proceso puede mejorarse al incrementar los valores de cio haciendo un decremento en los valores de Ti, los parametros de las tareas estanrestringidos a que cada tarea debe cumplir sus plazos lımites.

Un conjunto de tareas se dice que utiliza completamente el procesador, si la asignacionde prioridades hace planificable el conjunto y si un incremento en el aumento en eltiempo de proceso de alguna de las tareas hace que el conjunto no sea planificable.

Para este algoritmo de planificacion de prioridades fijas, el mınimo lımite superiordel factor de utilizacion, es el mınimo factor de utilizacion sobre un conjunto detareas que completamente utilizan el procesador.

Para un conjunto de tareas con orden de prioridad fija, el mınimo lımite superior delfactor de utilizacion para el planificador monotonico es U = m(21/m− 1), aproxima-damente 70%, y llega a ser de 83% cuando n→∞.

El planificador monotonico es optimo si se asignan las prioridades de acuerdo alinverso de los periodos de las tareas y el mınimo de utilizacion es U = m(21/m − 1).Es decir que cualquier conjunto de tareas periodicas de cualquier tamano deberacumplir todos sus plazos lımites todo el tiempo si la utilizacion total no es mayor a69.3%.

A pesar de que el planificador propuesto por Liu es basico en la teorıa de la pla-nificacion, ha sido usado extensivamente y sirve como base en muchos trabajos deplanificacion, Devillers [Devillers y Goossens(2000)] muestra que en el artıculo ori-ginal el teorema de planificabilidad para un conjunto de tareas, no es correcto elplanteamiento. Habrıa que agregar que para que el algoritmo de planificabilidad seaoptimo [Devillers y Goossens(2000)] se debe considerar a las condiciones que todaslas tareas deben comenzar al mismo tiempo.

Otro artıculo relacionado con el planificador monotonico es el de Lehoczky[Lehoczky et al.(1989)], donde se analiza con mayor detalle la comprobacion de laplanificacion, ademas de sugerir otro planificador basado en el monotonico.

Page 54: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 53

3.6 Metricas de planificadores

Las metricas que guıan las decisiones de planificacion dependen de las areas de apli-cacion. La necesidad de minimizar la longitud del plan y minimizar los tiempos derespuesta e incrementar la salida son las primeras metricas en un sistema dinamicoque no sea de tiempo real. Sin embargo, en los sistemas de tiempo real estaticos ydinamicos, el principal objetivo es lograr los tiempos propuestos, lo cual introducediferentes metricas para el caso de tiempo real.

La variedad de metricas que han sido sugeridas para los sistemas de tiempo real esun indicativo de las diferentes maneras de ver al tiempo real. Esto hace difıcil decomparar los diferentes algoritmos de planificacion.

Otra dificultad se logra del hecho que existen diferentes tipos de caracterısticas enlas tareas. Las tareas pueden ser asociadas con tiempos de proceso, requerimientosde recursos, prioridades (varias veces llamadas niveles de importancia), relaciones deprecedencia, requerimientos de comunicacion y por supuesto las restricciones tempo-rales. Si una tarea es periodica, su periodo se vuelve importante; si es aperiodica suplazo lımite se vuelve importante. Una tarea periodica por ejemplo puede tener unplazo lımite en el cual esta debe ser completada y este plazo lımite puede o no puedeser igual al periodo, etc.

Si se considera el caso estatico de los planificadores fuera de lınea que cumplan todossus plazos lımite, la maximizacion de la media de la premura se usa comunmente comometodo de seleccion. Si no existe un planificador la medida de la demora puede serescogida. En un sistema de tiempo real dinamico, ya que, en general no puede sergarantizado a priori que todos los plazos lımite sean logrados, la maximizacion delnumero de arribos que cumplen los plazos lımite es muchas veces usado como unametrica.

Dentro de las metricas clasicas podemos decir que dos planes de dos planificadoresdistintos se consideran iguales si y solo si ellos tienen identicos conjunto Wi,j, peroexisten situaciones en las que uno quisiera que dos planes se consideren equivalentesaunque estos estrictamente no lo sean, para ello es necesario tener metricas paramedir esas diferencias. En general al especificar una medida de rendimiento enun planificador se especifica un conjunto de clases donde hacer las mediciones derendimiento. Por ejemplo se puede especificar la media del tiempo de terminacioncomo la medida de rendimiento en un problema particular lo cual significa que:

• Todos los planificadores que tienen tiempo de terminacion D son equivalentes.

• Un planificador con D′ es preferido a otro que tenga D′′ si D′ < D′′.

Un planificador se dice que es optimo con respecto a cierta metrica de rendimientosi este pertenece a una clase equivalente {S ′} tal que no exista otra clase (no vacıa)que sea preferida a {S ′}.En ciertas ocasiones es conveniente evaluar un plan respecto al taller, en vez dehacerlo en los trabajos individuales. Las medidas mas importantes son la facilitacion

Page 55: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 54

de utilizacion (facility utilization) y el inventario de trabajos en proceso (work-in-process inventory).

1. La facilitacion de utilizacion es la fraccion de la capacidad de una maquinadisponible que es empleada en un proceso requerido, esto es la razon entre eltiempo de proceso y el tiempo disponible.

2. Hay dos formas en que se puede evaluar el inventario de trabajos en proceso ysus variantes. Basicamente se puede contar el numero de trabajos en el tallero sumar los tiempos de proceso de esos trabajos.

La siguiente notacion es usada en el inventario de trabajos en proceso.

Se denota N(t) como el numero de trabajos en el taller en el tiempo t, y sedefine la media del numero de trabajos en el taller durante el intervalo de t1 at2 como:

N(t1, t2) =1

t2 − t1

t2∫t1

N(t)dt (3.12)

Finalmente se denota P (t) como la suma de los tiempos de procesos de todaslas operaciones de todos los trabajos en el taller al tiempo t, que tambien sedenota como contenido de trabajo o trabajo total y la media durante el intervalode t1 a t2 se define como:

P (t1, t2) =1

t2 − t1

t2∫t1

P (t)dt (3.13)

Las metricas anteriores deben cambiar en la siguiente generacion de sistemas detiempo real para que sean mas dinamicos, previsibles y flexibles Ramamrithan[Ramamritham y Stankovic(1994)].

Un tema relacionado a las metricas es el nivel de predictibilidad lograda por unplanificador en particular.

Debe ser mencionado que dos areas de investigacion han examinado los problemasde planificacion bajo sus propias perspectivas.

• La planificacion en investigacion de operaciones se ha enfocado en problemasen talleres, con y sin plazos lımite. Por ejemplo, la planificacion de mano deobra, la planificacion de proyectos y la planificacion de produccion son algunosde los topicos estudiados.

Los tipos de recursos asumidos por los investigadores en los talleres son: ma-quinas, areas de produccion, etcetera.

Page 56: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 55

• Por otra parte los investigadores de ciencias de la computacion, utilizan otrosrecursos como ciclos de CPU, memoria, etcetera y son ademas usados de unaforma bastante diferente, ya que por ejemplo tıpicamente, los trabajos usansolamente una unica maquina para su proceso.

Como se ha mencionado anteriormente, la predictibilidad es una de las caracterısticasimportantes en los sistemas de tiempo real. El analisis de planificabilidad o com-probacion de factibilidad de las tareas de un sistema de tiempo real predice cuandoun conjunto de tareas puede cumplir con sus plazos lımite. Varios paradigmas deplanificacion han surgido dependiendo de

1. Cuando un sistema realiza un analisis de planificacion.

2. Si este lo hace, cuando este es dinamico o estatico

3. Cuando el resultado del analisis en sı mismo produce un calendario o plan queindica cuando cada una de las tareas debe ser despachada.

Basado en esto se puede identificar diferentes clases de algoritmos:

• Propuesta estatica manejada por tablas: este analisis estatico de planificaciony la tabla resultante o plan es usado en tiempo real para decidir cuando unatarea debe comenzar su ejecucion.

Esta aproximacion es motivada del hecho de que los recursos necesarios paracumplir con los plazos lımites deben ser precargadas de tal forma que deban decomprobarse a priori. Estas tareas son usualmente estaticamente planificadaspara cumplir con los plazos lımite aun en los peores casos de funcionamiento.Las tareas se suponen periodicas. Dado un conjunto de tareas periodicas,un algoritmo tıpico debe de tratar de asignar operaciones de las tareas a losprocesadores y construir un plan con los periodos de las tareas. En tiempo decorrida, el conjunto de tareas se ejecuta repetidamente cada periodo de tiempo.

• Propuesta basada en interrupciones manejadas por prioridades estatica. Eneste analisis de planificacion estatica no existe un plan explıcito, en el tiempode ejecucion, las tareas son ejecutadas de acuerdo a la prioridad mas alta.

La planificacion basada en interrupciones es una de las mas usadas en lossistemas de comparticion de tiempo. En sistemas que no son de tiempo real,la prioridad de un trabajo cambia dependiendo de cuando el CPU o el sistemade entrada-salida este ocupado. En los sistemas de tiempo real, la asignacionde prioridades esta relacionada con las restricciones temporales de cada tareay su asignacion puede ser dinamica o estatica. El algoritmo de Liu es quizas elmas representativo.

Page 57: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 56

• Propuesta basada en planes dinamicos. Diferente a las propuestas anteriores lafactibilidad es comprobada en tiempo de ejecucion. Uno de los resultados delanalisis de factibilidad es un plan que es usado para decidir cuando una tareacomienza su ejecucion.

La planificacion dinamica se basa en comprobaciones de factibilidad de rendi-miento dinamico. Una tarea debe ser garantizada que durante la ejecucion sedeberan cumplir todos los plazos lımite de cada uno de sus operaciones. Elalgoritmo que se encargue de distribuir las tareas, debe de tomar en cuentamuchas situaciones, incluyendo los peores casos de configuracion como son: losrecursos del sistema, precedencia de tareas, e interrupcion de tareas, etc.

Los algoritmos dinamicos que no conozcan a priori los tiempos de arribo delas tareas no pueden garantizar un optimo rendimiento. Pero un algoritmodinamico puede ser considerado mejor que otro, si dado un conjunto de ta-reas a planificar por el algoritmo propuesto, este puede planificar un numeromayor de tareas que los demas. Este tipo de planificadores son comprobadosvıa simulacion, dando buenos resultados como el algoritmo de planificacionaleatorio.

• Propuesta de mejor esfuerzo dinamico. Aquı no se revisa la factibilidad. El sis-tema trata de hacer su mejor esfuerzo para cumplir con sus plazos lımite. Peroninguna garantıa se provee y una tarea puede abortarse durante la ejecucion.

En los sistemas de tiempo real un valor de prioridad es computado con basea las caracterısticas de la tarea y de acuerdo a las prioridades de las otrastareas. Los valores a ajustar se obtienen vıa simulacion. Algunos algoritmosson optimos mientras no haya sobrecarga. Ası, el algoritmo de mejor esfuerzodebe hacer un analisis e interrumpir la tarea adecuada para mantener un nivelde rendimiento aceptable. El mejor esfuerzo propone maximizar la suma delos valores de las tareas completadas bajo la condicion de sobrecarga, donde elvalor de una tarea en el sistema, dependa de cuando esta complete la ejecucion.

De las condiciones anteriores, es claro que una de las metricas mas importantes enun planificador de tiempo real es poder asegurar que los plazos lımites de las tareasse puedan cumplir a tiempo. La solucion obvia para lograr la condicion anteriores utilizando el planificador estatico. Sin embargo el planificador estatico es muyrıgido para muchas aplicaciones. Por otra parte el planificador dinamico resuelveel problema de la flexibilidad, pero los recursos de computo se pueden incrementardemasiado.

Una solucion es el planificador por planes, como se ve en la seccion 4.1.1. Esteplanificador se construye en parte estatico y en parte dinamico, haciendolo un buencandidato a utilizarse en diversas situaciones y que es tema de estudio en esta tesis.

Como se ha visto en este capıtulo existe una basta teorıa de planificacion. Se hamostrado la notacion y clasificacion de los diferentes algoritmos de planificacion y sehan introducido las diferentes metricas en el funcionamiento de ellos.

Page 58: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 3. PLANIFICADORES 57

La presente informacion sirve como preambulo de los siguientes capıtulos, donde seplantea una solucion a un problema dinamico de control, ya que uno de los retosactuales es encontrar una solucion optima que tome en cuenta la teorıa de controlası como la teorıa de los sistemas de tiempo real.

Page 59: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Capıtulo 4

Diseno e implementacion delsistema

Como ya se menciono, el objetivo de este trabajo consiste en proponer una solucionoptima a un problema de control utilizando el planificador propuesto por Almeida.En este capıtulo se presenta el analisis del sistema de control y se detalla la formaen que es implantado dicho sistema utilizando el sistema operativo de tiempo realRT-Linux.

Asimismo, se presentan los vectores de configuracion que contienen toda la informa-cion referente a los parametros de las tareas que conforman al sistema. Este elementojuega un papel muy importante en la busqueda de las soluciones optimas (desde lospuntos de vista de la planificacion y del control).

En primer lugar se presenta el planificador por planes propuesto por Almeida, y surespectivo analisis de planificabilidad. Enseguida se menciona el papel que juega laretroalimentacion en los sistemas de control y la importancia que tienen en ellos losretardos de tiempo. Finalmente se describe el caso de estudio mostrando la dinamicaque siguen cada uno de los nodos y la forma que puede presentar la informacionrelativa a las tareas de cada uno de los ellos. Asimismo se describe la implementaciondel sistema por medio de hilos POSIX.1b descritos en el standard POSIX 1003.11

utilizando el sistema operativo de tiempo real RT-Linux.

4.1 Diseno

4.1.1 Planificador basado en planes

El planificador basado en planes [Almeida et al.(1999), Fonseca y Almeida(1999)] esun planificador casidinamico, ya que presenta algunas caracterısticas de los planifi-

1El estado actual de varios estandares POSIX estan disponibles en http://www.pasc.org/standing/sd11.html.

58

Page 60: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 59

cadores dinamicos. La idea con la que trabaja este planificador consiste en hacerun plan con base en las variables dadas en ese instante de tiempo, para que seadistribuido y aplicado, en un determinado tiempo llamado ventana de tiempo V. Eltamano de V es fijo e independiente de los periodos de las variables.

Si se hace un plan para cada ventana, entonces el planificador debe ser invocado unaunica vez para generar el plan de la proxima ventana de tiempo, (Fig. 4.1).

��� ����� � �� �� �� � �����

�����������! �����"�#�$&% �('(�)�*% "��+�*% #��)"��,.- � � � � � � � � �/� � �� � �0� � �1� � � � � � � � �/� � �243 � �!� � � � � � �/� � �

576 8:9<; =�; >�8<?<@:A

BDC�EGF(HJI(K(H�L�MON

PRQ�S�T QVUXW�Y�T QVZ�[�\]U_^ ` aRU_` b�Y<Z�[<cRQ�^ ` Q�S�T [�\

d�e�fGg(hji(k(hml(honqp hor�s e�f

tvuxwzy4yO{�|t~}�� y<{��t �!�!�t�}�u y<{��

�z�~�z���<��������x��� �O�������� �!� ������ �<���G���

��� �o���  ¡� ¢��J£�¤o¥¦ ¤O¥ ¦ � �o�(§�¨

Fig. 4.1: Planificador por planes.

Dentro de una ventana de tiempo de duracion V, y siendo Pi el periodo de la tarea ientre un conjunto de N tareas, hay a lo mas S transacciones dadas por la siguienteecuacion

S =N∑i = 1

(⌈V

Pi

⌉+ 1

)(4.1)

La complejidad de S denotada por O, es entonces del orden O(N).

En un planificador dinamico el planificador debe ser invocado cada vez que hayaterminado una transaccion. Para determinar el estado de la siguiente transaccion,en cada ocasion el planificador tiene que realizar una revision sobre el conjunto de Nvariables, por lo que el numero de operaciones debe ser del orden de N ∗ S con unacomplejidad de O(N2). En cambio, el planificador por planes debe hacer el calculouna unica vez en cada ventana de tiempo por lo que solo se revisan las S operaciones,lo que trae como consecuencia que la sobrecarga en tiempo de ejecucion disminuya.

Hay que hacer notar que en este planificador sus propiedades dependen del tamanode V, si V → 0 se comportara como un planificador dinamico si por el contrario Ves llevado al valor mcm(Pi) (mınimo comun multiplo) o MC (macrociclo) entonceseste se comportara como un planificador estatico.

Page 61: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 60

Las principales caracterısticas del planificador por planes son:

• Gran flexibilidad comparado con el planificador estatico. Como los planes serealizan cada ventana de tiempo, si ocurre algun cambio es posible tomarlo encuenta en la proxima generacion del plan.

• Baja sobrecarga en tiempo de corrida con respecto del planificador dinamico.Como ya se vio, la complejidad del planificar por planes es de O(N) contra ladel planificador dinamico que es de O(N2).

• Requerimientos de memoria acotados. Los planes de las ventanas son acotadosya que la ventana de tiempo es fija siendo el tamano de la ventana ajustadodependiendo del numero y longitud del periodo de las variables.

• Limitada garantıa de planificabilidad. El planificador por planes al igual queel planificador dinamico no puede garantizar la planificabilidad en el plan si-guiente, por lo que se requiere un analizador en lınea de los planes cada vezque haya un cambio en el conjunto de las variables.

4.1.2 Analisis de planificabilidad del planificador por planes

La impredictibilidad de cumplir las restricciones temporales futuras del planificadorpor planes hace necesario introducir un analizador de planificabilidad. La funciondel analizador es determinar cuando una variable puede cumplir o no con sus reque-rimientos temporales.

El problema de planificacion se va a suponer que las transacciones son: periodicasindependientes no interrumpibles sobre un simple canal (bus). Este problema esequivalente al problema de tareas periodicas e independientes no interrumpibles sobreun solo procesador [Almeida et al.(1999)].

Para el problema no interrumpible como el mencionado anteriormente, existen variosmetodos que se pueden utilizar como: la prueba de completez de tiempos, busquedade ramificacion y conjuncion, busqueda heurıstica y descomposicion[Almeida et al.(1999)]. Sin embargo todos los metodos requieren de una gran capa-cidad de recursos por parte del procesador.

Para mantener un mejor control sobre la rapidez del planificador se puede utilizaruna condicion de suficiencia.

Por otro lado, una de las comprobaciones de planificabilidad mas comunes es laderivada de [Liu y Layland(1973)] (seccion 3.5) para el planificador monotonico, talcomprobacion es muy baja en consumo de proceso ya que esta dada por una solaexpresion y es aplicada a tareas interrumpibles. Para poder usar la comprobacionde planificabilidad de Liu es necesaria una adaptacion (debido que suponemos en elplanificador las tareas son no interrumpibles). Para ello se tiene que suponer primero,

Page 62: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 61

que los periodos de todas las tareas deben ser multiplo de un ciclo elemental CE,durante un CE varias transacciones pueden ser realizadas, y segundo que se tieneque usar una tecnica llamada insercion de tiempos ociosos (idle time insertion).

La forma en que se pueden acomodar distintas transacciones en cada CE se observaen la Fig. 4.2. La polıtica en el orden de ejecucion es la del planificador monotonico,es decir se escogen primero las tareas que tienen menor periodo.

�����

��� ����

���� ���������� ������� �������

�!#" $�%�& '�() *�+�,- - -

.

/

0

1

2

3

4

5 6

7 8

9

:

;

<

=

>

Fig. 4.2: Planificacion de tareas en el planificador por planes.

En la Fig. 4.2 se aprecia como se acomodan las distintas tareas en el tiempo. Cadauna de las tareas esta identificada por una letra. Se observa que la tarea A tiene unperiodo de un CE, la tarea B tiene un periodo de dos CE’s y las tareas C, D y E serealizan cada tres CE’s.

De acuerdo a la polıtica del planificador por planes, las tareas de mayor frecuenciason las que tienen mayor prioridad, por lo tanto en la Fig. 4.2 las tareas A y B sonlas primeras que se acomodan.

En el proceso de acomodar las diferentes tareas puede suceder que el total de tiempode las tareas a ejecutarse sobrepase el tamano de una CE, se dice que la CE estasobrecargada, lo que se hace entonces es mandar las transacciones que no cupierona la siguiente CE. Este proceso se repite si las siguientes CE’s siguen sobrecargadas,(Fig. 4.2). Como puede verse en la Fig. 4.2 en el CE1 hay cinco tareas listas aejecutarse, la A, B, C, D y la E. Sin embargo el CE solo tiene espacio para ejecutara la A, B y C, por lo que las tareas D y E se tienen que mandar al siguiente CE. Lamisma situacion pasa en el CE4.

Se debe notar que no siempre se llena completamente el tiempo de cada CE, el tiempoque sobra en cada CE se le llama Xn, que es el maximo tiempo ocioso. Estos tiemposdenotados por Xn se observan en la Fig. 4.3.

La tecnica de insercion de tiempos ociosos, da la siguiente condicion de planificabi-lidad. Si N es el numero de variables, Pi el periodo de la variable i, y Ci la duracion

Page 63: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 62

����� ����� �

� �

����������� �������

�! "�#%$�&

' ( )

*

+-, .-/�021

Fig. 4.3: Tiempos ociosos.

de la correspondiente transaccion, entonces se tiene la siguiente comprobacion deplanificabilidad [Almeida et al.(1999)], donde E es la duracion de cualquier Ei y Xi

es el maximo tiempo ocioso de todas las CE en V , X ′ = max(Xn)

U =N∑i = 1

CiPi

< N(21N − 1)× E −X ′

E(4.2)

la cual garantiza que el conjunto de N tareas es planificable con cualquier fase.

Cuando max(Xn) no es facil de determinar es posible usar la siguiente desigualdad

X ′ = max(Xn) ≤ max(Di)i = 1..N

(4.3)

4.1.3 Retroalimentacion

Uno de los objetivos entre los sistemas de tiempo real es desarrollar la teorıa quepermita una interaccion dinamica entre control, planificacion y optimizacion. Laoptimizacion de un sistema de control por computadora esta sujeta a las limitacio-nes de los recursos de computo, especialmente en aplicaciones avanzadas donde serequiere de un control rapido en dinamicas de plantas y una estimacion de estadossofisticados.

El objetivo de la planificacion de tiempo real para control es manejar recursos decomputo limitado de tal forma que la estimacion del estado y algoritmos de controlpuedan asegurar la estabilidad en el sistema y optimizar el desempeno de sistema.

Page 64: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 63

Los recursos de computo pueden incluir tiempo de CPU y el ancho de banda decomunicacion.

Para realizar la conjuncion debe haber una retroalimentacion entre el planificador ylos controladores y de viceversa.

La idea de la retroalimentacion ha sido usada informalmente durante un largo tiempoen algoritmos de planificacion para aplicaciones donde la dinamica de la sobrecarga decomputacion no puede ser caracterizada exactamente. Por ejemplo algunos sistemasoperativos han mejorado la salida de datos al implementar colas de retroalimentacion.En internet se han hecho protocolos que utilizan retroalimentacion para resolverproblemas de congestion, etc.

Los sistemas de control con retroalimentacion donde los ciclos de control estan res-tringidos a una red de tiempo real son llamados sistemas de control en red. Lacaracterıstica de un sistema de control en red es que la informacion (entrada, salidade planta, control, sensor y actuador) es intercambiada usando una red entre loscomponentes del sistema de control [Zhang et al.(2001), Krtolica et al.(1994)], porlo que se producen retardos de tiempo aleatorios donde su modelado se convierteen un manejo de diferentes modelos del controlador y por ende en un problema deconmutacion. (Fig. 4.4).

��� ��������� �� ���

�����

������������ !#"#���

$&%('(%*),+.- /0)(',%213,4 5 6 708 9 :

;=<�> ? @�ACB�D E.F0G.HID F�BJ B0?(K @L? <�F M=N�O P Q�RCS�T U.V0W.XIT V�SY S0P(Z QLP N�V

[&\(](\*^._2`0^.\2a

Fig. 4.4: Ciclo de control con retroalimentacion con retardos inducidos por la red.

Las ventajas por las que se escoge este tipo de sistemas en los sistemas de controlson porque: el cableado del sistema es reducido, hay facilidad en el diagnostico ymantenimiento del sistema y proporciona una gran flexibilidad en la configuraciondel sistema.

Sin embargo la insercion de una red de comunicacion hace que el analisis y disenosean complejos, por lo que es necesario tomar en cuenta que existen ciertos retrasosde tiempo inducidos por la red, por ejemplo del controlador al sensor que ocurrecuando se intercambia informacion. Este retardo, constante o variable en el tiempo,puede degradar el rendimiento del sistema o incluso desestabilizarlo.

Page 65: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 64

Como ya se ha visto, es muy importante que en una aplicacion de control, existauna retroalimentacion entre el control y el planificador. Este elemento es de vitalimportancia a la hora del diseno y debera ser tomado en cuenta en la elaboracion deuna aplicacion de control.

4.1.4 Importancia de los retardos de tiempo

Muchos sistemas de tiempo real son implementados como sistemas de control distri-buido, donde los ciclos de control actuan sobre una red de comunicacion o fieldbus.En consecuencia ahı deberan aparecer inevitablemente, tiempos de retardo en la redde comunicacion. En tanto los perıodos de muestreo sean tan largos comparadoscon los retardos entonces no habra la necesidad de considerar la influencia de estosretardos. Cuando la demanda de recursos del sistema de control se incrementa, larelevancia debera ser mas importante al tomar en cuenta los retardos en el analisisy diseno del sistema de control [Nilsson et al.(1998)].

Hay esencialmente tres tipos de retardos en los sistemas de comunicacion:

• Retardo de comunicacion entre el sensor y el controlador. Los retardos en elsistema controlado son causados por ejemplo en un sistema de transportacionde masa donde es muy difıcil de obtener medidas sin retraso.

• Retardo computacional en el controlador. Podrıa existir por ejemplo el pro-blema de constantes retrasos computacionales en la computadora debidos a lassobrecargas.

• Retardo de comunicacion entre el controlador y el actuador. Existen retrasosinherentes entre el sistema de control y los actuadores para que el sistemaresponda adecuadamente.

La modelacion, analisis y compensacion de la variacion temporal de tiempos discretosen los sistemas de control es difıcil y no puede ser hecho en el campo de la teorıade control de tiempos discretos. Por ejemplo, las propiedades de estabilidad en unsistema de tiempo variante no puede ser directamente predicha de las propiedadesdel sistema.

Por ejemplo de los resultados experimentales, puede observarse que las condicionesde los retardos son constantes o de variacion muy lenta sı:

1. Hay una baja carga en el bus.

2. Se utilizan protocolos de transferencia determinıstico.

3. Hay suficiente velocidad de transferencia.

Page 66: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 65

Sin embargo, no siempre se cumplen las condiciones anteriores y por lo tanto po-drıa no haber una uniformidad en los retardos, por lo que que estos pueden variarconsiderablemente de muestra a muestra [Hurak y Sebek(2001)].

Tradicionalmente, cuando se implementa un sistema de control por computadora, seasume que la plataforma de computacion usada puede proveer un muestreo equi-distante y determinista que es la base de la teorıa de control por computadora[Ollero-Baturone(1991)]. Sin embargo, muchas de las plataformas que son comun-mente usadas para implementar los sistemas de control no ofrecen ninguna garantıadeterminista. Tal es el caso de los sistemas operativos comerciales como Windows.Los sistemas operativos en general estan disenados para ofrecer un rendimiento me-dio, en vez de ofrecer un rendimiento mınimo en el peor caso posible.

Dependiendo de un numero de aspectos el retraso podrıa no ser despreciable. Entreestos aspectos se cuenta:

• El tipo de aplicacion.

• El poder de computo de la computadora y el controlador.

• La velocidad de transferencia y el protocolo de transferencia que determinecomo los nodos accesan a la red.

Por otra parte, la comunidad de sistemas de tiempo real generalmente asume que losalgoritmos de control deben ser modelados como tareas que:

• Son periodicas con un conjunto de periodos fijos.

• Tienen plazos lımites fuertes, y

• son conocidos los tiempos del peor caso.

Este simple modelo ha permitido a la comunidad de control enfocarse en su propiodominio sin preocuparse de como la planificacion es hecha, y esto ha conducido ala comunidad de planificacion la necesidad de entender cual es el impacto de losretardos en la estabilidad y rendimiento de la planta bajo control [Torngren(1998)].Ası desde la perspectiva historica, el desarrollo separado de las teorıas de control yplanificacion ha producido muchos resultados utiles.

Sin embargo, bajo una inspeccion mas detallada es claro que ninguna de las tressuposiciones (mencionadas anteriormente) en la vida real son necesariamente cier-tas. Los plazos lımites no siempre son fuertes, muchos algoritmos de control no sonperiodicos o ellos pueden cambiar en el tiempo y por ejemplo para el caso de la pla-nificacion en tiempo real, obtener un valor exacto para el peor caso es un problemadifıcil.

Ası como conclusion de los argumentos anteriores se puede asegurar que los retardostemporales siempre deterioran el rendimiento de un sistema de control de tiemposdiscretos [Krtolica et al.(1994)].

Page 67: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 66

4.2 Implementacion

Actualmente muchos de los controladores son implementados por medio de una com-putadora [Hurak y Sebek(2001)], en consecuencia una implementacion exitosa de unsistema controlado por computadora requiere de un buen conocimiento tanto en lateorıa de control como de los sistemas de tiempo real. Ejemplos de sistemas dondese puede aplicar la teorıa, son: los sistemas mecatronicos y robots, aplicaciones ae-roespaciales en aviones y satelites, sistemas de transporte como en autos o trenes yproductos de consumo electronico.

Las aplicaciones de control en el proceso de manufactura industrial son muchas vecesimplementados como sistemas de control distribuido (distributed control systems,DCS) o controladores logicos programables (programmable logic controlers, PLC),por lo que los sistemas de control distribuido y controladores logicos programablescomparten muchas de las caracterısticas de los sistemas embebidos.

Una aplicacion de tiempo real puede ser dividida en un conjunto de subsistemas,llamados cumulos, por ejemplo un objeto controlado, el sistema de control computa-rizado y el operador. El sistema de control computarizado tiene que reaccionar a losestımulos del objeto controlado dentro de un intervalo de tiempo real que es dictadopor la dinamica del objeto controlado.

En esta tesis se va hacer un analisis de planificacion en un sistema de control im-plementado en una computadora con una base estadıstica utilizando el planificadorpor planes propuesto por [Almeida et al.(1999)]. En esta tesis se pretende analizaral plan propuesto por cierto tipo de planificadores en tiempo real, no como un ele-mento en duda con respecto a su capacidad de planificacion si no como un factorque potencialmente puede degradar al sistema distribuido, con base en la ordenacionque haga sobre las tareas pudiendo afectar su respuesta dinamica. Recientemente,algunos trabajos han apuntado a la necesidad de integrar el diseno del control y suimplementacion en un sistema basado en comunicacion alambrica, por lo que en estetrabajo se propone ensamblar la parte correspondiente al control con la teorıa delos sistemas de tiempo real distribuidos para obtener una aplicacion con calidad deservicio.

Se propone estudiar el impacto que tienen diferentes propuestas de planificacion enlınea sobre el sistema distribuido desde el punto de vista de un sistema dinamico.Esto es, viendo al sistema de comunicacion como la principal fuente de retrasos enel tiempo, los cuales son acotados mediante el uso de un planificador casi-dinamico.El analisis de dichos retrasos nos permite verificar ya no la planificacion posible sinola degradacion fısica del sistema debido a la comunicacion entre procesos. Para ello,se utilizara un sistema dinamico de control, compuesto por una planta de segundoorden, controlador, sensores y actuadores de primer orden, basado en el esquemaderivativo, integral y proporcional (Proportional, Integral and Derivative, PID).

El modelo que se propone es un sistema de control que consta de una planta, tressensores, un controlador y dos actuadores. La forma general de como el sistema seimplementa en una red se presenta en la Fig. 4.5.

Page 68: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 67

����������� ����� ���

������������� �! !���

"$#&%

')(+*'),+- (&' .&/10 23.&4&5+6 798

:<;!=

Fig. 4.5: Sistema de control tıpico en red.

Los sensores y actuadores son necesarios para la interfase entre un sistema compu-tarizado de tiempo real y un proceso fısico vıa las interfaces de los nodos.

• Sensores. Se define a un sensor fısico asociado a un microcontrolador comoun sensor inteligente. El proposito de un sensor inteligente es encapsular losdetalles tecnicos entre el sensor fısico y la computadora que provee ademas lalectura en la computadora de la informacion preprocesada.

En el modelo de interfase de nodo un sensor consiste de una entrada de registrode datos, un registro de tiempo opcional y una lınea de control. El registro deentrada de datos contiene un valor actual de una cantidad fısica. El registro detiempo denota el punto en el tiempo cuando se adquirio el registro de datos.La lınea de control se encarga de mandar los datos a la computadora.

• Actuadores. Un actuador es un componente que contiene un registro de datosde salida, un registro de tiempo, una lınea de control y una fuente de energıaactuando en un dispositivo de salida para lograr el efecto deseado en el ambiente[Kopetz et al.(1995)].

En esta aplicacion todos los nodos del sistema es decir, la planta, el controlador,los sensores y los actuadores seran simulados en software. El sistema planteado essimple y suficiente para mostrar como hacer el analisis en sistemas mas complejos ycuales serian las estrategias a seguir para lograr una implementacion con exito en unsistema de la vida real.

La configuracion del sistema es representada esquematicamente en la Fig. 4.6.

La tabla 4.1 muestra la dinamica de cada uno de los nodos o tareas. En este modelo seconsiderara que todos los nodos del mismo tipo tendran una dinamica igual, aunquepodran variar los parametros de cada dinamica.

Page 69: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 68

Fig. 4.6: Sistema de control.

nodos dinamica transformada

Planta (u1 + u2)(dirac(t)

z− 1

z+k1

)(u1 + u2)

(dirac (t)− exp(−k1t)

)Sensores u

(k1

z+ k2

z+k3− k1k3

z+k3

)u(k1 + (k2 − k1k3) exp(−k3t)

)Control

k1∑9i=7 ui+k2

∑9i=1 ui

zk1

∑9i=7 ui + k2

∑9i=1 ui

Actuadores u(k1

z+ k2

z+k3− k1k3

z+k3

)u(k1 + (k2 − k1k3) exp(−k3t)

)Tabla 4.1: Dinamicas de los nodos.

Page 70: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 69

Como se ha visto en la Fig. 4.6 el sistema de control tendra siete tareas a planificar,una por cada nodo. Para distribuir las tareas se utiliza el planificador por planespropuesto por [Almeida et al.(1999)] para manejar las tareas.

Aunque el planificador por planes, da una solucion de planificacion en los sistemasfieldbus, no es el la unica solucion como puede verse en [Fohler(1995)], donde elplanificador propuesto distribuye la carga de las tareas manejando una parte dina-mica y una estatica. Es decir, este es un mecanismo de planificacion en lınea deconjuncion de tareas periodicas y aperiodicas en un sistema de planificacion estatica.Esto permite combinar la planificacion estatica, en particular cuando se tiene un sis-tema distribuido complejo con tareas constrenidas y una planificacion dinamica enlınea. Esto da como resultado la ejecucion de tareas en una forma flexible pudiendoincorporar las tareas aperiodicas con plazos lımites duros y blandos.

Regresando al planificador por planes, ya se ha visto que es muy conveniente suutilizacion debido a las siguientes caracterısticas:

• Alta flexibilidad comparada con los planificadores estaticos, ya que los planesson rehechos cada periodo fijo y da la oportunidad de tomar en cuenta loscambios que hayan sucedido en ese periodo.

• Bajo tiempo de proceso comparado con los planificadores dinamicos. Esto sedebe a que el planificador por planes crea una tabla cada determinado tiempo,teniendo ası las caracterısticas de los planificadores estaticos.

• Requerimientos de memoria acotados. El planificador por planes tiene un com-pleto conocimiento de las actividades del bus en cada plan. Ya que la creacionde cada plan se hace en para una ventana de tiempo la cantidad de informacionqueda acotada.

De acuerdo al esquema de la Fig. 4.6, tenemos en total siete nodos que tendran queejecutarse cada determinado tiempo (su periodo p i) y cuando se ejecuten consumi-ran un determinado tiempo de CPU en el procesador (tiempo de CPU Ci). Como yase ha visto en la seccion 3.3.1.1, el problema planteado en este modelo queda com-pletamente definido si se da la informacion de los tiempos de proceso y frecuenciade cada una de las tareas. Ası la informacion completa del sistema consiste de lainformacion individual de cada nodo, la cual se ordenara como en la tabla 4.2.

Para simplificar la notacion de la tabla 4.2, esta se presenta de forma vectorial en:

[P1, P1, P2, P3, P4, P5, P6, C0, C1, C2, C3, C4, C5, C6] (4.4)

Una vez que se establecen los parametros de las tareas y se obtiene el vector deinformacion, al comenzar a funcionar el sistema de acuerdo al plan realizado por elplanificador este se comporta con un cierto desempeno. Dado este desempeno, serequiere determinar un cierto vector de parametros que sea mejor al compararlo, con

Page 71: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 70

Tarea Periodo Tiempo de proceso

0 P0 C0

1 P1 C1

2 P2 C2

3 P3 C3

4 P4 C4

5 P5 C5

6 P6 C6

Tabla 4.2: Parametros de las tareas a planificar.

un conjunto vecino de vectores. Por ejemplo si los periodos son muy pequenos y lostiempos de ejecucion son muy grandes en todas las tareas entonces el vector no podraser planificable y debera escogerse otra combinacion donde se aumente el periodo enalguna de las tareas.

Puesto que cada parametro de las tareas puede variar, se observa que las diferentescombinaciones de parametros de las tareas forman un espacio vectorial, en este casode base catorce (se recuerda que las restricciones sobre los parametros son: que lostiempos de ejecucion deben ser menores o iguales al CE y que la longitud de losperiodos deben ser multiplos enteros del CE). Dentro del espacio vectorial deberahaber puntos optimos donde la dinamica del sistema sea optima tanto en la plani-ficacion como en el control. De parte de la planificacion, la combinacion debera serplanificable y desde el punto de vista del control el plan obtenido debera desarrollaruna dinamica estable.

Ası, el objetivo sera encontrar un conjunto de parametros que sea optimo (planificabley estable de manera local segun la nueva configuracion), de acuerdo a las condicionesiniciales del sistema. Aquı, el vector de parametros tiene asociada una respuestadinamica. Dicha respuesta, define si es viable o no el sistema de planificacion. Habraque recordar, que no se pretende definir una estrategia de estabilidad con base a laplanificacion, sino definir que vector ya planificable es viable para el caso de estudio.

El sistema propuesto se implemento en una maquina pentium con el sistema operativoLinux con la apropiada modificacion en el kernel de RT-Linux. RT-Linux a sido focode atencion por parte de la industria y la comunidad academica [Mendoza et al.(2001)],[Alonso et al.(2001)]. Este sistema operativo ha sido utilizado en sistemas embebidosası como en control en tiempo real computarizado. (ver la seccion 2.7 y el apendicede RT-Linux al final de la tesis).

RT-Linux es un sistema operativo duro que coexiste con el sistema operativo Linux.Con RT-Linux es posible crear hilos (threads) de tiempo real POSIX.1b que puedencorrer en instantes precisos en el tiempo.

Para entender la implementacion del sistema se debe notar que las tareas de tiemporeal en RT-Linux no se implementan como aplicaciones normales. En su lugar, ellasson implementadas como modulos, los cuales son cargados en el espacio de memoria

Page 72: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 71

del kernel de Linux. Los modulos del kernel pueden ser cargados o descargadosdinamicamente en memoria.

Para el manejo de los recursos y prioridades, RT-Linux implementa una capa virtualentre las aplicaciones y el hardware. De esa forma el planificador de RT-Linux puedeinterceptar las llamadas de hardware de las aplicaciones pudiendo ası asignar lamaxima prioridad a las aplicaciones de tiempo real, (Fig. 2.6, seccion 2.7).

Las aplicaciones de tiempo real estan conformadas usualmente con varias tareas quese ejecutan al mismo tiempo. Como ya se menciono las tareas en RT-Linux seimplementan como hilos. Un hilo es un proceso ligero que comparte un espacio dedirecciones comun. Generalmente los hilos funcionan como disparadores (triggers)temporales y pueden ser programados para ejecutarse en forma independiente o pormedio de un operador central. Conceptualmente, los hilos de control del kernel deLinux son tambien hilos RT-Linux, con lo que aseguran un espacio de memoria paraejecucion.

RT-Linux provee planificacion, que permite a los hilos correr en tiempos especıficos.RT-Linux usa un planificador manejado por prioridades, en el cual el hilo (listo a eje-cutarse) con mayor prioridad es escogido para correrse. Para crear un hilo de tiemporeal, se utiliza la funcion pthread create(). El hilo es creado usando los atributosespecificados en el objeto ”attr”, que incluye la prioridad pthread setschedparam() y su periodo pthread make periodic np().

RT-Linux provee varios mecanismos que permiten la comunicacion entre los hilosde tiempo real y las aplicaciones de usuarios en el espacio de procesos Linux. Colastales como primero en entrar primero en salir (First-In-First-Out, FIFO) sirven comomedios de entrada-salida entre los hilos de tiempo real y los procesos Linux. CadaFIFO es unidireccional, por lo que, si es necesario deben crearse dos FIFOS uno deentrada y otro de salida. RT-FIFOS son manejados como canales de caracteres en/dev/rtf1 y son manejados bajo RT-Linux como cualquier otro archivo de datos.

La implementacion del sistema de control de la Fig. 4.6, se ha implementado deacuerdo a la Fig. 4.7. En este esquema no se presentan las implantaciones de losnodos.

El sistema funciona de la siguiente manera.

1. Se carga en el kernel del sistema operativo el planificador y los disparadores delos nodos (planta, sensores, controlador y actuadores).

(a) El planificador se carga como hilo. Este programa escucha las peticionesdel usuario, inicializa los hilos de la planta, sensores, controlador y actua-dores, se encarga de hacer el plan y lo distribuye cada ventana de tiempo.En la Fig. 4.7 este nodo se denota por planificador.

(b) El planificador crea el canal de comunicacion. Este crea un hilo que va harecibir los datos y comandos de la consola utilizada por un operador. Enla Fig. 4.7 este canal se denota por FIFO control.

Page 73: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 72

��� ����� � � ������ ��� ������������ � �� ��� ���

��� � ���� ���� �

�! " #$&%�'�( #�)

*!+ , -. -�/0 1 -�,

2!3 4 56�798 :�;�<�5�=

>�?�@�?BAC�D E >F E

GH�I�HKJLNM G�OH�P

Q�R�S�RKTU R�QV W R�X

Y�Z�[�ZK\]�^9_ `�a [�Z�b

ced�f�gd�h ij�kml g l i�n o dp i�f j iq k�r o s�o d�f k g

teuwv x!uzy{t}|

~m� �z�w� �����z��!� �!���

��� � ������� ���������

�������� ������¡ 

¢�£�¤¥K¦§�¨�©ª¬«

­¯® ­�°²±�³ ´�µ¶ ´·¯¸ ·�¹�º»�¼9½ ¾ »�¿ À�Á�»�¾ ¯à ÂÅÄ�Æ&Ç�È�ÉÊ�Ë

ÌÍ�ΡÏ�Ð�Ñ ÌÒ�Ì�Ñ ÓÅЬÔ�Õ Ö�Ô�× Ð�Ô�Õ

د٠ØÅÚ�Û�ÜÅÝÞ ß Ü�àâá¯ã á�äæåeç9è é�ê�ë�ì�í

îNïzðÅñ ò ð

Fig. 4.7: Nodos en RT-Linux ojo modificar figura.

(c) Se crean los hilos que van a servir como disparadores en los diferentesnodos. Son controlados por el planificador y su funcion es esencialmentemandar una senal de acuerdo al plan elaborado a los nodos en el sistema.Estos hilos se encuentran en la parte superior de la Fig. 4.7.

(d) Cada uno de los hilos de los nodos crea su propio canal de comunicacioncon su respectiva aplicacion. En la Fig. 4.7 se denotan como FIFOsensor,FIFOactuador, etc.

(e) El planificador espera los comandos de la consola.

Este paso se puede apreciar en la Fig. 4.8. Se activan, tanto el planificadorcomo los hilos de los nodos y permanecen en espera de algun comando deejecucion.

2. Se ponen en marcha las aplicaciones que simulan los diferentes nodos (planta,sensores, control y actuadores. En la Fig. 4.7 las aplicaciones estan en la parteinferior, por ejemplo la aplicacion que simula el sensor.

Cada aplicacion hace lo siguiente.

(a) Inicializa su canal de comunicacion con su hilo respectivo. El hilo res-pectivo de cada nodo a traves de este canal va a mandar las senales decuando procesar y mandar la informacion a los nodos correspondientes.

(b) Crea e inicializa los canales de comunicacion con los demas nodos tantode transmision como de recepcion utilizando sockets sobre el protocoloethernet. Estos canales de comunicacion transportan los valores de y(t)que serviran de entrada en los nodos de recepcion. Por ejemplo los sensoresreciben su entrada u(t) de la planta, procesan la informacion y esperan lasenal de su hilo sensor para mandar su salida y(t) al controlador.

Page 74: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 73

��� ����� � � ������ ��� ������������ � �� ��� ���

��� � ���� ���� �

�! " #$&%�'�( #�)

*!+ , -. -�/0 1 -�,

2!3 4 56�798 :�;�<�5�=

>@?�A�B?�C DE�FHG B G D�I J ?K D�A E D

L F�M J N�J ?�A F B

O@PRQ S!PUTVOXW

YHZ [U\RZ ]_^`]Uab!c d!e�f

g�h i j�k_l�m n�o�p�j�k

q�r�stvu w�x�yz|{

}�~ }��`����9� � ��� �������

Fig. 4.8: Activacion del planificador y los hilos de la aplicacion.

En la Fig. 4.9, se muestran en forma esquematica los canales de comunicacionentre los hilos y sus respectivas aplicaciones (a traves de FIFOSRT-Linux) y lacomunicacion entre aplicaciones utilizando Ethernet.

��� � ���� ��� �

�� � ������� ��

��� � �� ���� � ��

�! " #$�%'& (�)+*+#,

-�.+/+.102�3 4 -�5 4

6�7+8+7:9;�< 6�=�7>

?�@+A+@CBD @?�E F @G

H�I+J+ICKL�M'N O�P J+IQ

RTSVU W�SYXZR\[

]_^ `YaV^ bdcebYfg�h i�j�k

l+m n o+pdqsr t+u+v+o+p

w�x+y�z:{

|�}+~��C�

�V� ������� ����� � �V� �����:���������

�V�����\�_� �V�\�:� ���¡ C¢�£� ¥¤��: C¢

¦V§ ¦�¨�©\ª�«�¬ ­ ªT® ¯V° ¯�±³²_´µ ¶�·�¸T¹�º

»�¼Y½¿¾ À ½

Fig. 4.9: Inicializacion de los canales de comunicacion entre hilos y aplicaciones.

3. Se pone en marcha la aplicacion de la consola y espera los comandos por partedel operador. La consola es capaz de mandar en cualquier momento los co-mandos y datos correspondientes de cada tarea, es decir sus c′s y sus P ′s, asıcomo los comando de inicio, suspension y detencion. La consola del usuario,se ubica en la parte inferior izquierda de la Fig. 4.7.

Para que el sistema de control comience a funcionar la consola del usuario deberealizar:

Page 75: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 74

(a) La inicializacion del canal de comunicacion con el planificador.

(b) Esperar los comandos por parte del usuario

(c) El usuario debera mandar primeramente los parametros de cada tarea y

(d) Finalmente mandar la senal de la inicializacion del funcionamiento delsistema.

En ese momento el planificador hara la prueba de la planificacion, creara el plan deacuerdo con el planificador por planes (esto cada ventana de tiempo) y finalmenteprogramara los hilos de la planta, sensores, control y actuadores con los tiemposadecuados.

Las aplicaciones se encuentran esperando las senales de los hilos para comenzar aprocesar las senales provenientes de las aplicaciones vecinas, se procesaran los valoresde salida, de acuerdo a los valores de entrada, para luego mandar el resultado a losnodos correspondientes. Al mismo tiempo las aplicaciones estan escuchando en loscanales tcp-ip si llega alguna entrada de los correspondientes nodos vecinos, estainformacion es u(t) y servira en un tiempo posterior para calcular la dinamica decomportamiento.

Se ha realizado la implementacion del sistema propuesto en varias maquinas distri-buyendo uniformemente los nodos. Sin embargo el sistema se ha implementado enuna solo equipo de computo, con el objeto de que los retrasos atribuidos a la redsean uniformes. Al hacer que los nodos se ejecuten en equipos diferentes implica unametrica mas detallada en los tiempos de comunicacion y una sincronizacion en lostiempos del planificador para obtener resultados adecuados.

Para efectuar las mediciones es necesario guardar la salida de la dinamica de losnodos de la planta, sensores, control y actuadores. Con esa salida se puede observarcual es la dinamica asociada al vector de informacion que se determina para esaventana de tiempo en particular. Recuerdese que ese vector esta determinado porlos parametros de cada una de las tareas (P ′s y C ′s).

Una salida tıpica del sistema del control se muestra en la Fig. 4.10. En este sistemalos parametros son los siguientes:

Tarea Periodo en CE’s Tiempo de proceso en CE’s

Planta 5 .1Sensor 1 4 .3Sensor 2 4 .5Sensor 3 4 .1Control 5 .2

Actuador 1 6 .3Actuador 2 5 .3

Table 4.3: Parametros de las tareas a planificar.

Page 76: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 75

Se recuerda al lector que para simplificar la notacion de la tabla 4.3, la informacion,se puede escribir en forma vectorial, como:

[P0, P1, P2, P3, P4, P5, P6, C0, C1, C2, C3, C4, C5, C6] (4.5)

Ası la informacion de la tabla 4.3 se puede escribir como:

[5, 4, 4, 4, 5, 6, 5, .1, .3, .5, .1, .2, .3, .3] (4.6)

El vector 4.6 se definira como vector de configuracion.

Por lo que los primeros nodos en mandar la senal seran los sensores, seguira la planta,el actuador 2 y el control y finalmente mandara la senal el actuador 1.

Como se observa, el comportamiento de cada uno de los nodos tiende a ser estableconforme avanza el tiempo, no hay ninguna perturbacion ni cambio de parametros.

Para conocer el comportamiento de la dinamica del sistema es necesario observaruna gran cantidad de corridas para ir eligiendo cuales se comportan de modo ade-cuado. Se observa que ello representa una gran cantidad de tiempo y se necesitauna estrategia ordenada para estudiar el problema. Como se ve en el capıtulo 5,se ha construido un simulador que junto con el procedimiento propuesto ”barre” elespacio de configuraciones y se define un conjunto de soluciones que resuelven laoptimizacion del sistema planteado.

Page 77: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 4. DISENO E IMPLEMENTACION DEL SISTEMA 76

� � ��������� ������ ����� �

��� � �

����������� � � ��������� ����

��� � �

����������� � ���������������

��� � �

���������� � ��������������

��� � �

����� � � ��� ���� ����������

��� � �

����� ����� ���� ����������

��� � �

����� ����� � �������������

��� � �

Fig. 4.10: Graficas de la salida de los diferentes nodos del sistema.

Page 78: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Capıtulo 5

Evaluacion y resultados

5.1 Frecuencia de muestreo

Muchos de los sistemas de tiempo real estan embebidos en sensores y actuadores yfuncionan como controladores digitales [Liu(2000)]. El termino planta en el diagramade bloque se refiere al sistema controlado, por ejemplo, un motor, los frenos de unautomovil, o un paciente. El estado de la planta es registrado por sensores y puedeser cambiado por medio de actuadores. El sistema de computo de tiempo real estimade las lecturas del sensor el estado actual de la planta y realiza un computo de controlbasado en la diferencia entre el estado actual y el estado deseado (llamado tambienentrada de referencia). La salida ası generada activa a los actuadores, los cualesacercan a la planta al estado deseado.

Como ejemplo, podemos considerar un sistema de control analogo de entrada y salidaunica PID (Proportional, Integral, and Derivative). Este tipo de control se utilizacomunmente en la practica [Liu(2000)]. El sensor analogo lee u(t) y da la medida delestado de la planta al tiempo t. La expresion e(t) = r(t)− u(t) denota la diferenciaentre el estado deseado r(t) y la medida del estado u(t) al tiempo t. La salida y(t)del controlador consiste en tres terminos: un termino que es proporcional a e(t),un termino que es proporcional a la integral de e(t) y un ultimo termino que esproporcional a la derivada de e(t).

El espacio temporal T entre dos instantes consecutivos en los cuales y(t) y r(t) sonregistrados, es llamado periodo de muestreo. T es clave en la eleccion del disenoy el comportamiento resultante de un controlador digital depende de este parame-tro. Idealmente se quiere que el muestreo se comporte como la version analoga.En consecuencia, se busca encontrar un periodo de muestreo T que tenga un buendesempeno.

Para realizar la seleccion en el periodo, es necesario considerar dos factores:

1. El primero es la sensibilidad percibida en el sistema (es decir entre planta yactuador). Muchas veces, el sistema es operado por una persona. El operador

77

Page 79: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 78

puede pedir una accion en cualquier tiempo, digamos al tiempo t. El cambioen la entrada de referencia es leıdo y tomado en cuenta en el controlador digitalal siguiente instante de muestreo. Este instante puede ser a lo mas t+ T . Ası,el muestreo introduce un retraso en la respuesta del sistema y este no debeexceder el lımite establecido en la especificacion.

2. El segundo factor es el comportamiento de la dinamica de la planta. Se re-quiere que en general, en el sistema de control, se mantenga una oscilacion derespuesta pequena. Sin embargo, un periodo de muestreo pequeno incrementa-rıa la frecuencia de computo en el control y uno grande impedira una respuestapronta a los diferentes cambios que se susciten.

Se puede ver claramente, el efecto que tiene la frecuencia de muestreo en la dinamicade un sistema de control, Fig. 5.1.

� � � ��� �

� �

(a) muestreo frecuente

� � � ��� �

� �

(b) muestreo medio

� � � ��� �

� �

(c) muestreo espaciado

Fig. 5.1: Efectos en el muestreo.

En la Fig. 5.1.a la frecuencia de muestreo es alta y por lo tanto la respuesta se acercaal comportamiento adecuado (mostrado en forma continua o analoga). En la Fig.5.1.b la frecuencia de muestreo disminuye y la respuesta ya no es tan adecuada, puedehaber cierta degradacion, pero al final el sistema permanece estable. Finalmente enla Fig. 5.1.c el periodo de muestreo aumenta y en este caso la dinamica diverge.

Una planta tıpicamente tiene mas de un grado de libertad. Su estado es definidopor varias variables de estado (por ejemplo en un brazo mecanico, podemos medir:su posicion, la presion que ejerce, etcetera). Por eso, el sistema es monitoreado por

Page 80: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 79

varios sensores y controlado por varios actuadores. Se puede pensar en un controladormultivariado (es decir multi entrada, multi salida) para tal planta como un sistemade controladores de entrada salida.

Como ejemplo de lo anterior, si se supone como sistema un motor y como variablesprincipales la velocidad de rotacion y su temperatura, se tendra en consecuencia, dosgrados de libertad.

Ademas de que los sistemas de control pueden tener varios grados de libertad, losperiodos de frecuencia generalmente no son los mismos. En el ejemplo anterior, lavelocidad de rotacion del motor cambia mas rapidamente que su temperatura. Enconsecuencia la velocidad de medicion del periodo de muestreo para el motor es masgrande que en el sensada de temperatura.

En el caso de los sistemas multivariados, no existe una sola frecuencia de muestreopor lo que la eleccion de la frecuencia optima para el sistema se vuelve un problemamas complicado que cuando se tiene un sistema con una sola frecuencia.

5.2 Desempeno de la aplicacion

La tendencia de los sistemas modernos industriales y comerciales es integrar computo,comunicacion y control, en diferentes niveles de operaciones de fabricas y procesosde informacion. Por ejemplo, un sistema de manufactura integrado, puede incluirmaquinas controladas por computadoras numericas, herramientas de diseno asistidaspor computadora, controladores de supervision y dispositivo de monitoreo inteligente[Lian et al.(2002)].

La introduccion de arquitecturas de redes de control fieldbus, pueden mejorar laeficiencia, flexibilidad y fiabilidad en estas aplicaciones integradas. Reduciendo, ins-talaciones, reconfiguracion, tiempo de mantenimiento y costos. El cambio de laarquitectura de comunicacion de punto a punto, a un bus comun, introduce diferen-tes formas de retrasos inciertos, entre sensores, actuadores y controladores. Estosretardos de tiempo vienen de compartir el medio de comunicacion, junto con unafuncionalidad adicional requerida para la codificacion de las senales fısicas en losprocesos de comunicacion. Las caracterısticas de los retardos de tiempo pueden serconstantes, acotados o aun al azar, dependiendo de los protocolos de red adopta-dos y hardware escogido. Este tipo de retardos puede potencialmente degradar alrendimiento del sistema y posiblemente causar inestabilidad en el sistema.

La investigacion de esta clase de sistemas, llamados sistemas de control en red (net-worked control systems, NCS), se ha enfocado en dos areas: protocolos de comunica-cion y diseno de control [Lian et al.(2002)]. Un protocolo de transmision adecuadade mensajes es necesario para garantizar la calidad de servicio en la red (networkquality of service, QoS), mientras el diseno de un control avanzado es deseable paragarantizar la calidad de servicio en el rendimiento del control (quality of performance,QoP). Cabe senalar que DCS (Distributed Control Systems) se presenta como una

Page 81: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 80

variante de NCS dado que en el primero el controlador puede no estar concentradoen un solo proceso. En el caso de NCS se tiene al control centralizado en un nodode la red.

Hay una gran variedad de redes de control disponibles comercialmente como Con-trolNet, DeviceNet, Ethernet, CAN, etcetera, para la implementacion de una arqui-tectura NCS. Durante el diseno de una NCS, una grafica de rendimiento puede serderivada como se muestra en la Fig. 5.2.

� ����� ����� ����� � ����������� ����

� ����� � ��� ����!� "$#

%&'

(!) *,+ -�.

/ 0�1�2 3 0�45�6 7�6 2 8�49 :�;�<�= >�= :�;�? @= ;�AB :�C�? A�DE :

F G�H�I�J K�J G�H�L MNO G�P�L N�QR G

S�T�U�V W T�XS�T�U�V Y UZ�T

[]\_^a` bdcebfce\hgji]\dk�lm^n\eb

opqrs tspqu v

Fig. 5.2: Rendimiento de acuerdo al periodo de muestreo.

Esta grafica de rendimiento, provee un camino claro para escoger el apropiado perıodode muestreo para una NCS. La Fig. 5.2 muestra la comparacion del rendimientodel control contra el periodo muestreo para el control continuo, control digital ycontrol en red. Las regiones del peor, inaceptable, aceptable y mejor caso, puedenser definidas de las especificaciones del sistema de control, tales como: sobrecarga,error de estado establecido, y/o margen de fase, etc. El eje del rendimiento en laFig. 5.2 puede ser escogido para reflejar un subconjunto de estas metricas.

Ya que el rendimiento del control continuo no es una funcion del periodo de muestreo,el ındice del rendimiento es constante por una ley de control fija.

Para el caso de control digital, el rendimiento depende solamente del periodo demuestreo asumiendo que no hay otras incertidumbres, seccion 5.1. El punto dedegradacion de rendimiento A del periodo de muestreo PA en el control digital puedeser estimado basado en la relacion entre el ancho de banda del sistema de controly la velocidad de muestreo. Notese tambien, que al aumentar la frecuencia, hayuna sobrecarga en el proceso, por lo que, puede presentarse cierta degradacion derendimiento en el sistema.

Para el caso del control en red, el punto PB puede ser determinado por investigacionesexhaustivas de las caracterısticas y estadısticas de los retardos inducidos por la redy los retardos de los dispositivos de proceso. Cuando el periodo de muestreo se hace

Page 82: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 81

mas pequeno, la carga en el trafico de la red se vuelve mas pesado. La posibilidadde una mayor contencion de tiempo o perdida de datos se incrementa en una redcon ancho de banda limitada y grandes retardos en el tiempo pueden resultar. Estasituacion causa la existencia del punto PC en una NCS. A continuacion, se presentade esta tesis, como encontrar la maxima eficiencia en el sistema de control propuesto,de acuerdo a los parametros de control y de planificacion.

5.3 Evaluacion y resultados

El exito en el diseno e implementacion de una aplicacion de control en tiempo real,requiere interacciones entre varias disciplinas tecnicas incluyendo, ingenierıa meca-nica, de control y de computacion entre otras. Esto es especialmente importanteen vista de las aplicaciones mecatronicas actuales y futuras, donde los subsistemashan sido integrados, para incrementar la funcionalidad, confiabilidad y reduccion decostos. La integracion es hecha en el lado del control por inclusion de funciones decontrol coordinado y en el sistema por inclusion de redes embebidas formando unbus de informacion en el sistema [Torngren(1998)].

Los sistemas de control por computadora en tiempo real son percibidos como unsistema de computo, que reacciona a eventos externos, dentro de algun plazo lımiteestipulado. (El concepto de plazos lımite es necesario pero no suficiente para lasaplicaciones de control).

En esta seccion se analiza la participacion de la planificacion en un sistema de control,bajo el esquema de planificador por planes propuesto por Almeida [Almeida et al.(1999)].Se muestran las diferentes respuestas del caso de estudio bajo diferentes escenariosy se propone una tecnica de funcionamiento del planificador por planes bajo unesquema de reconfiguracion.

5.3.1 Obtencion de la tabla de vectores de configuracion es-tables y planificables

Es necesario hacer un analisis sobre todos los casos posibles que pueda tener el casode estudio, desde el punto de vista de la comunicacion, para ello es necesario obteneruna tabla que ayude en el analisis de los diferentes escenarios que se puedan presentaren el sistema.

Como se vio anteriormente en la seccion 5.2, el periodo de muestreo es una piezaclave para que un sistema sea optimo. Sin embargo el sistema considerado en estatesis es multivariado, por lo que, encontrar el periodo de muestreo optimo, es unproblema con multiples optimos locales, para encontrar la solucion se ha estudiadoel impacto de la planificacion, basado en una tabla de informacion de las posiblesconfiguraciones del sistema. A continuacion se describe el procedimiento utilizadopara encontrar tal conjunto de informacion.

Page 83: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 82

Sabemos que la informacion de las tareas esta definida por el siguiente vector.

[P0, P1, P2, P3, P4, P5, P6, C0, C1, C2, C3, C4, C5, C6] (5.1)

Donde los P ′s denotan los periodos y los C ′s denotan los tiempos de proceso. A estevector se le llamo vector de configuracion. Recuerdese que de acuerdo al planificadorpor planes, los periodos de las tareas son multiplos del CE (ciclo elemental) y quelos tiempos de proceso no pueden ser mayores a 1 CE, seccion 4.1.1.

El orden que se tomo para los nodos del sistema es el siguiente.

nodo componente

0 planta1 sensor 12 sensor 23 sensor 34 controlador5 motor 16 motor 2

Table 5.1: Asignacion de los nodos en el sistema.

Ası por ejemplo, podemos tener los siguientes parametros del sistema

[3, 4, 4, 5, 2, 2, 1, .1, .15, .6, .8, .7, .55, .2] (5.2)

Es decir que el nodo 0 (planta) tendra un periodo de 3 CE’s y un tiempo de procesode 0.1 CE. Para el nodo 1 (sensor 1) se tendra un periodo de 4 CE’s y un tiempo deproceso de 0.15 CE, etcetera. Es posible que en una ventana de tiempo posterior,los parametros del sistema puedan cambiar por ejemplo el periodo de la planta de 3a 2 CE’s, esto debido principalmente a algun reajuste en el sistema.

En varios de los sistemas de control, es comun que surjan cambios en la configu-racion del sistema. Ya sea, porque se agregan o quitan componentes o porque losmismos componentes deben funcionar en un modo diferente. Estos cambios, haranque la respuesta dinamica en el sistema cambie. El control y el planificador deberanasegurar que el sistema funcionara adecuadamente.

El planificador se encarga, que las tareas cumplan con sus plazos lımites.

• Primero, se tendra que informar al planificador, los cambios que ocurrieron enlos parametros del sistema.

Page 84: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 83

• El planificador, hara la prueba de planificacion en el conjunto de tareas yeventualmente informara al usuario, el resultado de la comprobacion. En casode ser positivo, hara el correspondiente plan de ejecucion de tareas.

• Finalmente el despachador (que puede ser el mismo planificador), distribuirael plan producido a cada uno de los nodos para su ejecucion. Si se utilizael planificador propuesto por Almeida (seccion 4.1.1), el plan se enviara alfinalizar la actual ventana de tiempo.

Sin embargo, en un sistema de control, el hecho de garantizar que un conjunto detareas es planificable, no asegura que el sistema vaya a ser estable. Por ejemplo,un conjunto de tareas tiene mayor probabilidad de ser planificable, si se hace que lalongitud en los periodos aumente. Por el contrario, al hacerse mas pronunciados losperiodos en las tareas, hara que la respuesta en el control disminuya y por lo tantoaumente la probabilidad de inestabilidad, seccion 5.1.

Ası pues, se debe estudiar, el efecto de los cambios que surjan en el sistema.

Para resolver el problema de encontrar un sistema optimo bajo el esquema de lareconfiguracion, se ha tomado como principal metrica de rendimiento, que el sistemasea: primero planificable y segundo que su respuesta dinamica sea valida.

Para solucionar el problema anterior, se estudio el comportamiento de la dinamicadel sistema bajo cambios en los parametros de los nodos.

1. Se hizo un analisis, en un conjunto amplio de combinaciones de los diferentesparametros que definen al sistema de control (es decir los periodos y tiemposde ejecucion de las tareas).

2. Del conjunto de combinaciones de parametros de los trabajos, se hizo unafiltracion de combinaciones que son planificables separandolas de aquellas queno lo son.

3. Del conjunto planificable, se realizo una simulacion sobre un lapso de tiemposuficientemente largo que expusiera que conjuntos contaban con un regimende funcionamiento estable (el lector entendera que la relacion de estabilidad selleva a cabo de manera intuitiva con base a la respuesta grafica del sistema,dejando su demostracion como trabajo futuro).

Todo ello se realizo bajo una funcion escalon de valor unitario en la entrada del nodoplanta.

Para obtener las combinaciones que serviran para estudiar los cambios en la configu-racion, se divide al vector de configuracion en dos partes. En la primera se encuentranlos periodos y en la segunda sus correspondientes tiempos de ejecucion. Dado quese trabaja con diferentes configuraciones de periodos y tiempos de consumo local,se genera una matriz como resultado de las combinaciones locales. Ahora bien para

Page 85: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 84

conseguir esta matriz, primero se obtiene una matriz de referencia correspondiente alos periodos de las tareas.

Se genera, una matriz de periodos de combinaciones sin repeticion de las siete tareasa planificar (planta, tres sensores, control y dos actuadores), tabla 5.2. La razon deque sean combinaciones sin repeticion, es que desde la perspectiva del planificador,los valores de los periodos de los nodos involucrados tienen la misma prioridad. Esdecir que para el analisis y generacion del plan, no importa a que nodo se le asigneque valor de periodo (esto, obviamente no sera el mismo caso para el control).

Se debe observar que los valores de los periodos, son multiplos del CE y que susvalores en las combinaciones sin repeticion de las siete tareas, llegan hasta un valormaximo de 5 CE’s de la siguiente forma (tabla 5.2):

P0 P1 P2 P3 P4 P5 P6

1 1 1 1 1 1 11 1 1 1 1 1 21 1 1 1 1 1 31 1 1 1 1 1 41 1 1 1 1 1 51 1 1 1 1 2 21 1 1 1 1 2 3

...4 4 4 4 4 4 44 4 4 4 4 4 54 4 4 4 4 5 54 4 4 4 5 5 54 4 4 5 5 5 54 4 5 5 5 5 54 5 5 5 5 5 55 5 5 5 5 5 5

Tabla 5.2: Tabla con los posibles valores de los periodos.

En una forma analoga se genera la matriz de los tiempos de ejecucion de las tareas.En este caso, la resolucion que se ha escogido, es de 0.1 de CE. Recuerdese que elmonto de tiempo de cada intervalo de ejecucion no debe exceder a 1 CE, seccion 4.1.1.Con estas consideraciones se genera la tabla 5.3 de combinaciones sin repeticion delos tiempos de ejecucion.

A partir de ello, se crea, una matriz con todas las combinaciones de valores queincluyan tanto a los periodos como a los tiempos de ejecucion. Para obtener taltabla es necesario utilizar las combinaciones de la tabla 5.2 y la tabla 5.3. Parala obtencion de la matriz, se toma cada una de las combinaciones de la matriz deperiodos 5.2 y enseguida, todas las combinaciones posibles de la tabla de los tiemposde ejecucion (tabla 5.3), que puedan tener las tareas. Este proceso da como resultado

Page 86: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 85

c0 c1 c2 c3 c4 c5 c6

.1 .1 .1 .1 .1 .1 .1

.1 .1 .1 .1 .1 .1 .2

.1 .1 .1 .1 .1 .1 .3...

.1 .1 .1 .1 .1 .1 .9

.1 .1 .1 .1 .1 .1 1

.1 .1 .1 .1 .1 .2 .2

.1 .1 .1 .1 .1 .2 .3...

.9 .9 .9 .9 .9 .9 .9

.9 .9 .9 .9 .9 .9 1

.9 .9 .9 .9 .9 1 1

.9 .9 .9 .9 1 1 1

.9 .9 .9 1 1 1 1

.9 .9 1 1 1 1 1

.9 1 1 1 1 1 11 1 1 1 1 1 1

Tabla 5.3: Tabla con los posibles valores de los tiempos de ejecucion. C ′s.

la tabla 5.4.

La tabla 5.4, representa para el caso de estudio, una amplia gama de combinaciones,que pueden ser utilizadas en el analisis para encontrar los parametros de optimi-zacion. Para otras situaciones la misma metodologıa puede ser utilizada. Ya seaaumentando o disminuyendo el valor en el periodo o al acrecentar o reducir el valorde la resolucion en los tiempos de ejecucion.

Una vez obtenida la tabla 5.4, el primer paso es realizar, un analisis de planificabilidad(seccion 4.1.2) en el planificador sobre cada combinacion y ası saber si el conjuntoes planificable o no. Con esta accion se hace un primer filtro, que discrimina lascombinaciones planificables a partir de la verificacion de Almeida.

Para obtener las combinaciones que cumplen la comprobacion de Almeida, fue nece-sario construir un simulador que hiciera la verificacion, decidiera si cumplıan o no yfinalmente mandar la salida a los archivos de resultados.

Despues de obtener las combinaciones planificables, es necesario saber si la combi-nacion bajo cambios en la entrada es estable o no en cierto lapso de tiempo.

Como ya se menciono en la seccion 4.2, se ha construido una aplicacion en RT-Linuxque se encarga de hacer la simulacion del sistema de control. El sistema implementael planificador propuesto por Almeida que genera los planes y que a su vez instruyea los hilos despachadores de cada nodo, cuando se deben de ejecutar las diferentesacciones. Las aplicaciones que simulan los nodos reciben las senales y generan las

Page 87: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 86

P0 P1 P2 P3 P4 P5 P6 C0 C1 C2 C3 C4 C5 C6

1 1 1 1 1 1 1 .1 .1 .1 .1 .1 .1 .11 1 1 1 1 1 1 .1 .1 .1 .1 .1 .1 .21 1 1 1 1 1 1 .1 .1 .1 .1 .1 .1 .3

...1 1 1 1 1 1 1 .1 .1 .1 .1 .1 .1 .91 1 1 1 1 1 1 .1 .1 .1 .1 .1 .1 11 1 1 1 1 1 1 .1 .1 .1 .1 .1 .2 .21 1 1 1 1 1 1 .1 .1 .1 .1 .1 .2 .3

...5 5 5 5 5 5 5 .9 .9 .9 .9 .9 .9 .95 5 5 5 5 5 5 .9 .9 .9 .9 .9 .9 15 5 5 5 5 5 5 .9 .9 .9 .9 .9 1 15 5 5 5 5 5 5 .9 .9 .9 .9 1 1 15 5 5 5 5 5 5 .9 .9 .9 1 1 1 15 5 5 5 5 5 5 .9 .9 1 1 1 1 15 5 5 5 5 5 5 .9 1 1 1 1 1 15 5 5 5 5 5 5 1 1 1 1 1 1 1

Tabla 5.4: Tabla con los posibles valores de P ′s y C ′s.

salidas correspondientes con base a los valores recibidos de otros nodos y del tiempoen cual se hacen los calculos.

De esta forma, se plantea la dinamica, con base en los valores obtenidos del planifica-dor, ası como, su rendimiento bajo su respuesta en el tiempo. Todo ello realizandoseen tiempo real. Sin embargo como se ha visto, la tabla generada de las posiblescombinaciones de las tareas es una matriz muy grande. Por lo que hacer las prue-bas usando esta aplicacion, serıa bastante laborioso. En su lugar, tambien se haconstruido un simulador, que genera exactamente la dinamica antes mencionada.

Para calibrar el simulador, fue necesario obtener valores promedios en los retardosde tiempo de la transmision de datos entre nodos, entre disparadores y nodos, yen los tiempos de ejecucion. Si las mediciones se hubiesen hecho, con el sistemaimplementado en varias maquinas, la medicion de los retardos de tiempo, tendrıa quehaber sido mas detallada, aunque una vez que se obtuvieran los valores promedios,el mismo simulador servirıa de igual forma.

Finalmente, para obtener el resultado de la estabilidad en la automatizacion dela simulacion, se hizo una simulacion de la dinamica sobre cada combinacion. Alrespecto de la decision de si el sistema es estable o no, sobre los datos de salida selee el ultimo valor sobre la salida del nodo controlador y se hace una comparacioncon un valor fijo determinado, en este caso se tomo como uno.

El procedimiento anterior permite refiltrar las combinaciones posibles en el sistema

Page 88: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 87

que: primero sean planificables y que en segundo termino induzcan una dinamicaestable en la dinamica del sistema. En consecuencia, con el procedimiento anterior,se obtiene una matriz cuyos datos son optimos tanto en el terreno del control comotambien en la teorıa de los sistemas de tiempo real.

Cabe hacer mencion que una vez que se tiene una combinacion que sea planificable,existe aun un problema en cuanto a la asignacion de las tareas. Desde el puntode vista de la planificacion no importa como se asignen las tareas a los nodos. Sinembargo desde el punto de vista del control, puede ocurrir que la asignacion tengarelevancia (por ejemplo, si al controlador se le asigna el periodo mas grande, puedehaber una degradacion en el control).

Como la asignacion de los periodos y de los tiempos de ejecucion es importante, esnecesario completar la tabla de resultados con las posibles combinaciones en los tiem-pos de ejecucion, para cubrir todos los casos. Para ejemplificar el parrafo anterior,si tenemos el vector de configuracion.

[4, 3, 2, 7, 5, 5, 6, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2] (5.3)

Tambien se tienen que analizar los vectores de la tabla 5.5:

Vectores de configuracion, con cambio en los valores de C’s

[4, 3, 2, 7, 5, 5, 6, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2, 0.1][4, 3, 2, 7, 5, 5, 6, 0.1, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1][4, 3, 2, 7, 5, 5, 6, 0.1, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1][4, 3, 2, 7, 5, 5, 6, 0.1, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1][4, 3, 2, 7, 5, 5, 6, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1][4, 3, 2, 7, 5, 5, 6, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]

Tabla 5.5: Combinaciones de los tiempos de proceso del vector de configuracion 5.3.

En numero de combinaciones aumenta, al aumentar el numero de valores diferentesde los tiempos de ejecucion.

5.3.2 Ejemplos de dinamicas sobre varios escenarios

En esta seccion, se presentan las distintas dinamicas que tiene el caso de estudio bajodiferentes escenarios.

El primer ejemplo muestra la dinamica del sistema bajo el esquema estable. Parailustrar el ejemplo, se usan los parametros des sistema de la tabla 5.6.

El resultado de la dinamica se observa en la Fig. 5.3. Se puede observar en las figuras,que se agrego a la entrada de la planta, un pulso de periodo de 200 segundos. Ello

Page 89: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 88

planta sensor 1 sensor 2 sensor 3 controlador actuador 1 actuador 2

P 5 4 6 5 4 4 5C 0.3 0.3 0.8 0.4 0.2 0.3 0.3

Tabla 5.6: Parametros de dinamica estables y planificables.

permite, una mejor apreciacion de la reaccion del controlador, al presentarse cambiosbruscos en el comportamiento de la planta. Tambien se hizo un acercamiento de ladinamica entre los tiempos de 490 s y 535 s.

Los datos de la tabla 5.6 forman el siguiente vector de configuracion del sistema, verla seccion 4.2.

[5, 4, 6, 5, 4, 4, 5, 0.3, 0.3, 0.8, 0.4, 0.2, 0.3, 0.3] (5.4)

donde los valores de la P ’s y de las C ’s estan en terminos del CE. Para las graficas 5.3se utilizo el valor para el CE de 0.1 seg. y la ventana de tiempo igual a 24 CE’s. Eltamano del macrociclo con los valores de los periodos es: mcm(5, 4, 6, 5, 4, 4, 5) = 60.

A continuacion se muestra el proceso de validacion y acomodo de tareas, en el es-quema del planificador por planes.

Dado el vector de configuracion 5.4, el planificador debe decidir si el conjunto esplanificable y en caso de serlo, generar el plan correspondiente.

Para saber si el conjunto cumple con la comprobacion de planificacion, Almeidapropone la siguiente ecuacion, seccion 4.1.2.

U =N∑i = 1

CiPi

< N(21N − 1)× E −X ′

E(5.5)

Substituyendo los datos del vector 5.4 se tiene:

U =N∑i = 1

CiPi

= 0.533 < 0.72× CE −X ′

CE(5.6)

Para obtener el tiempo maximo ocioso X’max, en la tabla 5.7, se muestra el plangenerado a partir de la tecnica de insercion de tiempos ociosos.

En el primer renglon se indica el orden de ejecucion de los nodos del sistema. Deacuerdo a la polıtica del planificador monotonico, las tareas que tienen menor periodo,son las que se ejecutan primero. Ası el orden es el siguiente: 3, 0, 6, 4, 1, 2, 5. Es

Page 90: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 89

Fig. 5.3: Graficas de y(t) de los diferentes nodos del sistema con un comportamientoestable.

Page 91: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 90

planta sensor1 sensor2 sensor3 controlador actuador1 actuador2

orden 3 0 6 4 1 2 5

P 5 4 6 5 4 4 5

C 0.3 0.3 0.8 0.4 0.2 0.3 0.3

t X ’0 0-0.3 0.03-0.05 0.05-0.08 0.02

0.1 0.1-0.13 0.13-0.17 0.17-0.2 0.00.2 0.2-0.28 0.020.3 (0.2-0.28)0.4 0.4-0.43 0.43-0.45 0.45-0.48 0.020.50.6 0.6-0.63 0.63-0.67 0.67-0.7 0.00.70.8 0.8-0.83 0.83-0.85 0.85-0.88 0.020.9 0.9-0.98 0.021.01.1 1.1-1.13 1.13-1.17 1.17-1.2 0.01.2 1.2-1.23 1.23-1.25 1.25-1.28 0.021.31.41.5 1.5-1.58 0.021.6 1.6-1.63 1.63-1.65 1.65-1.68 0.021.7 1.7-1.73 1.73-1.77 1.77-1.8 0.01.81.92.0 2.0-2.03 2.03-2.05 2.05-2.08 0.022.1 2.1-2.18 0.022.2 2.2-2.23 2.23-2.27 2.27-2.3 0.02.3

Tabla 5.7: Plan de la Fig. 5.3, con tiempos de inicio y termino de cada tarea.

Page 92: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 91

decir, que primero se ejecuta el sensor 1, luego el controlador, enseguida el actuador 1,etc.

En el segundo renglon estan indicados los valores de los periodos y en tercero lostiempos de ejecucion de cada una de las tareas. Ellos estan expresados en terminosdel CE. Ası por ejemplo, como el CE = 0.1 s, entonces el tiempo de proceso delsensor 1 = 0.3 CE = 0.03 s.

Para indicar en que tiempo se deben de ejecutar las tareas, en la primera columnase indica el tiempo en segundos y tiene como encabezado la leyenda t.

Se puede observar que los nodos que tienen el periodo mınimo (en este caso 4 CE) sonlos que tienen mayor prioridad y se ejecutan en el tiempo 0 CE. Ellos son: sensor 1,controlador y actuador 1.

Los siguientes nodos en ejecutarse son los que tienen periodo 5 CE. Ellos son: planta,sensor 3 y el actuador 2. Sus tiempos de ejecucion son de .3 y .4 CE. Ellos comienzansu ejecucion en el tiempo 1 CE, ya que no hay lugar para su ejecucion en el 0 CE.

En ultimo lugar, se ejecuta el nodo correspondiente al sensor 2, que tiene la menorprioridad. Puesto que el tiene un tiempo de proceso de 0.8 CE, se ejecuta hasta elrenglon 0.2 s, al tener un periodo de 0.8 CE.

Todos los nodos despues de tomar su fase, comienzan a ejecutarse periodicamente deacuerdo a su parametro correspondiente P, excepto el sensor 2 que tiene que pasarsedel tiempo 0.8 CE al 0.9 CE. Para que todas las tareas mantengan sus periodosnotese que se puede modificar la fase del sensor 2 del tiempo de 0.2 s al tiempo de0.3 s, indicado entre parentesis en la tabla 5.7, para que esta tarea no tenga ningunproblema.

Finalmente en la ultima columna se muestran los tiempos ociosos en cada tiempo delos CE’s.

Otra grafica que muestra los tiempos acumulados de los tiempos de ejecucion, utili-zando la tecnica de insercion de tiempos ociosos, es la Fig. 5.4. En la grafica, el ejede las abscisas representa al tiempo y el de las ordenadas representa los tiempos deejecucion acumulados.

Puesto que el tiempo maximo de un CE es 0.1 s, la suma de los tiempos de ejecucionno debe rebasar este tiempo. Para calcular el maximo de los tiempos ociosos, solose toman en cuenta los CE’s donde hay al menos se ejecuta una tarea. Los tiemposociosos X ′ son la diferencia de 0.1 s con las maximas alturas de las columnas.

En la tabla 5.7, se observa que el maximo tiempo ocioso es : X’max = 0.2 CE, por loque la ecuacion 5.6, da como resultado:

U =N∑i = 1

CiPi

= 0.533 < 0.729× 1− 0.2

1= 0.583 (5.7)

El resultado es entonces que el vector de configuracion 5.4, es planificable.

Page 93: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 92

tarea 0

tarea 1

tarea 2

tarea 3

tarea 4

tarea 5

tarea 6

0

0.02

0.04

0.06

0.08

0.1

C’s

0 0.5 1 1.5 2 2.5tiempo s

Fig. 5.4: Acomodo de las tareas de la tabla 5.7, en el tiempo.

El hecho de que un vector de configuracion sea planificable, no necesariamente implicaque la dinamica va a ser estable. El siguiente ejemplo, vector 5.8, muestra un vectorde configuracion planificable y que sin embargo muestra una dinamica inestable.

[4, 4, 4, 5, 5, 5, 6, 0.3, 0.3, 0.8, 0.4, 0.3, 0.2, 0.3] (5.8)

En la Fig. 5.5, se muestran los comportamientos de las dinamicas del sistema convector de configuracion 5.8 planificable, pero inestable. Se ha hecho un acercamientoal intervalo de tiempo de los 290 s y 335 s, punto en donde los valores de la salidatienden a infinito.

Se debe hacer notar, que este tipo de inestabilidad, se debe solamente a un cambiode parametros en los nodos. Esto desde el punto de vista del planificador no esimportante, pero si lo es desde el punto de vista del control. Ası por ejemplo, aunqueel vector de configuracion 5.8, es inestable, los siguientes vectores de la tabla 5.8, queson el resultado de algunas permutaciones en los tiempos de proceso (marcados ennegritas) no lo son.

[4, 4, 4, 5, 5, 5, 6, 0.3, 0.3, 0.8,0.3,0.4,0.3,0.2][4, 4, 4, 5, 5, 5, 6, 0.3, 0.3, 0.8, 0.4,0.2,0.3, 0.3][4, 4, 4, 5, 5, 5, 6, 0.3, 0.3, 0.8, 0.4, 0.3,0.3,0.2][4, 4, 4, 5, 5, 5, 6, 0.3,0.4,0.2,0.3, 0.3,0.3,0.8]

Tabla 5.8: Lista de vectores que son planificables y estables, similares al vector deconfiguracion 5.8.

Page 94: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 93

Fig. 5.5: Graficas de y(t) de los diferentes nodos del sistema con un comportamientoinestable.

Page 95: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 94

Otro experimento que se analizo, al estudiar la dinamica del sistema, fue al agregarretardos aleatorios en el los tiempos de ejecucion. La forma en que se realizo elexperimento, fue de la siguiente forma.

Primero, se calculo el plan de un vector de configuracion, haciendo las respectivaspruebas de planificabilidad y estabilidad. Un vector de ejemplo de configuracion esel siguiente:

[4, 4, 4, 5, 5, 5, 6, 0.2, 0.3, 0.3, 0.3, 0.3, 0.4, 0.9] (5.9)

Con el vector 5.9, se obtiene la salida de la Fig. 5.7. En las figuras tambien se hizo unacercamiento sobre el comportamiento de la dinamica sobre en intervalo de tiempode los 490 s a los 535 s.

La magnitud de los retardos de tiempo en todos los nodos fue de un orden menos delos tiempos de proceso de las tareas.

Para poder apreciar el comportamiento de la dinamica, se ha agregado la Fig. 5.6,que muestra el comportamiento de la dinamica del mismo vector de configuracion siagregar ningun tipo de retardo temporal.

En estas figuras se puede apreciar claramente en los acercamientos, que hay unadegradacion del sistema de control al hacerse mas lenta la respuesta del controlador.Ello, ocasionalmente podrıa hacer que el sistema llegara a la desestabilizacion.

Para terminar de mostrar la importancia de los retardos de tiempo en la dinamicade un sistema de control, a continuacion se muestra el comportamiento del caso deestudio cuando surge una falla en el sistema. En este caso se supone que uno de lossensores va a fallar. Fig 5.9.

El vector de configuracion para realizar el analisis fue:

[4, 4, 4, 4, 5, 5, 5, 0.7, 0.1, 0.3, 0.4, 0.1, 0.5, 0.2] (5.10)

El procedimiento para efectuar los experimentos fue hacer todo el procedimiento,como en los casos anteriores, pero haciendo que el sensor 1 no mande ninguna salidaal controlador. De esta forma el controlador tendra menos informacion y de acuerdoa la dinamica del controlador de la tabla 4.1, el controlador no contara con la entradadel sensor 1 y por lo tanto el valor de salida de la dinamica aumentara.

La comparacion en el comportamiento de la dinamica al interrumpir un nodo, sepuede apreciar al comparar la Fig. 5.8 donde todos los nodos funcionan normalmentey la Fig. 5.9, en donde el sensor 1 recibe senales pero no manda ninguna respuestade salida.

Page 96: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 95

Fig. 5.6: Graficas de y(t) de los diferentes nodos del sistema, sin aplicar retardos detiempo.

Page 97: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 96

Fig. 5.7: Graficas de y(t) de los diferentes nodos del sistema, al aplicar retardos detiempo.

Page 98: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 97

Fig. 5.8: Graficas de y(t) suponiendo que no hay una falla en el nodo sensor 1.

Page 99: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 98

Fig. 5.9: Graficas de y(t) suponiendo que hay una falla en el nodo sensor 1.

Page 100: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 99

5.3.3 Uso del planificador en un sistema de control reconfi-gurable

Con la informacion anterior, es posible disenar el funcionamiento del planificador porplanes bajo un esquema de reconfiguracion.

En la seccion Tal, se ha visto como se ha construido un tabla que contiene la infor-macion concerniente a las combinaciones de los parametros de los vectores de con-figuracion que por una parte son planificables y que ademas exhiben una respuestadinamica adecuada de funcionamiento (estabilidad). La tabla servira entonces paracatalogar el rendimiento de un vector de configuracion que se proponga al realizarun plan.

El procedimiento que se sugiere para utilizar el planificador por planes, tiene la formade un ciclo, que se ejecutara cada ventana de tiempo.

1. Primero se propone un conjunto de parametros que se le dan al planificador.

El usuario o los mismos nodos pueden sugerir al planificador un vector deconfiguracion. Sea como ejemplo el vector 5.11.

[P0, P1, P2, P3, P4, P5, P6, C0, C1, C2, C3, C4, C5, C6] (5.11)

Este vector de configuracion, contiene la informacion completa del sistema aplanificar. En este caso el vector de configuracion se refiere al caso de estudiode esta tesis, pero el procedimiento puede aplicarse en general.

2. Segundo el planificador escoge de la base de datos (calculada como se explicoanteriormente) cual es la combinacion que mas se parece a la propuesta yutilizarla para garantizar

(a) la planificabilidad y

(b) la estabilidad en el sistema

El vector de configuracion propuesto tiene que ser comparado con las combi-naciones de la tabla que contiene la informacion de los resultados de la pla-nificabilidad. La informacion de las combinaciones esta ordenada en formaascendente, ver la tabla 5.4.

Para realizar la comparacion, primero se ordenan los periodos de las tareas demenor a mayor. En seguida se hace una busqueda binaria para saber cual es lacombinacion planificable mas cercana al vector de configuracion propuesto. Elparametro mas importante en los periodos de las tareas es su longitud ya quelos periodos mas cortos tendran mayor prioridad. Ası en la busqueda binaria lafuncion de comparacion escogera aquella que tenga los periodos mas pequenos.

Page 101: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 5. EVALUACION Y RESULTADOS 100

Luego de encontrar la combinacion con los periodos mas parecidos, se debeahora decidir que combinacion en los tiempos de ejecucion se debe escoger,esto es, se va a decidir en que forma se van a asignar los periodos y tiemposde ejecucion para que el sistema sea estable. En este caso no hay problemaen cuanto al orden original que se tenga del vector de configuracion, porquesi se recuerda en la seccion TAL, se vio que se cubrian todas las posiblescombinaciones de los tiempos de ejecucion.

En caso de que surja una falla en el sistema se puede obtener una tabla similara la propuesta, tomando en cuenta que hay un nodo menos.

Eventualmente en este punto, el planificador puede mostrar los resultados queobtuvo a un usuario, para posibles estrategias en la eleccion de ese vector.

3. Se calcula el plan a ejecutarse. Una vez que se ha determinado el vector deconfiguracion se procede a calcular el plan que sera despachado a los diferentesnodos.

4. Finalmente se despachan las tareas de acuerdo al plan propuesto por el pla-nificador, antes de inicializar la ventana de tiempo siguiente. El ciclo vuelvea comenzar cada ventana de tiempo, actuando de manera apropiada en al sis-tema de control, recuerdese que la metrica de desempeno que hemos usado esque el sistema sea planificable y esatable.

De esta forma, se ha propuesto un primer analisis del sistema de control propuestoque combina el control con el area de tiempo real.

Page 102: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Capıtulo 6

Conclusiones

Como se ha visto en los capıtulos anteriores, se ha desarrollado un metodo para ga-rantizar el desempeno optimo de un sistema de control utilizando el planificador porplanes y se ha hecho un analisis del comportamiento de la dinamica bajo diferentesescenarios de configuracion.

Ademas de proponer una solucion en el problema de la combinacion de la teorıa dela planificacion y la teorıa de control, este trabajo tambien pretende ser una basede trabajos posteriores, que ayuden a resolver al problema de la planificacion bajometodos mas eficientes que decidan si un vector de configuracion es viable o no.

La solucion propuesta es restringida bajo ciertos esquemas de reconfiguracion, yaque la tabla de datos calculada se basa con un tiempo fijo, prederminado, del cicloelemental. Si este cambia la tabla tendra que ser recalculada. Tambien se tendra querecalcular la tabla si por ejemplo se requiere una mayor granularidad en los tiemposde proceso (en esta tesis se estilizo una resolucion de 0.1 de ciclo elemental).

Por otra parte se observa que el tiempo de busqueda en la tabla de informacion,puede ser importante, si el tiempo del ciclo elemental se hace cada vez mas peque-no. En algunas aplicaciones de control, se espera que el orden de los periodos seade milesimas de segundo. A este respecto se debe recordar que el problema de laplanificacion es np-completo, por lo que una solucion que sea optima es difıcil delograr.

Una mejora importante que se puede realizar al presente trabajo es hacer un analismas exhaustivo acerca de las distancias entre el vector de configuracion propuesto yla de los vectores de configuracion“estables” en el espacio vectorial, ademas de que sepuede estudiar si existe algun patron en el espacio de soluciones que pueda mejorarel tiempo de busqueda de la solucion mas apropiada.

Para atacar el problema anteriror se han hecho algunas investigaciones experimentan-do con algoritmos geneticos para resolver problemas similares [Monnier et al.(1998)].Los algoritmos geneticos es un metodo de optimizacion desarrollado por Holland,que imitan un mecanismo adaptativo con grandes exitos en varios problemas np-completos incluyendo problemas de planificacion de talleres (shops).

101

Page 103: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 6. CONCLUSIONES 102

Otro metodo alterno de atacar el problema es sugerido al utilizar redes neuronalesartificiales en la solucion de los problemas de planificacion como problemas relacio-nados como en [Cardeira et al.(1997)].

Otra consideracion importante se debe a que en el diseno de los sistemas de control ysu implementacion en tiempo real, han sido desarrollados de formas separadas. Porejemplo, en la etapa del diseno del control se asume que la plataforma no afectarala ejecucion de sistema, esto es, esta proveera un comportamiento ideal. En lafase de implementacion del tiempo real se asume que los peores casos de ejecucionson conocidos, los periodos son fijos, los plazos lımites son duros, etcetera. Sinembargo, ninguna de las consideraciones anteriores es necesariamente verdadera, lasrestricciones impuestas por los recursos de la plataforma de computacion necesitanser tomados en cuenta. Por consecuencia si el sistema es implementado de tal formaque cada nodo se ejecute en un solo equipo de computo, se deberan de tomar encuenta con mucho mayor detalle, cuales son los retrasos temporales inducidos por lared, hacer un analisis de los tiempos de consumo en las funciones de cada nodo ytambien del tiempo de consumo en calcular los planes.

Aunque el sistema fue implementado en un solo equipo de computo el software estadisenado e implementado para que pueda implementarse sin mayor problema a variosequipos de computo. El analisis que se ha propuesto anteriormente servira de igualforma solo que se debera hacer un analisis mas detallado de los retardos temporalespara que sean tomados en cuenta correctamente en el sistema de simulacion.

Uno de los objetivos principales, serıa que a futuro se pueda encontrar formalmenteun predictor que pudiera retroalimentar al planificador para que el plan propuestocumpla con calidad de servicio Fig. 6.1. Esto es, con un conocimiento avanzadoacerca del espacio de soluciones optimas se pueda predecir cual va a ser el compor-tamiento de un sistema de control en el futuro.

��� ����� � �� �� �� � �����

�����������! �����"�#�$&% �('(�)�*% "��+�*% #��)"��,.- � � � � � � � � �/� � �� � �0� � �1� � � � � � � � �/� � �243 � �!� � � � � � �/� � �

576 8:9<; =�; >�8<?<@:A

BDC�EGF(HJI(K(H�L�MON

PRQ�S�T QVUXW�Y�T QVZ�[�\]U_^ ` aRU_` b�Y<Z�[<cRQ�^ ` Q�S�T [�\

d�e�fGg(hji(k(hml(honqp hor�s e�f

tvuxwzy4yO{�|t~}�� y<{��t �!�!�t�}�u y<{��

�z�~�z���<��������x��� �O�������� �!� ������ �<���G���

�������o  ¡£¢�¤o�

Fig. 6.1: Predictor de dinamica.

En general el metodo de solucion propuesto para encontrar los vectores de configu-

Page 104: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 6. CONCLUSIONES 103

racion optimos trabaja adecuadamente, aunque para ello se ha utilizado un metodode “fuerza bruta” para encontrar la solucion, sin embargo el presente trabajo sirvecomo preambulo en el estudio del rol de la planificaion en los sistemas de control.

Page 105: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Glosario

Capacidad de construccion. (composable) Se dice que un sistema tiene capaci-dad de construccion, si al integrarse cada uno de los componentes en el sistemacompleto, este posee las caracterısticas de sus componentes.

Capacidad de desempeno. (performability) Es una medida de rendimiento de unsistema, bajo un esquema de capas.

Ciclo elemental. (cycle elementary) El ciclo elemental CE, es un lapso de tiempoque sirve para dividir al macrociclo.

Comprobacion. (test) Una comprobacion es un medio por el cual la existencia ycalidad de ciertos atributos dentro de un sistema son determinados. Dentro deltiempo real es el analisis a priori para saber si el sistema funcionara adecuada-mente. Este tipo de analisis se llama comprobacion o prueba de planificabilidad

Confiabilidad. (dependability) La confiabilidad se define como la calidad de unservidor al que puede darsele una confianza justificada en el servicio que provee.

Controlador de red de area (Controller Area Network, CAN) Es un estandar decomunicaciones que fue originalmente desarrollado para aplicaciones de controlautomotriz distribuido y ahora se utiliza en redes fieldbus.

Demora. (tardiness) La demora del trabajo i se define como: Ti = max(0, Li).

Desperfecto. (failure) Un sistema tiene un cuando el comportamiento del sistemano es consistente con su especificacion, los desperfectos son causados por averıaso fallas (faults) en los componentes del sistema .

Determinismo en replicas. (replica determinism) Si un servicio dado es solicitadode un conjunto de replicas, entonces el resultado debera ser correcto aun sialguna de las replicas ha fallado, esto siempre y cuando el numero de replicases menor que un umbral definido.

Disparo. (trigger) Es un evento que causa el comienzo de un accion.

Disponibilidad instantanea. (availability) A(t) (funcion del tiempo) de un com-ponente se define como la probabilidad que un componente este funcionandocorrectamente al tiempo t.

104

Page 106: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 6. CONCLUSIONES 105

Disponibilidad restrictiva. (availability) Conocida simplemente como disponibi-lidad como el lımite de A(t) cuando el tiempo tiende a infinito (certeza de tenerel servicio en uso).

Error. (error) Un error es parte del estado de un sistema el cual es responsable deque aparezcan fallas subsecuentes.

Evento. (event) Cualquier suceso que ocurra en la lınea del tiempo.

Factor de utilizacion. () Se define como factor de utilizacion (en el procesador) lafraccion del procesador que se invierte en la ejecucion de un conjunto de tareas.

Falla. (fault, faute) Se define una averıa o falla como un defecto que tenga el po-tencial de generar errores.

Fiabilidad. (reliability) La fiabilidad de un sistema se define como una funciondel tiempo R(t), la cual representa la probabilidad que un sistema persistasatisfactoriamente hasta el tiempo t (continuidad de servicio). La fiabilidaddepende del intervalo de observacion.

Fieldbuses. (fieldbus) El concepto de fieldbuses se ha desarrollado y se consideraactualmente como un sistema de comunicaciones que es capaz de dar serviciosde cierta calidad, permitiendo su uso en diferentes niveles de una arquitecturade manufacturacion integrada por computadora.

Jitter. (jitter) Es la diferencia entre los tiempos de respuesta del algoritmo de con-trol maximo y mınimo.

Laxedad. (laxity) La variacion que pueda tener un proceso entre el maximo y elmınimo de la tardanza se llama laxedad.

Macrociclo. (macrocycle) El macrociclo MC, es el mınimo comun multiplo de losperiodos de todas las tareas, en un sistema de tiempo real. Se utiliza en losplanificadores estaticos para marcar el tamano del plan a planificar.

Operacion (operation) Es una acciones caracterizada por un tiempo de proceso yel lugar en donde se va a realizar, es decir una maquina.

Planificador dinamico. (dynamic scheduler) Un planificador es llamado dinami-co (o en lınea) si este hace decisiones de planificacion en tiempo de corrida,seleccionando una de las tareas listas a ejecutarse.

Planificador estatico. (static scheduler) Un planificador se llama estatico si estehace las decisiones de planificacion en tiempo de compilacion.

Plazo de entrega (due-date) Es el tiempo en el cual un agente externo quisiera,que el trabajo se haya realizado y dejara el taller, di.

Plazo lımite. (deadline) Es el tiempo en el cual el sistema de computo debe actuar.

Page 107: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 6. CONCLUSIONES 106

Plazo lımite suave. (deadline soft) Si un resultado tiene utilidad aun despues deque un plazo lımite haya pasado el sistema es denominado suave.

Plazo lımite firme. (deadline firm) Caso contrario al plazo lımite suave.

Plazo lımite duro. (deadline hard) En un sistema de computo en tiempo real sele llama duro (hard), si ocurre una catastrofe cuando se pierde un plazo lımitefirme.

Premura. (earliness) La premuraEi del trabajo i, se define como: Ei = max(0,−Li).

Proteccion. (safety) Evita consecuencias catastroficas en el medio ambiente.

Redundancia. (redundancy) La redundancia esta definida como aquellas partes delsistema que no son necesarias para el correcto funcionamiento del sistema sila tolerancia a fallas no es soportada. La redundancia puede ser de hardware,software o tiempo.

Seguridad. (security) Previene el acceso no autorizado al sistema y a la informacion.

Sistema distribuido. (distributed system, systemes distribues) Un sistema distri-buido es un sistema de computo cuyos componentes ya sea de hardware o soft-ware estan localizados en computadoras en red que se comunican coordinandosus acciones solo por paso de mensajes.

Sistema de computo duro. (hard computer system) Un sistema de computo entiempo real se le llama duro , si ocurre una catastrofe cuando se pierde un plazolımite firme.

Sistema de computo de tiempo real. (real-time system) Es un sistema de compu-to en el cual la correctez del funcionamiento del sistema no solo depende de losresultados logicos de las operaciones, sino tambien depende del instante fısicoen cual estos resultados son producidos.

Taller (workshop) Es el conjunto de maquinas, junto con el espacio fısico necesariopara realizar cierto proceso.

Tardanza. (lateness) Li del trabajo i se define como: Li = Di − di = Fi − ai.

Tiempo alcanzado. (dalcanzado) Es el tiempo donde se alcanza un nuevo equilibrioen un sistema fısico.

Tiempo de arribo (arrival-time). Tiempo listo (ready time) ri o tiempo inicial(release-time), este es el tiempo en el cual el trabajo esta disponible para suejecucion.

Tiempo de estancia (allowance) Es tiempo que un trabajo permanece en el taller,ai. Este tiempo es la diferencia entre el plazo de entrega y el tiempo de arribo.

Page 108: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

CAPITULO 6. CONCLUSIONES 107

Tiempo de proceso. (flow time) Se define al tiempo de proceso Fi o intervalo demanufactura (manufacturing interval) del proceso i, al tiempo total que eltrabajo permaencio en el taller.

Tiempo de terminacion. (completion-time) El tiempo de terminacion del traba-jo i, Di, es el tiempo en el cual la ultima operacion de un trabajo es completada.

Tiempo linde. (dead time) El tiempo linde del ciclo de control, es el intervalo detiempo entre la observacion de una entidad de tiempo real y el comienzo de lareaccion del objeto controlado.

Tolerancia a fallas. (fault tolerance) La tolerancia a fallas es una tecnica que ayu-da a que un sistema provea un servicio que sea confiable a pesar de que ocurranfallas.

Trabajo. (job) Un trabajo o tarea (task) consiste de un conjunto de operaciones.

Ventana de tiempo. () La ventana de tiempo es un lapso de tiempo que divide almacrociclo. Es un multiplo del ciclo elemental.

Sistema dinamico de control derivativo integral y proporcional. (Proportional,Integral and Derivative, PID).

Page 109: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Apendice A

RT-Linux.

Un sistema de computo en tiempo real, puede ser definido como un sistema querealiza sus funciones internas y responde asıncronamente a eventos externos dentrode un tiempo especıfico. Muchos de las aplicaciones de control y adquisicion de datos,caen dentro de esta categorıa. Un sistema operativo de tiempo real debe ser capazde garantizar los requerimientos de los procesos bajo control.

Mientras que los sistemas operativos de tiempo compartido como Unix, enfocan susesfuerzos en mantener un rendimiento adecuado promedio. Es decir que el sistemaoperativo tratara de servir de igual forma a todas las tareas que se estan ejecutandoen el sistema.

Dentro de los sistemas operativos podemos hacer la clasificacion de los que son durosy los que son suaves. Los sistemas operativos suaves son aquellos en los cuales losrequerimientos temporales son estadısticamente definidos. Un ejemplo puede ser unsistema de video conferencia. En cambio en los sistemas de tiempo real duro, losplazos lımites deben ser garantizados. Un ejemplo, es el controlador de vuelo queregule la altitud de un avion.

Actualmente existen algunos sistemas operativos de tiempo real. Sin embargo, lamayorıa de ellos no son abiertos, estandares, eficientes y baratos. Una solucion a talproblema es el sistema operativo de tiempo real RT-Linux. Este sistema operativousa como base al sistema operativo Linux.

Linux es un sistema operativo tipo Unix, creado por Linus Torvals, que tiene caracte-rısticas interesantes como una alta estabilidad, eficiencia, disponibilidad de codigo ylicencia no restrictiva, entre otros atributos. Una caracterıstica esencial en cualquieraplicacion, es la disponibilidad de codigo ya que ella permite hacer la verificacionde la correctez en el sistema y contar ademas con la capacidad adaptacion segun lasnecesidades.

Linux posee todas las caracterısticas de un sistema operativo moderno tipo Unix:interfaz grafica, interconexion bajo muchos protocolos de comunicacion, bases dedatos, lenguajes de programacion, etc. Linux sin embargo no tiene todas las carac-terısticas necesarias para ser un sistema operativo de tiempo real. Sobre todo que

108

Page 110: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

APENDICE A. RT-LINUX. 109

las interrupciones son deshabilitadas frecuentemente durante el funcionamiento delkernel, otros problemas incluyen la falta de planificacion del tiempo compartido, re-tardos de tiempo impredecibles en el manejo de la memoria virtual y baja capacidaddel manejo de la granularidad en el tiempo de ejecucion de las tareas.

Rt-Linux es una version de Linux, que provee capacidad para manejar tiempo realduro. La idea principal del funcionamiento de Rt-Linux se baso en la tecnica de ma-quina virtual. Rt-Linux implementa una capa entre el kernel de Linux y el hardware,de tal forma que puede captar todas las peticiones de proceso y acceso al hardwarede cualquier tarea. Ello incluye al kernel de Linux (y por lo tanto tambien a suplanificador), que se ejecutan como cualquier otra tarea.

La Fig. A.1 muestra el kernel modificado que soporta tiempo real duro.

��� ��������� � ��� ��� ��������� � ����

��� ��� �!��#" $ &%#'(��� �)&*

+-,/. 0(,/132�,54 6 ,/7#8(9�. ,�:/1

; <(= >/? ? @�ACBCD E/<C>�F#GIH/? J(KLH&? >

M NO P&Q Q R�S(TCU V/N(P�WYXIVCZ O [L\&Q P

]-^&_ `C^&aa b `�cd

Fig. A.1: Esquema de funcionamiento de las tareas de tiempo real en Rt-Linux.

La nueva capa adicional es el kernel de las aplicaciones de tiempo real y es el espaciodonde se planifican todas las tareas. En cuanto al kernel estandar de Linux este lave como verdadero hardware. El planificador de Rt-Linux asigna la menor prioridadal kernel de Linux, el cual corre como una tarea mas. De esta forma, se permiteal usuario introducir tareas de tiempo real, que al ejecutarse poseen la mas altaprioridad.

Los retardos temporales impredecibles son eliminados ya que tales aplicaciones sonpequenas y operacionalmente limitadas. Las tareas de tiempo real son privilegiadas,ya que tienen acceso directo al hardware y no usan memoria virtual. Las tareas detiempo real son implementadas como modulos en el espacio del kernel de Linux yse espera que ellas no hagan llamadas al sistema Linux. Los modulos pueden sercargados o descargados dinamicamente en memoria, lo que les da una gran ventajaen su ejecucion.

El codigo de inicializacion de una tarea de tiempo real inicializa la estructura detiempo real e informa a Rt-Linux de su plazo lımite y periodo de ejecucion. Los

Page 111: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

APENDICE A. RT-LINUX. 110

modulos en Linux son archivos objeto que son cargados en el espacio del kernel deLinux.

Los modulos deben tener dos funciones en su codigo. Ellas son:

int init_module();

void cleanup_module();

La funcion init_module() es llamada cuando el modulo es cargado en memoria,similarmente la funcion cleanup_module(); debera ser ejecutada cuando el modulose descargue de la memoria.

Ya que los modulos son archivos objeto tienen que ser compilados de la siguientemanera.

gcc -c {banderas} mi_modulo.c

El comando anterior producira un archivo mi_modulo.o que puede ser cargado enmemoria con el comando insmod y despues descargado con el comando rmmod.

El cuerpo principal de las aplicaciones Rt-Linux lo constituyen diferentes hilos (th-reads) de ejecucion. Los hilos son procesos ligeros que comparten un espacio comunde memoria, permitiendoles entre otras cosas una comunicacion eficiente entre ellos.

Los hilos en Rt-Linux son creados con la funcion pthread_create(), esta funcionsolo puede ser creada dentro de la funcion init-module().

#include <pthread.h>

int pthread_create(pthread_t * hilo,

pthread_attr_t * atributo,

void *(*rutina) (void *),

void *argumentos);

El numero de identificacion del nuevo hilo es almacenado en la direccion apuntadapor hilo, la funcion apuntada por rutina es el codigo de hilo, a esta funcion se lepasan los argumentos por medio del parametro argumentos. Finalmente, el elementoatributo sirve para asignar los atributos del hilo como su periodo o el tiempo cuandola aplicacion debe de comenzar.

Para planificar las tareas de tiempo real, Rt-Linux cuenta con un numero de rutinaspara tal efecto. Las caraterısticas que las siguientes funciones modifican pueden serespecificadas en el parametro attr_t de la funcion pthread_create(). Las funcionesson:

int pthread_setschedparam(pthread_t hilo, int polıti-

ca, const struct sched_param *parametros);

Page 112: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

APENDICE A. RT-LINUX. 111

Con esta funcion se puede especificar la prioridad de hilo.

int pthread_make_periodic-np(pthread_t hilo,

const struct itimerspec *tiempo);

Esta funcion asigna el periodo de ejecucion al hilo hilo, por medio de la estructuraitiemrspec.

int pthread_wait_np(void);

Esta funcion detiene la ejecucion del hilo.

int sche_getpriority_max(int polıtica);

int sche_getpriority_min(int polıtica);

Esta funciones asignan respectivamente la maxima y mınima prioridad de ejecucion.

Con este conjunto de instrucciones es posible crear un pequeno ejemplo de una tareade tiempo real, que a continuacion se muestra.

#include <rtl.h>

#include <time.h>

#include <pthread.h>

pthread_t hilo;

void * comienza_rutina (void *arg) {

struct sched_param p;

p.sched_priority = 1;

pthread_setschedparam (pthread_self() SCHED_FIFO, &p);

pthread_make_periodic_np (pthread_self(), gethrtime(),

500000000);

while (1) {

pthread_wait_np();

rtl_printf ("Hola mundo \n");

}

return 0;

}

int init_module (void) {

return pthread_create (&hilo, NULL,

comienza_rutina, 0);

}

void cleanup_module (void) {

pthread_cancel (hilo);

pthread_join (hilo, NULL);

}

Page 113: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

APENDICE A. RT-LINUX. 112

El codigo anterior pinta la cadena “Hola mundo” cada medio segundo en la pantalla.

Ademas de las rutinas principales que fueron mencionadas, el API de Rt-Linux ofrecefunciones de medicion de tiempo, manejo de RT-Fifos que son canales de comunica-cion entre aplicaciones ”normales” y de tiempo real, memoria compartida, acceso amemoria fısica, acceso a puertos de entrada y salida, interrupciones duras y suavesy un manejador de acceso al puerto serial.

La ultima version del sistema operativo es la version 3.3 y puede ser bajada de lasiguiente direccion http://www.rtlinux.com.

Page 114: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

Bibliografıa

[Almeida et al.(1999)] L. Almeida, R. Pasadas y J. A. Fonseca. Using a planningscheduler to improve the flexibility of real-time field bus networks. Control en-gineering Practice, vol. 7, paginas 101–108, 1999.

[Alonso et al.(2001)] Alejandro Alonso, Roberto Lopez, Juan A. de la Puente, Bar-bara Alvarez y Andres Iborra. Using linux and ada in the development of dis-tributed computer control systems . En IFAC, editor, IFAC Conference on NewTechnologies for Computer Control , paginas 295–300, 2001.

[Anderson y Lee(1981)] T. Anderson y P. A. Lee. Fault Tolerance Principles andPractice. Prentice Hall, 1981.

[Arzen et al.(1999)] Karl-Erik Arzen, Bo Bernhardsson, Johan Eker y Anton Cervin.Integrated control and scheduling . Informe tecnico, Department of AutomaticControl Lund Institute of Technology, Suecia, 1999.

[Bennet(1994)] Stuart Bennet. Real-Time Computer Control: an introduction. Pren-tice Hall International, Reino Unido, 1994.

[Cardeira et al.(1997)] Carlos Cardeira, Miguel P. Silva y Zoubir Mammeri. Hand-ling precedence constrains with neural network based real-time scheduling algi-rithms. En 1997 Euromicro, editor, Ninth Euromicro Workshop on Real-TimeSystems, 1997 , paginas 207 –214, 1997.

[Clark y Pradhan(1995)] Jeffrey A. Clark y Dhiraj K. Pradhan. Fault injection: Amethod for validating computer-system dependability . IEEE Computer , vol. 28,no. 6, 1995.

[Colouris et al.(2001)] George Colouris, Jean Dollimore y Tim Kindberg. DistributedSystems: Concepts and Design. Addison Wesley, tercera edicion, 2001.

[Conway et al.(1967)] Richard W. Conway, William L. Maxwell y Louis W. Miller.Theory of Scheduling . Addison-Wesley, 1967.

[Cristian(1991)] Flaviu Cristian. Understanding fault-tolerant distributed systems.Communications of the ACM , vol. 34, no. 2, 1991.

113

Page 115: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

BIBLIOGRAFIA 114

[De Baerdemaeker et al.(2001)] Josse De Baerdemaeker, Axel Munack, Herman Ra-mon y Hermann Speckmann. Mechatronic systems, communication and controlin precision agriculture. IEEE Control Systems Magazine, vol. 21, no. 5, pagi-nas 48–70, 2001.

[Devillers y Goossens(2000)] Raymond Devillers y Joel Goossens. Liu and layland’sschedulability test revisited . Information Processing Letters, vol. 73, pagi-nas 157–161, 2000.

[Fohler(1995)] Gerhard Fohler. Joint scheduling of distributed complex periodic andhard aperiodic tasks in statically scheduled systems . En 1995 Real-Time Sys-tems Symposium, editor, Proceedings, 16th IEEE, 1995 , paginas 152–161, 1995.

[Fonseca y Almeida(1999)] J. A. Fonseca y L. M. Almeida. Using planning schedulerin the can network . En 1999 Proceedings ETFA, editor, International Confe-rence on Emerging Technologies and Factory Automation, 1999 , vol. 2, paginas815–821, 1999.

[Hurak y Sebek(2001)] Z. Hurak y M. Sebek. Stability of sampled-data control sys-tems with uncertain delays . En Proceedings of the European Control Conference,paginas 3120–3124, 2001.

[Jalote(1994)] Pankaj Jalote. Fault Tolerance in Distributed Systems . Prentice Hall,1994.

[Johnson(1989)] Barry W. Johnson. Design and Analysis of Fault-Tolerant DigitalSystems . Addison-Wesley, 1989.

[Kerr y Slany(1994)] Roger M. Kerr y Wolfgang Slany. Research issues and cha-llenges in fuzzy scheduling . Informe tecnico, Christian Doppler Laboratory forExpert Systems, Viena, Austria, 1994.

[Kopetz et al.(1995)] H. Kopetz, M. Braun, C. Ebner, A. Krueger, D. Millinger,R. Nossal y A. Schedl. The design of large real-time systems: The time-triggeredapproach. En Real-Time Systems Symposium, editor, Real-Time Systems Sym-posium, Proceedings, 16th IEEE, 1995 , paginas 182–187, 1995.

[Kopetz(1997)] Hermann Kopetz. Real-Time Systems: Design Principles for Distri-buted Embedded Applications . Kluwer Academic Publishers, 1997.

[Krishna y Shin(1997)] C. M. Krishna y Kang G. Shin. Real-Time Systems . McGrawHill, 1997.

[Krtolica et al.(1994)] R. Krtolica, U. Ozguner, H. Chan, H. Goktas, J. Winkelmany M. Liubakka. Stability of linear feedback systems with random communicationdelays . International Journal Control , vol. 59, no. 4, paginas 925–953, 1994.

[Lamport(1978)] Leslie Lamport. The implementation of reliable distributed multi-process systems . Computer Networks, vol. 2, paginas 95–114, 1978.

Page 116: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

BIBLIOGRAFIA 115

[Laprie(1985)] J. C. Laprie. Dependable computing and fault tolerant: Concepts andterminology . En Ann Arbor, editor, 15th International Symposium on FaultTolerant Computing Systems , paginas 2–11, 1985.

[Laprie(1992)] J. C. Laprie. Dependability: Basics Concepts and Terminology . Sprin-ger Verlag, 1992.

[Lehoczky et al.(1989)] John Lehoczky, Lui Sha y Ye Ding. The rate monotonicscheduling algorithm: Exact characterization and average case behavior . EnIEEE, editor, Proceedings of the IEEE Real-Time Systems Symposium, paginas166–171, 1989.

[Lian et al.(2002)] Feng-Li Lian, James Moyne y Dawn Tilbury. Network designconsideration for distributed control systems . IEEE Transactions on ControlSystems Technology , vol. 10, no. 2, paginas 297–307, 2002.

[Liu y Layland(1973)] C. L. Liu y James W. Layland. Scheduling algorithms formultiprogramming in a hard real-time enviroment . Journal of the Associationfor Computing Machinery , vol. 20, no. 1, paginas 46–61, 1973.

[Liu(2000)] Jane W. S. Liu. Real-Time Systems . Prentice Hall, 2000.

[Livani et al.(1999)] Mohammad Ali Livani, Jorg Kaiser y Weijia Jia. Schedulindhard and soft real-time communication in a controller area network . ControlEngineering Practice, vol. 7, paginas 1515–1523, 1999.

[Mendoza et al.(2001)] P. Mendoza, J. Vila, S. Terrasa, P. Balbastre y A. Crespo.Using rt-linux for developing real-time embedded systems . En IFAC, editor,IFAC Conference on New Technologies for Computer Control , paginas 301–306,2001.

[Mok(1983)] Aloysius Ka-Lau Mok. Fundamental Design Problems of DistributedSystems for the Hard-Real-Time Environment . Tesis Doctoral, MassachusettsInstitute of Technology, 1983.

[Monnier et al.(1998)] Yannick Monnier, Jean-Pierre Beauvais y Anne-Marie De-planche. A genetic algorith for scheduling task in a real-time distributed sys-tems . En Euromicro, editor, Euromicro Conference, Proceedings 24th, vol. 2,paginas 708–714, 1998.

[Mullender(1995)] Sape Mullender. Distributed Systems . ACM Press, segunda edi-cion, 1995.

[Nilsson et al.(1998)] Johan Nilsson, Bo Berhhardsson y Bjorn Wittenmark. Sto-chastic analysis and control of real-time systems with random time delays . Au-tomatica, vol. 34, no. 1, paginas 57–64, 1998.

[Ollero-Baturone(1991)] Anıbal Ollero-Baturone. Control por Computadora. Alfao-mega, 1991.

Page 117: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

BIBLIOGRAFIA 116

[Poledna(1996)] Stefan Poledna. Fault-Tolerant Real-Time Systems: The Problemof Replica Determinism. Kluwer Academic Publishers, 1996.

[Ramamritham y Stankovic(1994)] Krithi Ramamritham y John A. Stankovic. Sche-duling algorithms and operating systems support for real-time systems . Procee-dings of the IEEE , vol. 82, no. 1, paginas 55–67, 1994.

[Rehbinder(2000)] Henrik Rehbinder. Integration of off-line scheduling and optimalcontrol . En Euromicro RTS, editor, Real-Time Systems, Euromicro RTS 2000,12th Euromicro Conference, paginas 137–143, 2000.

[Ripoll Ripoll(1996)] Jose Ismael Ripoll Ripoll. Planificacion con Prioridades Di-namicas en Sistemas de Tiempo Real Crıtico. Ph.D dissertation, UniversidadPolitecnica de Valencia, Espana, 1996.

[Sha et al.(1990)] Lui Sha, Ragunathan Rajkumar y John P. Lehoczky. Priorityinheritance protocols: An approach to real-time synchronization. Transactionson Computers, IEEE , vol. 39, no. 9, paginas 1175–1185, 1990.

[Sousa et al.(2001)] J. M. Sousa, L. F. Baptista, L. J. Nunes y J. M. G. Sa daCosta. A neural network implementation of real-time fuzzy predictive control .En Proceedings of the European Control Conference, editor, Proceedings of theEuropean Control Conference, paginas 3288–3293, 2001.

[Stankovic(1988)] John A. Stankovic. Misconceptions about real-time computing:A serious problem for the next generation. IEEE Computer , vol. 21, no. 10,paginas 10–19, 1988.

[Stankovic et al.(1995)] John A. Stankovic, Marco Spuri, Marco Di Natale y Gior-gio C. Buttazzo. Implications of classical scheduling results for real-time sys-tems . IEEE Computer , vol. 28, no. 6, paginas 16–25, 1995.

[Torngren(1998)] Martin Torngren. Fundamentals of implementing real-time controlapplications in distributed computer systems . Real-Time Systems , vol. 14, no.3, paginas 219–250, 1998.

[Torngren y Widanker(1996)] Martin Torngren y Jan Widanker. A decentralizationmethodology for real-time control applications . Control Engineering Practice,vol. 4, no. 2, paginas 214–228, 1996.

[Wittenmark et al.(1998)] Bjorn Wittenmark, Ben Bastian y Johan Nilsson. Analy-sis of time delays in synchronous and asynchronous control loops . En IEEE,editor, Proceedings of the 37th IEEE , paginas 283–288, 1998.

[Zhang et al.(2001)] Wei Zhang, Michael S. Branicky y Stephen M. Phillips. Stabilityof networked control systems . IEEE Control Systems Magazine, paginas 84–99,2001.

Page 118: Ana lisis de la Plani cabilidad de un Sistema Recon ...zaz.iimas.unam.mx/~hector/archivos/tesis_angel.pdf · Ana lisis de la Plani cabilidad de un Sistema Recon gurable en Tiempo

BIBLIOGRAFIA 117

[Zuberi y Shin(1995)] Khawar M. Zuberi y Kang G. Shin. Non-preemptive schedulingof messages on controller area network for real-time control aplications . EnIEEE, editor, Real-Time Technology and Applications Symposium, Proceedings1995 , paginas 240–249, 1995.