Análisis y Verificación Formal de Planificadores para ... · PDF...

94
Análisis y Verificación Formal de Planificadores para Sistemas Operativos de Tiempo Real Dr. Apolinar González Potes

Transcript of Análisis y Verificación Formal de Planificadores para ... · PDF...

Page 1: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal de Planificadores para Sistemas Operativos

de Tiempo Real

Dr. Apolinar González Potes

Page 2: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Dr. Apolinar González PotesProfesor – InvestigadorUniversidad de Colima, Colima - México

Doctor en ComputaciónUniversidad Politécnica de Valencia, España

Maestría en Electrónica, Eléctrica y AutomáticaOpción: Informática IndustrialUniversidad Claude Bernard Lyon I, Francia

Ingeniería en Electrónica, Eléctrica y AutomáticaOpción: Informática IndustrialINSA - Universidad Claude Bernard, Lyon I, Francia

Sistema Nacional de Investigación: Nivel 1

Page 3: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Agenda

Introducción1

Planificadores Cíclicos2

Planificadores Estáticos y Dinámicos3

Modelo de Diseño Formal4

4 Análisis y Verificación Formal55

Page 4: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Breve Descripción del Grupo de Investigación – Sistemas Inteligentes CA 46 clave SEP

AREAS:Sistemas Operativos de Tiempo RealSistemas Distribuidos de Tiempo RealDiseño de Sistemas de Tiempo RealDiseño de Sistemas Empotrados

Personal:4 Investigadores de Tiempo Completo2 Candidatos a doctorado12 Estudiantes de Maestría

Localización:Posgrado de la Facultad de Ingeniería Mecánica y Eléctrica

Cooperación: UPV, UAO, UCBL, CICESE, UdG, UFRGS, etc.InnovatiSS, FeintiSS, MNIS, Siteldi solutions, MECOPTIM, MIND, etc.

Page 5: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Proyectos

Introducción

Arquitectura segura - CONACYT

Redes de Sensores para el Rendimiento de Cultivos – INNOVAPIME 2012 – México - Centroamérica

UWEP – Francia - México

Page 6: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Open and cost-effective virtualization techniques and supporting separation kernel for the embedded systems industry

Introducción

Proyectos

Page 7: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Constructora Integral de Colima

DISEÑO DE REDES DE SENSORES EN ENTORNOS CAMBIANTES(CONCAYT – COLCIENCIAS)

DISEÑO y DESARROLLO DE APLICACIONES BASADAS EN REDES DE SENSORES – D2ARS (CYTED)

Sistema Distribuido Abierto y Seguro para la Optimización de Costos Energéticos y Mejora del Confort en Casas y Edificios (DomOptim)OSEO (Francia) – CONAYT (México)

Algunos Productos: 1.uDDS (Subconjunto del Middleware DDS –versión para Linux, PaRTikle)2.Subconjunto del WirelessHART3.Versión alpha XtratuM para ARM 94.PaRTiKle RTOS5.ERTL (Embedded Real Time Linux)6.etc

Proyectos

Introducción

Page 8: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Un sistema de tiempo real es un sistema informático en el que es significativo el tiempo en el que se producen sus acciones.

No es suficiente que las acciones del sistema sean correctas lógicamente, sino que, además, deben producirse dentro de un intervalo de tiempo determinado

Esto es debido a que el sistema está conectado a un proceso externo del que recibe estímulos a los que debe responder con suficiente rapidez para evitar que evolucione a un estado indeseable.

Los estímulos externos aparecen en instantes de tiempo no predecibles. Tiene que resolver distintas cosas a la vez (concurrentemente)

Definiciones

Introducción

Page 9: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Tamaño y complejidad • Afecta al software• La complejidad no sólo depende del tamaño• Posibilidad de realizar modificaciones• Descomposición en subsistemas pequeños y sencillos

• Afecta al software• La complejidad no sólo depende del tamaño• Posibilidad de realizar modificaciones• Descomposición en subsistemas pequeños y sencillos

Fiabilidad y seguridad • Un fallo puede tener repercusiones muyimportantes: perdidas humanas, económicas, etc.• Es necesario que si el sistema falla se le conduzcaa estados seguros que sean previsibles, y se tengan los medios para solucionarlo.

• Un fallo puede tener repercusiones muyimportantes: perdidas humanas, económicas, etc.• Es necesario que si el sistema falla se le conduzcaa estados seguros que sean previsibles, y se tengan los medios para solucionarlo.

Concurrencia • Programación concurrente• Distintas tareas accediendo a recursos comunes• Restricciones temporales• Planificación de tareas atendiendo a lasrestricciones temporales

