ANALISIS Y DISEÑO DE SISTEMAS EN TIEMPO REAL



Documentos relacionados
INTRODUCCION AL CONTROL AUTOMATICO DE PROCESOS

Señal de Referencia: Es el valor que se desea que alcance la señal de salida. SET POINT.

4. Programación Paralela

Introducción a los sistemas de control

Introducción a la Firma Electrónica en MIDAS

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Capítulo 5. Cliente-Servidor.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.


CAPÍTULO I. Sistemas de Control Distribuido (SCD).

1.2 SISTEMAS DE PRODUCCIÓN

Entidad Formadora: Plan Local De Formación Convocatoria 2010

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

La Pirámide de Solución de TriActive TRICENTER

Conmutación. Conmutación telefónica. Justificación y definición.

Arquitectura de sistema de alta disponibilidad

Elementos requeridos para crearlos (ejemplo: el compilador)

Infraestructura Tecnológica. Sesión 1: Infraestructura de servidores

DISEÑO DE FUNCIONES (TRATAMIENTOS)

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

Adelacu Ltda. Fono Graballo+ Agosto de Graballo+ - Descripción funcional - 1 -

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estructuras de Sistemas Operativos

Determinación del nivel de influencia

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Diseño orientado al flujo de datos

DE VIDA PARA EL DESARROLLO DE SISTEMAS

CMMI (Capability Maturity Model Integrated)

Procesos. Bibliografía. Threads y procesos. Definiciones

Gestión y Desarrollo de Requisitos en Proyectos Software

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

Control Estadístico de Procesos

Metodología básica de gestión de proyectos. Octubre de 2003

UF0035: Operaciones de caja en la venta

M.T.I. Arturo López Saldiña

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Presentación de Pyramid Data Warehouse

Gestión de Configuración del Software

Plan de estudios ISTQB: Nivel Fundamentos

Interoperabilidad de Fieldbus

Gestión de la Configuración

1.1. Introducción y conceptos básicos

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

Prácticas ITIL para un mejor flujo de trabajo en el helpdesk

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Regulador PID con convertidores de frecuencia DF5, DV5, DF6, DV6. Página 1 de 10 A Regulador PID

Capítulo 2 Tratamiento Contable de los Impuestos. 2.1 Normas Internacionales de Contabilidad

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Contenido Derechos Reservados DIAN - Proyecto MUISCA

Administración Logística de Materiales

Control Estadístico del Proceso. Ing. Claudia Salguero Ing. Alvaro Díaz

CAPÍTULO 3. HERRAMIENTA DE SOFTWARE DE PLANEACIÓN DE

Ingeniería de Software. Pruebas

Procesos. Planificación del Procesador.

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

Control de procesos. Introducción

Medias Móviles: Señales para invertir en la Bolsa

Capitulo V Administración de memoria

En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Procesos Críticos en el Desarrollo de Software

Figura 4.1 Clasificación de los lenguajes de bases de datos

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Mantenimiento de Sistemas de Información

Grado en Ingeniería Informática

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Metodologías de diseño de hardware

El grupo de trabajo IEEE ha definido tres clases de WPANs que se

Servidores Donantonio

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

NORMAS INTERNACIONALES Y ADQUISICION DE DATOS.

2014 Néstor A. Jiménez J. Derechos reservados. Celular

2.1 Clasificación de los sistemas de Producción.

Beneficios estratégicos para su organización. Beneficios. Características V

MANTENIMIENTO Y SOPORTE

Unidad III. Software para la administración de proyectos.

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

SEMANA 12 SEGURIDAD EN UNA RED

Capítulo 1 Documentos HTML5

Bechtle Solutions Servicios Profesionales

Arquitectura de Aplicaciones

PREPARADO POR: FECHA DE EMISIÓN: FECHA DE VALIDACIÓN:

BPMN Business Process Modeling Notation

CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION

Diagrama y Nomenclatura del sistema de lazo cerrado

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

Transcripción:

LICENCIATURA EN SISTEMAS ANALISIS Y DISEÑO DE SISTEMAS EN TIEMPO REAL Lic. Carlos Imparato - Lic. Andrés Shokida ADTR-ApunteProg-2011.doc 0 / 40ADTR Cód. 32-407

SISTEMAS DE TIEMPO REAL (STR / RTS) Definición En base a la definición de Donald B. Gillies, un sistema de tiempo real es aquel en el que para que las operaciones computacionales se consideren correctas no solo depende de que la lógica e implementación de los programas computacionales sean correctos, sino también del tiempo en el que dicha operación entregó su resultado. Si las restricciones de tiempo no son respetadas el sistema se dice que ha fallado. Por la definición es preciso aclarar que un sistema on-line ó los sistemas interactivos no necesariamente son sistemas de tiempo real ya que en un sistema interactivo el usuario podría tolerar demoras de varios cientos de milisegundos sin que ello provoque un fallo en el sistema o un incumplimiento funcional. Por lo tanto en los sistemas de tiempo real es esencial que las restricciones de tiempo en los sistemas sean cumplidas. Para garantizar el comportamiento en el tiempo requerido se necesita que el sistema sea predecible. Cabe mencionar que tiempo real no es sinónimo de rapidez; esto significa que no es la latencia de la respuesta lo que nos enfoca en los sistemas de tiempo real (esta latencia a veces puede estar en el orden de los segundos), el enfoque en tiempo real de la latencia es asegurarse de que sea suficiente para resolver el problema para el cual el sistema está dedicado. Por lo tanto para cumplir con las restricciones temporales es necesario utilizar técnicas formales para la validación del diseño. CLASIFICACION DE STR En función a las restricciones de tiempos los sistemas de tiempo real se clasifican en : Sistemas Hard real-time ó estrictos: sistemas donde es imperativo que la respuesta ocurra dentro del plazo requerido. Ej. Sistema de Control de Vuelo. Sistemas Soft real-time ó no estrictos: os plazos son importantes pero el sistema sigue funcionando si no se cumplen los plazos ocasionalmente. Ej. Sistema de Adquisición de Datos. Las restricciones de tiempo están relacionadas al rigor del cumplimiento de los tiempos máximos de respuesta y no a valores absolutos de tiempos, con lo cual un sistema hard real time podría tener un plazo máximo superior a un soft real time. Por ej. un sistema hard real time con un plazo máximo de 800 mseg (sin tolerancia) y un sistema soft real time con un plazo de 600 mseg con una tolerancia de más de + 50%. SISTEMAS DE CONTROL AUTOMATICO El control automático es el mantenimiento de un valor deseado dentro de una cantidad o condición, midiendo el valor existente, comparándolo con el valor deseado, y utilizando la diferencia para proceder a reducirla. En consecuencia, el control automático exige un lazo cerrado de acción y reacción que funcione sin intervención humana. El elemento mas importante de cualquier sistema de control automático es el lazo de control realimentado básico. El control automático de procesos se usa fundamentalmente porque reduce el costo de los procesos industriales, siendo la eliminación de errores otra contribución positiva del uso del control automático. ADTR-ApunteProg-2011.doc 1 / 40ADTR Cód. 32-407

