48
1 CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV Desarrollo de Reglas Activas Un Enfoque de Red de Petri” Alumno:Joselito Medina Marín Asesor: Dra. Xiaoou Li México, D.F., Noviembre de 2003. TESIS

CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

  • Upload
    rolf

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV. TESIS. “Desarrollo de Reglas Activas Un Enfoque de Red de Petri”. Alumno:Joselito Medina Marín Asesor: Dra. Xiaoou Li. México, D.F., Noviembre de 2003. Presentación. - PowerPoint PPT Presentation

Citation preview

Page 1: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

1

CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS

CINVESTAV

“Desarrollo de Reglas ActivasUn Enfoque de Red de Petri”

Alumno:Joselito Medina MarínAsesor: Dra. Xiaoou Li

México, D.F., Noviembre de 2003.

TESIS

Page 2: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

2

Presentación

• Bases de datos activas (BDA). Soportan mecanismos que le permiten responder automáticamente a eventos que ocurren dentro o fuera de la BD.

• BD + reglas activas = BDA

• Reglas activas Timed Conditional Colored Petri Net (TCCPN)

• BD + TCCPN = BDA

Page 3: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

3

Antecedentes

• Bases de datos pasivas.

• Bases de datos activas (BDA).

updateinsert

delete

BD

reglas activas

BDA

+BD

Page 4: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

4

Antecedentes

• Reglas Activas

Modelo de reglas ECA (Evento-Condición-Acción).Evento: es algo que ocurre en un instante en el tiempo.Condición: predicado que evalúa el estado de la BD.Acción: es la reacción a un evento y se ejecuta cuando la regla se

dispara y la condición se cumple.

Regla ECA:on eventoif condiciónthen acción

Ejemplo:on insert empleadoif empleado.salario > gerente.salariothen abort

Page 5: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

5

A1

C1

E1

Proceso de ejecución de reglas activas

Fuente de eventos

E2

C2

A2

E3

C3

A3

En

Cn

An

. . .

BD

E1

E1

A1

A1

Page 6: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

6

Bases de datos activas existentes

• Startburst

• POSTGRES

• Ariel

• SQL-3

Relacionales

• HiPAC• EXACT• NAOS• Chimera• Ode• Samos• Sentinel• Reach

Orientadas a Objetos

Page 7: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

7

Problemas con las BDA existentes

• No existe un modelo general para la definición de reglas activas.

• Difícil de rastrear el comportamiento de una secuencia de reglas.

• No es posible llevar a cabo una simulación previa a la implementación de las reglas.

• Difícil detectar problemas como No terminación y Confluencia.

• El análisis de reglas se realiza en un entorno diferente al de la modelación de la base de reglas.

• Eventos complejos.

Page 8: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

8

Análisis de reglas activas

Terminación R1

R4

R3R2

Confluencia

S1

S4

S3S2

Ri Rj

**

Page 9: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

9

Eventos complejos

Conjunción: (E1, E2), ocurre cuando se presentan los eventos E1 y E2, en cualquier orden.

Disyunción: (E1 | E2), ocurre cuando toma lugar cualquiera de los eventos E1 ó E2.

Secuencia: seq(E1,E2), ocurre cuando sucede primero E1 y posteriormente E2.

Simultáneo: sim(E1,E2), ocurre cuando sucede al mismo tiempo E1 y E2.

Negación : not E en Int, ocurre cuando el evento E no sucedió durante el intervalo Int.

. . . .

Page 10: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

10

Nuestra propuesta

Modelo de red de Petri extendido

Base de datos activaDatos

Reglas

Page 11: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

11

Red de Petri (PN), herramienta de simulación

• Herramienta de modelación gráfica y matemática.

• Simulación de Sistemas manejados por eventos (EDS).

• Análisis del comportamiento del EDS.

• Fácil de observar el estado en el EDS.

• Herramientas de análisis para detectar los problemas de las ADB.

Page 12: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

12

Elementos de una PN

Lugares.

Transiciones.

Arcos de entrada.

Arcos de salida.

