ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 ·...

94
Composición Dinámica ECSDI Curso 2019/2020 CS-FIB-UPC cbea

Transcript of ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 ·...

Page 1: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Composición Dinámica

ECSDI

Curso 2019/2020

CS-FIB-UPC cbea

Page 2: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Introducción

Page 3: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Composición dinámica

• Orquestación y coreografía asumen un conjunto prefijado deservicios

• El desarrollar aplicaciones en entornos abiertos permite que estono tenga que ser así

• En el momento de la ejecución podemos decidir qué instanciasde servicio serán utilizadas

• Se necesitan elementos intermediarios que gestionen la elecciónde servicios

• Se necesita hacer una descripción de entradas, salidas y efectosde los servicios

ECSDI - Curso 2019/2020 - FIB 1/85

Page 4: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Composición dinámica - Motivaciones

• Descubrimiento automático de servicios

• La decisión del servicio específico a usar se realiza en tiempo deejecución (búsqueda)

• Invocación automática de servicios

• La invocación en tiempo de ejecución se obtiene a partir de ladescripción declarativa del servicio

ECSDI - Curso 2019/2020 - FIB 2/85

Page 5: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Composición dinámica - Motivaciones

• Composición automática e interoperación

• El flujo de ejecución se obtiene por la selección de los serviciosadecuados y la generación de su composición

• La conexión entre los servicios (interoperabilidad) se obtiene apartir de sus descripciones (entradas/salidas)

• Monitorización automática

• La detección de excepciones/fallos se determina a partir de susdescripciones (objetivos/precondiciones/estado)

• El tratamiento de las excepciones/fallos (recuperación) serealiza automáticamente

ECSDI - Curso 2019/2020 - FIB 3/85

Page 6: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Descubrimiento de Servicios

Page 7: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Descubrimiento de servicios

• Previo o durante el proceso de ejecución de un flujo de negociose eligen los servicios a usar

• Aparece la figura del matchmaker

• Recibe características que los servicios deben cumplir

• Busca servicios que cumplan esas características

• Elige entre los servicios disponibles

• Esa elección puede atender a características de calidad deservicio (QoS)

ECSDI - Curso 2019/2020 - FIB 4/85

Page 8: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Servicios de directorio

• Otro elemento fundamental del descubrimiento es el servicio dedirectorio (Páginas Amarillas)

• Este servicio permite el registro de la descripción de losproveedores de servicios

• Cada servicio indica sus características de manera que puedanser encajadas con necesidades de otros servicios

• De la complejidad de esta descripción depende la flexibilidad dela composición

ECSDI - Curso 2019/2020 - FIB 5/85

Page 9: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Composición/Descubrimiento - Posibilidades

• Flujo de ejecución fijo y descubrimiento sintáctico

• Resolución siempre igual• Sólo entradas y salidas como parámetros, coincidencia sintáctica

• Flujo de ejecución fijo y descubrimiento semántico

• Resolución siempre igual• Entradas/salidas descritas a partir de una ontología, coincidencia

semántica

• Flujo de ejecución dinámico y descubrimiento semántico

• Diferentes alternativas• Entradas/salidas/precondiciones/efectos descritos a partir de una

ontología

ECSDI - Curso 2019/2020 - FIB 6/85

Page 10: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Métodos sintácticos - UDDI

• UDDI (Universal Description Discovery and Integration)

• Estándar para la publicación y descubrimiento de servicios

• Clasificación, catálogo y manejo de servicios web• Búsqueda de servicios a partir de criterios• Parámetros de invocación, protocolos de transporte y seguridad• Tratamiento de errores y cambios en los servicios

• Tres componentes:

• Páginas blancas: dirección, contacto e identificadores• Páginas amarillas: categorización de los servicios a partir de una

taxonomía estándar• Páginas verdes: información técnica del servicio

ECSDI - Curso 2019/2020 - FIB 7/85

Page 11: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

UDDI

Registro UDDI

Proveedor Nombre: ....Clasificación: ...Parámetros: In: tipoI1, ... Out: tipoO1, ...Implementación: In: WSDL desc Out: WSDL desc

ComposiciónConsumidor

Tipo: XXXX

Parametros: In: I1, I2, .. Out: O1, O2, ...

Page 12: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Métodos sintácticos - Otros servicios de registro

• Diferentes necesidades de Micro Servicios y Cloud Computinghan dado lugar a sistemas de registro con diferentes capacidades

• Netflix Eureka (sobre servicios en AWS)

• Apache Zookeeper (sobre contenedores)

• Consul (descubrimiento/configuracion) (BD clave/valor)