El principio del control automático o sea el empleo de una realimentación o medición para accionar un mecanismo de control, se usa en diversos campos como el control de procesos químicos y del petróleo, control automotriz, control de hornos en la fabricación del acero, control de máquinas herramientas y en el control y trayectoria de un proyectil. El uso de las aplicaciones de software en tiempo real sobre arquitecturas de computadoras y los sistemas embebidos han posibilitado la aplicación de ideas de control automático a sistemas físicos que hace apenas pocos años eran imposibles de analizar o controlar. El concepto de la realimentación no es nuevo, el primer lazo de realimentación fue usado en 1774 por James Watt para el control de la velocidad de cualquier máquina de vapor. A pesar de conocerse el concepto del funcionamiento, los lazos se desarrollaron lentamente hasta que los primeros sistemas de transmisión neumática comenzaron a volverse comunes en los años de la década del 40, y en los años pasados se han visto un extenso estudio y desarrollo en la teoría y aplicación de los lazos realimentados de control. En la actualidad los lazos de control son un elemento esencial para la manufactura económica y prospera de virtualmente cualquier producto, desde el acero hasta los productos tecnológicos y alimenticios. CLASIFICACION DE SISTEMAS DE CONTROL AUTOMATICO Los sistemas de control se clasifican en sistemas de lazo abierto y a lazo cerrado. La distinción la determina la acción de control, que es la que activa al sistema para producir la salida. Un sistema de control de lazo abierto es aquel en el cual la acción de control es independiente de la salida. Un sistema de control de lazo cerrado es aquel en el que la acción de control es en cierto modo dependiente de la salida. Los sistemas de control a lazo abierto tienen dos rasgos sobresalientes: a) La habilidad que éstos tienen para ejecutar una acción con exactitud está determinada por su calibración. Calibrar significa establecer o restablecer una relación entre la entrada y la salida con el fin de obtener del sistema la exactitud deseada. b) Estos sistemas no tienen el problema de la inestabilidad que presentan los de lazo cerrado. Los sistemas de control de lazo cerrado se llaman comúnmente sistemas de control por realimentación. Ejemplo 1 Un lavarropas es un sistema de control de lazo abierto que está controlado por un programa de lavado fijo que debe ser anticipado por el usuario quien no forma parte del sistema. El control de la salida del sistema (la calidad del lavado) no es controlado ni verificado en forma automática por el sistema ya que sería muy costoso. Ejemplo 2 Un mecanismo de piloto automático y el avión que controla forman un sistema de control de lazo cerrado (por realimentación). Su objetivo es mantener una dirección y estabilidad específica del avión a pesar de los cambios atmosféricos. El sistema ejecutará su tarea midiendo continuamente la dirección instantánea del avión y ajustando automáticamente las superficies de dirección del mismo (timón, aletas, etc.) de modo que la dirección instantánea coincida con la especificada. El piloto u operador quien fija con anterioridad el piloto automático, no forma parte del sistema de control. CONTROL POR REALIMENTACION El lazo de control realimentado simple sirve para ilustrar los cuatro elementos principales de cualquier lazo de control (Fig.2). ADTR-ApunteProg-2011.doc 2 / 40ADTR Cód. 32-407

La medición debe ser hecha para indicar el valor actual de la variable controlada por el lazo. Mediciones corrientes usadas en la industria incluyen caudal, presión, temperatura, mediciones analíticas tales como ph, ORP, conductividad y muchas otras particulares específicas de cada industria. Los elementos principales del lazo de control se describen a continuación. Realimentación La realimentación es la propiedad de una sistema de lazo cerrado que permite que la salida (o cualquier otra variable controlada del sistema) sea comparada con la entrada al sistema (o con una entrada a cualquier componente interno del mismo con un subsistema) de manera tal que se pueda establecer una acción de control apropiada como función de la diferencia entre la entrada y la salida. Más generalmente se dice que existe realimentación en un sistema cuando existe una secuencia cerrada de relaciones de causa y efecto ente las variables del sistema. El concepto de realimentación está claramente ilustrado en el mecanismo del piloto automático del ejemplo dado. La entrada es la dirección especificada, que se fija en el tablero de control del avión y la salida es la dirección instantánea determinada por los instrumentos de navegación automática. Un dispositivo de comparación explora continuamente la entrada y la salida. Cuando los dos coinciden no se requiere acción de control. Cuando existe una diferencia entre ambas, el dispositivo de comparación suministra una señal de acción de control al controlador, o sea al mecanismo de piloto automático. El controlador suministra las señales apropiadas a las superficies de control del avión, con el fin de reducir la diferencia entre la entrada y la salida. La realimentación se puede efectuar por medio de una conexión eléctrica o mecánica que vaya desde los instrumentos de navegación que miden la dirección hasta el dispositivo de comparación. Características de la realimentación Los rasgos funcionales más importantes de la aplicación de realimentación en un sistema de lazo cerrado son: a) Aumento de la exactitud. Por ejemplo, la habilidad para reproducir la entrada fielmente b) Reducción de la sensibilidad de la salida, correspondiente a una determinada entrada ante variaciones en las características del sistema. c) Efectos reducidos de la no linealidad y de la distorsión. ADTR-ApunteProg-2011.doc 3 / 40ADTR Cód. 32-407