Tokens.

P

T

I(t,p)

O(t,p)

M()

Page 13: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

13

Datos adicionales a la PN

Conjunto finito de tipos de datos.

Una función que asigne un tipo de dato a cada lugar.

Una función de condición.

Una función de para asignar intervalos de tiempo a transiciones.

Una función de asignación de estampas de tiempo.

Una función de inicialización de los valores de los tokens.

Page 14: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

14

Red de Petri Coloreada Condicional con Tiempo (TCCPN)

Es una 11-tupla, TCCPN = { , P, T, A, N, C, Cond, Acción, D, , I }

Donde:

es un conjunto finito de tipos de dato ó conjunto de colores.

P es un conjunto finito de lugares.

T es un conjunto finito de transiciones. T = TruleTcopy Tcomp

A es un conjunto finito de arcos, tales que P T = P A = T A = .

N es una función nodo. Está definida desde A hacia P × T T × P.

C es una función color. Está definida desde P hacia .

Cond es una función de condición.

Acción es una función que asocia cada transición con su lugar de salida.

D: Es una función que asocia un intervalo de tiempo con una transición.

: Es una función que asocia cada token con un instante en el tiempo.

I es una función de inicialización.

Page 15: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

15

Red de Petri Coloreada Condicional con Tiempo (TCCPN)

Regla ECA:on eventoif condiciónthen acción

acción

CCPNevento

condición

TCCPN = { , P, T, A, N, C, Cond, Acción, D, , I }

= {tipos de datos}

P = {evento, acción}

T = {condición}

A = {(evento,condición), (condición,acción)}

Page 16: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

16

Relación entre reglas ECA en una TCCPN

Evento

Condición

Acción

a)

Evento

Condición 1

Acción 1

Condición 2

Acción 2

Copia evento Copia evento

Copy

b)

Condición 2

Acción 2

Evento 1

Condición 1

Acción 1 = Evento 2

c)

Page 17: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

17

Disparo de transiciones de la TCCPN

Un elemento token contiene la estampa de tiempo en que fue generado.

Transición tipo Regla Transición tipo Copy Transición tipo EventoCompuesto

Evalúa condición de la Regla

Condición verdadera Evalúa estampa de tiempo de los tokens

Page 18: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

18

Modelación de reglas ECA con TCCPN

Eventos y Acciones

• Generados por los comandos SQL: insert, update, delete.

• Se representan por lugares de PN.

• Nomenclatura:

insert_TABLA insert_empleado

update_TABLA_CAMPO update_empleado_salario

delete_TABLA delete_empleado

Page 19: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

19

Modelación de reglas ECA con TCCPN

Tokens

• La presencia de un token en un lugar indica la ocurrencia del evento representado por el lugar.

• Almacena información sobre el evento.

• Estructura de los tokens:

empleado(id, nombre, salario)

insert into empleado values (123, ‘Juan Pérez’, 5230.50);

update empleado set salario = 5500.00 where id = 123;

delete from empleado where id = 123;

Page 20: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

20

Modelación de reglas ECA con TCCPN

Condición

• Se almacena en una transición tipo Trule.

• La transición tipo Trule almacena información sobre la acción de la regla ECA.

Page 21: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

21

Conversión de Reglas ECA a TCCPNinicio

EVENTS[m]RULES[n]

i = 1j = 1

fin

no

p1 .type = primitive;

si

es compuestoEVENT[i]?

i++;

no

p1.type = compuesto;Crear transición t1 Tcomp;Conectar t1 with p1;k = 1;totalC = | EVENT[i].consEvents |;

si

Crear p1;p1.eventIndex = i;

k < totalCno

Crear lugar p2 para la acciónp2 = RULE[j].action;

si

i m

p2 yaes un lugar de

entrada?

p2 = EVENT[i].constEvents[k]

si

p3 = Copyof(p2)Conectar p3 con t1

Conectar p2 con t1no

k++;

j nCrear transición t1 Trule;t1 = RULE[j].conditionConectar p1 with t1;//

