SlideShare una empresa de Scribd logo
1 de 90
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
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
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
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
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
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”
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
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
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
Introducción   Estado del Arte   Propuesta   Evaluación   Conclusiones
Motivación




                                                      Computación
 Sistemas
                                                       Orientada
Multi-Agente
                                                       a Servicios



                      Sistemas          Operativos
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
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
Introducción   Estado del Arte   Propuesta   Evaluación   Conclusiones
Objetivos




                         Objetivos
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”
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…
Introducción   Estado del Arte   Propuesta   Evaluación   Conclusiones
Objetivos




        “Integrar un nuevo paradigma
        en el modelo de ejecución del
              Sistema Operativo”
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
Introducción   Estado del Arte   Propuesta   Evaluación   Conclusiones
Objetivos




               “Introducir la red como
            elemento fundamental en el
                  diseño de los SO”
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
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
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
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
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
                                                                  ...
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
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
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
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
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
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
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
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
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
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
Introducción   Estado del Arte   Propuesta   Evaluación   Conclusiones
 Análisis

                   SO orientado a agentes
El SO como una organización




                                   SO
Introducción    Estado del Arte    Propuesta    Evaluación   Conclusiones
 Análisis

                     SO orientado a agentes
Las aplicaciones son también organizaciones de agentes




                                      SO
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
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
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
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
Introducción       Estado del Arte   Propuesta   Evaluación   Conclusiones
Análisis

  A




  A
               S

                      Abstracciones:
                      ! - Agente
               S
  A




  A
               S




                      ! - Objetivo
  A




                      ! - Servicio
                      ! - Contrato
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
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
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
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
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
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
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 ))}
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
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
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 )}
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
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...
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
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
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
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
[Goal]



                                       Deliberation Engine
  Goal is
 possible




               [Goal not applicable]




     [Goal]



 Goal is
consistent
with some
other goal




               [Goal inconsistent]




      [Goal]




Select Plan
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
[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
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
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
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
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
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
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
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.
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
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)
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)
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
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
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
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
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
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
Introducción   Estado del Arte   Propuesta   Evaluación   Conclusiones
Experimentos
Introducción    Estado del Arte          Propuesta         Evaluación        Conclusiones
Experimentos




           Evolución de la confianza con diversas precisiones en la predicción temporal
Introducción   Estado del Arte       Propuesta        Evaluación       Conclusiones
Experimentos




                    Adaptabilidad del sistema en un entorno dinámico
Introducción    Estado del Arte          Propuesta         Evaluación        Conclusiones
Experimentos




           Evolución de la confianza con diversas precisiones en la predicción temporal
Introducción   Estado del Arte     Propuesta         Evaluación   Conclusiones
Experimentos




                        Tolerancia a Fallos con Replanificación
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
Introducción       Estado del Arte   Propuesta   Evaluación    Conclusiones
Experimentos




               Utilización                            Tiempo de Espera




        Tiempo de Respuesta                          Tiempo de Ejecución
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)
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
Outline




          Conclusiones

               63
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
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
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
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
:wq




      Gracias por su atención




                 68

Más contenido relacionado

Similar a Distributed Goal-Oriented Computing

Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Andres Solorzano
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1zurda21
 
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...eccutpl
 
Propuesta de Arquitectura de Control Basada en Políticas de Calidad de Servicio
Propuesta de Arquitectura de Control Basada en Políticas de Calidad de ServicioPropuesta de Arquitectura de Control Basada en Políticas de Calidad de Servicio
Propuesta de Arquitectura de Control Basada en Políticas de Calidad de ServicioJose Luis Poza Luján
 
Metodo top-down.pptx
Metodo top-down.pptxMetodo top-down.pptx
Metodo top-down.pptxoera28
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasUNM
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasUNM
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareLuis Fernández
 
Analisis y Diseño de Sistemas
Analisis y Diseño de SistemasAnalisis y Diseño de Sistemas
Analisis y Diseño de SistemasTienda Arlet
 
1 El Paradigma De OrientacióN A Objetos
1  El Paradigma De OrientacióN A Objetos1  El Paradigma De OrientacióN A Objetos
1 El Paradigma De OrientacióN A ObjetosHectorMamani
 
Metodologia Integracion de Aplicaciones
Metodologia Integracion de AplicacionesMetodologia Integracion de Aplicaciones
Metodologia Integracion de AplicacionesJaime Contreras
 

Similar a Distributed Goal-Oriented Computing (20)

avanttic Webinar Hoja de Ruta SOA
avanttic Webinar Hoja de Ruta SOA avanttic Webinar Hoja de Ruta SOA
avanttic Webinar Hoja de Ruta SOA
 
Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018
 
Clase7
Clase7Clase7
Clase7
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
 
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
Identificación y seguimiento de artefactos en el proceso de desarrollo de sof...
 
Propuesta de Arquitectura de Control Basada en Políticas de Calidad de Servicio
Propuesta de Arquitectura de Control Basada en Políticas de Calidad de ServicioPropuesta de Arquitectura de Control Basada en Políticas de Calidad de Servicio
Propuesta de Arquitectura de Control Basada en Políticas de Calidad de Servicio
 
Metodo top-down.pptx
Metodo top-down.pptxMetodo top-down.pptx
Metodo top-down.pptx
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los Sistemas
 
Ciclo De Vida De Los Sistemas
Ciclo De Vida De Los SistemasCiclo De Vida De Los Sistemas
Ciclo De Vida De Los Sistemas
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Charla integracion procesos
Charla integracion procesosCharla integracion procesos
Charla integracion procesos
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
 
Analisis y Diseño de Sistemas
Analisis y Diseño de SistemasAnalisis y Diseño de Sistemas
Analisis y Diseño de Sistemas
 
3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso
 
Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
1 El Paradigma De OrientacióN A Objetos
1  El Paradigma De OrientacióN A Objetos1  El Paradigma De OrientacióN A Objetos
1 El Paradigma De OrientacióN A Objetos
 
Metodologia Integracion de Aplicaciones
Metodologia Integracion de AplicacionesMetodologia Integracion de Aplicaciones
Metodologia Integracion de Aplicaciones
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (19)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
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
  • 85. Outline Conclusiones 63
  • 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
  • 90. :wq Gracias por su atención 68