d) Aumento del intervalo de frecuencias (de la entrada) en el cual el sistema responde satisfactoriamente (aumento del ancho de banda). e) Tendencia a la oscilación o a la inestabilidad. El actuador final Por cada proceso debe haber un actuador final, que regule el suministro de energía o material al proceso y cambie la señal de medición. Mas a menudo éste es algún tipo de válvula, pero puede ser además una correa o regulador de velocidad de motor, posicionador, etc. El proceso Los tipos de procesos encontrados en las plantas industriales son tan variados como los materiales que las mismas producen. Estos se extienden desde lo simple y común, tales como los lazos que controlan caudal, hasta los grandes y complejos como los que controlan columnas de destilación en la industria petroquímica, plantas de reacción nuclear, aviación ó robots de montaje y soldadura de industria automotriz. El controlador automático El último elemento del lazo es el controlador automático, su trabajo es controlar la medición. Controlar significa mantener la medición dentro de límites aceptables. Los mecanismos dentro del controlador automático no serán considerados. Por lo tanto, los principios a ser tratados pueden ser aplicados igualmente tanto para los controladores neumáticos como para los electrónicos y a controladores de todos los fabricantes. Todos los controladores automáticos usan las mismas respuestas generales, a pesar de que los mecanismos internos y las definiciones dadas para estas respuestas pueden ser ligeramente diferentes de un fabricante al otro. Un concepto básico es que para que el control realimentado automático exista, es que el lazo de realimentación esté cerrado. Esto significa que la información debe ser continuamente transmitida dentro del lazo. El controlador debe poder mover a la válvula, la válvula debe poder afectar a la medición, y la señal de medición debe ser reportada al controlador. Si la conexión se rompe en cualquier punto, se dice que el lazo está abierto. Tan pronto como el lazo se abre, como ejemplo, cuando el controlador automático es colocado en modo manual, la unidad automática del controlador queda imposibilitada de mover la válvula. Así las señales desde el controlador en respuesta a las condiciones cambiantes de la medición no afectan a la válvula y el control automático no actúa. Tipos de respuestas del controlador La primera y mas básica característica de la respuesta del controlador ha sido indicada como la acción directa o reversa. Una vez que esta distinción se ha llevado a cabo, existen varios tipos de respuestas que pueden ser usadas para controlar un proceso. Estas son: - Control Si/No (ó On/Off con sus siglas en Inglés), o control de dos posiciones. - Control proporcional - Acción integral (reset) - Acción derivativa ADTR-ApunteProg-2011.doc 4 / 40ADTR Cód. 32-407

El control Si/No El control SI/No es mostrado en la figura 5. Para un controlador de acción reversa y una válvula del tipo presión-para-cerrar. El controlador Si/No tiene dos salidas que son para máxima apertura y para apertura mínima, o sea cierre. Para este sistema se ha determinado que cuando la medición cae debajo del valor de consigna, la válvula debe estar cerrada para hacer que se abra; así, en el caso en que la señal hacia el controlador automático esté debajo del valor de consigna, la salida del controlador será del 100%. A medida que la medición cruza el valor de consigna la salida del controlador va hacia el 0%. Esto eventualmente hace que la medición disminuya y a medida que la medición cruza el valor de consigna nuevamente, la salida vaya a un máximo. Este ciclo continuará indefinidamente, debido a que el controlador no puede balancear el suministro contra la carga. La continua oscilación puede, o puede no ser aceptable, dependiendo de la amplitud y longitud del ciclo. Un ciclo rápido causa frecuentes alteraciones en el sistema de suministro de la planta y un excesivo desgaste de la válvula. El tiempo de cada ciclo depende del tiempo muerto en el proceso debido a que el tiempo muerto determina cuanto tiempo toma a la señal de medición para revertir su dirección una vez que la misma cruza el valor de consigna y la salida del controlador cambia. La amplitud de la señal depende de la rapidez con que la señal de medición cambia durante cada ciclo. En procesos de gran capacidad, tales como cubas de calentamiento, la gran capacidad produce una gran constante de tiempo por lo tanto la medición puede cambiar sólo muy lentamente. El resultado es que el ciclo ocurre dentro de una banda muy estrecha alrededor del valor de consigna, y este control puede ser muy aceptable, si el ciclo no es muy rápido. Por lejos el tipo más común de control usado en la industria es el Si/No. Sin embargo si la medición del proceso es mas sensible a los cambios en el suministro, la amplitud y frecuencia del ciclo comienza a incrementarse, en algún punto el ciclo se volverá inaceptable y alguna forma de control proporcional deberá ser aplicada. De manera de estudiar los otros tres tipos de modos de control automático se usaran respuesta de lazo abierto. Un lazo abierto significa que sólo la respuesta del controlador será considerada. ADTR-ApunteProg-2011.doc 5 / 40ADTR Cód. 32-407

La figura 6 muestra un controlador automático con una señal artificial desde un regulador manual introducida como la medición. El valor de consigna es introducido normalmente y a salida es registrada. Con éste arreglo, las respuestas específicas del controlador a cualquier cambio deseado en la medición puede ser observada. Acción proporcional La respuesta proporcional es la base de los tres modos de control, si los otros dos, acción integral (reset) y acción derivativa están presentes, éstos son sumados a la respuesta proporcional. Proporcional significa que el cambio presente en la salida del controlador es algún múltiplo del porcentaje de cambio en la medición. Este múltiplo es llamado ganancia del controlador. Para algunos controladores, la acción proporcional es ajustada por medio de tal ajuste de ganancia, mientras que para otros se usa una banda proporcional. Ambos tienen los mismos propósitos y efectos. La figura 7 ilustra la respuesta de un controlador proporcional por medio de un indicador de entrada/salida pivotando en una de estas posiciones. Con el pívot en el centro entre la entrada y la salida dentro del gráfico, un cambio del 100% en la medición es requerido para obtener un 100% de cambio en la salida, o un desplazamiento completo de la válvula. Un controlador ajustado para responder de ésta manera se dice que tiene una banda proporcional del 100%. Cuando el pívot es hacia la mano derecha, la medición de la entrada debería tener un cambio del 200% para poder obtener un cambio de salida completo desde el 0% al 100%, esto es una banda proporcional del 200%. Finalmente, si el pívot estuviera en la posición de la mano izquierda y si la medición se moviera sólo cerca del 50% de la escala, la salida cambiaría 100% en la escala. Esto es un valor de banda proporcional del 50%. Por lo tanto, cuanto mas chica sea la banda proporcional, menor será la cantidad que la medición debe cambiar para el mismo tamaño de cambio en la medición. O en otras palabras, menor banda proporcional implica mayor cambio de salida para el mismo tamaño de medición. Esta misma relación está representada por la figura 8. ADTR-ApunteProg-2011.doc 6 / 40ADTR Cód. 32-407