?t1 p{ =1}

no

si

Existe unlugar para

?la action

no

si

Conectar t1 con p2;;++j

Asignar lugar existentea p2

Page 22: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

22

Barra de edición

Barra de ejecución

Opcionesde archivo

Opciones de Zoom

Propiedades

Velocidad

Panel de visualización

Ambiente del ECAPNSim [3]

Page 23: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

23

• Apple G4

• Sistema Operativo MAC OS X Server

• JDK 1.3

• PostgreSQL ver. 7.1

Ambiente de desarrollo de la interfaz

Page 24: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

24

Arquitectura de ECAPNSim

Base de datos

Detector deeventos compuestos

Transaccionesde ECAPNSim

Administradorde TCCPN

Editor de reglas

Análisis deTerminación

Convertidor ECA - TCCPN

Componente deexplicación

Tools Environment

editor/visualizadorTCCPN

Desarrollador de reglas ECA

ECAPNSim Kernel

Base de TCCPN

Consola

Componente deEjecución de reglas

señal de evento acceso a TCCPN evento ejecución de reglas

Usuario

Page 25: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

25

Herramientas para generar la TCCPN en ECAPNSim

EditorReglas ECA

ConvertidorECA - TCCPN

Editor / Visualizadorde la TCCPN

Desarrollador dereglas ECA

Kernel de ECAPNSim

TCCPNbase

Análisis de TerminaciónGenerador de

matriz de incidencia

Buscadorde rutas

Analizadorde rutas

Detector de rutas cíclicas

Refinamientode ciclos

Administradorde TCCPN

Compiladorreglas ECA

Desarrollador dereglas ECA

Base dereglasECA

Herramientas estáticas

Flujo de datos

Recuperación y Almacenamiento de los elementos de la TCCPN

Componente de explicación

Page 26: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

26

Herramienta de ECAPNSim en tiempo de ejecución

Componente de Ejecución de reglas

BD

Detector deeventos

Administradorde la TCCPN

Modo de simulación

editor/visualizador

de la TCCPN

Usuario

Modo real

TCCPN

Consola

Flujo de datos en tiempo de ejecución

Evaluaciónde condición

Ejecuciónde la Acción

con información del token

evaluaciónaleatoria

Evaluador de conditión

Animatción detokens

Kernel de ECAPNSim Herramientas estáticas

Desarrollador dereglas ECA

ECAPNSim

Page 27: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

27

Análisis de TerminaciónSoluciones propuestas por otros autores

• Algoritmo de propagación.

• Hipergráfica de disparo.

• Gráfica de disparo refinado

• Arbol de alcanzabilidad de PN.

• Arbol de cobertura en PN.

• Red de Petri con restricciones

Page 28: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

28

Análisis de Terminación usando la Matriz de Incidencia

Definición: Para una red de Petri N, con n transiciones y m lugares, la matriz de incidencia A = [ aij ] es una matriz de números enteros de n x m.

El valor para cada elemento de la matriz está dado por:aij = aij

+ - aij-

Donde:aij

+ = w(i,j) es el peso del arco que conecta una transición ti T con su lugar de salida pj P, y

aij -= w(j,i) es el peso del arco que conecta una transición ti T con su lugar de entrada pj P.

Page 29: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

29

Matriz de Incidencia de una TCCPN

aij =

-1

0

1

El lugar pj P es un lugar de entrada a la transición ti T

No existe un arco que conecta al lugar pj P con la transición ti T y viceversa.

El lugar pj P es un lugar de salida de la transición ti T

Para m, n 1

Page 30: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

30

Algunos conceptos necesarios

Definición1: Un lugar es un nodo inicial NI si la columna presenta solamente valores 0's y un solo valor de -1.

p4

t3

p5

p0

p1 p2

t1 t2

p3

Definición2: Un nodo terminal NT es un lugar que representa solo a la acción de una o varias reglas.