• Programación concurrente• Distintas tareas accediendo a recursos comunes• Restricciones temporales• Planificación de tareas atendiendo a lasrestricciones temporales

Introducción

Page 10: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Tamaño y complejidad • Afecta al software• La complejidad no sólo depende del tamaño• Posibilidad de realizar modificaciones• Descomposición en subsistemas pequeños y sencillos

• Afecta al software• La complejidad no sólo depende del tamaño• Posibilidad de realizar modificaciones• Descomposición en subsistemas pequeños y sencillos

Fiabilidad y seguridad • Un fallo puede tener repercusiones muyimportantes: perdidas humanas, económicas, etc.• Es necesario que si el sistema falla se le conduzcaa estados seguros que sean previsibles, y se tengan los medios para solucionarlo.

• Un fallo puede tener repercusiones muyimportantes: perdidas humanas, económicas, etc.• Es necesario que si el sistema falla se le conduzcaa estados seguros que sean previsibles, y se tengan los medios para solucionarlo.

Concurrencia • Programación concurrente• Distintas tareas accediendo a recursos comunes• Restricciones temporales• Planificación de tareas atendiendo a lasrestricciones temporales

• Programación concurrente• Distintas tareas accediendo a recursos comunes• Restricciones temporales• Planificación de tareas atendiendo a lasrestricciones temporales

Introducción

Page 11: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 12: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 13: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Ejemplo: Asignación de prioridadesT1 = {20,100,100,0) 

T2 = {50,150,150,0) 

T3 = {100,300,300,0) 

Introducción

Page 14: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Ejemplo: Asignación de prioridadesT1 = {20,100,100,0) 

T2 = {50,150,150,0) 

T3 = {100,300,300,0) 

Introducción

Page 15: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Ejemplo: Asignación de prioridadesT1 = {20,100,100,0) 

T2 = {50,150,150,0) 

T3 = {100,300,300,0) 

Introducción

Page 16: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Ejemplo: Asignación de prioridadesT1 = {20,100,100,0) 

T2 = {40,150,150,0) 

T3 = {100,300,300,0) 

Introducción

Page 17: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 18: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 19: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 20: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 21: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 22: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 23: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 24: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 25: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Introducción

Page 26: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Los hilos de ejecución pueden ser creados y manejados:

Utilizando un lenguaje de programación convencional y llamadas al sistema.

Ejemplo: C y threads en POSIX

Utilizando construcciones lingüísticas (o clases) de un lenguaje de programación que admita concurrencia

Ejemplo: Tareas en Ada95, threads en Java

Utilización de hilos de ejecución

Hilos de ejecución (Threads)

Introducción

Page 27: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Threads en POSIX (i):

Devuelve el identificador del thread que la invoca.pthread_t pthread_self()

Suspende la ejecución del hilo que invoca esta llamada, hasta que el thread_id acabe.

pthread_join (thread_id)

El hilo que la invoca finaliza su ejecución.pthread_exit (status)

Crea un nuevo hilo de ejecución. El hilo

de ejecución empieza en func y se le

pasan los parámetros args.

pthread_create(thread_id, attr, func, args)DescripciónLlamada

Llamadas básicas

Introducción

Page 28: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Threads en POSIX (ii):

Un ejemplo

Introducción

Page 29: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

#include <stdio.h>#include <pthread.h>#include <sched.h>#include <time.h>#define FIFOPOLICY SCHED_FIFO

void *task2(void *args) { int i,j; struct timespec delay1 = {0,500000000}; while(1){ printf("\n contando................"); for (i=1;i<=630000;i++) for (j=1;j<=500000;j++); printf("\n termina de contar "); printf (”\n ****** Soy t2 ******** ”); nanosleep(&delay1, NULL); }}

void *task1(void *args) { struct timespec delay2 = {0,500000000};

while(1){ printf (”\n ***** Soy t1 ************ “); nanosleep(&delay2, NULL); }}