Este gráfico (figura 8) muestra cómo la salida del controlador responderá a medida que la medición se desvía del valor de consigna. Cada línea sobre el gráfico representa un ajuste particular de la banda proporcional. Dos propiedades básicas del control proporcional pueden ser observadas a partir de éste gráfico: Por cada valor de la banda proporcional toda vez que la medición se iguala al valor de consigna, la salida es del 50%. Cada valor de la banda proporcional defina una relación única entre la medición y la salida. Por cada valor de medición existe un valor específico de salida. Por ejemplo, usando una línea de banda proporcional del 100%, cuando la medición está 25% por encima del valor de consigna, la salida del controlador deberá ser del 25%. La salida del controlador puede ser del 25% sólo si la medición esta 25% por encima del valor de consigna. De la misma manera, cuando la salida del controlador es del 25%, la medición será del 25% por encima del valor de consigna. En otras palabras, existe un valor específico de salida por cada valor de medición. Acción integral (reset ) Esta función es llamada acción integral o reset. La respuesta del lazo abierto del modo reset es mostrada en la figura 10, que indica un escalón de cambio en algún instante en el tiempo. En tanto que la medición estuviera en su valor de consigna, no existiría ningún cambio en la salida debido al modo de reset en el controlador. Sin embargo, cuando cualquier error exista entre la medición y el valor de consigna, la acción de reset hace que la salida comience a cambiar y continúe cambiando en tanto el error exista. Esta función, entonces, actúa sobre la salida para que cambie hasta un valor correcto necesario para mantener la medición en el valor de consigna a varias cargas sea alcanzado. Esta respuesta es agregada a la banda proporcional del controlador según se muestra en la figura 11. El escalón de cambio en la medición primero produce una respuesta proporcional, y luego una respuesta de reset es agregada a la proporcional. Cuanta más acción de reset o integral exista en el controlador, mas rápido cambia la salida en función del tiempo. Entre las varias marcas de controladores, la salida de acción integral es medida de una o dos maneras, tanto en minutos por repetición, o en número de repeticiones por minuto. Para aquellos controladores que miden en minutos por repetición, el tiempo de reset es la cantidad de tiempo necesaria para que dicho modo ADTR-ApunteProg-2011.doc 7 / 40ADTR Cód. 32-407

repita la respuesta del lazo abierto causada por el modo proporcional para un paso de cambio de error. Así, para estos controladores, cuanto menor sea el número de reset, mayor será la acción del modo reset. En aquellos controladores que miden la acción de reset en repeticiones por minuto, el ajuste indica cuantas repeticiones de la acción proporcional son generados por el modo de reset en un minuto. Así, para dichos controladores cuanto mayor sea el número reset, mayor será la acción integral. El tiempo de reset es indicado en la figura 11. La correcta cantidad de acción reset depende de cuan rápido la medición puede responder al recorrido adicional de válvula que la misma causa. Acción derivativa La tercera respuesta encontrada en controladores es la acción derivativa. Así como la respuesta proporcional responde al tamaño del error y el reset responde al tamaño y duración del error, el modo derivativo responde a la cuan rápido cambia el error. En la figura 12, dos respuestas derivativas son mostradas. La primera es una respuesta a un corte en la medición alejada del valor de consigna. Para un escalón, la medición cambia en forma infinitamente rápida, y el modo derivativo del controlador produce un cambio muy grande y repentino en la salida, que muere inmediatamente debido a que la medición ha dejado de cambiar luego del escalón. La segunda respuesta muestra la respuesta del modo derivativo a una medición que está cambiando a un régimen constante. La salida derivativa es proporcional al régimen de cambio de éste error. Cuanto mayor sea el cambio, mayor será la salida debido a la acción derivativa. La acción derivativa mantiene ésta salida mientras la medición esté cambiando. Tan pronto como la medición deja de cambiar, esté o no en el valor de consigna, la respuesta debido a la acción derivativa cesará. Entre todas las marcas de controladores, la respuesta derivativa es comúnmente medida en minutos como se indica en la figura 13. ADTR-ApunteProg-2011.doc 8 / 40ADTR Cód. 32-407

En resumen de lo visto para alcanzar el control automático, el lazo de control deberá estar cerrado. Para tener una lazo realimentado de control estable, el ajuste mas importante del controlador es la selección de la acción correcta, sea directa o inversa. La incorrecta selección de ésta acción hará que la salida del controlador sea inestable, y por lo tanto la elección correcta hará que la salida del controlador cambie de tal manera que el movimiento de la válvula se oponga a cualquier cambio en la medición detectada por el controlador. El valor correcto de los ajustes de banda proporcional, reset, y tiempo derivativo dependen de las características del proceso, cabe consignar que en los controladores actuales dichos valores se pueden detectar en forma automática, ya que el controlador dispone de un modo en que produce alteraciones controladas, y dentro de ciertos límites establecidos previamente por el operario, en la salida se miden los resultados del proceso para una cierta cantidad de ciclos de alteración, en base a éste comportamiento puede detectar cuál es el mejor conjunto de ajustes para controlar un proceso mediante el software interno del aparato. La función del modo reset (también llamado acción integral) es para eliminar el offset. Si mucho valor de offset es usado es resultado será una oscilación de la medición cuando el controlador acciona la válvula de un extremo al otro. Si un valor muy bajo de reset es usado, el resultado será que la medición retorna al valor de consigna más lentamente que lo posible. El modo derivativo se opone a cualquier cambio en la medición. Una acción derivativa muy pequeña no tiene efecto significativo, una acción con valores muy altos provoca una respuesta excesiva del controlador y un ciclo en la medición. SISTEMAS OPERATIVOS DE TIEMPOR REAL (SOTR / RTOS) Un punto importante a destacar es que los sistemas de tiempo real (RTS) y los sistemas operativos de tiempo real (RTOS) no son conceptos equivalentes: un RTOS brinda las facilidades de la plataforma como multitarea, concurrencia, paralelismo, schedulling, mecanismos de comunicación entre procesos, etc., para implementar los sistemas de tiempo real, es decir el RTOS es la plataforma en la cual se monta el RTS. El estándar POSIX 1003.1 define tiempo real para sistemas operativos como la capacidad del sistema operativo para proveer un nivel requerido de servicio en un tiempo de respuesta limitado. POSIX son las siglas de Portable Operating System Interface; la X proviene de UNIX. Es una familia de estándares de llamadas al sistema operativo definidos por el IEEE (Institute of Electrical and Electronics Engineers) y especificados formalmente en el IEEE 1003. Su objetivo es generalizar las interfaces de los sistemas operativos para que una misma aplicación pueda ejecutarse en distintas plataformas. Estos estándares surgieron de un proyecto de normalización de las API y describen un conjunto de interfaces de aplicación adaptables a una gran variedad de implementaciones de sistemas operativos. ADTR-ApunteProg-2011.doc 9 / 40ADTR Cód. 32-407