• Etcd (descubrimiento/configuracion) (BD clave/valor)

• SkyDNS, SmartStack, Serf, ...

ECSDI - Curso 2019/2020 - FIB 9/85

Page 13: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Métodos sintácticos - Limitaciones

• La búsqueda sintáctica depende de:

• Una buena clasificación de los servicios (detallada, uso deestándares)

• Una descripción detallada y completa de los parámetros

• Limitaciones

• La coincidencia de los parámetros ha de ser exacta (literal)

• La coincidencia de los parámetros no asegura la semántica delservicio (efectos, precondiciones)

ECSDI - Curso 2019/2020 - FIB 10/85

Page 14: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Métodos semánticos

• Una descripción más precisa de los servicios lleva a una mayorefectividad en la búsqueda

• Se ha de considerar que un proceso ejecutado por un conjuntode servicios tiene un estado

• Cada servicio modifica el estado para conseguir objetivos

• Cada objetivo tiene una serie de precondiciones

• La ejecución de las operaciones modifican el estado y generancomo objetivos precondiciones de otros servicios

ECSDI - Curso 2019/2020 - FIB 11/85

Page 15: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Métodos semánticos

• Tipos de semántica en los servícios

• Funcional: Qué hace el servicio (categoría, precondiciones,efectos)

• De comportamiento: Cómo hay que comunicarse con elservicio (operaciones, mensajes, entradas, salidas)

• Modelo de información: Cómo tratar los datos/Ontologías ausar/Conversión (lifting, lowering)

• No funcionales: Políticas, calidad de servicio, precio, ...

ECSDI - Curso 2019/2020 - FIB 12/85

Page 16: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Descubrimiento Semántico

• El descubrimiento semántico de servicios pretende ir más allá dela coincidencia sintáctica

• La descripción de servicio usando conceptos de una ontologíapara entradas, salidas, condiciones y efectos permite el uso dededucción automática

• También se pueden utilizar las relaciones clase/subclase y deequivalencia para la coincidencia

• La labor de deducción la debe realizar el matchmaker• Para cada entrada, salida, condición y efecto en la consulta

debe haber una coincidencia en el servicio

ECSDI - Curso 2019/2020 - FIB 13/85

Page 17: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Coincidencia Semántica

• La coincidencia semántica cuantifica la distancia de ladescripción del servicio a la consulta• Exacta, si los conceptos son iguales o equivalentes

• Especialización, si el concepto es más específico

• Generalización, si el concepto es más general

• Fallo, si no hay coincidencia

• Se pueden indicar restricciones adicionales:• Restricciones preferibles pero no necesarias, Preferencia de

conceptos, Uso de otras ontologías, Características de lacalidad de servicio

ECSDI - Curso 2019/2020 - FIB 14/85

Page 18: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Descripción de servicios

• Poder hacer una búsqueda semántica de servicios depende de laexpresividad del lenguaje de descripción

• Se han desarrollado diferentes alternativas para la descripciónsemántica de servicios:

• Semantic Annotations for WSDL (SAWSDL)https://www.w3.org/TR/sawsdl/

• OWL-S (OWL-Services)https://www.w3.org/Submission/OWL-S/

• WSMO (WS Modelling Ontology) + WSML (WS ModellingLanguage)

ECSDI - Curso 2019/2020 - FIB 15/85

Page 19: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

SAWSDL

• Permite complementar la búsqueda por coincidencia literalentre las entradas y salidas de los servicios

• Las descripciones WSDL incluyen anotaciones que referencianontologías

• La ontología indica el significado del parámetro

• Se puede razonar sobre los significados de los parámetros

• Para alcular la coincidencia entre entradas y salidas

• Para obtener una transformación que permita lainteroperabilidad

ECSDI - Curso 2019/2020 - FIB 16/85

Page 20: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-Services

• Ontología de servicios desarrollada sobre OWL

• Un servicio se describe a partir de tres elementos:

• Perfil del servicio (Service Profile): Qué requiere de sususuarios y qué provee

• Modelo del servicio (Service Model): Cómo funciona elservicio

• Uso del servicio (Service Grounding): Cómo se usa el servicio

ECSDI - Curso 2019/2020 - FIB 17/85

Page 21: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-Services

Resource Provides

Service

ServiceProfileServiceModel ServiceGrounding

supports

described_by

presents

ECSDI - Curso 2019/2020 - FIB 18/85

Page 22: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-S - Service Profile

• Permite representar la información que el matchmaker necesitapara encontrar servicios

• Se compone de tres elementos:

• Qué organización provee el servicio (info de contacto)

• Qué función es computada por el servicio (entradas, salidas,precondiciones y efectos)

• Características del servicio (clasificación, calidad)

• La descripción del perfil debería ser consistente con ladescripción del modelo de servicio

ECSDI - Curso 2019/2020 - FIB 19/85

Page 23: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-S - Service Profile

ECSDI - Curso 2019/2020 - FIB 20/85

Page 24: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-S - Service Model

• OWL-S describe el modelo del servicio como un proceso• Ontología de procesos para describir su funcionamiento

ECSDI - Curso 2019/2020 - FIB 21/85

Page 25: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-S - Service Model

Page 26: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-S - Service Model - Proceso

• Entradas y salidas:

• Provistas por/enviadas a servicios externos u otros procesos

• Precondiciones y efectos

• Las precondiciones son condiciones que se deben cumplir en elestado para que el proceso se pueda ejecutar

• Los efectos son las condiciones que cambian en el estado

• Condiciones sobre los efectos y salidas

• Efectos y salidas dependen de la invocación específica (puedensuceder según las circunstancias)

ECSDI - Curso 2019/2020 - FIB 23/85

Page 27: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-S - Service Grounding

• La descripción e implementación del servicio ha de conectarsetransformando los elementos descritos en el proceso ainvocaciones

• Correspondencia entre las entradas y salidas de los procesosatómicos (abstracción del proceso) y la implementación

• Identificación de protocolos, formatos de mensajes,serialización, transporte y direcciones

• En este proceso los procesos atómicos se vinculan con ladescripción WSDL de los servicios

ECSDI - Curso 2019/2020 - FIB 24/85

Page 28: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

OWL-S - Service Grounding

Page 29: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

ComposiciónDinámica/Planificación

Page 30: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Composición Dinámica

• Hasta ahora hemos supuesto que el flujo de ejecución de losservicios ya existía

• Esto limita la composición a solamente elegir los serviciosespecíficos a usar en cada paso

• Incluir en la descripción del servicio precondiciones y efectospermite generar automáticamente el flujo de ejecución

• Permite usar más flexiblemente los servicios descubiertos

• Es necesario un sistema capaz de planificar la composición

ECSDI - Curso 2019/2020 - FIB 26/85

Page 31: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación automática

• La planificación automática es una técnica de resolución deproblemas de Inteligencia Artificial

• Es un método de programación automática

• Un problema se describe a partir de:• La representación del objetivo a alcanzar

• La representación de las acciones que se pueden realizar

• La representación de los elementos estado

• Un planificador determina la secuencia de acciones que obtieneel objetivo a partir de las acciones

• En nuestro caso las acciones son los servicios/agentes

ECSDI - Curso 2019/2020 - FIB 27/85

Page 32: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación automática

• La planificación se plantea como búsqueda de caminos

• Obtener un plan significa encontrar un camino entre el estadoinicial y los objetivos finales

Page 33: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación clásica

• Un problema de planificación se define a partir de

• Un conjunto de acciones aplicables fijo

Ac = α1, ..., αn

• Un estado inicial ∆ que define las condiciones iniciales delproblema

• Un objetivo Ω define las características (totales o parciales) quedebe cumplir el estado solución

ECSDI - Curso 2019/2020 - FIB 29/85

Page 34: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación clásica - Acciones

• < Pα, Dα, Aα > es un descriptor para una acción α ∈ Ac

• Pα es un conjunto de formulas lógicas que caracterizan laprecondición de la acción α

• Dα es un conjunto de fórmulas lógicas que caracterizan aquelloshechos que se vuelven falsos por la ejecución de α (delete list)

• Aα es un conjunto de fórmulas lógicas que caracterizan aquelloshechos que se vuelven ciertos por la ejecución de α (add list)

ECSDI - Curso 2019/2020 - FIB 30/85

Page 35: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación clásica - Plan

• Dada una tripleta < ∆, Ac,Ω >, un plan π = α1, . . . , αndetermina una secuencia de estados ∆0, . . . ,∆n

• Donde ∆0 = ∆ y

∆i = (∆i−1 −Dαi) ∪ Aαi

para 1 ≤ i ≤ n

• Un plan π es aceptable ssi ∆i−1 ` Pαipara 1 ≤ i ≤ n

• Un plan π es correcto ssi es aceptable y ∆n ` Ω

ECSDI - Curso 2019/2020 - FIB 31/85

Page 36: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

El lenguaje de problemas de planificación

• Cada elemento de un problema de planificación (estados,acciones, precondiciones) se representa a partir de fórmulaslógicas