Definición3: Una ruta R es una secuencia de pares ordenados (i,j), obtenidos a partir de la matriz de incidencia de la CCPN, describiendo una lugares y transiciones relacionadosDefinición4: Una ruta cíclica RC es una ruta R donde el último par ordenado (y,z) ya se encuentra listado en R.Definición5: Una ruta acíclica RA es aquella donde la última pareja ordenada (i,j) de la ruta es diferente de sus antecesoras, es decir, que RA tiene un nodo terminal.

t0

Page 31: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

31

Algoritmoinicio

valor, índice

si

bandera = falso;i=1;

no

fin

Función siguienteNodo(valor,índice)

valor = -1

i m

A[i][indice] = valor

si

no

bandera = verdadero;Agregar (i,índice) a R;

si

no

si nosiguienteNodo(1,i);

eliminaUltimoNodo();

Existe nodo(i,índice)?

write ‘Ruta cíclica’;ImprimeRuta();

i++;~bandera

ImprimeRuta();

si

no

j=1;

j n

si

no

A[indice][j]= valor

si

no

Agregar (indice,,j) a R;siguienteNodo(-1,,j);eliminaUltimoNodo();

Vector de Rutas R

Amxn

Page 32: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

32

Teorema y Colorario

Teorema: Si todas las rutas R de una TCCPN son acíclicas, entonces el disparo de las reglas termina.

Corolario: Si existen rutas cíclicas RC en la CCPN, y existe al menos una transición t Trule, donde Cond(t)=false dentro de cada RC,entonces el disparo de las reglas ECA termina.

Page 33: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

33

Caso de estudio

Regla 1: Cuando la prima de un empleado se modifica, si es incrementada en más de $100.00, entonces el rango del empleado se incrementa en uno.

Regla 6: Cuando se obtienen las ventas del mes y el número de éstas es superior a 50 y el rango de empleado que las obtuvo es menor de del nivel 15, entonces el monto de su prima se decrementa $100.00.

Regla 2: Cuando el rango de un empleado se modifica (supongamos que se incrementa), entonces la prima del empleado se incrementa diez veces el nivel del nuevo rango.

Regla 3: Cuando se obtienen las ventas del mes y el número de éstas es superior a 50, entonces se incrementan $10.00 al salario del empleado.

Regla 4: Cuando se obtienen las ventas del mes y el número de éstas es superior a 100, entonces el rango del empleado se incrementa en un nivel.

Regla 5: Cuando el nivel del rango de un empleado se modifica y el rango alcanzó el nivel 15, entonces el salario del empleado se incrementa en un 10%.

Page 34: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

34

Caso de estudio

emp.salario += 10

If ventas.n úmero > 50emp.rango = emp.rango+1

p0

t0

p1

update_PRIMA_cantidad

update_EMP_rango

p2

t1 copy

p3

CopyOf_update_EMP_rango

CopyOf_update_EMP_rango

If (new.cantidad-old.cantidad) > 100

t2

If emp. rango = 15

t3

If (verdadero)

p4

CopyOf_insert_VENTAS

insert_VENTAS

t4 copy

p5 p6 p7

t5

t6

t7

p8 update_EMP_salarioemp.salario = emp.salario*1.1

If ventas.nú mero > 100

emp.rango += 1If ventas. número > 50AND emp.rango < 15

prima. cantidad -= 100

prima .cantidad +=(emp. rango*10)

Page 35: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

35

Caso de estudio

Las tablas que forman parte de la BD son:EMPLEADO(emp_id, nombre, rango, salario)PRIMA(emp_id, cantidad)VENTAS(emp_id, mes, numero)

La matriz de incidencia correspondiente es:0 1 2 3 4 5 6 7 8

0 -1 1 0 0 0 0 0 0 0

1 0 -1 1 1 0 0 0 0 0

2 1 0 -1 0 0 0 0 0 0

3 0 0 0 -1 0 0 0 0 1

4 0 0 0 0 -1 1 1 1 0

5 0 0 0 0 0 -1 0 0 1

6 0 1 0 0 0 0 -1 0 0

7 1 0 0 0 0 0 0 -1 0

A =

Indices de transiciones

