caepia 2005 santiago de compostela, 15 de noviembre de 2005 grupo quivir quivir dpto. de lenguajes y...
TRANSCRIPT
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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