• Dependiendo de la expresividad de la lógica empleada sepueden representar diferentes complejidades de problemas

• Existe un lenguaje estandarizado para los sistemas deplanificación automática (PDDL)

ECSDI - Curso 2019/2020 - FIB 32/85

Page 37: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

El lenguaje de planificación -Estados

• Representación de estados: Los planificadores describen eldominio a partir de fórmulas lógicas, representando un estadocomo una conjunción de literales positivos:

• Proposiciones:Pobre ∧Desconocido

• Literales de 1er orden:

En(Avion1,Melbourne) ∧ En(Avion2, Sydney)

ECSDI - Curso 2019/2020 - FIB 33/85

Page 38: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

El lenguaje de planificación - Objetivos

• Representación de objetivos: Un objetivo es un estadoparcialmente especificado

• Un estado S satisface un objetivo O si S contiene todos losátomos de O (y posiblemente algunos más)

O ⊆ S ≡ S ` O

ECSDI - Curso 2019/2020 - FIB 34/85

Page 39: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

El lenguaje de planificación - Objetivos

El estado:

Rico ∧ Famoso ∧Miserable

satisface el objetivo (se deduce)

Rico ∧ Famoso

ECSDI - Curso 2019/2020 - FIB 35/85

Page 40: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

El lenguaje de planificación - Acciones

• Representación de acciones: Las acciones se especifican entérminos de las precondiciones que se han de cumplir antes deque se puedan ejecutar y de los efectos que producen una vezse han ejecutado

volar(av, orig, dest)PRECOND: En(av, orig) ∧ Avion(av) ∧

Aeropuerto(orig) ∧ Aeropuerto(dest)EFECTO: ¬ En(av, orig) ∧ En(av, dest)

ECSDI - Curso 2019/2020 - FIB 36/85

Page 41: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

El lenguaje de planificación - Acciones

• La precondición es una conjunción de literales que especificaqué debe de ser verdadero en un estado antes de que la acciónse ejecute

• El efecto es una conjunción de literales describiendo comocambia el estado cuando la acción se ejecuta

• Qué pasa a ser cierto en el nuevo estado

• Qué deja de ser cierto en el nuevo estado

ECSDI - Curso 2019/2020 - FIB 37/85

Page 42: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación - Ejecución de acciones

• Una acción es aplicable en cualquier estado que satisfaga laprecondición

• Si es necesario, se unifican sus variables en la precondición

ECSDI - Curso 2019/2020 - FIB 38/85

Page 43: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación - Ejecución de acciones - Ejemplo

El estado

Avion(A1) ∧ En(A1, JFK)∧

Avion(A2) ∧ En(A2, SFO)∧

Aeropuerto(JFK) ∧ Aeropuerto(SFO)

satisface la precondición de la acción volar(av, orig, dest)

av = A1 orig = JFK dest = SFO

ECSDI - Curso 2019/2020 - FIB 39/85

Page 44: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación - Ejecución de acciones

• El resultado de ejecutar la acción en un estado S es un estadoS ′ al que:

• se añaden los literales positivos del efecto

• se eliminan los literales negativos

ECSDI - Curso 2019/2020 - FIB 40/85

Page 45: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación - Ejecución de acciones - Ejemplo

El efecto de la acción volar sobre el estado anterior:

En(A1, SFO) ∧ Avion(A1)∧

En(A2, SFO) ∧ Avion(A2)∧

Aeropuerto(JFK) ∧ Aeropuerto(SFO)

Se eliminó: En(A1, JFK)

Se añadió: En(A1, SFO)

ECSDI - Curso 2019/2020 - FIB 41/85

Page 46: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Ejemplo: Transporte aéreo de carga

• Dos cargas (C1 y C2) estan en 2 aeropuertos (SFO, JFK)

• Tenemos dos aviones (A1 y A2) para transportar las cargas,uno en cada aeropuerto

• Describimos el estado inicial así:

Inicio(En(C1, SFO) ∧ En(C2, JFK) ∧ En(A1, SFO) ∧En(A2, JFK) ∧ Carga(C1) ∧ Carga(C2) ∧Avion(A1) ∧Avion(A2) ∧Aeropuerto(SFO) ∧Aeropuerto(JFK))

• El objetivo es que C1 acabe en JFK y C2 en SFO

• Describimos el objetivo así:

Objetivo(En(C1, JFK) ∧ En(C2, SFO))

ECSDI - Curso 2019/2020 - FIB 42/85

Page 47: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Ejemplo: Transporte aéreo de carga

carga(c, av, aerop)PRECOND: En(c, aerop) ∧ En(av, aerop) ∧ Carga(c) ∧

Avion(av) ∧ Aeropuerto(aerop)EFECTO: ¬En(c, aerop) ∧ Dentro(c, av)

descarga(c, av, aerop)PRECOND: Dentro(c, av) ∧ En(av, aerop) ∧ Carga(c) ∧

Avion(av) ∧ Aeropuerto(aerop)EFECTO: En(c, aerop) ∧ ¬Dentro(c, av)

volar(av, orig, dest)PRECOND: En(av, orig) ∧ Avion(av) ∧

Aeropuerto(orig) ∧ Aeropuerto(dest)EFECTO: ¬En(av, orig) ∧ En(av, dest)

Page 48: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Ejemplo: Transporte aéreo de carga

Solucion 1: dos aviones para hacer el traslado[carga(C1, A1, SFO), vuela(A1, SFO, JFK),

descarga(C1, A1, JFK), carga(C2, A2, JFK),

vuela(A2, JFK, SFO), descarga(C2, A2, SFO)]

Solucion 2: usamos solo un avión[carga(C1, A1, SFO), vuela(A1, SFO, JFK),

descarga(C1, A1, JFK), carga(C2, A1, JFK),

vuela(A1, JFK, SFO), descarga(C2, A1, SFO)]

ECSDI - Curso 2019/2020 - FIB 44/85

Page 49: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Estrategias de planificación

Page 50: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Aproximaciones a la planificación

• Existen tres estrategias para la resolución de un problema deplanificación (Calcular la secuencia de acciones)

• Planificación en espacio de estados (State-Space Planning)

• Planificación en el espacio de planes (Plan-Space Planning)

• Planificación jerárquica (Hierarchical Task Network Planning)

• Cada una de ellas se puede plantear mediante diferentesalgoritmos y heurísticos

ECSDI - Curso 2019/2020 - FIB 45/85

Page 51: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de estados (State-Space Planning)

• El problema se define como una secuencia de acciones que vacompletando los objetivos del problema• Se explora el espacio de caminos que conecta el estado inicial y

final

E0 E1 E2 E3 En

Exploración

ECSDI - Curso 2019/2020 - FIB 46/85

Page 52: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de planes (Plan-Space Planning)

• El problema se define como una secuencia incompleta deacciones

• Se explora el espacio de planes parciales añadiendo accionesque completan el plan

E0

En

E0

En

E0

En

E0

En

E0

En

Exploración

Page 53: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de descomposiciones (Hierarchical Task Network Planning)

• El problema se plantea como una descomposición jerárquica deproblemas• Se explora el espacio de descomposiciones hasta obtener una

secuencia de problemas primitivos

E0 En E0 EnE0 En

Exploración

Page 54: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificacion Lineal

Page 55: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de estados - Forward Linear Planning

• Se parte del estado inicial

• Mientras el estado no es el objetivo:

1. Se intentan unificar las precondiciones de las acciones

2. Se elige una acción que unifique

3. Se aplican los efectos de la acción al estado

• nuevos predicados son ciertos

• algunos predicados dejan de ser ciertos

ECSDI - Curso 2019/2020 - FIB 49/85

Page 56: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de estados - Forward Linear Planning

En(C1,SFO)En(C2,JFK)En(A1,SFO)En(A2,JFK)...

Dentro(C1,A1)En(C2,JFK)En(A1,SFO)En(A2,JFK)...

En(C1,SFO)Dentro(C2,A2)En(A1,SFO)En(A2,JFK)...

carga(C1,A1,SFO)

carga(C2,A2,SFO)

ECSDI - Curso 2019/2020 - FIB 50/85

Page 57: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de estados - Forward Linear Planning

• Algoritmos de búsqueda hacia adelante:

• Anchura prioritaria

• Profundidad prioritaria

• Best first (A∗, IDA∗)

• Greedy Best first

• Heurísticas generales para reducir el espacio de búsqueda

• Problema: Búsqueda no dirigida por el objetivo lleva a unaexplosión combinatoria, se puede reducir mediante heurísticasdependientes del dominio

ECSDI - Curso 2019/2020 - FIB 51/85

Page 58: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de estados - Backward Linear Planning

• La búsqueda se inicia desde el estado final del problema

• Mientras haya objetivos pendientes:1. Se unifican los efectos de las acciones

2. Se elige una acción que cubra subobjetivos

3. Se eliminan subobjetivos que son efectos positivos de la acción

4. Se añaden al estado sus precondiciones (nuevos subobjetivos)

ECSDI - Curso 2019/2020 - FIB 52/85

Page 59: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de estados - Backward Linear Planning

En(C1,JFK)En(C2,SFO)

Dentro(C1,A1)En(A1,JFK)En(C2,SFO)...

Dentro(C2,A2)En(A2,SFO)En(C1,JFK)...

descarga(C1,A1,JFK)

descarga(C2,A2,SFO)

ECSDI - Curso 2019/2020 - FIB 53/85

Page 60: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Espacio de estados - Backward Linear Planning

• Permite focalizar mejor la búsqueda (solo precondiciones quellevan al objetivo del problema)

• El espacio de búsqueda es aún bastante grande

• Son necesarias heurísticas generales y específicas para reducir elespacio de búsqueda

ECSDI - Curso 2019/2020 - FIB 54/85

Page 61: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación no Lineal

Page 62: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Idea

• Búsqueda hacia atrás desde el objetivo

• Cada nodo del espacio de búsqueda es un plan parcial queincluye• un conjunto de operadores parcialmente instanciados

• un conjunto de restricciones sobre los operadores

ECSDI - Curso 2019/2020 - FIB 55/85

Page 63: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Proceso

• Descomponer conjuntos de objetivos en objetivos individuales

• Planificar cada subobjetivo por separado

• Detectar y corregir conflictos entre objetivos imponiendorestricciones

• Aplicar estrategia de mínimo compromiso (minima modificaciónque hace válido el plan)

• Se acaba cuando se obtiene un plan parcialmente ordenado

ECSDI - Curso 2019/2020 - FIB 56/85

Page 64: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

• Problema: escribir una carta

• Condiciones iniciales: en(casa), vende(papel,papelería), vende(lápiz, papelería),vende(sellos,estanco)

• Condiciones finales: en(casa) tengo(papel),tengo(sellos), tengo(lápiz)

• Operadores:• ir(x) → prec: [en(y)], efec: [en(x),¬en(y)]

• comprar(x) → prec: [en(y), vende(y,x)], efec:[tengo(x)]

ECSDI - Curso 2019/2020 - FIB 57/85

Page 65: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

FIN

INICIOen(casa) vende(lapiz,papeleria)

vende(sellos,estanco)vende(papel,papeleria)

tengo(papel) tengo(lapiz)tengo(sellos)en(casa)

Page 66: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

FIN

INICIOen(casa) vende(lapiz,papeleria)

vende(sellos,estanco)vende(papel,papeleria)

en(casa)

compro(lapiz)

tengo(lapiz) tengo(papel)tengo(sellos)

compro(sellos) compro(papel)

vende(y1,sellos) vende(y3,papel)en(y2) vende(y2,lapiz)en(y3)en(y1)

Page 67: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

FIN

INICIO

en(casa)tengo(lapiz) tengo(papel)tengo(sellos)

compro(papel)compro(lapiz)compro(sellos)

ir(estanco) ir(papeleria)

vende(papeleria,lapiz)en(papeleria)

vende(estanco,sellos)en(estanco) en(papeleria) vende(papeleria,papel)

Inconsistente

en(casa) en(casa)

Page 68: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

compro(sellos)

ir(estanco)ir(papeleria)

compro(lapiz) compro(papel)

FIN

INICIO

en(casa)tengo(lapiz) tengo(papel)tengo(sellos)

en(casa)

en(estanco)vende(estanco,sellos)

en(papeleria)vende(papeleria,lapiz)

en(papeleria)vende(papeleria,papel)

en(estanco)

Page 69: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

ir(estanco)

compro(sellos) ir(papeleria)

FIN

INICIO

en(casa)

en(estanco)en(estanco)

Amenaza

no en(estanco)

Page 70: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

ir(estanco)

compro(sellos)

ir(papeleria)

FIN

INICIO

en(casa)

en(estanco)

en(estanco)

Page 71: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

ir(papeleria)

en(estanco)

ir(estanco)

compro(sellos)

compro(papel)compro(lapiz)

FIN

INICIO

tengo(lapiz)tengo(papel)

en(casa)

en(papeleria)

ir(casa)

vende(estanco,sellos) en(estanco)

vende(papeleria,lapiz)en(papeleria) vende(papeleria,papel)en(papeleria)

tengo(sellos)en(casa)

Page 72: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

compro(papel)compro(lapiz)

ir(papeleria)

ir(casa)

FIN

en(papeleria) en(papeleria)en(papeleria)

Amenaza

no en(papeleria)

Page 73: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en espacio de planes - Ejemplo

ir(papeleria)

en(estanco)

ir(estanco)

compro(sellos)

compro(papel)compro(lapiz)

FIN

INICIO

tengo(lapiz) tengo(papel)

en(casa)

en(papeleria)

ir(casa)

vende(estanco,sellos) en(estanco)

vende(papeleria,lapiz) en(papeleria) vende(papeleria,papel)en(papeleria)

tengo(sellos) en(casa)

Page 74: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica

Page 75: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica

• Los métodos anteriores trabajan en un único nivel deabstracción

• Nosotros podemos generar planes a diferentes niveles, desdeplanes de muy alto nivel a planes muy detallados

• Planificación Jerárquica:• Describe tareas y subtareas, y les asocia acciones.

• Las tareas forman una red de tareas jerárquica (HierarchicalTask Network o HTN)

• El motor de planificación es capaz de explorar los diferentesniveles de (sub)tareas

ECSDI - Curso 2019/2020 - FIB 67/85

Page 76: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple

• Estados y operadores, como en planificación clásica

• No hay objetivos

• Planificación guiada por tareas

• Tareas primitivas

• Tareas no primitivas (descomponibles)

• Los métodos descomponen tareas en sub-tareas

ECSDI - Curso 2019/2020 - FIB 68/85

Page 77: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple

Tarea no primitiva

Tarea primitiva Tarea primitiva

Instancia de método

Instancia de operador Instancia de operador

Precondición

S0 S1 S2Precond Efecto Precond Efecto

Page 78: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple

• Tarea: una expresión de la forma t(u1, . . . , un)

• t es un símbolo de tarea, y cada ui es un término

• Dos tipos de símbolos de tarea:

• Primitivos: tareas que sabemos cómo ejecutar directamente, elsímbolo de tarea es un nombre de operador

• No-primitivos: tareas que se han de descomponer en subtareas,debemos usar un método

ECSDI - Curso 2019/2020 - FIB 70/85

Page 79: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple

• Método: una tuplam = (nombre(m), tarea(m), precond(m), subtareas(m))

• nombre(m): una expresión de la forma n(x1, . . . , xn) donde xison parámetros (variables)

• tarea(m) : una tarea no-primitiva

• precond(m) : precondiciones (literales)

• subtareas(m) : una secuencia parcialmente ordenada de lastareas 〈t1, . . . , tk〉

ECSDI - Curso 2019/2020 - FIB 71/85

Page 80: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple

• Dominio: métodos, operadores

• Problema: métodos, operadores, estado inicial, lista de tareas

• Solución: cualquier plan ejecutable que se pueda generar poraplicar de forma recursiva

• métodos para tareas no-primitivas

• operadores para tareas primitivas

• Buscamos en el espacio de descomposiciones

• Búsqueda computacionalmente más eficiente (escalable)

ECSDI - Curso 2019/2020 - FIB 72/85

Page 81: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple

Algorithm: P-Jerárquica(s,〈t1, . . . , tk〉, O, M)

if t=∅ then returnif t1.esPrimitiva() then

acciones←(a, σ)|a = σ(t1) y a aplicable en sif acciones=∅ then return fallo(a, σ)←acciones.escogeUna()plan←P-Jerárquica(s,〈t2, . . . , tk〉, O, M)if plan=fallo then return falloelse return a + plan

elsemetodos←(m,σ)|m es relevante para σ(t1) y aplicable en sif metodos=∅ then return fallo(m,σ)←metodos.escogeUna()tareas← subtareas(m) + σ(〈t2, . . . , tk〉)return plan←P-Jerárquica(s,tareas, O, M)

Page 82: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo - Métodos

método: loginTAREA: login(User,Tienda)PRECOND: registrado(User,Tienda)SUBTAREAS: enviar-usuario(User,Tienda)

método: loginTAREA: login(User,Tienda)PRECOND: ¬registrado(User,Tienda)SUBTAREAS: registrar-usuario(User,Tienda),

login(User,Tienda)

ECSDI - Curso 2019/2020 - FIB 74/85

Page 83: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo - Métodos

método: comprar-objetoTAREA: comprar(User,Obj,Tienda,Pmax)PRECOND: ∅SUBTAREAS: login(User,Tienda),

obtener-precio(User,Obj,Tienda),pagar(User,Tienda,Obj,Pmax)

método: pagarTAREA: pagar(User,Tienda,Objeto,Pmax)PRECOND: precio(Obj,Pr≤Pmax),logged-in(User,Tienda)SUBTAREAS: enviar-pago(User,Tienda),

procesar-pago(User,Tienda),enviar-recibo(User,Tienda)

ECSDI - Curso 2019/2020 - FIB 75/85

Page 84: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo - Operadores

operador: enviar-usuario(User,Tienda)PRECOND: ¬logged-in(User,Tienda)EFECTOS: logged-in(User,Tienda)

operador: registrar-usuario(User,Tienda)PRECOND: ¬resgistrado(User,Tienda)EFECTOS: registrado(User,Tienda)

operador: obtener-precio(User,Tienda,Obj)PRECOND: logged-in(User,Tienda),¬ precio(Obj,P)EFECTOS: precio(Obj,P)

ECSDI - Curso 2019/2020 - FIB 76/85

Page 85: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo - Operadores

operador: enviar-pago(User,Tienda,Obj)PRECOND: tarjeta-válida(User)EFECTOS: pagado(User,Obj)

operador: procesar-pago(User,Tienda,Obj)PRECOND: pagado(User,Obj), tarjeta-válida(User)EFECTOS: pago-aprobado(User,Obj)

operador: enviar-recibo(User,Tienda)PRECOND: pago-aprobado(User,Tienda)EFECTOS: recibo(User,Obj)

ECSDI - Curso 2019/2020 - FIB 77/85

Page 86: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo

• El estado inicial sería:

¬registrado(pepe),¬logged-in(pepe,amz),tarjeta-válida(pepe)

• La tarea sería:

comprar(pepe,libroZZ,amz,10)

ECSDI - Curso 2019/2020 - FIB 78/85

Page 87: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo

comprar(pepe,libroZZ,amz,10)

comprar-objeto

login(pepe,amz)

obtener-precio(pepe,libroZZ,amz)

pagar(pepe,amz,libroZZ,10)

Page 88: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo

login(pepe,amz)

Login Login

registrado(pepe,amz)

FAIL

¬registrado(pepe,amz)

registrar-usuario(pepe,amz) login(pepe,amz)

¬registrado(pepe,amz) registrado(pepe,amz)

registrado(pepe,amz)

¬registrado(pepe,amz)¬logged-in(pepe,amz)...

enviar-usuario(pepe,amz)

¬logged-in(pepe,amz) logged-in(pepe,amz)

registrado(pepe,amz)¬logged-in(pepe,amz)...

registrado(pepe,amz)logged-in(pepe,amz)...

Login

Page 89: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica Simple - Ejemplo

comprar

login

obt-precio

pagar

registrar env-usuario env-pago proc-pago env-recibo

registrado logged-in precio pagado pago-aprobado recibo

E0 E1 E2 E3 E4 E5 E6

Page 90: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación enAgentes/Servicios

Page 91: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en Agentes/Servicios

• La composición de un conjunto de servicios se puede hacer apartir de su descripción

• Cada servicio indica sus entradas, salidas, precondiciones yefectos

• Estas descripciones coinciden con las de los operadores deplanificación

• Posibilidades:• Servicios atómicos: Planificación lineal/no lineal

• Servicios complejos: Planificación jerárquica

ECSDI - Curso 2019/2020 - FIB 82/85

Page 92: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica en Agentes/Servicios

• Los lenguajes de descripción de servicios permite describir unproceso como una descomposición de tareas• Servicios atómicos (operadores)

• Servicios compuestos (métodos)

• Las entradas, salidas, precondiciones y efectos se expresancomo términos de una ontología (razonamiento)

• La composición la realiza un motor de planificación

• Una vez elaborado el plan se puede ejecutar como unaorquestación

ECSDI - Curso 2019/2020 - FIB 83/85

Page 93: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación en SOA

Desarrollador

Usuario

Ontologías

Tareas

Dominio

Objetivos

Servicios

Razonador

Composición de servicios

Planner Seleccionplan

Ejecución y Monitorización

Requerimientos

Dominio/Tareas/Operadores

Plan

Agentes Servicios

Page 94: ComposiciónDinámicabejar/ecsdi/Teoria/ECSDI06c... · 2020-01-29 · Composicióndinámica-Motivaciones Descubrimientoautomáticodeservicios Ladecisióndelservicioespecíficoausarserealizaentiempode

Planificación Jerárquica en SOA - Ventajas

• Podemos hacer la descripción de servicios más modular

• Podemos describir servicios a alto nivel (descripción de lacomposición)

• Podemos monitorizar automáticamente la ejecución del plan(precondiciones)

• Podemos corregir excepciones en la ejecución:

• Replanificando acciones

• Insertando planes de contingencia

ECSDI - Curso 2019/2020 - FIB 85/85