Title: Concurso a Plaza
1Grupo QUIVIRhttp//www.lsi.us.es/quivir
Dpto. de LENGUAJES Y SISTEMAS INFORMÁTICOSEscuela
Técnica Superior de Ingeniería
InformáticaUniversidad de Sevilla (España)
CAEPIA 2005 Santiago de Compostela, 15 de
noviembre de 2005
2Grupo 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
3Í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
4Diagnosis
Diagnosis
Diagnosis basada en modelos
x
a
M1
A1
b
f
y
M2
c
d
A2
g
M3
z
e
5Especificación de Problema de Diagnosis
PD(MPS,MO) MPS(P,Vobs,Vnobs)
Diagnosis
Diagnosis basada en modelos
Restricciones Polinómicas Variables Observables Variables no observables
M1 xac M2 ybd M3 zce A1 fxy A2 gyz a b c d e f g x y z
MO?aobs2,bobs,2,cobs3,dobs3,eobs,2,
fobs10,gobs 12
6Red de contextos
Diagnosis
Diagnosis basada en modelos
7Red de contextos
Context Analytical Redundancy Constraint (CARC) Context Analytical Redundancy Constraint (CARC)
1 acbd-f0
2 bdce-g0
3 ac-ce-fg0
Diagnosis
Diagnosis basada en modelos
M1M2M3A1A2 2,3
M1M2M3A1 M1M2M3A2 M1M2A1A2
M1M3A1A2 M2M3A1A2 1
2 1
3 2
M1M2A1
M2M3A2
1
2
8Diagnosis de Software
Diagnosis
- 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
- EjemploCambiamos S5 con gy-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
9Sistema de intercambiadores
Diagnosis
Resultant system 34 equations and 54 variables
(28 observable)
10Sistema de intercambiadores
Minimal Context Network
Diagnosis
- 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)
11Sistema de intercambiadores
Diagnosis
Diagnosis distribuida
Resultant system 34 equations and 54 variables
(28 observable)
12Diagnosis distribuida
Diagnosis
- Resolución de Problemas CSP distribuidos
- Agentes móviles con restricciones
Diagnosis distribuida
Envia/recibe
Envia/recibe
Envia/recibe
13Bases de Datos con Restricciones
Diagnosis
14Seguridad informática
Diagnosis
- 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
15Tolerancia a fallos
There is a simple fault
Diagnosis
Planificación para la recuperación de fallos
Tolerancia a fallos
Planificación para la recuperación de fallos
16Tolerancia 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
17Reparación de productos
Tolerancia a fallos
Planificación para la recuperación de fallos
18Modelo de planificación
- Nodos Or - Submontajes
- Raíz - Montaje completo
- Hojas - Piezas individuales
- Nodos And Tareas de montaje / desmontaje
Tolerancia a fallos
Planificación para la recuperación de fallos
Grafo And/Or para el producto ABCDE
19Modelo de planificación
- Sequencing assembly plans
- Execution in multirobot systems (optimizing
total assembly time)
Tolerancia a fallos
Planificación para la recuperación de fallos
- Transportation of intermediate sub-assemblies
20Modelo de planificación
- The 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
21Modelo 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
Tolerancia a fallos
Planificación para la recuperación de fallos
- A reversible plan is a tree of the reparation
graph that only contains reversible tasks
22Modelo de planificación
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
(T')
Tolerancia a fallos
SA
Planificación para la recuperación de fallos
23Modelo de planificación
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
(T')
Tolerancia a fallos
SA
Planificación para la recuperación de fallos