caepia 2005 santiago de compostela, 15 de noviembre de 2005 grupo quivir quivir dpto. de lenguajes y...

23
CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR http://www.lsi.us.es/~quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla (España)

Upload: eugenio-dominguez-correa

Post on 02-Feb-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

CAEPIA 2005Santiago de Compostela, 15 de noviembre de 2005

Grupo QUIVIRhttp://www.lsi.us.es/~quivir

Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOSEscuela Técnica Superior de Ingeniería Informática

Universidad de Sevilla (España)

Page 2: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Grupo QUIVIR

Faculty MembersMiguel Toro, PhDRafael M. Gasca, PhDCarmelo del Valle, PhDFernando de la RosaRafael CeballosMayte GómezSergio PozoPablo Neira

CollaboratorsPedro AbadJosé M. Bravo, PhDLuis González, PhDAntonio MárquezAntonio J. SuárezFrancisco Velasco, PhD

Student MembersIrene BarbaDiana BorregoVíctor Cejudo

Page 3: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Índice

Paradigma Programación con Restricciones – Aplicaciones Diagnosis

Diagnosis basada en modelos Diagnosis distribuida Diagnosis de Software Seguridad informática como problema de

diagnosis Tolerancia a fallos

Planificación para la recuperación de fallos

Page 4: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Diagnosis

M1

M2

M3

A1

A2

f

g

x

y

z

a

b

c

d

e

Diagnosis basada en modelos

Diagnosis

Page 5: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Especificación de Problema de Diagnosis

PD(MPS,MO)

MPS(P,Vobs,Vnobs)

 

RestriccionesPolinómicas

VariablesObservables

Variables no observables

M1: x=a*cM2: y=b*dM3: z=c*eA1: f=x+yA2: g=y+z

abcdefg

xyz

MO{aobs=2,bobs,=2,cobs=3,dobs=3,eobs,=2, fobs=10,gobs =12}

Diagnosis basada en modelos

Diagnosis

Page 6: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Red de contextos

 

{b*d+c*e-g=0}{a*c-b*d-f=0} { } { } { } { } { } { }{ } { }

M1M2M3A1A2

M1M2M3A1 M1M2M3A2 M1M2A1A2 M1M3A1A2 M2M3A1A2

M1M2M3 M1M2A1 M1M3A2 M1M2A2 M1M3A1 M2M3A1 M2M3A2 M1A1A2 M2A1A2 M3A1A2

M1M2 M1M3 M2M3 M1A1 M1A2 M2A1 M2A2 M3A1 M3A2 A1A2

M1 M2 M3 A1 A2

{b*d+c*e-g=0, a*c-c*e-f+g=0}

{a*c-b*d-f=0} {b*d+c*e-g=0} {a*c-c*e-f+g=0}{a*c-b*d-f=0} {b*d+c*e-g=0}

{ } { }

{ }

{ } { }{ } { } { } { } { } { }

{ }{ } { } { }

Diagnosis basada en modelos

Diagnosis

Page 7: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Red de contextos

Context Analytical Redundancy Constraint (CARC)

1 a*c+b*d-f=0

2 b*d+c*e-g=0

3 a*c-c*e-f+g=0

M1M2M3A1 M1M2M3A2 M1M2A1A2 M1M3A1A2 M2M3A1A2

{1} {2} {1} {3} {2}

M1M2A1 M2M3A2

{1} {2}

M1M2M3A1A2

{2,3}

Diagnosis basada en modelos

Diagnosis

Page 8: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Diagnosis de Software

Necesitamos: Código fuente, precondición y postcondición Las sentencias serán transformadas a restricciones

polinómicas Uso de técnicas de Testing Subconjunto del lenguaje Java Ejemplo:Cambiamos S5 con g=y-z Caso de Test

Metodología: Normalización Obtención de las restricciones del contexto y simplificación de la

red de contextos Determinación de la diagnosis mínima

Diagnosis de Software

Diagnosis

Page 9: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Sistema de intercambiadores

112

E1

E2

E4

E3

E5

E6

11 16 17

12 14 18 110

111191513

21 212

22 23

24 25

26 27

28 29

21121033

32

31

N11 N12 N13 N14

N21

N22 N23

N24

Resultant system:

34 equations and 54 variables (28 observable)

Diagnosis

Page 10: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Sistema de intercambiadores

N11{1,2}

N12E1E2{9}

N12N21N22E1E2{9,11,13}

N21N22E1E2

{11}

N13

{3,4}N14E5E6

{10}

N14N23N24E5E6{10,12,14}

N23N24E5E6

{12}

E3

{5}E4

{6}

E3 E4{5,6,7,8}

Minimal Context Network

Rules for the diagnosis (off-line):

If (9) is violated, there is a simple fault in N12, E1 or E2

(9 and 11) → E1 or E2 or (N12 and N21) or (N12 and N22)

(10 and 12) → E5 or E6 or (N14 and N23) or (N14 and N24)

Diagnosis

Page 11: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Sistema de intercambiadores

Resultant system:

34 equations and 54 variables (28 observable)

112

E1

E2

E4

E3

E5

E6

11 16 17

12 14 18 110

111191513

21 212

22 23

24 25

26 27

28 29

21121033

32

31

N11 N12 N13 N14

N21

N22 N23

N24

Diagnosis distribuida

Diagnosis

Page 12: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Diagnosis distribuida

Resolución de Problemas CSP distribuidos Agentes móviles con restricciones

Envia/recibe Envia/recibe

Envia/recibe

Diagnosis distribuida

Diagnosis

Page 13: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Bases de Datos con Restricciones

Diagnosis

Page 14: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Seguridad informática