La serie de pruebas del estándar POSIX son llamadas "PCTS" en alusión al acrónimo "Posix Conformance Test Suite". Las partes que componen el estándar POSIX son : POSIX.1, Core Services (implementa las llamadas del ANSI C estándar). Incluye: o Creación y control de procesos. o Señales. o Excepciones de punto flotante. o Excepciones por violación de segmento. o Excepciones por instrucción ilegal. o Errores del bus. o Temporizadores. o Operaciones de ficheros y directorios (sobre cualquier fs montado). o Tuberías (Pipes). o Biblioteca C (Standard C). o Instrucciones de entrada/salida y de control de dispositivo (ioctl). POSIX.1b, extensiones para tiempo real: o Planificación (scheduling) con prioridad. o Señales de tiempo real. o Temporizadores. o Semáforos. o Intercambio de mensajes (message passing). o Memoria compartida. o Entrada/salida síncrona y asíncrona. o Bloqueos de memoria. POSIX.1c, extensiones para hilos (threads): o Creación, control y limpieza de hilos. o Planificación (scheduling). o Sincronización. o Manejo de señales. CARACTERISTICAS DE LOS RTOS Los sistemas operativos de tiempo real se caracterizan por satisfacer requisitos en los siguientes aspectos: Determinismo Sensibilidad Control del usuario Fiabilidad Tolerancia a los fallos Un sistema operativo es determinista si realiza las operaciones en instantes fijos y predeterminados o en intervalos de tiempos predeterminados. Cuando compiten varios procesos por los recursos y por el tiempo del procesador, depende, en primer lugar, de la velocidad con la que pueda responder a las interrupciones y en segundo lugar, de si el sistema posee suficiente capacidad para gestionar todas las peticiones en el tiempo requerido. Un sistema operativo para operar de forma determinista debe contemplar el retardo máximo que se produce de la llegada de la interrupción de un dispositivo de alta prioridad hasta que comienza el servicio. ADTR-ApunteProg-2011.doc 10 / 40ADTR Cód. 32-407

La sensibilidad. El determinismo hace referencia a cuanto tiempo consume un sistema operativo en reconocer una interrupción. La sensibilidad se refiere a cuanto tiempo consume un sistema operativo en dar servicio a la interrupción después de reconocerla. Las características de la sensibilidad son, entre otras: 1. La cantidad de tiempo necesario para iniciar la gestión de la interrupción y comenzar la ejecución de su rutina de tratamiento (ISR, interrupt service routine). 2. La cantidad de tiempo necesario para ejecutar la ISR. Generalmente, depende de la plataforma del hardware. 3. El efecto del tratamiento de interrupciones. El servicio se retrasara si una rutina de interrupción puede ser interrumpida por la llegada de otra interrupción. El determinismo y la sensibilidad forman conjuntamente el tiempo de respuesta a sucesos externos. Los requisitos en tiempo de respuesta son críticos ya que cada sistema debe cumplir los requisitos de tiempo impuesto por los individuos, dispositivos y flujos de datos externos al sistema. El control del usuario es generalmente mucho mayor en un sistema operativo en tiempo real que en un sistema operativo ordinario. En sistema operativo típico que no sea en tiempo real, el usuario no tiene control sobre la función de planificación del sistema operativo. En un sistema en tiempo real resulta esencial permitir al usuario un control preciso sobre la prioridad de las tareas. El usuario debe poder distinguir entre tareas rígidas y flexibles y especificar prioridades relativas dentro de cada clase. Un sistema en tiempo real también permitirá al usuario especificar características. Que procesos deben estar siempre residente en la memoria principal. La fiabilidad es normalmente mucho mas importante en sistemas en tiempo real que en los que no lo son. Un fallo transitorio en un sistema que no sea en tiempo real puede resolverse simplemente volviendo a reiniciar el sistema. Un fallo de un procesador en un multiprocesador que no sea en tiempo real produce una reducción del nivel de servicio hasta que se repara o sustituye el procesador averiado. Pero un sistema en tiempo real responde y controla sucesos en tiempo real. Las perdidas o degradaciones del rendimiento pueden tener consecuencias catastróficas, que pueden ir desde perdida financieras hasta daños en equipo e incluso perdida de vidas humanas. La tolerancia a los fallos es una característica que hace referencia a la capacidad de un sistema de conservar la máxima capacidad y los máximos datos posibles en caso de fallos por Ej., un sistema UNIX cuando detecta datos corruptos en el núcleo, genera un mensaje de error en la consola del sistema, vuelca el contenido de la memoria en el disco para un análisis posterior y finaliza la ejecución del sistema. Un sistema en tiempo real intentara corregir el problema o minimizar sus efectos mientras continúa la ejecución. Un aspecto importante a la tolerancia a los fallos es la estabilidad. Un sistema en tiempo real si, en los casos en los que es imposible cumplir todos los plazos de ejecución de las tareas, el sistema cumple los plazos de las tareas mas criticas y de mayor prioridad, incluso si no se cumple los de alguna tarea menos critica. Para cumplir los requisitos anteriores los sistemas operativos actuales en tiempo real incluyen normalmente las siguientes características: Cambios rápidos de procesos o hilos. Pequeño tamaño (con una mínima funcionalidad asociada). Capacidad de responder rápidamente a interrupciones externas. Multitarea con herramientas de comunicación entre procesos, como semáforos, señales y sucesos. ADTR-ApunteProg-2011.doc 11 / 40ADTR Cód. 32-407