Indices de lugares

Page 36: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

36

Caso de estudio

Las rutas encontradas en la matriz de incidencia son:

R[0]: (4,4), (4,5), (5,5), (5,8)

R[1]: (4,4), (4,6), (6,6), (6,1), (1,1), (1,2), (2,2), (2,0), (0,0), (0,1), (1,1)

R[2]: (4,4), (4,6), (6,6), (6,1), (1,1), (1,3), (3,3), (3,8)

R[3]: (4,4), (4,7), (7,7), (7,0), (0,0), (0,1), (1,1), (1,2), (2,2), (2,0), (0,0)

R[4]: (4,4), (4,7), (7,7), (7,0), (0,0), (0,1), (1,1), (1,3), (3,3), (3,8)

Page 37: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

37

Caso de estudio

emp.rango = emp.rango+1

p0

t0

p1

update_PRIMA_cantidad

update_EMP_rango

p2

t1 copy

CopyOf_update_EMP_rango

If (new.cantidad-old.cantidad) > 100

t2

If (verdadero)

prima .cantidad +=(emp. rango*10)

Disparo infinito de reglas si:- El incremento es mayor de $100.- El rango del empleado es mayor de 9.

a) Ocurrencia evento p0:

Disparo infinito de reglas si:- El rango del empleado es mayor de 10.

b) Ocurrencia evento p1:

Page 38: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

38

Eventos Compuestos

Las transiciones t Trule almacenan el intervalo de tiempo, el cual está compuesto por un tiempo inicial y un tiempo final.Los tokens almacenan el valor de un punto en el tiempo (timestamp), el cual se refiere al momento en que el evento ocurrió.

ec = e1 e2

e1 e2

ec

ec = e1 e2

e1 e2

ec

Conjunción: (e1, e2), ocurre cuando se presentan los eventos e1 y e2, en cualquier orden.

Disyunción: (e1 | e2), ocurre cuando toma lugar cualquiera de los eventos e1 ó e2.

Page 39: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

39

Eventos Compuestos

ec = ~e1 en Int(sp, ep)sp : tiempo inicialep : tiempo final

e1

ec

Inhibitor arc

Negación : not e en Int, ocurre cuando el evento e no sucedió durante el intervalo Int.

ec = sec(e1, e2)

e1 e2

ec

if ( time(E1) < time(E2) )

Secuencia: seq(e1, e2), ocurre cuando sucede primero e1 y posteriormente e2.

ec = sim (e1, e2)

e1 e2

ec

if ( time(E1) = time(E2) )

Simultáneo: sim(e1, e2), ocurre cuando sucede al mismo tiempo e1 y e2.

Page 40: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

40

Eventos Compuestos

ec = *e1 en Int(sp, ep)

e1

ec

ec = last(e1) en Int(sp, ep)

e1

ec

ec = times(n, E1) en Int(sp, ep)

e1

ec

n

Cerradura: cerradura e en Int, ocurre solo una vez cuando ocurre la primera vez el evento e durante el intervalo Int.

Ultimo: last e en Int, toma la última ocurrencia de e en el intervalo Int.

Historia: times(n, e) en Int, ocurre cuando el evento e ha sucedido n veces durante el intervalo Int.

Page 41: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

41

Eventos Compuestos

ec = ANY(m, e1, e2, …, en)

etmp

ec

m

e1 e2 e3 en…….

…….

Alguno: any(e1, e2, ..., en, m), ocurre cuando han sucedido m eventos ei de n posibles. n m.

Page 42: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

42

Algoritmo para la generación de eventos compuestos

Reglas.ecaTabla1 (campo11 tipoDato11, campo12 tipoDato12, ...);Tabla2(campo21 tipoDato21, campo22 tipoDato22, ...);. . . .e1 : eventoPrimitivo1;e2 : eventoPrimitivo2;ec1 : eventoCompuesto1;. . . .On and(e1,e2),If condición,Then acción;. . . .

0: ---

1: ---

------

0: ---

1: ---

------

0: ---

1: ---

------