Políticas de Seguridad Modelado basado en CSP Coherencia de políticas centralizadas Coherencia de políticas distribuidas

Mecanismos de Seguridad Modelado de sus propiedades basado en CSP Detección y Diagnosis de incumplimiento de

políticas por los mecanismos

Seguridad informática

Diagnosis

Page 15: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Tolerancia a fallos

CSP Model

Re-assemblythe product

Substituting/repairing the faulty part

Extractingthe faulty part

DiagnosisThere is a simple

fault

Planificación para la recuperación de fallos

Tolerancia a fallos

Planificación para la recuperación de fallos

Page 16: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Tolerancia a fallos

Seguridad Informática Sistemas Altamente Fiables (dependable

systems) Distribuidos Planificación para recuperación de fallos en

Sistemas Altamente Fiables Distribuidos. Tolerancia a fallos

Planificación para la recuperación de fallos

Page 17: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Reparación de productos

Tolerancia a fallos

Planificación para la recuperación de fallos

Page 18: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Tolerancia a fallos

Planificación para la recuperación de fallos

Modelo de planificación

Nodos Or - Submontajes Raíz - Montaje completo Hojas - Piezas individuales

Nodos And – Tareas de montaje / desmontaje

Grafo And/Or para el producto ABCDE

A B C D E

A B C D

A C D

A B A C A D C D B E

A B C D E

A B C D E

A B C D

A C D

A B A C A D C D B E

A B C D E

A B C D E

A B C D

A C D

A B A C A D C D B E

A B C D E

Page 19: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Tolerancia a fallos

Planificación para la recuperación de fallos

Modelo de planificación

dur=15

dur=18

dur=20dur=10

C2

C3

C1C4

M1

M2

M1M2

Transportation of intermediate sub-assemblies

Changing configuration

Configuration (tools) Durations of tasks

Execution in multirobot systems (optimizing total assembly time):

Sequencing assembly plans

A B C D E

A C D

A C B E

A B C D E

T2

T5

T8T11

M1

M2

M1M2

C2

C3

C1C4

dur=15

dur=18

dur=20dur=10

Machines

( , , )cht M C C

( , , )mov SA M M R1

R2

time

T2

T5 T11

T8

cht

mov

mov

( , , )cht M C C

( , , )mov SA M M

Page 20: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Modelo de planificaciónThe Planning Problem:Tasks: assemble(sub1,sub2,result):

assembles sub-assemblies sub1 and sub2 and obtains sub-assembly result

disassemble(result,sub1,sub2): disassembles result in 2 sub-assemblies, sub1 and sub2

move-subassembly(sub,mach1,mach2): moves the sub-assembly sub from machine mach1 to machine mach2

change-configuration(mach,conf1,conf2): changes the configuration of the machine mach from conf1 to conf2

repair-part(p): repairs or substitutes the part p

Tolerancia a fallos

Planificación para la recuperación de fallos

Page 21: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Modelo de planificación

The Planning Problem:Some definitions:

A reparation graph is an And/Or graph which only contains assembly and disassembly tasks that handle subassemblies that contain the faulty part

An assembly (disassembly) task T is reversible if its corresponding disassembly (assembly) task T' exists, i.e., if both tasks handle the same subassemblies, but in an opposite way

A reversible plan is a tree of the reparation graph that only contains reversible tasks

Tolerancia a fallos

Planificación para la recuperación de fallos

Page 22: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Tolerancia a fallos

Planificación para la recuperación de fallos

Modelo de planificación

(1)

(2)

(3)

(4)

... Variables:

m – machine

c – configuration

dur – duration

st – start time

ft – finish time

s - selected

tOR – assembled time

t'OR – disassembled “

m – assemb. mach.

m' – disassemb. mach.

s - selected

T

SA

(T')

A B C D E

A B C D

A C D

A B A C A D C D B E

A B C D E

T1 T2

T3 T4

T5 T6

T9 T10

M2

C3

M2

C4

M2

C4

M1

C1

M2

C3

M1

C2

M1

C2

M2

C4

M2

C3

M2

C3

M2

C4

M1

C1

M2

C3

M1

C2

M1

C1

M2

C4

Page 23: CAEPIA 2005 Santiago de Compostela, 15 de noviembre de 2005 Grupo QUIVIR quivir Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOS Escuela

Pro

gra

mació

n c

on

Restr

iccio

nes –

Ap

licacio

nes

Diagnosis

Diagnosis basada en modelos

Diagnosis de Software

Diagnosis distribuida

Seguridad informática

Tolerancia a fallos

Planificación para la recuperación de fallos

Tolerancia a fallos

Planificación para la recuperación de fallos

Modelo de planificación

(1)

(2)

(3)

(4)

... Variables:

m – machine

c – configuration

dur – duration

st – start time

ft – finish time

s - selected

tOR – assembled time

t'OR – disassembled “

m – assemb. mach.

m' – disassemb. mach.

s - selected

T

SA

(T')

A B C D E

A B C D

A C D

A B A C A D C D B E

A B C D E

T1 T2

T3 T4

T5 T6

T9 T10

M2

C3

M2

C4

M2

C4

M1

C1

M2

C3

M1

C2

M1

C2

M2

C4

M2

C3

M2

C3

M2

C4

M1

C1

M2

C3

M1

C2

M1

C1

M2

C4

3 4 3 4

3 2 3 3 2

4 1 4 4 1

( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( ) ( ) , ( ),( ) ( ) ( ) ( ) ( ) ( ) , ( ),

OR OR mov

OR OR mov

s ABCD s T XOR s T s ABCD s T s Ts T m ABCD M t ABCD ft T st T t ABCD ABCD m ABCD Ms T m ABCD M t ABCD ft T st T t ABCD ABCD m ABCD M