Uso de archivos secuénciales especiales que puedan acumular datos a alta velocidad. Planificación preferente basadas en prioridades. Reducción de intervalos en los que están inhabilitadas las interrupciones. Primitivas para demorar tareas durante un tiempo fijo y para detenerlas y reanudarlas. Alarmas especiales y temporizadores. El corazón de un sistema operativo de tiempo real es el planificador de tareas a corto plazo y es lo que lo diferencia de los sistemas operativos genéricos. El task manager (planificador de tareas) está compuesto por el Dispatcher y el Scheduler. El Dispatcher realiza el cambio de contexto administrando las tareas salientes y las entrantes para la CPU. El Scheduler tiene la función de seleccionar la próxima tarea que se asignará al procesador y el algoritmo utilizado para esta función es lo que distingue a los RTOS de los sistemas operativos de aplicaciones generales. Lo que resulta importante es que todas las tareas rígidas de tiempo real acaben (o comiencen) en su plazo y que también acaben (o comiencen) en su plazo tantas tareas flexibles de tiempo real como sea necesario. La mayoría de los sistemas operativos actuales en tiempo real son incapaces de trabajar directamente con plazos. En su lugar, se han diseñado para ser tan sensibles como sea posible a las tareas de tiempo real, de forma que, cuando se aproxima un plazo se pueda planificar rápidamente la traerá. Las aplicaciones de tiempo real normalmente necesitan tiempos de respuesta deterministas en un rango de varios milisegundos. Las aplicaciones límite como los simuladores de aviones militares por ej. presentan a menudo restricciones en un rango de diez a cien microsegundos. METODOS DE DISEÑO Para diseñar sistemas de tiempo real son necesarias técnicas formales que permiten especificar y analizar sistemas concurrentes con restricciones temporales. Gomaa (1994) sugiere cuatro objetivos importantes para un método de diseño de tiempo real. El mismo debe ser capaz de: Estructurar un sistema en tareas concurrentes Dar soporte al desarrollo del componentes reusables mediante la ocultación de información Definir los aspectos de comportamiento mediante máquinas de estado finito Analizar las prestaciones de un diseño para determinar sus propiedades de tiempo real. Para los sistemas de tiempo real estricto se presenta la desventaja importante de que los problemas de temporización en algunos casos sólo son detectables durante la prueba o incluso peor, tras el deployment de la aplicación. Del mismo modo que para el diseño de aplicaciones genéricas, sólo se obtienen productos fiables y correctos si las actividades de especificación, diseño, implementación y testing se llevan a cabo con una completa y alta calidad. La clave para alcanzar la calidad se apoya en una adecuada verificación y validación. ADTR-ApunteProg-2011.doc 12 / 40ADTR Cód. 32-407

MODELADO DE STR El modelo de tiempo real de un sistema informático es una abstracción que proporciona la información cualitativa y cuantitativa necesaria para evaluar y predecir su comportamiento temporal. Es el medio del que se vale el diseñador para formular los requisitos temporales durante la fase de especificación, razonar sobre su arquitectura en las fases de diseño y certificar su planificabilidad en las fases de validación. Los métodos formales son particularmente efectivos en el desarrollo de los niveles de especificación y de requerimientos aunque pueden utilizarse para el desarrollo formal completo de una implementación. En ciencias de la computación los métodos formales se refieren a técnicas basadas en las ciencias matemáticas para la especificación, desarrollo y verificación del software y hardware de sistemas. El enfoque es especialmente importante in sistemas de alta integridad donde la seguridad es importante para asegurar que los errores no se introducen en el proceso de desarrollo. Un sistema se modela para poder manejar su complejidad y como herramienta para: Servir de ayuda para el desarrollo de la tarea (uno mismo) Visualizar lo hecho hasta el momento (uno mismo) Comunicar el avance obtenido (el cliente y el equipo de desarrollo) Documentar el desarrollo de la aplicación (el equipo de desarrollo) El modelado permite la construcción y la validación de sistemas : Es deseable un desarrollo lo más rápido y menos costoso posible Un error es más caro y complejo de encontrar y resolver después de la liberación del sistema al usuario Es muy importante evaluar la calidad de los sistemas conforme avanza su desarrollo. En cuanto del alcance del modelado es necesario considerar diferentes niveles: Nivel 0: especificación informal Nivel 1: especificación formal (uso de técnicas con base matemática, para la especificación, diseño y construcción del sistema) Nivel 2: construcción manipulando la especificación y verificación con argumentos matemáticos Nivel 3: prueba de propiedades Los niveles 1 al 3 se relacionan con la noción de métodos formales. ASPECTOS A MODELAR Por lo general existen 3 aspectos a modelar: estructura, comportamiento y atributos de calidad. Los aspectos de interés a modelar en un sistema de tiempo real son: ADTR-ApunteProg-2011.doc 13 / 40ADTR Cód. 32-407

