Proyecto integrador. Las TIC en la sociedad S4.pptx
Distributed Goal-Oriented Computing
1. Tesis Doctoral
Computación Distribuida
basada en Objetivos
Autor: Javier Palanca Cámara
Directores:
Dr. Vicente J. Julián Inglada
Dra. Ana M. García Fornes
Grupo de Tecnología Informática – Inteligencia Artificial
Dpto. Sistemas Informáticos y Computación
Universitat Politècnica de València
2012
2. Contenidos
Introducción
Motivación
Objetivos
Estado del Arte
Abstracciones de los Sistemas Operativos
Paradigmas orientados a Objetivos
Propuesta
Análisis
Formalización
Diseño
Evaluación
Experimentos
Caso de Uso
Conclusiones
Contribuciones
Lineas de Trabajo Futuro
Publicaciones Relacionadas
2
3. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
Usuario Sistemas
Operativos
Aplicación
Software muy complejo
Funcionalidad crítica
Sistema Operativo
Requisitos de alta fiabilidad
Requisitos de seguridad
Hardware Requisitos de eficiencia
4. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
Abstracciones de los SO
Abstracciones clásicas
Las abstracciones de los ‣Muy ligadas a la evolución del hardware
Sistemas Operativos se han ‣Necesidad de middleware para
mantenido alejadas de los introducir nuevas tecnologías y
paradigmas
avances realizados en los
nuevos paradigmas. ‣Estos middleware introducen una
excesiva sobrecarga
La Red en los SO
Introducción de la Red
‣Sistemas Distribuidos
La introducción e
‣Cloud-Computing
importancia de la red ha
obligado a rediseñar los ‣Servicios Web
Sistemas Operativos. ‣Business Processes
‣SaaS, PaaS, IaaS
5. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
La Fiabilidad en los SO
No es sencillo adaptarse a Fiabilidad
la (inevitable) aparición de ‣Tolerancia a fallos
errores en las aplicaciones ‣Confianza en proveedores
sin dejar caer el sistema. ‣Negociación de parámetros de calidad
Paradigmas de los SO
Los paradigmas de Paradigmas modernos
programación utilizados en el ‣Programación funcional
diseño de SO se limitan ‣Programación lógica
fundamentalmente al
imperativo. ‣Programación orientada a objetivos
6. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
“El diseño en Sistemas Operativos
se encuentra muy alejado de las
nuevas tendencias en
computación”
7. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
“El diseño en Sistemas Operativos
se encuentra muy alejado de las
nuevas tendencias en
computación”
Abstracciones clásicas
Procesos
Fichero
Permisos
Aplicaciones monolíticas
8. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
“El diseño en Sistemas Operativos
se encuentra muy alejado de las
nuevas tendencias en
computación”
Computación como Interacción
Sistemas Orientados a Servicios
Sistemas Autónomos
Computación en la Nube
Sistemas Grid
Sistemas Multi-Agente
9. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
Computación
Sistemas
Orientada
Multi-Agente
a Servicios
‣ Proactivos
‣ Centrados en la red
‣ Sociales
‣ Distribuidos
‣ Autónomos
‣ Composición
‣ Razonamiento
‣ Orquestación
‣ Abstracciones de
alto nivel
10. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
Computación
Sistemas
Orientada
Multi-Agente
a Servicios
Sistemas Operativos
11. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
Sistemas Operativos
Paradigmas de ejecución
Orientación a servicios
Abstracciones basadas en agentes
12. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Motivación
‣ Realizar un avance cualitativo en el diseño de SO
‣ Aumentar el nivel de las abstracciones proporcionadas por el SO
‣ Mejorar el modo en que las aplicaciones son diseñadas, desarrolladas y
ejecutadas
‣ Hacer al SO autónomo, proactivo y social
‣ Integrar los servicios críticos de los middleware en el SO
‣ Introducir de la red como elemento fundamental del diseño del SO
‣ Capacidad de razonamiento: evaluar su entorno, predecir qué va a ocurrir y
actuar en consecuencia
‣ Mejorar la fiabilidad del sistema
13. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
Objetivos
14. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
“Integrar los conceptos de la
tecnología de Sistemas Multi-
Agente como nuevas abstracciones
de los SO”
15. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
“Integrar los conceptos de la
tecnología de Sistemas Multi-
Agente como nuevas abstracciones
de los SO”
Definición de nuevas abstracciones:
- Proceso vs Agente
- Aplicaciones vs Organizaciones
- Memoria vs Base de Conocimiento
- Permisos vs Contratos y Acuerdos
- etc…
16. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
“Integrar un nuevo paradigma
en el modelo de ejecución del
Sistema Operativo”
17. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
“Integrar un nuevo paradigma
en el modelo de ejecución del
Sistema Operativo”
- Computación basada en Objetivos
- Razonamiento sobre los
objetivos
- Creación de planes para la
satisfacción de los objetivos
18. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
“Introducir la red como
elemento fundamental en el
diseño de los SO”
19. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
“Introducir la red como
elemento fundamental en el
diseño de los SO”
- Servicios distribuidos
- Modelo de ejecución como Flujos
de Trabajo
- Transacciones controladas por
acuerdos
20. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
Sistema Operativo
de Nueva Generación
Tecnología Orientado Basado en
de Agentes a Servicios Objetivos
21. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Objetivos
‣ Análisis de Sistemas Operativos y su
Estado del Arte evolución
‣ Análisis de paradigmas de programación
‣ Definición de nuevas abstracciones
Análisis ‣ Adaptación de la tecnología de
agentes al diseño de SO
Formalización ‣ Formalización de un paradigma para el
diseño de SO basado en objetivos
‣ Arquitectura de SO basado en Objetivos
Diseño ‣ Fundamentado en servicios
‣ Negociación en Tiempo Real
‣ Experimentos sobre un simulador
Evaluación
‣ Diseño de un caso de uso
22. Outline
Análisis de Sistemas Operativos y su evolución
Estado del Arte Análisis de paradigmas de programación
Definición nuevas abstracciones
Análisis Adaptación tecnología de agentes para el diseño de SO
Formalización Formalización de un paradigma para el diseño de SO basado en objetivos
Arquitectura de SO basado en Objetivos
Diseño Fundamentado en servicios
Negociación en Tiempo Real
Experimentos sobre un simulador
Evaluación Diseño de un caso de uso
23. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Sistemas Operativos
Evolución de los Sistemas Operativos
Proceso
ABSTRACCIONES
Mainframes
CLASIFICACIÓN
Servidor
Propósito General
Multiprocesador
Fichero
Paralelos
Distribuidos
Tubería
Grid Hilo
Extensibles
Tiempo Real Objeto
Empotrados
Ultra-empotrados
...
24. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Sistemas Operativos
ABSTRACCIONES
Unix Proceso-Fichero-Tubería ‣Ritchie & Thompson, 1973
Mach Tarea-Hilo-Puerto-Mensaje ‣Rashid & Julin et al., 1989
ExOS Ninguna ‣Engler, 1998
NanOS Objeto-Agente-Tarea ‣Muñoz i Escoi et al., 1998
Amoeba Proceso-Mensaje-Puerto ‣Tanenbaum & Mullender, 1981
Clouds Objeto-Hilo-Mensaje ‣Dasgupta et al., 1991
Scout Path ‣Montz et al., 1995
Plan 9 Fichero ‣Pike et al., 1995
Paramecium Objeto ‣van Doorn & Tanenbaum, 2001
Linux Proceso-Fichero-Usuario ‣Bovet & Cesati, 2005
Windows NT Objeto ‣Solomon et al., 1998
Minix 3 Proceso-Fichero-Mensaje ‣Herder et al., 2006
Singularity Proceso-Manifiesto ‣Hunt et al., 2005
XtreemOS Organización-Fichero-Servicio ‣Cortes & Franke et al., 2008
25. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Sistemas Operativos
Minix 3 Singularity XtreemOS
(Vrije Universiteit) (Microsoft) (Information Society Tech)
Microkernel Experimental Grid
Mensajes Código supervisado Organizaciones Virtuales
Procesos Manifiesto Linux
Paradigma Imperativo Paradigma Imperativo Paradigma Imperativo
Abstracciones clásicas Abstracciones clásicas Abstracciones clásicas
Cuestión: Aplicar nuevos paradigmas que aporten abstracciones de alto nivel
26. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Paradigmas de Programación
Aplicar un conjunto de
reglas que lleven a un
Mecanismo
resultado
Evaluación de
Ejecución de expresiones
acciones
Ejecución Evaluación
Consecuente
Expresar aquello que se
desea conseguir
27. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Paradigmas de Programación
Mecanismo
Programación Programación
Imperativa Funcional
Ejecución Evaluación
Consecuente
Programación
Lógica
28. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Paradigmas de Programación
Mecanismo
Programación Programación
Imperativa Funcional
Ejecución Evaluación
¿?
Consecuente
Programación
Lógica
29. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Paradigmas de Programación
Mecanismo
Programación Programación
Imperativa Funcional
Ejecución Evaluación
Programación
Consecuente
Programación
orientada a Lógica
Objetivos
30. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Paradigmas de Programación
Programación orientada a Objetivos
Satisfacción de objetivos mediante la ejecución de acciones
BDI Creencias Deseos Intenciones ‣ Rao & Georgeff, 1995
‣ Braubach, Pokahr et al., 2004
Servicios ‣ Papazoglou &
Web Orquestación Descubrimiento Composición Georgakopoulus, 2003
‣ Bansal & Vidal, 2003
Planificación Creación ‣ Weld, 1999
Búsqueda Coste ‣ Blum & Merrick., 1997
en IA de Planes ‣ Erol, hendler et al., 1995
‣ Thangarajah & Padgham et
Lenguajes al. 2002
Objetivos Razonamiento Conflictos
agentes ‣ Levesque & Reiter et al.,
1997
Planificación
basada en Razonamiento Adaptatividad Reutilización ‣ Hammond, 1990
‣ Ihrig & Kambhampati, 1996
Casos
31. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Paradigmas de Programación
Programación orientada a Objetivos
Satisfacción de objetivos mediante la ejecución de acciones
BDI Creencias Deseos Intenciones ‣ Rao & Georgeff, 1995
‣ Braubach, Pokahr et al., 2004
Homogeneidad
Servicios ‣ Papazoglou &
Web Orquestación Descubrimiento Composición Georgakopoulus, 2003
Middleware ‣ Bansal & Vidal, 2003
Planificación Fiabilidad
Creación ‣ Weld, 1999
Búsqueda Coste ‣ Blum & Merrick., 1997
en IA de Planes ‣ Erol, hendler et al., 1995
‣ Thangarajah & Padgham et
Lenguajes al. 2002
Objetivos Razonamiento Conflictos
agentes ‣ Levesque & Reiter et al.,
1997
Planificación
basada en Razonamiento Adaptatividad Reutilización ‣ Hammond, 1990
‣ Ihrig & Kambhampati, 1996
Casos
32. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Resumen
Desafíos abiertos
Abstracciones Paradigmas Introducción de Fiabilidad
de los SO utilizados en SO la Red Adaptación
Programación
Tecnología de Arquitectura basada Tecnologías del
orientada a
Agentes en Servicios Acuerdo
Objetivos
33. Outline
Análisis de Sistemas Operativos y su evolución
Estado del Arte Análisis de paradigmas de programación
Definición nuevas abstracciones
Definición nuevas abstracciones
Análisis Adaptación tecnología de agentes para el diseño de SO
Adaptación tecnología de agentes para el diseño de SO
Formalización Formalización de un paradigma para el diseño de SO basado en objetivos
Arquitectura de SO basado en Objetivos
Diseño Fundamentado en servicios
Negociación en Tiempo Real
Experimentos sobre un simulador
Evaluación Diseño de un caso de uso
34. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Análisis
SO orientado a agentes
El SO como una organización
SO
35. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Análisis
SO orientado a agentes
Las aplicaciones son también organizaciones de agentes
SO
36. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Análisis
Especificación
Uso de una metodología de
Organizaciones de Agentes para
modelar el Sistema Operativo
GORMAS
37. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Modelo Organizacional Vista Funcional (Misión)
To maximize
utilization
of resources Organizations
management
A
S
To protect
resources
GT
Pu
A Operations and
r
su
GT Resources
e
Pur
s
OProduces
sue acts management
To abstract s O Inter
Server S
the hardware
GTPurs
ues
SO OI
A es nte
su
ur rac
TP ts
s
G
e
To manage the
rsu
Open-services
OOffers
orgs. life-cycle OUses
Pu
management
GT
A Client
S
To give support
to open-services
A
Contracts
38. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Modelo Organizacional Vista Estructural
A
Client
OC
ont
ain
sA-
A Age
nt
OContainsA-Agent
Server
gen
t SO
A-A
A ont
ains
OCont
OC le OC
Ro ont
i ns ai nsR
Manager ta
ainsRole
n ole
Co
O
Organization Service
Manager
Member Facilitator
Organization Contracts Service Operations Resources
Manager Manager Manager Facilitator Facilitator
39. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Modelo Organizacional Vista Funcional Externa
Operations
Facilitator
Service
Service
Organization Manager
Organization Facilitator
Manager Member Resources
WFProvides
Facilitator
WFProvid
WF
W
ses
s
Us
es
vide
FU
es
FU
WFUs
ses
W
W
Pro
FU
WF
se
es
s
Organizations Open-services Resources
Management Management management
S S S
OProvides
OP s
rov vide
ide
s O Pro
SO
40. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Análisis
A
A
S
Abstracciones:
! - Agente
S
A
A
S
! - Objetivo
A
! - Servicio
! - Contrato
41. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Análisis
El modelo de agente
Entidad computacional compleja
Dirigido por objetivos y creencias
Productor y Consumidor de servicios
Utiliza contratos para regular sus interacciones
42. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Análisis
A
A
S
Abstracciones:
! - Agente
S
A
A
S
! - Objetivo
A
! - Servicio
! - Contrato
Tecnologías:
! - Sistemas Multi-Agente
! - Planificadores (CBP, Planning,...)
! - Servicios Web
! - Tecnologías del Acuerdo
43. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Análisis
Es necesario definir
A
S
A
S
A
un paradigma de
A
S
A
computación que de
soporte a estas
abstracciones e
incorpore estas
tecnologías
44. Outline
Análisis de Sistemas Operativos y su evolución
Estado del Arte Análisis de paradigmas de programación
Definición nuevas abstracciones
Análisis Adaptación tecnología de agentes para el diseño de SO
Formalización Formalización de un paradigma para el diseño de SO basado en objetivos
Arquitectura de SO basado en Objetivos
Diseño Fundamentado en servicios
Negociación en Tiempo Real
Experimentos sobre un simulador
Evaluación Diseño de un caso de uso
45. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Computación Distribuida orientada a Objetivos
Computación Distribuida basada en Objetivos
Encontrar soluciones a problemas
(expresados como objetivos) mediante
la composición y ejecución de servicios
ofertados por diferentes agentes.
Medidas de calidad y ben
eficio
Gestión de Compromisos
Servicios distribuidos
Composición automática de servicios
46. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Computación Distribuida orientada a Objetivos
ai = KBi , Si , Pi , Gi
Base de Conocimiento
Conjunto de
Conjunto de Objetivos
Servicios
S= Si
ai
Conjunto de
Planes
Pi ⊆ P
47. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Computación Distribuida orientada a Objetivos
Conjunto de
S= Si
Planes ai
Pi ⊆ P
P = {(s1 ..sn ∀i ∈ 1..n, si ∈ S ∧
∀j ∈ 1..n − 1, P re(sj+1 ) = P ost(sj ))}
48. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Computación Distribuida orientada a Objetivos
DGOC = A, γg , κp , δp
Conjunto de
Función de
Agentes
selección
de planes
Función de Función de
selección composición
de objetivos de planes
49. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Computación Distribuida orientada a Objetivos
DGOC = A, γg , κp , δp
Conjunto de A = {ai }
Agentes
Función de A
selección γg : 2 → G G= Gi
de objetivos ai
Función de
composición κp : A × 2S → 2P
de planes
Función de
selección δp : G × 2P → P
de planes
50. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Computación Distribuida orientada a Objetivos
DGOC = A, γg , κp , δp
Función de
S P
composición κp : A × 2 → 2
de planes
κp (gij , ai ) = {(s1 ..sn ∀i ∈ 1..n, si ∈ S ∧
∀j ∈ 1..n − 1, P re(sj+1 ) = P ost(sj ))
∧P re(s1 ) ∈ KBi ∧ (P ost(sn ) = gij )}
51. Outline
Análisis de Sistemas Operativos y su evolución
Estado del Arte Análisis de paradigmas de programación
Definición nuevas abstracciones
Análisis Adaptación tecnología de agentes para el diseño de SO
Formalización Formalización de un paradigma para el diseño de SO basado en objetivos
Arquitectura de SO basado en Objetivos
Arquitectura de SO basado en Objetivos
Diseño Fundamentado en servicios
Fundamentado en servicios
Negociación en Tiempo Real
Negociación en Tiempo Real
Experimentos sobre un simulador
Evaluación Diseño de un caso de uso
52. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Sistema Operativo Orientado a Objetivos
Sistema Operativo
orientado a Objetivos
Aplicar el paradigma de Computación Distribuida
orientada a Objetivos
Utilización de las abstracciones definidas
Integración en la red por medio de servicios
Recursos para otorgar fiabilidad: compromisos,
replanificación...
53. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Sistema Operativo Orientado a Objetivos
OS Agent Agent Agent
Knowledge Knowledge Knowledge
Base Base Base
Services Services Services
Set Set Set
Plan Plan Plan
Library Library Library
δp Goals Goals
γg Goals
κp
Commitment Manager On-line Planner
Deliberation Engine
OS Kernel
Runtime Engine
Comm Channel
m
ak
ce e
rvi co
se m
m
oke itm
inv en
t
54. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Sistema Operativo Orientado a Objetivos
Arquitectura del SO
OS Agent Agent Agent
Knowledge Knowledge Knowledge
Base Base Base
Services Services Services
Set Set Set
Plan Plan Plan
Library Library Library
orientado a Objetivos
Goals Goals Goals
Commitment Manager On-line Planner
OS Kernel
Deliberation Engine
Runtime Engine
Agentes: activan objetivos, producen y consumen
servicios
Deliberation Engine:
‣ On-line Planner: crea o repara planes
‣ Commitment Manager: crea y comprueba
compromisos temporales
Runtime Engine: ejecuta planes e invoca servicios
55. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Deliberation Engine
OS Agent Agent Agent
Knowledge Knowledge Knowledge
Base Base Base
Services Services Services
Set Set Set
Plan Plan Plan
Library Library Library
Goals Goals Goals
Commitment Manager On-line Planner
OS Kernel
Deliberation Engine
Runtime Engine
Gestiona la activación de objetivos
Comprueba posibles interacciones y
Deliberation Engine
conflictos
Interactúa con el Commitment Manager y
el On-line Planner para conseguir un plan
Envía el plan a ejecutar al Runtime Engine
56. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Deliberation Engine
[Goal]
Deliberation Engine
Goal is
possible
[Goal not applicable]
[Goal]
Goal is
consistent
with some
other goal
[Goal inconsistent]
[Goal]
Select Plan
[Plan not found] Run
Planner
[Plan]
[Plan]
Query
Services
Availability
[Services
not available] Repair
Plan
Commitment Manager
[Services
available]
[Plan not available]
Establish
Temporal [Plan fails]
Commitment
[Temporal
Commitment] Goal can't
be pursued
On-line Planner
Run Plan
[Goal succeeds]
Check entailed
goals and
postconditions
Runtime Engine
57. [Goal]
Deliberation Engine
Goal is
possible
[Goal not applicable]
[Goal]
Goal is
consistent
with some
other goal
[Goal inconsistent]
[Goal]
Select Plan
58. Select Plan
[Plan not found] Run
Planner
[Plan]
[Plan]
Query
Services
Availability
[Services
not available] Repair
Plan
Commitment Manager
[Services
available]
[Plan not available]
Establish
Temporal [Plan fails]
Commitment
[Temporal
Commitment] Goal can't
be pursued
On-line Planner
59. [Plan]
Query
Services
Availability
[Services
not available] Repair
Plan
Commitment Manager
[Services
available]
[Plan not available]
Establish
Temporal [Plan fails]
Commitment
[Temporal
Commitment] Goal can't
be pursued
On-line Planner
Run Plan
[Goal succeeds]
Check entailed
goals and
postconditions
Runtime Engine
60. Introducción Estado del Arte Propuesta Evaluación Conclusiones
On-line Planner
OS Agent Agent Agent
Knowledge Knowledge Knowledge
Base Base Base
Services Services Services
Set Set Set
Plan Plan Plan
Library Library Library
Goals Goals Goals
Commitment Manager On-line Planner
OS Kernel
Deliberation Engine
Runtime Engine
Es un Planificador Basado en Casos
Acotado temporalmente (TB-CBP)
On-line Plannerde los
Almacena el histórico de calidad
servicios y de tiempo de ejecución
Aprendizaje por refuerzo
Capacidad de replanificación
P ostcondition, P recondition, {Service}, Quality, ExecutionT ime
61. Introducción Estado del Arte Propuesta Evaluación Conclusiones
On-line Planner
store(c) Case
Base
get(c) c TL ≤ Tactual
Revise Retain
|| cache is empty
no get(c)
Case
Cache yes
c g
no TD ≤ Tactual {c}
|| Pre(c) ∈ KB
Reuse
yes Retrieve
yes
{c}
store({c}) Commitment
CM
Manager
62. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Commitment Manager
Comprueba la disponibilidad de los servicios
que conforman el plan
Establece un compromiso con cada uno de ellos
Commitment Manager
63. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Commitment Manager
Commitment
On-Line Planner Agents
Manager
Inform(Plan)
m CFP (service)
Refuse m-n
Commitment Manager
n
Propose
Tstart , Tduration , P S
[service not available] n - l Refuse_proposal
Request(replan)
N
l P Scomposition = P Si ∗ωi
Accept_Proposal
i=0
Inform (commitment) N
failure Tcomposition = Ti
i=0
64. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine
Administra el ciclo de vida de un plan
Planifica la ejecución de los servicios que
conforman un plan:
Runtime Engine
‣ Los servicios locales son planificados por el
scheduler y ejecutados
‣ Los servicios remotos son invocados
Ejecución cumpliendo los compromisos temporales
Predicción temporal del instante de finalización
65. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine
Ejecución cumpliendo los compromisos temporales
Predicción temporal del instante de finalización
Runtime Engine
Scheduler con Predicción de Deadline y Beneficios
66. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
Definimos deadline de un servicio
como el instante de tiempo en el
cual finaliza su ejecución en el peor
de los casos.
67. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
3 iteraciones del algoritmo:
[DPS] Deadline Prediction Scheduler with Resource Booking
[DPS-Dy] Deadline Prediction Scheduler with Dynamic
Priority Promotion
[BDPS] Benefits-based Deadline Prediction Scheduler
68. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
[DPS] Resource Booking
Reserva de tiempo de procesador
Garantía de la reserva
Uso del tiempo restante para adelantar trabajos
D = 2Pi ∗ WCET i
Tiempo de
Prioridad de Cómputo en
la Reserva el Peor Caso
(orden de llegada)
69. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
[DPS] Resource Booking
Reserva de tiempo de procesador
Garantía de la reserva
Uso del tiempo restante para adelantar trabajos
D = 2 MIS TA i
∗ WCETPi
PE SI
Tiempo de
Prioridad de Cómputo en
la Reserva el Peor Caso
(orden de llegada)
70. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
[DPS] Resource Booking
100
slots del 50%
2P
71. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
[DPS-Dy] Dynamic Priority Promotion
Reserva de procesador creando un plan de ejecución
Identifica cuando se libera un slot de procesador
Predicción más precisa gracias a la promoción de prioridades
slot 12,5% T4 T4
slot 25 % T2 T2 T2 T4 T3 T4 T4
slot 50% T1 T1 T1 T1 T2 T2 T3 T3 T4 T4
windows w1 w2 w3 w4 w5 w6 w7 w8 w9 w10
T1 T2 T4 T1 T3 T2 T3 T4
starts starts starts ends starts ends ends ends
72. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
[BDPS] Benefits
La cantidad de procesador asignado es calculada en función
del beneficio recibido por ejecutar el servicio
Se tiene en cuenta además la Prioridad del agente
Calculamos el beneficio mediante funciones decrecientes
f (x) = b − ax f (x) = b ∗ e−ax
73. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Runtime Engine - Deadline Prediction Scheduler
Scheduler con Predicción del Deadline
[BDPS] Benefits
P rmax − P r b
Ψ = min(ϕ, ∗ ∗ (1 − a))
P rmax bmax
T3
(0.17)
T2 T2 T2 T3 T3
(0.28) (0.28) (0.28) (0.67) (0.67)
T1 T1 T1 T1
(0.53) (0.53) (0.53) (0.53) T2 T2 T2 T2
(0.28) (0.28) (0.28) (0.28)
w1 w2 w3 w4 w5 w6 w7 w8 w9 w10
T1 T2 T3 T1 T3 T2
starts starts starts ends ends ends
74. Outline
Análisis de Sistemas Operativos y su evolución
Estado del Arte Análisis de paradigmas de programación
Definición nuevas abstracciones
Análisis Adaptación tecnología de agentes para el diseño de SO
Formalización Formalización de un paradigma para el diseño de SO basado en objetivos
Arquitectura de SO basado en Objetivos
Diseño Fundamentado en servicios
Negociación en Tiempo Real
Experimentos sobre un simulador
Experimentos sobre un simulador
Evaluación Diseño de un caso de uso
Diseño de un caso de uso
75. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Simulador de Sistema Operativo
‣ Funcionalidad completa del paradigma DGOC
‣ Modelo distribuido
‣ Generador de escenarios
‣ Implementa los schedulers de este trabajo
‣Aspectos analizados:
‣ Evolución de la confianza en los proveedores
‣ Adaptabilidad y tolerancia a fallos del sistema
‣ Métricas específicas de schedulers
Caso de Estudio
‣ Presenta un ejemplo práctico de uso
‣ Centrado en el hogar inteligente
76. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
77. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Evolución de la confianza con diversas precisiones en la predicción temporal
78. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Adaptabilidad del sistema en un entorno dinámico
79. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Evolución de la confianza con diversas precisiones en la predicción temporal
80. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Tolerancia a Fallos con Replanificación
81. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Experimentos del scheduler
Beneficio obtenido
Precisión en el cálculo del Deadline
Comparación con algoritmos de scheduling
82. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Utilización Tiempo de Espera
Tiempo de Respuesta Tiempo de Ejecución
83. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Experimentos
Planificación con Predicción del Deadline
‣ Precisión en la negociación
‣ Prioridad por Beneficios
‣ Garantías para establecer compromisos temporales
‣ Buen tiempo de respuesta con poca interferencia del
scheduler (utilización)
84. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Caso de Uso
Hogar Inteligente: Compra y visionado de una película
IN ?film:title ?film:quality IN ?film:title ?film:quality IN ?film:title ?film:quality
NETFLIX iTUNES P2P
film:search_film film:search_film film:search_film
P: ?film:title ?film:quality P: ?film:title ?film:quality P: ?film:title ?film:quality
Q: ?film:ID Q: ?film:ID Q: ?film:ID
Q: ?bank:price Q: ?bank:price
OUT ?bank:price OUT ?bank:price
PayPal
NETFLIX iTUNES
VISA
film:buy_film film:buy_film
Netflix P: ?film:ID ?bank:price P: ?film:ID ?bank:price
Q: ?bank:objectToPurchase Q: ?bank:objectToPurchase
iTunes
CHOICE
IN ?bank:CC_number IN ?bank:CC_number IN ?bank:user
IN ?bank:passwd
P2P VISA MASTERCARD
PAYPAL
bank:pay bank:pay
VideoPlayer P: ?bank:price P: ?bank:price
bank:pay
P: ?bank:price
P: ?bank:objectToPurchase P: ?bank:objectToPurchase
P: ?bank:objectToPurchase
Q: ?bank:objectPurchased Q: ?bank:objectPurchased
Q: ?bank:objectPurchased
Q: ?bank:confirmationNumber Q: ?bank:confirmationNumber
Q: ?bank:confirmationNumber
MasterCard Q: bank:paymentMethod(Visa) Q: bank:paymentMethod(MC)
Q: bank:paymentMethod(PayPal)
OUT: ?bank:confirmationNumber OUT: ?bank:confirmationNumber OUT: ?bank:confirmationNumber
L
GOA NETFLIX iTUNES
P2P
OS film:prepare_download
film:prepare_download film:prepare_download P: ?film:ID
P: ?film:ID P: ?film:ID Q: ?os:url
P: ?bank:objectPurchased P: ?bank:objectPurchased
Q: ?os:url Q: ?os:url
El usuario especifica el objetivo
CHOICE
IN: ?os:where
os:download_url os:move_file
P: ?os:url P: ?os:file ?os:where
Cumplimiento de restricciones
Q: ?os:file Q: ?os:file_available
Creación on-line del plan
mediaplayer:prepare_film
mediaplayer:encode P: ?os:file_available ?os:file
P: ?os:file_available ?os:file Q: ( or
P: ?mediaplayer:need_encode ( ?mediaplayer:prepared )
Q: ?mediaplayer:prepared ( ?mediaplayer:need_encode )
)
Uso de servicios remotos THEN IF (?mediaplayer:need_encode)
Solventa imprevistos (formato película,
ELSE
carga batería, ...) mediaplayer:play
P: ?mediaplayer:prepared
Q: ?mediaplayer:viewed(?film:title)
hasEffect
(decrease
?battery
500mAh)
mediaplayer:play_stream
P: ?os:url
Q: ?mediaplayer:viewed(?film:title)
hasEffect
(decrease
?battery
1000mAh)
OUT: video_canvas
OUT: video_canvas
86. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Contribuciones
Diseño de Sistema Operativo orientado a Objetivos
‣ Uso de la Computación Distribuida basada en Objetivos
‣ Se eleva el nivel de las abstracciones utilizadas
‣ Se introduce la red en el diseño del SO
‣ Técnicas de negociación al componer soluciones
Planificación con Predicción del Deadline
‣ Precisión en la negociación
‣ Prioridad por Beneficios
‣ Técnicas de tiempo real con garantía
87. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Trabajo Futuro
Mejora de las fases del TB-CBP, modificando la fase de retain
para hacer más rápida la composición
Investigar estrategias de negociación para el Commitment
Manager: negociación bilateral
Ampliar el proceso de acuerdos con sistemas normativos
para los compromisos temporales
Desarrollo del Sistema Operativo completo basado en la
experiencia adquirida con el simulador
88. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Publicaciones Relacionadas
J. Palanca, M. Navarro, A. García-Fornes y V. Julian. Deadline Prediction
Scheduling based on Benefits. Future Generation Computer Systems (FGCS)
Volume 29, Issue 1, pp 61–73. (2013) Índice de Impacto: 1.978 Q1
J. Palanca, M. Navarro, V. Julian y A. García-Fornes. Distributed Goal-Oriented
Computing. Journal of Systems and Software (JSS) Volume 85, Issue 7, pp
1540-1557. (2012) Índice de Impacto: 0.836 Q2
J. Palanca, M. Navarro, A. García-Fornes y V. Julian. A new deliberation
mechanism for Service-Oriented Operating Systems. 45 Hawaii International
Conference on System Sciences (HICSS-45) pp. 5463–5472 (2012) Core
Ranking: A
J. Palanca, V. Julian y A. García-Fornes. A Goal-oriented Execution Module
based on Agents. 44 Hawaii International Conference on System Sciences
(HICSS-44) pp. 1-10. (2011) Core Ranking: A
89. Introducción Estado del Arte Propuesta Evaluación Conclusiones
Publicaciones Relacionadas
J. Palanca, M. Navarro, E. Argente, A. García-Fornes y V. Julian. Modeling an Operating System
based on Agents. International Conference on Hybrid Artificial Inte- lligence Systems (HAIS
2012) pp.588-599 (2012) Core Ranking: C
M. Escriva, J. Palanca, G. Aranda, A. García-Fornes, V. Julian and V. Botti. A Jabber-based Multi-
Agent System Platform. 5th International Joint Conference on Autonomous Agents and
Multiagent Systems (AAMAS06) pp. 1282-1284. (2006) Core Ranking: A+
J. Palanca, V. Botti and A. García-Fornes. Towards Organizational Agent-Oriented Operating
Systems. 24th ACM Symposium on Applied Computing (SAC 2009) pp. 752-756. (2009)
Core Ranking: B
E. Argente, J. Palanca, G. Aranda, V. Julian, V. Botti, A. García-Fornes and A. Espinosa.
Supporting Agent Organizations. 5th International Central and Eastern European Con-
ference on Multi-Agent Systems (CEEMAS’07) Vol. 4696 pp. 236- 245. (2007) Core
Ranking: B
J. Palanca, M. Escriva, G. Aranda, A. García-Fornes, V. Julian and V. Botti. Adding New
Communication Services to the FIPA Message Transport System. 4th German Conference on
Multiagent System Technologies (MATES06) Vol. 4196 pp. 1-11. (2006) Core Ranking: B
J. Palanca, V. Botti and A. García-Fornes. Towards Organizational Agent-Oriented Operating
Systems. EUMAS 2008 pp. 1-10. (2008) Core Ranking: C