int main (int argc, char **argv) { //variables Thread 1 pthread_t thread1;

pthread_attr_t attr1;int policy = FIFOPOLICY;struct sched_param param1;int priority1;

//parametros thread1pthread_attr_init(&attr1);pthread_attr_setschedpolicy(&attr1, policy);priority1 = 20;param1.sched_priority = priority1;pthread_attr_setschedparam(&attr1, &param1);pthread_create(&thread1, &attr1, task1, NULL);

Introducción

Page 30: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

//variables Thread 2 pthread_t thread2;

pthread_attr_t attr2;struct sched_param param2;int priority2;

//parametros thread2pthread_attr_init(&attr2);pthread_attr_setschedpolicy(&attr2, policy);priority2 = 100;param2.sched_priority = priority2;pthread_attr_setschedparam(&attr2, &param2);

//creacion de los hilos printf("prioridad hilo 1: %d\n", priority1); printf("prioridad hilo 2: %d\n", priority2); pthread_create(&thread2, &attr2, task2, NULL); pthread_create(&thread1, &attr1, task1, NULL); pthread_join (task1, NULL); printf(" SE ACABO "); return 0;}

Introducción

Page 31: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Constructora Integral de Colima

Premisas:

1. En los sistemas de tiempo real no es suficiente que la lógica sea correcta2. Los programas deben satisfacer además los requisitos temporales

Preguntas:

1. Como construir un sistema para que satisfaga los requerimientos temporales ?2. Como verificar que los cumple ?.

Introducción

Page 32: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Existen dos caminos para abordar este tema:

1. Métodos de análisis de planificabilidad

Estudio de la factibilidad de planificar la carga de trabajo requeridasobre los recursos disponibles, de modo que se cumplan los requisitos temporales

2. Técnicas de descripción formal

Uso de notaciones y marcos de razonamiento formales para representar y analizar los requisitos temporales

Introducción

Page 33: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Planificadores Cíclicos

• Vamos a estudiar como planificar un sistema de tiempo real con el objeto de garantizar las restricciones temporales

• Lo normal es realizar el estudio situándonos en el peor caso (WCET)

• Análisis sistemas secuenciales• Análisis sistemas concurrentes

Page 34: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

EjemploEjemplo

Control por computador de temperatura, nivel y pH de un depósito

Sensores

Actuadores

Interfaz

Planificadores Cíclicos

Page 35: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

EjemploEjemploControl por computador de temperatura, nivel y pH de un depósito

Tarea: Control de temperatura (Control_Temp)Cada 5 segundos Leer_Sensor_Temp(Val_Temp) Calcular_Acción(Ref,Val_Temp,Acc_Temp,…) Aplicar_Acción(Acc_Temp)Antes de 2 segundos

Memori

a

E/SSensores

Actuadores

Interfaz

SensoresSensoresSensoresSensores

ActuadoresActuadoresActuadoresActuadores

InterfazInterfazInterfazInterfaz

Control_Temp

Control_Nivel

Control_pH

Visualizacion

Planificadores Cíclicos

Page 36: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

EjemploEjemploControl por computador de temperatura, nivel y pH de un depósito

Tarea: Control de temperatura (Control_Temp)Cada 5 segundos Leer_Sensor_Temp(Val_Temp) Calcular_Acción(Ref,Val_Temp,Acc_Temp,…) Aplicar_Acción(Acc_Temp)Antes de 2 segundos

--Variables globales RegNivel, RegTemp, RegpH : Regulador; Nivel, Temp, pH : Float; Val_Salida, Val_Comp_Temp, Val_Comp_pH : Float;

procedure Control_Nivel isbegin Nivel := Leer_Sensor(Sensor); Calcular(Regniv, Nivel, Val_Salida); Enviar_Accion(Actuador, Val_Salida);end Control_Nivel;

Planificadores Cíclicos

Page 37: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

procedure Controlar isbegin -- inicialización variables, reguladores, dispositivos T := clock; loop Control_Nivel; Control_Temp ; Control_pH; T:= T + Period ; delay until T; end loop;end Controlar;

t

0 5 10 15 20 25 30 35 40 45

Temp_Control pH_Control Level_Control

Planificadores Cíclicos

Page 38: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

loop Control_Temp ; if ((Cnt mod 2) = 0) then Control_Nivel; Control_pH; end if ; Cnt := Cnt + 1 ; T := T + Period ; delay until T ;end loop;

Ciclo principal = 10 ms; secundario = 5 ms

t

0 5 10 15 20 25 30 35 40 45

Temp_Control pH_Control Level_Control

Planificadores Cíclicos

Page 39: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Pi = (Ci, Ti, Di, Ii)

Un actividad de tiempo real se caracteriza por una serie de parámetros temporales que determinan sus restricciones temporales de ejecución

Ii Ti

Di

Ci

Tarea i

t

Caracterización

Planificadores Cíclicos

Page 40: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

• Un planificador proporciona un algoritmo o política de gestión de procesos.• Un conjunto de procesos es factible de ejecutar si existe un planificador que cumpla las restricciones o precondiciones.• En sistemas de tiempo real crítico, la precondición son los plazos límites• Un planificador es óptimo si es capaz de producir una planificación factible para todos los procesos. Es óptimo si puede planificar todos los conjuntos de procesos que cualquier otro puede.• Se utilizan de algoritmos ad-hoc, estáticos y dinámicos.

Planificación de Sistemas de Tiempo Real

Planificadores

Page 41: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

•Cada Actividad ti puede verse como una tupla (Ci,Ti,Di,Ii)• Ci es su tiempo de cómputo de peor caso• Ti es el periodo de la tarea• Di es su plazo máximo de ejecución• Ii es el defase inicial

•Si todas las tareas t1..tn son periódicas, se puede confeccionar un plan de ejecución fijo que se repite cada ciclo principal TM•La duración del ciclo principal es la del hiperperiodo

H=mcm(Ti), i=1..n•El ciclo principal se divide en ciclos secundarios, cada uno de duración TS tal que TM = kTS

• En cada ciclo secundario se ejecutan las actividades correspondientes a determinadas tareas

Planificadores

Page 42: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

• Ejemplo 1– t1: C1 = 4 ms; T1 = 20 ms; D1 = 20 ms

– t2: C2 = 5 ms; T2 = 40 ms; D2 = 40 ms

– Elegimos• TM = mcm(20,40) = 40 ms

• TS = 20 ms

TM

TS

t1

t2

0 10 20 30 40 50 60 70 80

TS

TM

TS TS

Planificadores

Page 43: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

• El diseño del plan consiste en determinar sus parámetros:– Duración del ciclo principal Tp– Duración del ciclo secundario Ts– Ordenación de las tareas

• Debe tener en cuenta las restricciones temporales impuestas por el conjunto de tareas– La duración del ciclo principal es igual al hiperperiodo– Hay que elegir un ciclo secundario adecuado

• Por ejemplo, TS no puede ser menor que el tiempo de cómputo de ninguna tarea

Diseño del plan cíclico

Planificadores Cíclicos

Page 44: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Di = TiTi

• 3.- Debe haber un TS completo entre el instante de activación y el plazo de cualquier tarea

Ts

Ts

Ts

Ti

Ts Ts1

Planificadores Cíclicos

Page 45: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

• No hay concurrencia en la ejecución• Los procedimiento pueden compartir datos sin

temor a posibles errores, ya que la exclusión mutua esta garantizada por la construcción

• Los periodos deben ser armónicos, esto puede implicar utilizar periodos más cortos de lo necesario

• No hace falta análisis del comportamiento temporal

• Problemas:– Tareas esporádicas– Construir el plan cíclico– Poco flexible y difícil de mantener

Planificadores Cíclicos

Page 46: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Sist. TR

CíclicosCíclicos Prioridades

Estáticas Dinámicas

Rate Monotonic

RM

Deadline Monotonic

DM

Earliest Deadline

First EDF

LeastLaxity First

LLF

Clasificación de Planificadores

Page 47: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

•La planificación estática requiere una asignación a priori de la importancia (prioridad) de las tareas.

•Existe un planificador (basado en prioridades) que se encarga de ejecutar en cada instante de tiempo aquella tarea con la mayor importancia (prioridad)

•Las tareas pueden ser expulsadas cuando una tarea de mayor prioridad pasa a un estado de preparada

Planificadores Estáticos

Planificadores

Page 48: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

4321

Espera

Ejecución

Preparado

Terminado

Nuevo

5

Planificadores Estáticos

T1 Di CiT1 10 6 3

T2 15 10 3

T3 18 15 2

T4 24 24 5

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Planificadores

Page 49: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

•La planificación dinámica no requiere una asignación a priori de la importancia de las tareas.

•El criterio de selección de la tarea es dinámico. Por ejemplo: aquella tarea con plazo más corto (earliest deadline first –EDF-)

•Existe un planificador que se encarga de ejecutar en cada instante de tiempo aquella tarea que cumpla mejor el criterio (urgencia)

•Las tareas pueden ser expulsadas cuando una tarea de mayor urgencia pasa a un estado de preparada

Planificadores Dinámicos

Planificadores

Page 50: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Ejecución

Preparado

Espera

TerminadoNuevo

Planificadores Dinámicos

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

T1 Di CiT1 10 6 3

T2 15 10 3

T3 18 15 2

T4 24 24 5

Planificadores

Page 51: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Estática

Dinámica

T1 Di CiT1 10 6 3

T2 15 10 3

T3 18 15 2

T4 24 24 5

Planificadores

Page 52: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Lyu & Layland

Pi = (Ci, Ti, Di, Ii)

El peor caso se produce para t=0 con Ii=0.

Se denomina Instante crítico.

0 1 2 3 4 5 ... K-1 K ...........

IiTi

Di

Ci

Tarea i

t

Análisis de Planificabilidad

La k-ésima activación de la tarea i se produce a partir del instante:

Ii + (k-1)Ti

y tiene que finalizar antes de

Ii + (k-1)Ti + Di

Planificadores

Page 53: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Teoría monotónico en frecuencia (RM)

• La prioridad se asigna en función del periodo• A menor periodo -> mayor prioridad (mayor prioridad el más frecuente)

• Pueden existir múltiples asignaciones de prioridades a tareas que permitan cumplir las restricciones de tiempo.• Cuando el número de tareas es reducido el tiempo necesario para la determinación no será grande.• En cualquier caso, se trata de un problema NP-Completo

Existe una forma fácil (lógica) de asignar prioridades para la cual hay desarrollada una teoría que permite determinar analíticamente si el sistema será planificable o no.

Factor de utilización de la CPU de una Tarea i

Asignación de prioridades

Ui

Ci

Ti

Planificadores

Page 54: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

n U(n)1 1,002 0,823 0,774 0,755 0,74... ...∞ 0,69

Para n tareas:

Análisis de planificabilidad:Test de factores de utilización

Test de planificabilidad basado en la utilización (Liu & Layland, 73):

Un conjunto de n tareas es planificable si se cumple:

Esta expresión establece un límite de utilización de la CPU

Es una condición suficiente pero no necesaria

00,10,20,30,40,50,60,70,80,9

1

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43

)12()(...1

2

2

1

1 −⋅=≤+++ n

n

n nnUT

C

T

C

T

C

Planificadores

Page 55: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

C1 = 2 T1 = 10 U1 = 0.2C2 = 4 T2 = 15 U2 = 0.267C3 =10 T3 = 35 U3 = 0.286 U1 + U2 + U3 = 0.753

Uso total 75.3 % < U(3) = 77.9 %

24.7 % de la CPU se puede utilizar para cálculos sin req. temporales a más baja prioridad.

Análisis de planificabilidad: Test de factores de utilización

Ejemplo 1

Planificadores

Page 56: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

C1 = 2 T1 = 10 U1 = 0.2C2 = 4 T2 = 15 U2 = 0.267C3 = 5 T3 = 25 U3 = 0.2C4 = 6 T4 = 35 U4 = 0.17 U1 + U2 + U3 + U4 = 0.837

Uso total 83,7 % > U(4) = 75.6 % No cumple

Análisis de planificabilidad: Test de factores de utilizaciónEjemplo 2

Pero el sistema es planificable

Planificadores

Page 57: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

• La prueba del test de finalización es condición suficiente, pero no necesaria

• No se puede generalizar a modelos de tareas más complejos

• No da una estimación de cuándo termina

Análisis de planificabilidad:Test de factores de utilización

Planificadores

Page 58: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

• Teorema: Un conjunto de “n” tareas será planificable bajo cualquier asignación, si y sólo si:

Análisis de planificabilidad:Test de Tiempo de Finalización

• Si una tarea cumple su primer plazo de ejecución en el peor caso.• El tiempo de finalización de peor caso de cada tarea ocurre cuando todas las tareas de prioridad superior se inician a la vez que ésta.

Planificadores

Page 59: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis de planificabilidad:Test de Tiempo de Finalización

Se trata de calcular en qué instante de tiempo termina la ejecución de una tarea ti. Este tiempo viene determinado por:

1. Su tiempo de ejecución Ci2. Para cada tarea tj de mayor prioridad que la ti, la suma de

todas las interferencias que se producen

T1

T2

6

Función techo

3310

612 =⋅

=

=

I

CT

WI j

j

iji

Planificadores

Page 60: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis de planificabilidad:Test de Tiempo de Finalización

Se trata de calcular en qué instante de tiempo termina la ejecución de una tarea ti. Este tiempo viene determinado por:

1. Su tiempo de ejecución Ci2. Para cada tarea tj de mayor prioridad que la ti, la suma de

todas las interferencias que se producenEn general, el conjunto de tareas con mayor prioridad a una dada i, es hp(i). Por lo tanto la interferencia que sufrirá una tarea i vendrá determinada por:

jihpj j

ii C

T

WI ⋅

= ∑

∈ )(

Planificadores

Page 61: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis de planificabilidad:Test de Tiempo de Finalización

El tiempo de finalización de una tarea ti, será:

Esta ecuación se puede calcular de una forma iterativa.

Condición de terminación:

Condición de no cumplimiento:

jihpj j

iii C

T

WCW ⋅

+= ∑

∈ )(

ii CW =0

jihpj j

ni

in

i CT

WCW ⋅

+= ∑

+

)(

1

ni

ni WW =+1

in

i TW ≤+1

Planificadores

Page 62: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis de planificabilidad:Test de Tiempo de Finalización

• Un conjunto de “n” tareas será planificable si y sólo si:

Solución iterativa

TW iini ≤≤≤∀ ,1

i i

i ii

jj hp ij

i ii

jj hp ij

i

k

i

k

W C

W C WT C

W C WT C

W W

0

10

21

1

=

= +

= +

=

∀ ∈

∀ ∈

+

∑( )

( )

.................................

Planificadores

Page 63: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis de planificabilidad:Test de Tiempo de Finalización

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

T1 Di CiT1 10 10 3

T2 15 15 3

T3 18 18 2

T4 24 24 510 30

3

11

1

1

1

0

1

=≤=+=

==

TCWCW

jihpj j

iii C

T

WCW ⋅

+= ∑

∈ )(

Planificadores

Page 64: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

T1 Di CiT1 10 10 3

T2 15 15 3

T3 18 18 2

T4 24 24 5

156

6310

63

6310

33

3

2

2

2

1

2

}1{

1

22

2

2

}1{

0

22

1

2

2

0

2

=≤==

=

+=

+=

=

+=

+=

==

∈∀

∈∀

TWW

TWCW

TWCW

CW

j j

j j

Análisis de planificabilidad:Test de Tiempo de Finalización

jihpj j

iii C

T

WCW ⋅

+= ∑

∈ )(

Planificadores

Page 65: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

T1 Di CiT1 10 10 3

T2 15 15 3

T3 18 18 2

T4 24 24 5

188

8315

83

10

82

8315

23

10

22

2

3

2

2

1

3

}2,1{

1

33

2

3

}2,1{

0

33

1

3

3

0

3

=≤==

=

+

+=

+=

=

+

+=

+=

==

∈∀

∈∀

TWW

TWCW

TWCW

CW

j j

j j

Análisis de planificabilidad:Test de Tiempo de Finalización

jihpj j

iii C

T

WCW ⋅

+= ∑

∈ )(

Planificadores

Page 66: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

T1

T2

T3

T4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

T1 Di CiT1 10 10 3

T2 15 15 3

T3 18 18 2

T4 24 24 5

2424

24218

243

15

243

10

245

24218

213

15

213

10

215

21218

193

15

193

10

195

19218

163

15

163

10

165

16218

133

15

133

10

135

13218

53

15

53

10

55

5

4

5

4

6

4

}3,2,1{

5

44

6

4

}3,2,1{

4

44

5

4

}3,2,1{

3

44

4

4

}3,2,1{

2

44

3

4

}3,2,1{

1

44

2

4

}3,2,1{

0

44

1

4

4

0

4

=≤==

=

+

+

+=

+=

=

+

+

+=

+=

=

+

+

+=

+=

=

+

+

+=

+=

=

+

+

+=

+=

=

+

+

+=

+=

==

∈∀

∈∀

∈∀

∈∀

∈∀

∈∀

TWW

TWCW

TWCW

TWCW

TWCW

TWCW

TWCW

CW

j j

j j

j j

j j

j j

j j

Análisis de planificabilidad:Test de Tiempo de Finalización

jihpj j

iii C

T

WCW ⋅

+= ∑

∈ )(

Planificadores

Page 67: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Lyu & Layland

1. Tareas son periodicas, no se autosuspenden, plazos de entrega igual al periodo con plazos arbitrarios

2. Pueden ser expulsadas, cambio de contexto is despreciable

3. Tareas son independientes. El peor caso es conocido (WCET).

Análisis de Planificabilidad

Determinación off-line de si el sistema va a cumplir las restricciones temporales

Supuestos iniciales

Planificadores

Page 68: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Deadline Monotonic (DM)

Cuando se tienen plazos arbitrarios (Di <=Ti) hay una forma óptima de asignar prioridades: Monotónico con el plazo.

Asignación de prioridades

• Asigna prioridades inversamente proporcionales al plazo de finalización.

• Se puede emplear el test de los plazos de finalización para garantizar la planificabilidad.

• El RM se convierte en un caso especial del DM (en el que los plazos son iguales al periodo).

• El RM es óptimo entre los planificadores estáticos.

Si un conjunto de tareas con prioridades asignadas según el DM no es planificable, entonces ninguna otra forma de asignar prioridades lo hará planificable

DM

RM

Planificadores

Page 69: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

•Cuando existen plazos menores que el periodo.•Asignación de prioridades por orden creciente de plazo.•Prioridad más alta al menor plazo.

Análisis de Planificación

Los tiempos de finalización se calculan de la misma forma, pero la condición de planificación considera el plazo en vez del periodo.

Condición de terminación:

Condición de cumplimiento:

ii CW =0

jihpj j

ni

in

i CT

WCW ∑

+

+=

)(

1

ni

ni WW =+1

in

i DW ≤+1

Planificadores

Page 70: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Resumen1. Se parte de un conjunto de tareas periódicas en el que:

• las aperiódicas críticas => periódicas• Las aperiódicas no críticas => agrupan en servidores

aperiódicos2. Se asignan prioridades a las tareas según distintos criterios

• Importancia semántica• Monotónico con el plazo (periodo)

3. Se asignan prioridades a los recursos compartidos (techo de prioridad)

4. Se determina la planificabilidad del sistema1. Mediante el test de utilización (sólo en el caso de plazos =

periodos y asignación monotónica)2. Mediante el test de finalizaciónSi el sistema no es planificable se puede incrementar los periodos ya

que el periodo de una tarea está dentro de un rango.

Planificadores

Page 71: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Lyu & Layland

1. Tareas son periodicas, no se autosuspenden, plazos de entrega igual al periodo con plazos arbitrarios

2. Pueden ser expulsadas, cambio de contexto is despreciable

3. Tareas son independientes. El peor caso es conocido (WCET).

Análisis de Planificabilidad

Determinación off-line de si el sistema va a cumplir las restricciones temporales

Supuestos iniciales

Planificadores

Page 72: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Lyu & Layland

1. Tareas son periodicas, no se autosuspenden, plazos de entrega igual al periodo con plazos arbitrarios

2. Pueden ser expulsadas, cambio de contexto is despreciable

3. Tareas son independientes. El peor caso es conocido (WCET).

Análisis de Planificabilidad

Determinación off-line de si el sistema va a cumplir las restricciones temporales

Supuestos iniciales

Planificadores

Page 73: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Requerimientos del Sistema

Especificación

Diseño

ImplementaciónTécnica global

Modelo de Diseño Formal

Page 74: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Requisitos del Sistema

Especificación Implementación

Basado en componentes

Especificación global

Modelo de Diseño Formal

Page 75: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Modelo de Diseño Formal

Page 76: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Modelo de Diseño Formal

Page 77: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Los componentes se definen como elementos con atributos, comportamientos y estados, a disposición del usuario para especificar y diseñar un sistema. En términos generales, representan lugares de cómputo.

+-

Modelo de Diseño Formal

Page 78: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Modelo de Diseño Formal

Requisitos básicos:

Describir el diseño empleando las técnicas de desarrollo para sistemas orientado a objetos.Representar aspectos de la solución del problema relacionado con la estructura y funcionalidad del diseño.Soportar los aspectos de reusabilidad del software.Permitir definir soluciones a los problemas de restricciones temporales y estar bien definidos en el dominio de los sistemas de control en tiempo real. Soportar un estilo arquitectónico para el diseño de aplicaciones

Componentes

Page 79: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Descripción

Nombre: NOMBRE DEL COMPONENTE

Interfaz Ofrecida: Requerimientos:Servicios que ofrece Servicios requeridos

Parámetros de configuración:Parámetros necesarios de configuración y/o atributos del componente

Servicios ofrecidos:Lista de servicios o posibilidades ofrecidas por el componente

ServiciosOfrecidos

ServiciosRequeridos

Configuración

NOMBRE

Modelo de Diseño Formal

Componentes

Page 80: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Actividades

Mecanismos de coordinación

Específicos

Genéricos

Sincronización

Comunicación

Entrada/Salida

Código

Periódica

Periódica con plazo de entrega

Periódica con computación opcional

Periódica con cambio de modo

Aperiódica

Servidora

Barrera

Señal

Cerrojo

Pulso

Evento

Cita

Almacén limitado

Pizarra

Buzón

Multiemisión

Dato compartido

Transportador

Interrupción frecuencia fija

Interrupción intervalo temporal

Convertidor muestreo

Convertidor interrupción

Selección temporizada

Selección múltiple

Secuencia

Pasivo simple

Lector/Escritor

Protegido genérico

Caracterización de Componentes

Page 81: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Modelo de Diseño Formal

Page 82: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

HLTPN

Características:

Definición:

HLTPN es una tupla (P,T,pre, post), donde:

P: Lugares

T: TransicionesTPpre ×⊆PTpost ×⊆

Page 83: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Tareas periódicas

Page 84: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Page 85: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Tareas periódicas con computación opcional

Page 86: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Planificador Expulsivo Basado en Prioridades (POSIX)

Page 87: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Page 88: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Page 89: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Page 90: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Page 91: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

T 1 _ 1

T 1 _ 2

T 1 _ 3 T 1 _ 4

T 1 _ 5

T 1 _ 6

T 1 _ 7

T 1 _ 9

t r 3 _ 1 0

t r 1 _ 1

t r 1 _ 3 t r 1 _ 2

t r 1 _ 4 t r 1 _ 5

t r 1 _ 6

t r 1 _ 8

T 3 _ 1 3

W B 1 C t e r B 1

C t B 1

P A B 1

e B 1

l B 1

f u l l B 1 = 0 B 1 E x i t B 1

T 2 _ 1

T 2 _ 2

T 2 _ 3 T 2 _ 4

T 2 _ 5

T 2 _ 6

T 2 _ 7

T 2 _ 9

S _ T 3

t r 2 _ 1

t r 2 _ 3 t r 2 _ 2

t r 2 _ 4

t r 2 _ 5

t r 2 _ 6

t r 2 _ 8

t r 2 _ 9

T 3 _ 1

T 3 _ 2

T 3 _ 3 T 3 _ 4

T 3 _ 5

T 3 _ 7

T 3 _ 9

S C H A

s t 2 _ 1

t r 3 _ 1

t r 3 _ 3 t r 3 _ 2

t r 3 _ 4

t r 3 _ 6

t r 3 _ 7

t r 3 _ 9

s t 2 _ 2

E x i t L 1

T 3 _ 8

L L 1

S C H C

P R O C

s c h 5

s c h 1

T L 1

s c h 7

e v a l 1 _ T 2

S t a t e L 1

T W L 1 e L 1

a r r i v a l L 1

e v a l 1 _ T 1

e v a l L 1

e v a l 1 _ T 3

S C H B

e v a l 2 _ T 3

e v a l 2 _ T 2

t r 3 _ 8

e v a l 2 _ T 1

s c h 3 s c h 4 S C H O R D

S C H D

T 3 _ 1 0

s c h 2

S C H E

S C H F

s c h 6

n o n _ a s s i g n

E F O P R W 1

P 8 0

T I 1

t r 1 _ 7

T 1 _ 8

T 2 _ 1 0

t r 2 _ 7

T 2 _ 8

S C 1

e r w C 1

E x i t F O P R W 1

E P O P R W 1

T F 1

T A 1

R W C 1

E x i t R W C 1 E x C 1

C R W 1 r C 1

l C 1

w C 1

s t 1 _ 1

s t 1 _ 2

T I 2

S _ T 1

S e n t e n c e s 1

t r 1 _ 1 0

t r 3 _ 5

T 3 _ 6

T 1 _ 1 1

P O P R W 13

E x i t P O P R W 1

B u f O P R W 1

R e q O P R W 1

W a i t O P R W 1

E m p t y O P R W 1 F O P R W 12

C t F O P R W 1

E x e c F O P R W 1

e _ F O P R W 1

e _ P O P R W 1

s e l O P R W 1

c a l l F 1 O P R W 1

c a l l F 2 O P R W 1 n F O P R W 1

R e c O P R W 1

E n d F O P 1

C a l l P O P R W 1

E x e c P O P R W 1

e n d P O P R W 1

t r 1 _ 9 T 1 _ 1 0

t r 1 _ 1 1 T 1 _ 1 2

t r 1 _ 1 2 T 1 _ 1 3

T F 2

T A 2

s t 3 _ 1

s t 3 _ 2

S e n t e n c e s 2

T I 3 T F 3

T A 3

s t 1 _ 3

s t 2 _ 3

s t 3 _ 3

s e n t 2 t r 2 _ 1 0

T 2 _ 1 1

t r 2 _ 1 1 T 2 _ 1 2

t r 2 _ 1 2 T 2 _ 1 3

S _ T 2

E x i t S e n t 2

s e n t 1

E x i t S e n t 1

T 1 1

T 1 2

T 2 1

T 2 2

T 3 1

T 3 2

S e n t e n c e s 3

E x i t S e n t 3

S e n t 3

T 3 _ 1 1

t r 3 _ 1 1 T 3 _ 1 2

t r 3 _ 1 2

Análisis y Verificación Formal

Page 92: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Page 93: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

Análisis y Verificación Formal

Page 94: Análisis y Verificación Formal de Planificadores para ... · PDF fileTécnicas de descripción formal Uso de notaciones y marcos de razonamiento formales para ... activación y el

www.themegallery.com