Distribución de los componentes de hardware y protocolos de comunicación entre ellos Restricciones temporales que afectan el desempeño del sistema (performance) Concurrencia y sincronización en el acceso a recursos compartidos Planning y scheduling de tareas propiedades generales (liveness y safety) Existen diversos modelos y herramientas que pueden emplearse : Modelos teóricos: Grafos Temporizados, FOCUS [Bro02], SDL (Specification and Description Language, Prototipos ad hoc Modelos gráficos: UML Profile for Schedulability, Performance, and Time [UML], UML Profile for System on a Chip Herramientas de Verificación: Kronos, UPPAAL [UPP] Simulación: SystemC [Sys], VHDL (VHSIC Hardware Description Language) Actualmente la industria utiliza plataformas distribuidas sobre las que se ejecutan concurrentemente múltiples aplicaciones, de las cuales algunas tienen requisitos de tiempo real y otras requieren determinados niveles de calidad de servicio. A fin de abordar la complejidad que resulta en estos sistemas, gestionar la diversidad de versiones que se han de manejar, y cumplir los plazos de desarrollo que impone la evolución del mercado, actualmente se ha impuesto la componer su diseño en todos sus niveles en los sistemas operativos, en el software de intermediación y en el diseño del código de la propia aplicación. La división en componentes en sí es un aspecto complementario e independiente al proceso de diseño de tiempo real, sin embargo, al introducir cambios profundos en la metodología de desarrollo de las aplicaciones, interfiere con los métodos que han venido utilizándose en el diseño de tiempo real. En las metodologías tradicionales de diseño de sistemas de tiempo real, las aplicaciones son concebidas y descritas inicialmente como conjuntos de tareas o transacciones concurrentes dentro de un paradigma de sistema reactivo, y es en una fase posterior cuando, a fin de estructurar el código, las operaciones utilizadas se organizan en módulos siguiendo criterios de dominio, tareas o subsistemas. Por el contrario, cuando se utiliza una estrategia de diseño basada en componentes, el sistema se concibe y diseña ensamblando módulos reusables procedentes de catálogos de componentes disponibles, en función de que proporcionan la funcionalidad que se necesita, y es posteriormente cuando se asocian las secuencias de actividades resultantes a los procesos o hilos de flujo que introducen el modelo de concurrencia, siendo no unívoca la asociación entre componentes y procesos. En el diseño de los sistemas basados en componentes hay que hacer compatibles los dos puntos de vista: el estructural (estático) que identifica las operaciones como servicios de las instancias de los componentes y el reactivo (dinámico) donde las actividades (invocación de las operaciones) se organizan por tareas o procesos. Una metodología de modelado de aplicaciones basadas en componentes tiene que proporcionar recursos para formular el modelo de tiempo real de un componente como un ente independiente, y así mismo, debe ofrecer las propiedades de componibilidad necesarias para que el modelo de tiempo real de la aplicación pueda construirse por composición de los modelos de tiempo real de los componentes que la conforman. Para ello hay que considerar las siguientes características que son inherentes a estos sistemas: ADTR-ApunteProg-2011.doc 14 / 40ADTR Cód. 32-407

- El comportamiento temporal de un servicio, no solo depende del código del componente que lo ofrece, sino también del comportamiento temporal de los servicios de otros componentes de los que hace uso. - La respuesta temporal de un componente software depende de la plataforma (hardware, sistema operativo, recursos de comunicación, etc.) que lo ejecuta, y por tanto, los modelos de tiempo real de los componentes han de incorporar referencias a los modelos de la plataforma. - La respuesta temporal de un componente está condicionada por la ejecución de otros componentes que se ejecutan concurrentemente con él en la misma plataforma y con los que comparte recursos. MODELADO DE COMPORTAMIENTO CON MAQUINAS DE ESTADO FINITO (Finite State Machine - FSM) INTRODUCCIÓN Las máquinas de estado finito son una herramienta muy útil para especificar aspectos relacionados con tiempo real, dominios reactivos o autónomos, computación reactiva, protocolos, circuitos, arquitecturas de software, etc. El modelo de FSM (Finite State Machines) es un modelo que posee sintaxis y semántica formales y que sirve para representar aspectos dinámicos que no se expresan en otros diagramas. Las máquinas de estados se pueden clasificar en aceptoras o transductoras: Aceptoras (también llamadas reconocedoras): Son aquellas en donde la salida es binaria (si/no), depende únicamente del estado y existe un estado inicial. Puede decirse, entonces, que cuando la máquina produce una salida "positiva" (es decir, un "si"), es porque ha "reconocido" o "aceptado" la secuencia de entrada. En las máquinas de estados aceptoras, los estados con salida "positiva" se denominan estados finales. Transductoras: Son las más generales, que convierten una secuencia de señales de entrada en una secuencia de salida, pudiendo ésta ser binaria o más compleja, depender de la entrada actual (no sólo del estado) y pudiendo también prescindirse de un estado inicial. La bibliografía a veces llama autómata finito a las aceptoras, mientras que en otros casos se emplea autómata como sinónimo de máquina de estados sin importar su tipo. Las aceptoras son los de mayor interés en la Teoría de la Computación, más precisamente en la Teoría de autómatas, siendo éstas ramas de la matemática. Las transductoras, en cambio, lo son en la electrónica digital y la computación práctica. Es por eso que, por lo general, en los textos sobre matemática y ciencias de la computación se suele hablar de autómatas (y se refieren a las aceptoras) mientras que los de electrónica y computación práctica hablan de máquinas de estados (y se refieren a los transductoras). Ventajas de una FSM Su simplicidad hace fácil para los desarrolladores sin experiencia realizar la implementación con poco o nada de conocimiento extra (fácil entrada) Predictibilidad (en FSM deterministas), dado un grupo de entradas y un estado actual conocido, puede predecirse la transición de estados, facilitando la tarea de verificación Dada su simplicidad, los FSM son rápidos de diseñar, rápidos e implementar y rápidos de ejecutar ADTR-ApunteProg-2011.doc 15 / 40ADTR Cód. 32-407

FSM en una técnica antigua de representación de conocimiento y modelado de sistemas, y ha sido usados desde hace tiempo, como tal ha sido verificado como una técnica de inteligencia artificial, con muchos ejemplos de los que aprender Las FSM son relativamente flexibles. Existen varias maneras de implementar un sistema basado en FSMs en términos de su topología, y es fácil incorporar muchas otras técnicas. La transferencia desde una representación abstracta del conocimiento a una implementación es fácil Bajo uso del procesador; apropiado para dominios donde el tiempo de ejecución está compartido entra varios módulos o subsistemas. Solo el código del estado actual ha de ser ejecutado, además de un poco de lógica para determinar el estado actual. Es fácil determinar si se puede llegar o no a un estado, en las representaciones abstractas, resulta obvio si se puede o no llegar a un estado desde otro, y que requerimientos existen para hacerlo. Como la mayoría de técnicas, las heurísticas para saber dónde y como implantar máquinas de estados finitos son subjetivas y dependen de cada problema específico. Esta claro que las FSMs están bien adaptadas a dominios de problemas que se expresan fácilmente usando diagramas de flujo y poseen un grupo de estados y reglas que gobiernan las transiciones entre estados bien definidos. Sintaxis Las máquinas de estado finito se definen como una tupla {S,, A S S, sk}, donde: S= {S1, S2,,Sm }: es un conjunto finito de nodos. : es un alfabeto finito de etiquetas. A: es un conjunto finito de aristas etiquetadas que unen nodos. sk Є S : es el estado inicial. Ej. { S={1,2,3}, ={a,b}, A={(1,a,2),(2,b,3),(3,a,1),(1,b,3)}, sk=1} Vale la pena destacar que formalmente la máquina de estado es la tupla anterior y no el diagrama. Este es tan sólo una representación gráfica de la máquina de estado para tener una más sencilla y rápida visualización de su contenido. ADTR-ApunteProg-2011.doc 16 / 40ADTR Cód. 32-407

Semántica Los nodos representan los posibles estados de aquello que se desea modelar. Las etiquetas representan eventos que provocan un cambio. Las aristas determinan de qué manera cada estado, dado un evento, deriva en otro estado. Estado Un estado es una condición del sistema que persiste durante un lapso significativo de tiempo. Para identificar los estados de un sistema es necesario analizar cuáles son las diferentes condiciones del sistema que persisten durante un lapso significativo de tiempo Una vez diferenciados esas condiciones funcionales del sistema se debe analizar el comportamiento que tiene el sistema para esas condiciones. Cada potencial estado debe tener un comportamiento bien definido que lo diferencie de los otros estados. Es decir si un potencial estado no refleja una condición bien definida del sistema es muy probable que se trate de una acción. Acción Las acciones se implementan dentro de los estados y le dan el comportamiento al sistema. Las acciones son las que disparan y lanzan eventos. los cuales pueden o no provocar transiciones de estado. Es importante comprender la diferencia entre un estado y una acción. Al diseñar una aplicación las funcionalidades grandes se descomponen en un número de acciones o actividades menores. Esto se realiza de manera que cada una pueda ser definida en una función, haciendo la solución general modular y más fácil de mantener. Esta práctica debe considerarse al modelar con las FSMs ya que son una descomposición del comportamiento de un objeto o sistema, e incluso un estado puede ser descompuesto en sub-estados. La diferencia con un estado está en que éste puede desarrollar una o más acciones. Evento Un evento es un mensaje hacia la máquina de estados producido por una entrada externa o generado internamente por una acción que potencialmente pueden provocar transiciones de estados. Si bien se deben declarar todas las acciones que le dan el comportamiento al sistema, los eventos a declarar son los relevantes al sistema es decir aquellos que provocan transiciones en la máquina de estados ó provocan que se mantenga en el mismo estado (loop explícito). Transición Una transición es un cambio de un estado a otro disparada por un evento. Matriz de Transiciones Proporciona una representación matricial con tantas filas como estados (el número de filas es igual a Q ) y tantas columnas como eventos (el número de columnas es igual V ). La casilla de la fila correspondiente al estado Qi y la columna del evento Vj contiene el estado alcanzado Qi+1 al recibir el evento Vj. ADTR-ApunteProg-2011.doc 17 / 40ADTR Cód. 32-407

De la máquina de estados del Ej. anterior la matriza de transiciones resultantes se muestra en la siguiente tabla. Estado / Evento a b 1 2 3 2-3 3 1 - Deadlock Formalmente hablando, una FSM {S,, A S S, sk} tiene deadlock si existe algún nodo s Є S, tal que no existen un evento e y un nodo t Є S tal que ( s, e,t ) Є A. En otras palabras, si existe algún nodo que no posea salida para ningún evento. Ejemplo El estado 2 no posee salida alguna. Semántica del deadlock La existencia de deadlock no necesariamente habla de un mal modelado. Más adelante veremos que puede ser un efecto no deseado de la composición de FSMs. Un ejemplo en donde el deadlock no necesariamente indica un error de modelado, podría ser la descompostura de una sistema por una falla de test inicial, el autobloqueo por seguridad operativa, un bloqueo de acceso, etc.. Ejemplo Una máquina expendedora de tickets de estacionamiento se ubica en las esquinas para que los usuarios puedan imprimir un ticket y estacionar en la calle. Funciona solo con monedas y se compone de :. Un panel con la ranura para ingresar las monedas. Un botón que permite imprimir el ticket.. Un display que le indica al usuario el monto ingresado. Un lector de monedas que reconoce y valida las monedas ingresadas. Un depósito de monedas. Una impresora de tickets ADTR-ApunteProg-2011.doc 18 / 40ADTR Cód. 32-407

El ticket que emite la máquina (ver Fig. 1) es colocado en el interior del automóvil a la vista para que cuando pasen los inspectores verifiquen que el usuario pago el estacionamiento y que el horario de finalización que figura impreso en el ticket no esté vencido. Ticket de Estacionamiento Emisión : 01/11/2009 10:30 Valor hora : $ 1 Importe ingresado : $ 2 Finalización : 01/11/2009 12:30 Fig. 1 Para obtener un ticket de estacionamiento el usuario realiza la siguiente operación :. Se dirige a una máquina e ingresa una o varias monedas según el tiempo que desea estacionar. Por ej por cada peso ingresado puede estacionar una hora. Si ingresa $ 1,25 puede estacionar una hora y cuarto, y así sucesivamente.. La máquina acepta todo tipo de monedas y NO entrega vuelto.. A medida que el usuario ingresa monedas, el lector interno procesa las monedas. Las reconocidas las almacena y en el display muestra el importe acumulado. La moneda que no es reconocida la devuelve y queda a la espera de monedas.. La máquina queda a la espera de monedas hasta que se presione el botón de ticket.. En el momento que el usuario presiona el botón de ticket la máquina calcula el tiempo de estacionamiento en función de las monedas ingresadas y luego imprime el ticket con la hora de finalización del estacionamiento.. Luego de imprimir el ticket la máquina queda lista a la espera de monedas para una nueva operación.. La máquina no emite tickets por más de 24 hs. Cuando el usuario ingresa una suma igual o superior a los $ 24 es decir el equivalente a 24 hs de estacionamiento, la máquina imprime automáticamente el ticket por 24 hs y queda lista para una nueva operación. La máquina arranca efectuando un auto-test y puede quedar fuera de servicio en el caso de que se quede sin papel para imprimir ó en el caso de que el test inicial indique una falla. Se pide modelar el sistema por medio de máquina de estados : a. Identificar el o los procesos críticos de tiempo real, justificando porqué se considera de tiempo real. b. La tabla con la identificación de estados, acciones y eventos, asignando a cada estado las acciones y eventos correspondientes c. El diagrama de estados. d. La matriz de transición ADTR-ApunteProg-2011.doc 19 / 40ADTR Cód. 32-407