Reglas.obj

Tablas Eventos

Reglas

Reglas.pn

e1 e2

ec AND(e1,e2)

Condición

Acción

Page 43: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

43

Algoritmo para la generación de eventos compuestos

inicio

ECA[n]

indEvento = 1i = 1

i nfinno

regla.indEvento = crearEvento(ECA[i]);regla.condicion = ECA[i].condicion;regla.accion = ECA[i].accion;REGLAS[i] = regla;i++;

si

inicio

evento

evento es un evento compuesto?

si

no

objEvento = null

objEvento.tipo =eventoPrimitivo

objEvento.tipo =tipoDe(evento);j=1;

Hay mas eventos componentes?

posEvent = indEventoEVENTOS[posEvent] = objEventoindEvento++;return posEvent;

objEvento.componente[j] =crearEvento(evento.componente[j])j++;

no

si

fin

Función crearEvento

Page 44: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

44

Publicaciones

1. Joselito Medina Marín and Xiaoou Li, Modeling and Simulation of Event-Condition-Action Rules in Active Database, International Conference on Information Technology: Research and Education (ITRE03), Newark, New Jersey, USA, August 10-13, 2003 (accepted)

2. Xiaoou Li, Joselito Medina Marín, and Sergio V. Chapa, A Structural Model of ECA Rules in Active Database, Mexican International Conference on Artificial Intelligence (MICAI’02), Mérida, Yucatan, México, April 22-26, 2002, pp. 486-493

3. Joselito Medina Marín y Xiaoou Li, ECAPNSim, un simulador para reglas ECA, el XIII Congreso Interuniversitario de Electrónica, Computación y Eléctrica (CIECE), Zacatepec, México, Abril, 9-11, 2003

4. Joselito Medina Marín y Xiaoou Li, Análisis de terminación de reglas, un enfoque con red de Petri, el 4º Congreso Nacional de Computación (CORE 2003), México, D.F., México, Mayo 6-7, 2003, pp.56-67

Page 45: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

45

Publicaciones

5. Joselito Medina Marín y Xiaoou Li, Red de Petri Coloreada Condicional y su Aplicación en Sistemas de Bases de Datos Activas, VIII Conferencia de Ingeniería Eléctrica (CIE’02), México D.F., 2002, pp. 238-245

6. Xiaoou Li, Sergio V. Chapa Vergara, Joselito Medina Marín, and Jovita Martínez Cruz, Using Conditional Colored Petri Nets in Active Database System, submitted to Asian Journal of Control, Ref. DS-07-15, June, 2003

7. Xiaoou Li, Joselito Medina Marín, Active Database Systems Design via Conditional Colored Petri Nets: An Application-Independent Platform, submitted to Information Systems, Ref. IS 246, July, 2003

Page 46: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

46

Resultados

• Red de Petri Coloreada Condicional con Tiempo (TCCPN)

• Algoritmo de conversión de reglas ECA a CCPN

• Prototipo de ECAPNSim

• Conexión de ECAPNSim con Postgres

• Algoritmo de Análisis de Terminación

• Implementación del Algoritmo de generación de patrones para la detección de eventos compuestos.

Page 47: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

47

Conclusiones

• Es factible el uso de una red de Petri extendida en BDA para modelar bases de reglas ECA.

• La modelación, simulación, análisis, y ejecución de las reglas ECA puede realizarse en un solo medio.

• La simulación de la base de reglas se realiza antes de implementarla en una BD.

• Es posible modelar los eventos compuestos como TCCPN.

• El análisis de terminación puede realizarse a partir de la matriz de incidencia de la CCPN.

Page 48: CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS CINVESTAV

48

Trabajo Futuro

• Implementar en ECAPNSim el algoritmo de análisis de No terminación.

• Realizar análisis de confluencia en el modelo CCPN, aprovechando las propiedades de PN

• Casos de estudio: •Base de datos de Micro 500,• y alguna otra.

• Conectar ECAPNSim a diferentes manejadores de bases de datos•Progress, •Oracle, •Access.