scieee Open visual document viewer

Involucrando al humano en la toma de decisiones en sistemas auto-adaptativos

Sabogal Ocampo, Fabián Andrés

Abstract

En un mundo cada vez más dinámico, inteligente y descentralizado, las tecnologías y los tipos de aplicaciones evolucionan hacia la creación de eco-sistemas compuestos por una amplia variedad de dispositivos y servicios heterogéneos y distribuidos, de naturaleza claramente móvil y ubicua, y en constante evolución tecnológica. Ante esta situación, parece clara la necesidad de desarrollar sistemas que sean capaces de adaptarse de forma continua y dinámica (en tiempo de ejecución) a nuevas condiciones del entorno, situaciones impredecibles, necesidades cambiantes de sus usuarios, nuevos dispositivos y tecnologías con los que interactuar o nuevos servicios que consumir. Esta adaptación debe gestionarse de forma autónoma (auto-adaptatividad) ya que no parece viable asumir que un 'humano' intervenga activamente en materializar todas las adaptaciones en tiempo de ejecución. Sin embargo, un tema cada vez más interesante es analizar de qué manera y con qué roles un humano puede participar en estas tareas con el objetivo de enriquecerlas, ajustarlas o resolver las excepciones críticas que puedan ocurrir. En estos casos, la adaptación se podría beneficiar de recibir información de los humanos ya sea actuando como sofisticados sensores (por ejemplo, proporcionando información del contexto), como tomadores de decisiones (por ejemplo, resolviendo algún conflicto de objetivos del sistema) o como efectores a nivel de sistema para ejecutar adaptaciones (por ejemplo cuando la automatización no es posible o como mecanismo de último recurso si no se pueden llevar a cabo las adaptaciones de forma automática). En este trabajo de fin de máster se pretende ofrecer una solución para involucrar al humano en la toma de decisiones de los sistemas auto-adaptativos cuando se requiera su participación. En este contexto, los objetivos del presente proyecto son: (1) cómo integrar al usuario en el proceso de adaptación (qué necesitan saber los usuario, cuándo lo necesitan saber, cómo lo necesitan saber) y, (2) qué roles va a tener el usuario en el bucle de adaptación (sensor, actuador, tomador de decisiones). La idea es que la participación de los usuarios sirva para mejorar la adaptabilidad del sistema, participando en la toma de decisiones, pero siempre consiguiendo un equilibrio entre el comportamiento autónomo y la participación del usuario. Para involucrar al usuario en el bucle de adaptación se desarrollará un componente software capaz de comunicarse con el sistema auto-adaptativo en cuestión y que será el encargado de exponer el estado del bucle de control a los usuarios (qué mostrarle, cuándo mostrárselo y cómo mostrárselo) y capturar el feedback del usuario (input del usuario) para mejorar las adaptaciones. Dependiendo del rol que se necesite del usuario y su nivel de atención, la interacción se proporcionará mediante unos mecanismos u otros con el fin de conseguir una interacción natural y no molestar a los usuarios.

Full text

In oluc ando al humano en la oma de decisiones en sis emas au o-adap a i os Fabián And és Sabogal Ocampo Depa amen o de Sis emas In o má icos y Compu ación Uni e si a Poli ècnica de València Es a esis se p esen a pa a el g ado de Más e Uni e si a io en Ingenie ía y Tecnología de Sis emas So wa e Vicen e Pelechano Fe agud Joan Fons i Co s Sep iemb e 2016 Dedica o ia Me gus a ía dedica es a esis a mis pad es. Ag adecimien os Me gus a ía da ag adecimien os a Mi iam Gil po su ayuda y dedicación en el acompaña- mien o de la Tesina. Y especialmen e a Ca alina Ochoa po se un apoyo en es a e apa de mi ida. Índice gene al Índice gene al VII Índice de igu as XI Índice de cuad os XIII Nomencla u a XV 1. In oducción 1 1.1. Plan eamien o del p oblema . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Obje i os .................................... 3 1.2.1. Gene ales................................ 3 1.2.2. Especí icos ............................... 4 2. Con ex o de la Tesina 5 2.1. T abajosRelacionados ............................. 5 2.2. Concep osGene ales .............................. 6 2.2.1. Compu ación Au ónoma . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2. Sis emas Au o-adap a i os . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.3. Componen ............................... 9 2.2.4. So wa eF amewo k.......................... 10 2.3. Tecnologías in oluc adas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.1. Py hon ................................. 10 2.3.2. DSL................................... 12 2.3.3. JSON.................................. 12 2.3.4. JSONSchema ............................. 12 3. Análisis de la pa icipación del humano en bucles de au onomía 13 3.1. In oducción a la compu ación au ónoma . . . . . . . . . . . . . . . . . . . . 13 VIII Índice gene al 3.2. In oluc ando al humano en sis emas au ónomos . . . . . . . . . . . . . . . . 14 3.3. F amewo k pa a la inclusión del humano en bucles de adap ación . . . . . . . 17 4. Diseño del F amewo k de Adap ación 23 4.1. Diag ama de componen es . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2. A qui ec u a del amewo k . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.1. Co e................................... 25 4.2.2. API................................... 25 4.2.3. Con ol ................................. 26 4.2.4. Con ig.................................. 26 4.2.5. Con ex ................................. 26 4.2.6. Box................................... 26 4.2.7. Componen ............................... 27 4.2.8. Feedback ................................ 27 4.3. Diseñodeclases ................................ 27 4.3.1. Co e................................... 27 4.3.2. API................................... 28 4.3.3. Con ol ................................. 28 4.3.4. Con ig.................................. 29 4.3.5. Box................................... 30 4.3.6. Componen ............................... 30 4.3.7. Feedback ................................ 31 5. Implemen ación del F amewo k 33 5.1. Implemen ación de la solución . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.1.1. Lenguaje de p og amación . . . . . . . . . . . . . . . . . . . . . . . 33 5.1.2. DSL y alidación de la con igu ación . . . . . . . . . . . . . . . . . 33 5.1.3. P ocesos ................................ 35 5.1.4. Comunicación en e p ocesos . . . . . . . . . . . . . . . . . . . . . 35 5.2. Aplicaciones sob e el amewo k . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2.1. Main.py................................. 37 5.2.2. Hil.json................................. 37 5.2.3. Con ex .py ............................... 39 5.2.4. Componen .py ............................. 40 5.2.5. Ejecución................................ 40 Índice gene al IX 6. Caso de Es udio 43 6.1. Comp obación de la pa icipación humana . . . . . . . . . . . . . . . . . . . 43 6.2. Ni eles de a ención y ipos de pa icipación . . . . . . . . . . . . . . . . . . 43 6.3. Escena iosp opues os.............................. 44 6.3.1. No es posible conduci au ónomamen e con llu ia ue e . . . . . . . 44 6.3.1.1. Escena io .......................... 45 6.3.1.2. Con igu ación en el amewo k . . . . . . . . . . . . . . . 46 6.3.2. Ince eza en c uza una in e sección . . . . . . . . . . . . . . . . . . 46 6.3.2.1. Escena io .......................... 47 6.3.2.2. Con igu ación en el amewo k . . . . . . . . . . . . . . . 47 6.3.3. Ince eza en econoce una señal de a ico empo al (de limi e de e- locidad)................................. 47 6.3.3.1. Escena io .......................... 48 6.3.3.2. Con igu ación en el amewo k . . . . . . . . . . . . . . . 48 6.3.4. Di icul ad en econoce señales de un policía . . . . . . . . . . . . . 48 6.3.4.1. Escena io .......................... 49 6.3.4.2. Con igu ación en el amewo k . . . . . . . . . . . . . . . 49 6.3.5. Di icul ad en ges iona semá o os o os . . . . . . . . . . . . . . . . 50 6.3.5.1. Escena io .......................... 50 6.3.5.2. Con igu ación en el amewo k . . . . . . . . . . . . . . . 50 7. Resul ados 51 7.1. F amewo k ................................... 51 7.2. Casodees udio................................. 51 8. Conclusiones 53 Re e encias 55 Capí ulo 1 In oducción En un mundo cada ez más dinámico, in eligen e y descen alizado, las ecnologías y los ipos de aplicaciones e olucionan hacia la c eación de ecosis emas compues os po una am- plia a iedad de disposi i os y se icios he e ogéneos y dis ibuidos, de na u aleza cla amen e mó il y ubicua, y en cons an e e olución ecnológica. An e es a si uación, su ge e iden emen- e una necesidad de desa olla sis emas que sean capaces de adap a se de o ma con inua y dinámica (en iempo de ejecución) a nue as condiciones del en o no, si uaciones imp edeci- bles, necesidades cambian es de sus usua ios, nue os disposi i os y ecnologías con los que in e ac ua o nue os se icios que consumi . Es a adap ación debe ges iona se de o ma au- ónoma (au o-adap abilidad) ya que en p ime a ins ancia no pa ece ía iable asumi que un «humano» in e enga ac i amen e en ma e ializa odas las adap aciones en iempo de ejecu- ción. Sin emba go, un ema cada ez más in e esan e es analiza de qué mane a y con qué oles un humano puede pa icipa en es as a eas con el obje i o de en iquece las, ajus a las o esol e las excepciones c í icas que puedan ocu i . En es os casos, la adap ación se pod ía bene icia de ecibi in o mación de los humanos ya sea ac uando como so is icados senso es (po ejemplo, p opo cionando in o mación del con ex o), como omado es de decisiones (po ejemplo, esol iendo algún con lic o de obje i- os del sis ema) o como e ec o es a ni el de sis ema pa a ejecu a adap aciones (po ejemplo cuando la au oma ización no es posible o como mecanismo de úl imo ecu so si no se pueden lle a a cabo las adap aciones de o ma au omá ica). La idea es que la pa icipación de los usua ios si a pa a mejo a la adap abilidad del sis ema, pa icipando en la oma de decisiones, pe o siemp e consiguiendo un equilib io en e el compo amien o au ónomo y la pa icipación del usua io. Pa a llega a al ni el de in e acción con el humano de mane a que se con ie a en una pa - e imp escindible den o del p oceso de oma de decisiones de los sis emas au o-adap a i os, su ge la necesidad de acili a la in eg ación al humano den o del bucle de las aplicaciones 2In oducción exis en es y las p óximas en llega . Y pa a ello es impo an e que exis a un componen e so - wa e capaz de comunica se con el sis ema au o-adap a i o en cues ión que se á el enca gado de expone el es ado del bucle de con ol a los usua ios (qué mos a le, cuándo mos á selo y cómo mos á selo) y cap u a el eedback del usua io (inpu del usua io) pa a mejo a las adap aciones. Dependiendo del ol que se necesi e del usua io y su ni el de a ención, la in e acción se p opo ciona á median e unos mecanismos u o os con el in de consegui una in e acción na u al sin in e enciones moles as hacia los usua ios. Es e abajo p esen a una p opues a de desa ollo que in e ac úa con es os sis emas au o- adap a i os, e in en a acili a la in eg ación de usua io den o del bucle de adap ación, con lo cual se p e ende inc emen a signi ica i amen e la ase i idad en la oma de decisiones de los mismos. En el capí ulo a con inuación se p esen a una b e e desc ipción del con ex o manejado pa a es a in es igación incluyendo algunos abajos elacionados. En el capí ulo 3, se lle a a cabo un análisis de allado de las necesidades que se deben ene en cuen a pa a llega a cons ui una solución exi osa. En los dos capí ulos siguien es se lle a a cabo la explicación y aplicación de la p opues a p esen ada, y inalmen e se cie a en los úl imos capí ulos con los esul ados ob enidos y las conclusiones a esal a . 1.1. Plan eamien o del p oblema Pa a palia las ca encias exis en es de los sis emas au o-adap a i os ac uales pa a inclui la in e acción con el humano, se plan ea abo da es di e en es pun os de is a. A ni el de equisi os de in e acción se equie e iden i ica cómo y en qué si uaciones se puede pa icipa , el g ado de a ención que se eque i á po pa e del usua io, y el g ado de moles ia que és e es capaz de sopo a . La idea es que la pa icipación de los usua ios si a pa a mejo a la adap abilidad y au onomía del sis ema, pa icipando en la oma de decisiones, pe o siemp e consiguiendo un equilib io en e el compo amien o au ónomo y la pa icipación del usua io. A ni el de diseño se p e ende diseña los sis emas pa a y po los usua ios, que sean ans- pa en es y en endibles, y especi ica écnicas de in e acción donde el compo amien o au ó- nomo del sis ema se in e cala con inpu humano. En es e sen ido se plan ea cómo diseña las in e acciones pa a que los humanos sean capaces de en ende qué es á pasando en el sis ema y puedan p e e los compo amien os u u os, pa a que an e posibles allos se les no i ique a los humanos de la mane a más adecuada y sean capaces de soluciona lo, y pa a mejo a la expe iencia del usua io en gene al p opo cionando sis emas segu os, usables y iables. 1.2 Obje i os 3 Po úl imo, a ni el de ejecución, se p e ende in oduci al usua io en el bucle de adap ación y pode lle a a cabo una oma de decisiones colabo a i a en los casos donde se necesi e. Pa a in oluc a al usua io en el p oceso de adap ación se debe á il a y p esen a la in o mación adecuada, así como u iliza los mecanismos de in e acción más a ines a la si uación pa a con- segui una in e acción ácil y e ec i a y la acep ación de los sis emas po pa e de los usua ios. Se deben in es iga cómo las capacidades de los humanos y los sis emas se pueden combina de mane a óp ima pa a lle a a cabo el p oceso de oma de decisiones. En es e sen ido, se p e enden p opo ciona écnicas pa a in oduci al usua io en el bucle de adap ación y pode lle a a cabo una oma de decisiones colabo a i a en los casos donde se necesi e. Pa a la in e acción con el usua io se de inen unos pa ones de in e acción en e el sis ema y el usua io que engan en cuen a las capacidades de a ención de los humanos y el con ex o en el que se encuen en pa a p opo ciona le la in o mación adecuada y consegui una oma de de- cisiones consis en e. Analizando el compo amien o de los usua ios y su eedback (explíci o o implíci o) ayuda a mejo a las adap aciones del sis ema y consegui sis emas más “ esilien es” al compo amien o imp edecible de los humanos. De es a mane a los usua ios pueden “ o ma pa e del bucle” ga an izando su con ianza con el sis ema. Es así como se equie e de una en idad que, po una pa e, se enca gue de de ini y ges iona los nue os compo amien os que puede ene el sis ema a pa i de las in e acciones con el humano, así como ambién es ablece la lógica de ás de la comunicación en e el sis ema y los senso es de con ex o. Además, en su diseño se debe inclui la mane a en que las di e en es en adas posibles de inen un lujo especí ico pa a cada caso y de acue do a cada con ex o. En cuan o a la ejecución, es necesa io p o ee los mecanismos y componen es necesa ios pa a es ablece una comunicación exi osa y cómoda con el humano. Pa a es o, pa ece iable la cons ucción de un amewo k que cumpla a cabalidad con los eque imien os an es mencionados, a la ez que si a como he amien a pa a cualquie campo de aplicación que u ilice un sis ema au o-ges ionable. 1.2. Obje i os 1.2.1. Gene ales C ea un amewo k de so wa e que acili e el desa ollo a los p og amado es de la in eg ación al humano en la oma de decisiones pa a sis emas au o-adap a i os 4In oducción 1.2.2. Especí icos Desc ibi un DSL que pe mi a al p og amado especi ica la pa icipación de los bucles de con ol de sis emas au o-adap a i os den o del amewo k P o o ipa un so wa e que pe mi a con el DSL acili a la in eg ación del humano en los bucles de con ol a los p og amado es C ea un caso de es udio con el cual se pueda alida la u ilidad del amewo k desa o- llado con di e en es casos Capí ulo 2 Con ex o de la Tesina Den o del ma co del desa ollo de es e TFM se acudió al uso de abajos an e io es, con- cep os y ecnologías, los cuales se án p esen adas a con inuación. 2.1. T abajos Relacionados A lo la go de es os úl imos años se ha in es igado en el á ea de los sis emas sensibles al con ex o y los sis emas adap a i os y se ha is o que un p oblema po encial de los sis emas exis en es es que no in oluc an a los usua ios en el p oceso del cambio de polí icas de adap a- ción ni en la azabilidad de dicha adap ación, como indica on Salehie y Tah ilda i [26]. Es o puede lle a a que los usua ios descon íen de es os sis emas, que hagan un mal uso de ellos, o que los abandonen po comple o [22]. Pa a palia es e p oblema, Bello i y Edwa ds decla- a on que los sis emas sensibles al con ex o debían se in eligibles, es deci «se capaces de ep esen a a sus usua ios lo que saben, cómo lo saben, y lo que es án haciendo al espec o»[2]. Di e sos au o es han abajado en es a línea pa a ob ene la mejo mane a de p opo ciona le al usua io explicaciones de lo que es á pasando en el sis ema con el obje i o de aumen a la con ianza del usua io [5,7]. Además, se ha comp obado que el ipo de explicación in luye en el ni el de con ianza y comp ensión po pa e de los usua ios [20]. Sin emba go, la mayo ía de soluciones no inco po an al usua io en el bucle de con ol pa a el cambio de polí icas de adap ación o p ocesos de azabilidad de la adap ación [26]. Ba khuss y Dey [1] examina on el g ado de au onomía que las aplicaciones sensibles al con ex o debe ían ene desde el pun o de is a de los usua ios. De inie on es ni eles de in e ac i idad: 1. Pe sonalización: aplicaciones que pe mi en al usua io especi ica el compo amien o de la aplicación en una si uación dada 6Con ex o de la Tesina 2. Conciencia del con ex o pasi a (aplicaciones que p esen an el con ex o ac ualizado al usua io y le pe mi en a es e decidi cómo cambia el compo amien o de la aplicación 3. Conciencia del con ex o ac i a (el sis ema cambia de o ma au ónoma el compo amien- o de la aplicación en base a la in o mación de con ex o pe cibido) De es e es udio obse a on que los usua ios p e ie en sis emas sensibles al con ex o sob e la pe sonalización, pe o al mismo iempo con es os sis ema expe imen a on una al a de con- ol. Po an o señala on la necesidad de ges iona un equilib io adecuado en e el con ol del usua io y la au onomía del sis ema en iempo de ejecución. Va ios au o es ambién han des acado la impo ancia de la in luencia del usua io en los sis emas au o adap a i os poniendo én asis en la necesidad de dis ingui los dis in os oles en e el usua io y el sis ema [4,26,34]. Shin [30] p esen ó una p opues a de esolución de con lic os combinando la esolución au omá ica con la esolución di igida po el usua io de acue do a sus p e e encias. Es a solución solo conside a dos ipos de pa icipación: au omá ica y manual. Recien emen e, Do n y Taylo [6] in oduje on un amewo k pa a azona ace ca de los e ec os de los cambios a ni el de so wa e en las in e acciones de los usua ios y ice e sa. Es e en oque se cen a en una opología de colabo ación capaz de o ece un p oceso de adap- ación colabo a i o pa a pe mi i adap aciones mas so is icadas, sin emba go no in oduce al usua io explíci amen e en el p oceso de adap ación y no iene en cuen a los dis in os oles del usua io. E e s [8] p opo cionó una solución pa a ene en cuen a al usua io en in e aces au o adap a i as de acue do a sus p ác icas de in e acción. Sin emba go, las soluciones exis en es solo a an con ipos de pa icipaciones de usua io aisladas, y no conside an odo el ango de oles y ipos de pa icipación que el usua io pueda ene . Po o a pa e, Cáma a, Mo eno y Ga lanx [3] p opo ciona on una ex ensión del amewo k Rainbow pa a azona ace ca de la in eg ación del usua io en la au o-adap ación. Sin emba go se cen an solo en el ol de usua- io como ejecu o de adap aciones. Además pocas soluciones ienen en cuen a al usua io en ases pos e io es al diseño del sis ema pa a pode cambia su compo amien o o e oluciona lo dinámicamen e en iempo de ejecución. 2.2. Concep os Gene ales 2.2.1. Compu ación Au ónoma La Compu ación Au ónoma su gió como una p opues a de IBM [10,15] an e la necesidad de encon a un mecanismo pa a los sis ema de so wa e que p o ea un compo amien o simi- la al del sis ema ne ioso humano, es deci , con capacidad de au o-ges iona se o epa a se sin 2.2 Concep os Gene ales 7 necesidad de una in e ención ex e na. Es o e iden emen e añadi ía un nue o ni el de com- plejidad al sis ema y sus usua ios, aunque pod ía in eg a se a su in aes uc u a de al mane a que se au oma ice. En e los bene icios de los sis emas de Compu ación Au ónoma se encuen an la simpli i- cación de a eas del adminis ado humano, una mayo disponibilidad y una disminución en los cos os. Algunos ejemplos de aplicación de es os sis emas se encuen an en la ges ión de bases de da os, educiendo la complejidad y el cos e, y pa a balanceo de ca gas en Sis emas de In o mación. En un sis ema au ónomo (au o-ges ionable), el humano iene un nue o ol: en ez de con- ola el sis ema di ec amen e, és e de ine las polí icas gene ales y las eglas que guían el p oceso de au o-adap abilidad. Un sis ema de Compu ación Au ónoma comp ende cua o ca ac e ís icas «sel » [24]: 1. Sel -con igu a ion: Con igu ación au omá ica de los componen es 2. Sel -healing: Descub imien o au omá ico y co ección de allas 3. Sel -op imiza ion: Moni o eo y con ol au omá ico de los ecu sos pa a ga an iza un óp imo uncionamien o con espec o a los eque imien os de inidos 4. Sel -p o ec ion: Iden i icación y p o ección p oac i a en e a a aques a bi a ios Hay una e sión ex endida de es a de inición p opues a po o os au o es Nami y Be els [23] hacia lo siguien e: 1. Sel - egula ion: Un sis ema que ope a pa a man ene un pa áme o (ej: QoS) 2. Sel -lea ning: El sis ema u iliza écnicas de ap endizaje que no equie an de con ol ex e no 3. Sel -awa eness: El sis ema debe conoce se a sí mismo, de sus componen es in e nos y enlaces ex e nos pa a pode con ola los y adminis a los 4. Sel -o ganiza ion: La es uc u a del sis ema guiada po modelos ísicos sin p esión ex- plíci a o in e acción con el mundo ex e io 5. Sel -c ea ion: La es uc u a del sis ema es guiado po modelos ecológicos y sociales, sin p esión ni in e acción con el mundo ex e io 6. Sel -managemen : Un sis ema que se au o ges iona sin in e ención ex e na. Lo que se es á adminis ando depende del sis ema y la aplicación 8Con ex o de la Tesina 7. Sel -desc ip ion: Un sis ema se explica a sí mismo. Es capaz de se en endido po hu- manos sin ene una explicación a ondo De acue do a IBM, son ocho las condiciones que de inen un sis ema au ónomo: 1. Conoce se en é minos de a qué ecu sos iene acceso, cuáles son sus capacidades y limi aciones y cómo y po qué es á conec ado a o os sis emas 2. Se capaz de con igu a se au omá icamen e y econ igu a se a sí mismo dependiendo del en o no compu acional cambian e 3. Se capaz de op imiza su desempeño pa a ga an iza la mejo e iciencia pa a el p oceso compu acional 4. Se capaz de encon a soluciones al e nas a p oblemas iden i icados ya sea epa ándose a sí mismo o delegando unciones lejos del p oblema 5. De ec a , iden i ica y p o ege se en con a de a ios ipos de a aques pa a man ene la segu idad e in eg idad del sis ema comple o 6. El sis ema debe se capaz de adap a se a su en o no en la medida que a cambiando, in e ac uando con sus sis emas ecinos y es ableciendo p o ocolos de comunicaciones 7. Basa se en es ánda es abie os y no exis i en un en o no p opie a io 8. An icipa se a la demanda en sus ecu sos siendo anspa en e a sus usua ios IBM ambién de inió los cinco ni eles de e olución pa a los sis emas au ónomos a a és del modelo de deploymen au ónomo1: El p ime ni el es el básico que p esen a la si uación ac ual donde básicamen e los sis- emas son manejados de mane a manual, Los ni eles 2 a 4 in oducen unciones adminis a i as au omá icas inc emen almen e El ni el 5 ep esen a el obje i o máximo de los sis emas au ónomos au o-ges ionables 1h p://www.ibm.com/p ess/us/en/p ess elease/464.wss 2.2 Concep os Gene ales 9 2.2.2. Sis emas Au o-adap a i os Los sis emas de so wa e au o-adap a i os son sis emas capaces de adap a su compo a- mien o o es uc u a en iempo eal. Los sis emas au o-ges ionables, po su pa e, son ins ancias de sis emas de so wa e au o-adap a i os que se adap an en e ellos de acue do a obje i os ad- minis a i os. La au o-adap abilidad puede se es á ica o dinámica. En la au o-adap ación es á ica, los mecanismos de adap ación son de inidos explíci amen e po los diseñado es pa a que el sis e- ma sepa cuál de es os elegi du an e su ejecución, mien as que en la au o-adap ación dinámi- ca, deben se p oducidos planes de adap ación y eque imien os de moni o eo, elegidos po el sis ema en iempo eal. Tal como se mencionó an e io men e en es e documen o, IBM in odujo la no ación de componen e au ónomo como un elemen o esencial pa a los sis emas au o-ges ionables, de- inido con la o ma de un loop MAPE (moni o iza -analiza -planea -ejecu a ). Es e loop es el bloque básico pa a sopo a la au o-adap ación en cuan o al con ol y adminis ación de un elemen o compu acional. En la p ime a ase de es e loop, de moni o ización, los moni o es ob ienen y p ocesan la in o mación de con ex o del en o no que es ele an e pa a el p oceso de adap ación. Es a in o mación moni o izada es en iada a la segunda ase, de análisis, donde los analizado es co elacionan la in o mación de con ex o pa a in e i sín omas sob e el en o no de ejecución y el compo amien o del sis ema. En la e ce a ase, de planeación, los planne s u ilizan sín omas ya analizados pa a de ini los planes de adap ación co espondien es. En la úl ima ase del loop, de ejecución, los ejecu o es implemen an y ejecu an planes pa a adap a el sis ema ac ual y ob ene el compo amien o deseado. La ase de moni o eo con inuamen e e-alimen a el loop de adap ación, einiciando el ciclo. Un sis ema adap a i o puede se un conjun o de loops de eedback colabo a i os que ga- an izan el cumplimen o de los obje i os del sis ema. En es e o den de ideas, un sis ema au o- adap a i o es á diseñado como una colección de colabo ado es de manejado es de con ol de obje i os, loops de con ol adap a i os, y loops de con ol de manejado es de con ex o pa a con ola el p oceso de adap ación [33]. 2.2.3. Componen Un componen e de so wa e es un elemen o de un sis ema que o ece un se icio p ede i- nidos y es capaz de comunica se con o os componen es. Una de inición mas sencilla puede se «Un componen e es un obje o esc i o de acue do a unas especi icaciones». La capacidad de se eu ilizado es una ca ac e ís ica impo an e en los componen es de so wa e. Debe se diseñado e implemen ado de al o ma que pueda se eu ilizado en muchos 10 Con ex o de la Tesina p og amas di e en es. La p og amación o ien ada a componen es es una ama de la ingenie ía de so wa e con én asis en la descomposición de sis emas ya con o mados en componen es uncionales con in e aces bien de inidas pa a la comunicación en e componen es. Se conside a que el ni el de abs acción de los componen es es más al o que el de los obje os y po lo an o no compa en un es ado y se comunican in e cambiando mensajes que con ienen da os. 2.2.4. So wa e F amewo k Un amewo k es una pla a o ma pa a el desa ollo de aplicaciones de so wa e. La cual p opo ciona una base sob e la que los desa ollado es de so wa e pueden c ea p og amas pa a una pla a o ma especí ica. Den o de las esponsabilidades de un amewo k es án: Hace que sea más ácil abaja con ecnologías complejas Ag upa obje os disc e os y componen es en algo más ú il Obliga al equipo que implemen a código de una mane a que p omue a la codi icación cohe en e, menos e o es, y las aplicaciones más lexibles Todo el mundo puede p oba ácilmen e y depu a el código, incluso el código que no esc ibe 2.3. Tecnologías in oluc adas 2.3.1. Py hon Py hon es un lenguaje de p og amación de al o ni el, de p opósi o gene al, in e p e ado y dinámico. C eado po Guido an Rossum, a inales de 1980. Py hon es un lenguaje mul ipla- a o ma, o ien ado a obje os y de p og amación uncional. La iloso ía de Py hon se esume po el documen o «The Zen o Py hon» (PEP 20)2como: He moso es mejo que eo Explíci o es mejo que implíci o Simple es mejo que complejo 2h ps://www.py hon.o g/de /peps/pep-0020/ 3.3 F amewo k pa a la inclusión del humano en bucles de adap ación 17 3.3. F amewo k pa a la inclusión del humano en bucles de adap ación Pa a inicia a de alla la solución p opues a, se e isa a el compo amien o a a ez de lujos que se deben ene en cuen a pa a una pa icipación de un usua io den o de un bucle de adap abilidad, a pa i de cada uno de los ellos se inclui án en idades las cuales se p oponen pa a maneja las in e acciones in e nas. A su es se desc ibi á en gene al su compo amien o en una o ma gene al, pa a llega luego a pos e io i da un de alle mas écnico. Figu a 3.2: P oceso denegado de pa icipación En la igu a 3.2 se mues a como debe eacciona el amewo k an e una solici ud de pa i- cipación la cual puede no es a de inida o no cumpli con las condiciones de con ex o especi i- cadas. Es e ipo de espues as da á una e oalimen ación inmedia a al sis ema pa a que pueda oma acciones, debido a que no es posible que el usua io ome pa icipación del p oceso. Es impo an e no a que en p ime a ins ancia enma ca emos como p oceso global al componen e amewo k el cual encapsula a los lujos in e nos. A con inuación se e isa á el lujo en caso de que una solici ud de pa icipación sea exi osa, al igual que la igu a 3.2 se encapsula á el lujo a a és de el componen e amewo k. Figu a 3.3: P oceso sa is ac o io de pa icipación 18 Análisis de la pa icipación del humano en bucles de au onomía Al igual que la igu a 3.2, la igu a 3.3 esponde inmedia amen e dando una e oalimen- ación al p oceso de solici ud de pa icipación (en es e caso una espues a sa is ac o ia) dando po e minada la solici ud al sis ema. En un segunda ins ancia e o na á la espues a de la in- e acción con el se humano. Dicha in e acción se ealiza en un segundo plano po lo cual se a a de un p oceso en pa alelo, el cual llega á en un u u o ce cano al sis ema. En gene al, oda solici ud gene ada po cualquie sis ema gene a una e oalimen ación con la cual pue- de oma una decisión inmedia a. Po es a azón, a con inuación se desglosa á las solici udes in e nas después de ejecu a la solici udes de pa icipación an e io men e expues as. Figu a 3.4: Pa icipación allida po con igu ación Basado en el lujo de la igu a 3.2, la igu a 3.4 desc ibe una pa icipación allida del sis ema debido a que los da os de pa icipación no coinciden con los que se ha desc i o en el DSL el cual maneja la con igu ación. En es e caso, den o del amewo k se in oduce es nue os componen es: «API» enca gado se se el pun o de comunicación con el sis ema, «Con ol» enca gado de ges iona la pa icipación solici ada y 3.3 F amewo k pa a la inclusión del humano en bucles de adap ación 19 «Con ig» enca gado de alida los da os de en ada con la con igu ación desc i a po el p og amado . Figu a 3.5: Pa icipación allida po con ex o El lujo de la igu a 3.5 ex iende a las igu as 3.2 y3.4, y ag ega el componen e «Con- ex », el cual se enca ga de la alidación de con ex o con el usua io. Es o pe mi e e isa si la pa icipación solici ada po el sis ema encaja con el con ex o en el que se encuen a el usua- io. En es e caso, la alidación de la pa icipación con la con igu ación es empa ejada con la con igu ación ac ual, pe o el con ex o del usua io en ese momen o no es su icien e pa a que el amewo k pueda ejecu a una pa icipación solici ada. A con inuación se explo a á el caso en que la pa icipación que solici ó el sis ema es ap o- bada an o po «Con ig» como po «Con ex »: 20 Análisis de la pa icipación del humano en bucles de au onomía Figu a 3.6: Pa icipación sa is ac o ia sin eedback En la igu a 3.6 el modelo ag ega al componen e «Box» el cual se enca ga de comunica se con el usua io pa a comenza la in e acción. En es e lujo, «Box» ecibe la solici ud y no i ica que la comunicación hacia el «Con ol» ha sido iniciada, y a su ez es e no i ica al sis ema que se inicio un p oceso de in e acción. En es e pun o, la comunicación iniciada po el sis ema es e minada, pe o en segunda ins ancia queda a espe a de la espues a del usua io, debido a que es un lujo un poco mas complejo. A con inuación se de alla á más a ondo el p oceso in e no de «Box» luego después de ecibi la solici ud po pa e de «Con ol» de inicia la in e acción. 3.3 F amewo k pa a la inclusión del humano en bucles de adap ación 21 Figu a 3.7: In e acción de la pa icipación y e oalimen ación al sis ema Como se obse a en la igu a 3.7 se mues a el lujo den o de «Box», la cual en una p ime a ins ancia como lo mues a la igu a 3.6 e o na una espues a al sis ema no i icando una iniciación de la in e acción. En la igu a 3.7 se ob ia el lujo expues o y se mues a el lujo que se ealiza en segundo plano y el cual se cen a con la comunicación con el usua io. Es a comunicación se ealiza a a és de «Componen s» enca gado de la in e acción di ec a con el usua io. Al se inalizada la in e acción, una nue a in e acción «Feedback» es con ocada con la esponsabilidad de da a conoce al sis ema la espues a del humano. Lamen ablemen e, no podemos p edeci cuan o iempo le oma a a el usua io ac ua en e a una pa icipación, puede que la espues a sea muy a de o nunca halla una, y desa o unada- men e puede que sea demasiado a de pa a que el sis ema p ocese la in o mación. Dado es e caso se p opone que el sis ema al inicia la solici ud de pa icipación al amewo k en íe el iempo máximo el cual el sis ema puede espe a una po e oalimen ación, es o con el in de p e eni en ió de mensajes los cuales no sean de u ilidad pa a el sis ema y pa a p o ege al 22 Análisis de la pa icipación del humano en bucles de au onomía mismo amewo k de ene una pa icipación en ejecución con el usua io inde inidamen e. Capí ulo 4 Diseño del F amewo k de Adap ación En el capí ulo an e io se ha p opues o un amewo k concep ual pa a abo da la inclusión del humano en en bucles de adap ación. En es e capí ulo se ealiza á el diseño de es e ame- wo k, iden i icando los componen es p incipales y sus dependencias, así como una p opues a a qui ec ónica. Es o con el in de da solución a la p oblemá ica plan eada en la sección 1.1, y c ea un amewo k de desa ollo que pe mi a a los desa ollado es in eg a las aplicaciones ac ualmen e exis en es, así como las p óximas po c ea se. 4.1. Diag ama de componen es A pa i de los lujos de compo amien o abo dados an e io men e la igu a 4.1 mues a cada uno de los componen es in e ac úando en e si. Figu a 4.1: Diag ama de componen es 24 Diseño del F amewo k de Adap ación 4.2. A qui ec u a del amewo k A pa i del lujo de compo amien o a ado an e io men e y los componen es ex aídos, se conno a la apa ición de dis in os módulos de so wa e los cuales oman un ol undamen al den o del amewo k. Po lo an o, se plan ea la siguien e a qui ec u a pa a da solución al p oblema : Figu a 4.2: Solución p opues a De o ma global se plan ea dos componen es p incipales: «Co e» como componen e p incipal enca gado de sos ene en ejecución cada uno de los componen es del amewo k «F amewo k» como un conjun o de he amien as de pa a los diseñado es de sis emas que in eg en al usua io den o del bucle de adap ación. A con inuación se explo a a «F amewo k» en la igu a 4.3 de mane a mas especi ica. Figu a 4.3: F amewo k 4.2 A qui ec u a del amewo k 25 Cada uno de los componen es de la igu a 4.3 se comunican con sus ecinos di ec os, los cuales a su ez siguen el lujo plan eado al inicio del capí ulo, y en caso de una espues a sa is ac o ia se inicia un p oceso al e no den o del componen e «Box» el cual se desc ibe en igu a 4.4. Figu a 4.4: In e acción humano - sis ema A pa i del concep o de solución p opues o an e io men e, se abo da á cada uno de los componen es plan eados a con inuación. 4.2.1. Co e Es e componen e nace an e la necesidad de comunica se con el sis ema ope a i o y la co- municación de cada uno de los componen es de «F amewo k», po lo cual es el enca gado de c ea y man ene los mensajes que conec an los p ocesos del amewo k. Como se mues a en la igu a 4.2, el «Co e» unciona de base pa a odo el amewo k, azón po la cual es el componen e mas impo an e, pues o a que al se inicializado, inicializa los demás componen- es, delega los mensajes y pe mi e man ene disponible al amewo k pa a que los sis emas ex e nos se comuniquen con el amewo k. 4.2.2. API Es la in e az de comunicación con el sis ema au o-adap a i o y es la enca gada de: Recibi solici udes de pa icipación los sis emas Valida en p ime a ins ancia la in o mación ecibida En ia la solici ud a «Con ol» pa a su e aluación 26 Diseño del F amewo k de Adap ación Da una espues a al sis ema de si la pa icipación es posible o no La «API» es un componen e el cual es inicializado po el «Co e» y el cual se comunica di ec a- men e con «Con ol» a a és de mensajes pa a el in e cambio de la solici ud de pa icipación del sis ema, y a su ez «Con ol» en ía la espues a del amewo k «API» dependiendo si la pa icipación es acep ada o no. 4.2.3. Con ol «Con ol» es el modulo p incipal del amewo k, y es el enca gado de maneja la comu- nicación en e la «API» y los módulos de alidación, ya sea la con igu ación «Con ig», o el con ex o del usua io «Con ex ». Dependiendo de la espues a de los p ime os dos, echaza la solici ud de sis ema o la ap ueba. Si es ap obada la pa icipación, se comunica con «Box» pa a inicia la comunicación con el humano. 4.2.4. Con ig Desc ibe el compo amien o el cual ealiza a el amewo k, po lo an o en la iniciali- zación del amewo k el modulo «Con ig» alidada la con igu ación ac ual espec o al DSL especi icado pa a el desa ollo sob e el amewo k. Es a con igu ación es a desc i a po el p og amado que usa el amewo k. 4.2.5. Con ex Es un modulo que se encuen a ejecu ando en segundo plano y gua da las a iables de con ex o del humano en iempo eal, po medio del cual «Con ol» puede accede a es as a iables de o ma pe manen e pa a alida una solici ud de pa icipación solici ada po pa e del sis ema. El p og amado accede a es e modulo pa a que pueda e isa el con ex o del usua io y pueda da le los alo es a las a iables de con ex o que el especi icó en el a chi o de con igu ación. 4.2.6. Box Se enca ga de la in e acción con el humano, ac úa como un elemen o aislado del sis ema con el es o del amewo k e in e acciones ac ualmen e en ejecución, en p ime a ins ancia e- cibe la solici ud de «Con ol» de ejecu a una o a ias pa icipaciones especi icas, la cuales son ejecu adas po «Box» ecibiendo la espues a del humano o no. Pa a esol e uno de los p in- cipales p oblemas el cual es que el humano no ealice ninguna e oalimen ación al sis ema, Capí ulo 5 Implemen ación del F amewo k 5.1. Implemen ación de la solución A a és de los capí ulos an e io es se in odujo los concep os de compo amien o, diseño y a qui ec u a del sis ema. En es e capí ulo se abo da sob e decisiones en é minos de imple- men ación pa a desa olla la a qui ec u a plan eada y los ipos de mensajes en e módulos. 5.1.1. Lenguaje de p og amación Pa a el desa ollo del p o o ipo se eligió Py hon 3 como lenguaje de p og amación debido a las siguien es azones: Sin axis sencilla y legible Mul i-pla a o ma Baja cu a de ap endizaje Conocimien os p e ios y buena opción pa a ápido p o o ipado. 5.1.2. DSL y alidación de la con igu ación Como se menciona en la sub sección 4.2.4 espec o a la in oducción de un DSL, es a alidación se p opone hace se a a és de un Schema, al como se mues a a con inuación: 34 Implemen ación del F amewo k Figu a 5.1: Schema de alidación de con igu ación La igu a 5.1 se basa en [27,28], y ecibe como en ada la con igu ación de los e en os que se án no i icados po el sis ema, así como el ni el de a ención, ipo de pa icipación y con ex o del usua io pa a cada uno de los e en os. 5.2 Aplicaciones sob e el amewo k 35 5.1.3. P ocesos Pa a independiza la ejecución de cada modulo, e i a p oblemas de «bloque mu uo»1y «condición de ca e a»2se u ilizan p ocesos de sis ema ope a i o. 5.1.4. Comunicación en e p ocesos Pa a asegu a se de la comunicación en e p ocesos, eniendo en cuen a lo expues o en la sección 5.1.3, se decidió usa ube ías3de doble sen ido. El p o ocolo de mensaje es simple, se hace uso de un mensaje de en ío de in o mación y uno de espues a a es a in o mación. Cada uno de los módulos que apa ecen con iguos en la igu a 4.3 u ilizan ube ías inde- pendien es pa a p e eni p oblemas de lec u a y esc i u a sob e ellas, y como apa ece en 4.2.1 es «Co e» el enca gado de adminis a las ube ías que son u ilizados po cada uno de los módulos, azón po la cual es a esponsabilidad no es delegada a los módulos. 5.2. Aplicaciones sob e el amewo k Pa a las aplicaciones que in eg en el amewo k, uno de los e os es inicia a in eg a a sus usua ios den o del bucle de sis emas au o-adap a i os, Es así como es e apa ado abo da los componen es mínimos necesa ios a con igu a y mues a una es uc u a básica de o ganización de código que ayuda a c ea ápidamen e una aplicación que in eg a al humano. Figu a 5.2: Es uc u a básica de a chi os de una aplicación Pa a empeza , como se mues a en la igu a 5.2, se p opone la es uc u a básica de a chi os y di ec o ios a con inuación. En p ime a ins ancia «hil-sample-mas e » ep esen a el nomb e del p oyec o, den o de cual se descomponen los siguien e: 1h ps://es.wikipedia.o g/wiki/Bloqueo_mu uo 2h ps://es.wikipedia.o g/wiki/Condición_de_ca e a 3h ps://es.wikipedia.o g/wiki/Tube %C3%ADa_(in o má ica) 36 Implemen ación del F amewo k «Apps» Di ec o io que con iene los componen es que el usua io puede ejecu a «Con ex .py» A chi o que con iene odo el p oceso de censado del con ex o del usua io «Hil.json» A chi o de con igu ación p incipal del p oyec o, en donde se desc ibe el compo amien o del sis ema au o-adap a i o con el amewo k «Main.py» A chi o p incipal del nue o p oyec o de in eg ación del usua io en el que se in eg a an odos los componen es an e io men e desc i os Figu a 5.3: Es uc u a de a chi os de los componen es En la igu a 5.3 se mues a más a ondo cómo o ganiza los componen es po ca pe as, donde cada uno con iene un a chi o «main.py», el cual con iene la lógica p incipal de la pa icipación del usua io con el componen e. Es a es uc u a se p opone como una o ganización básica de p oyec os pa a ayuda a los p og amado es a ene un desa ollo y despliegue de una mane a ápida. 5.2 Aplicaciones sob e el amewo k 37 5.2.1. Main.py Figu a 5.4: Modulo p incipal del sis ema de ejemplo La igu a 5.4 mues a un de a chi o p incipal de un p oyec o ejemplo que es a p og amado con el amewo k pa a comunica se con el usua io. A con inuación se explica a el con enido mas de alladamen e. La an e io imagen mues a una clase básica de Py hon 3 con la di e encia de las lineas: Línea 15: C ea una lis a con clases las cuales son impo adas en las lineas 6, 7, 8, 9 y 10 Línea 16: Gua da la clases de con ex o que se impo a en la linea 5 Línea 19: Ins ancia el «Co e» del amewo k y pasa como pa áme os los componen es y el con ex o u ilizados Línea 20: Inicializa el amewo k pa a comenza a escucha las pe iciones del sis ema En gene al, los pun os an e io men e desc i os se enca gan de p esen a la con igu ación que ecibe el amewo k pe o en ealidad la esponsabilidad de la lógica ecae en los módulos que se exponen en las secciones a con inuación. 5.2.2. Hil.json Es impo an e ap ecia que uno de los equisi os del amewo k es que la aplicación que se p og ame, u ilice un a chi o de con igu ación llamado hil con o ma o json. La azón de es o 38 Implemen ación del F amewo k es que es e a chi o con iene la desc ipción del compo amien o con el sis ema ex e no. En la igu a 5.5 se mues a una con igu ación de ejemplo que se á de allada a con inuación: Figu a 5.5: Compo amien o del sis ema au o-adap a i o con el amewo k El a chi o p incipalmen e es á compues o p incipalmen e po un dicciona io, donde: La lla e es el nomb e del escena io plan eado po el sis ema (en el caso an e io solo se plan ea un escena io llamado «Sound») El alo es una lis a de casos del escena io (en es e caso, de igual mane a, sólo se plan ea uno). Cada caso es á compues o po dos obje os dicciona io: • El p ime o es un dicciona io con lla e «con ex », y con iene las a iables de con- ex o de usua io La lla e es el nomb e de la a iable de con ex o El alo es el que debe ene el con ex o pa a pode ejecu a se en ese escena io. • El segundo es un dicciona io con lla e «a en ion_le els», y con iene un dicciona- io con di e en es ni eles de a ención: La lla e es el ni el de a ención 5.2 Aplicaciones sob e el amewo k 39 El alo es un dicciona io de los oles, y se componen de es a o ma: ⇧La lla e es el nomb e del ol el que se a a pa icipa ⇧El alo es un lis ado de componen es a ejecu a 5.2.3. Con ex .py Cada p oyec o debe implemen a un con ex o. El amewo k p o ee una implemen ación que puede se u ilizado po cualquie p oyec o pa a su comunicación y pa a pe mi i gua da el con ex o ac ual del usua io del sis ema. Figu a 5.6: Modulo de con ex o de ejemplo En la igu a 5.6 cabe ap ecia dos cosas de al a impo ancia: La línea 5 u iliza el módulo «Con ex » que es impo ado del amewo k en la línea 3, y es u ilizado como he encia de la clase implemen ada po la aplicación La línea 6, implemen a un mé odo de clase llamado « un» (que es á po de ec o) y es e debe se u ilizado po odo con ex o que haga uso del amewo k. Den o de es e mé odo se pueden asigna las a iables de con ex o de usua io Es, po an o, decisión del p og amado que u ilice el amewo k implemen a la lógica de ob- se ación de las a iables de con ex o de usua io. Po de ec o, el amewo k c ea las a iables de con ex o especi icadas en el a chi o de con igu ación. Como se mues a en la igu a 5.5 en las lineas 5, 6 y 7, las lla es especi icadas son aquellas que el amewo k pe mi e que sean asignadas. 40 Implemen ación del F amewo k 5.2.4. Componen .py Al igual que la obse ación del con ex o, oda aplicación p og amada con el amewo k, pa a que pueda implemen a un componen e, debe u iliza el módulo de inido po el ame- wo k. Figu a 5.7: Componen e ejemplo p og amado con el amewo k La igu a 5.7 implemen a la he encia del módulo «Componen » del amewo k impo ado en la línea 3, y u ilizado como he encia en la línea 5. Cada nue o componen e implemen a el mé odo « un», el cual ecibe: el id del amewo k, la pa icipación con la cual se solici ó, y el ol del usua io. Se deja a decisión del p og amado la lógica in e na de in e acción con el usua io. El único equisi o del sis ema es que al inal del p oceso, se e o ne la espues a del usua io en el mé odo « un», al como apa ece en la imagen an e io men e mencionada, en la que se e o na «Sound» como espues a. 5.2.5. Ejecución Pa a comenza a in e ac ua con cualquie aplicación p og amada con el amewo k, es necesa io únicamen e ejecu a el a chi o p incipal en el e minal con el comando que mues a el algo i mo 5.1. Algo i mo 5.1 Ejecución del amewo k $ py hon main.py Pa a ealiza p uebas necesa ias pa a comp oba el uncionamien o del amewo k, es po- sible ejecu a el siguien e comando a a és en el e minal. Algo i mo 5.2 Solici ud ejemplo ealizada con el amewo k $ cu l -i -X POST --heade "Accep :applica ion/json" h p://localhos :8000 -d ’pa icipa ion=d i e-s ong- ain& ole=senso &callback=h p://0.0.0.0:3000& imeou =100’ 5.2 Aplicaciones sob e el amewo k 41 El algo i mo 5.2 hace uso del so wa e cu l pa a en ia una solici ud a la aplicación p o- g amada. Pa a especi ica los di e en es ipos de casos solo es necesa io cambia alo es de los pa áme os como: pa icipa ion, ole, callback y imeou . 6.3 Escena ios p opues os 49 6.3.4.1. Escena io Rol del usua io Con ex o T ansiciones en ipos de pa icipación Senso 1. Mi ada Usua io = Hacia Adelan e 1. P oac i o / Lige amen e no able 2. Reac i o / Lige amen e no able 1. Mi ada Usua io= No Hacia Adelan e 1. P oac i o / P ime plano 2. Reac i o / Lige amen e no able Cuad o 6.5: P oblema de econoce las señales de un policía 6.3.4.2. Con igu ación en el amewo k Figu a 6.4: Con igu ación en el amewo k de el escena io «Di icul ad en econoce señales de un policía» 50 Caso de Es udio 6.3.5. Di icul ad en ges iona semá o os o os El coche le indica al usua io que no puede decidi sob e cuando pasa , y el usua io puede indica una opo unidad pa a pasa . 6.3.5.1. Escena io Rol del usua io Con ex o T ansiciones en ipos de pa icipación Tomado de decisiones 1. Capacidad Usua io = Conduc o 2. Es ado Usua io = A en o 1. P oac i o / Lige amen e no able 2. Reac i o / Lige amen e no able Cuad o 6.6: P oblema a ando de ges iona semá o os o os 6.3.5.2. Con igu ación en el amewo k Figu a 6.5: Con igu ación en el amewo k de el escena io «Di icul ad en ges iona semá o os o os» Capí ulo 7 Resul ados En esumen, en el p esen e documen o se plan ean dos esul ados angibles: el p ime o es un p o o ipo de amewo k pa a in eg a al humano den o de la oma de desiciones, y el segundo un caso de es udio que si e como guía pa a pe mi i la in eg ación de so wa e ya exis en e o p óximo a desa olla se. 7.1. F amewo k Pa a es e p o o ipo se decidió asigna le el nomb e de «HIL», que en inglés quie e deci «Human In he Loop». El código uen e de es e amewo k se puede encon a en h ps://gi hub.com/ ioz/hil. 7.2. Caso de es udio Como caso de es udio y guía de u ilización se c eó un p oyec o al e no el cual ap o echa odas las en ajas del amewo k. Dicho p oyec o se puede encon a en h ps://gi hub.com/ ioz/hil- sample. Capí ulo 8 Conclusiones Después de ealiza es e p oyec o se concluye lo siguien e: La in eg ación del usua io en el p oceso de un bucle de adap ación p o ee al sis ema au o-adap a i o más in o mación del con ex o, y pe mi e que és e enga mayo e icacia a la ho a de oma de decisiones Desa o unadamen e, no sucede que en odos los casos el usua io p oduce una e o- alimen ación lo su icien emen e opo una con la cual el sis ema pueda inclui la en la oma de una decisión. Po consiguien e, se iden i ica la necesidad de que el sis ema au o-adap a i o in o me al amewo k el iempo máximo de espe a a una solici ud Como esul ado se p esen a un amewo k que incluye al humano en la oma de decisio- nes en sis emas au o-adap a i os, eniendo en cuen a un iempo máximo de espe a pa a su espues a. Re e encias [1] L. Ba khuus and A. Dey. Is con ex -awa e compu ing aking con ol away om he use ? h ee le els o in e ac i i y examined. 2003. [2] V. Bello i and K. Edwa ds. In elligibili y and accoun abili y: Human conside a ions in con ex -awa e sys ems,. Human-Compu e In e ac ion 16, pages 193,212, 2009. [3] Ja ie Cáma a, Gab iel A. Mo eno, and Da id Ga lanx. Reasoning abou human pa - icipa ion in sel -adap i e sys ems. In IEEE P ess, edi o , In P oceedings o he 10 h In e na ional Symposium on So wa e Enginee ing o Adap i e and Sel -Managing Sys- ems (SEAMS ’15)., pages 146,156, 2015. [4] B.H.C. Cheng. So wa e enginee ing o sel -adap i e sys ems: A esea ch oadmap. Sp inge LNCS, pp, pages 1–26, 2009. [5] K. Che e s . Explo ing issues o use model anspa ency and p oac i e beha io in an o ice en i onmen con ol sys em. UMUAI 05,, 15(3-4),:235,273, 2005. [6] C. Do n and R. N. Taylo . Coupling so wa e a chi ec u e and human a chi ec u e o collabo a ion-awa e sys em adap a ion. in d. no kin, b. h. c. cheng, and k. pohl, edi o s, 35 h in e na ional con e ence on so wa e enginee ing, icse ’13, san ancisco, ca, usa, may 18-26, 2013. IEEE / ACM, pages 53–62, 2013. [7] M. Dzindole . The ole o us in au oma ion eliance. In e na ional Jou nal o Human- Compu e S udies 58, pages 697,718, 2003. [8] C. E e s, R. Kniewel, K. Geihs, and L. Schmid . The use in he loop: Enabling use pa icipa ion o sel -adap i e applica ions. Fu u e Gene a ion Compu e Sys ems, 34: 110,123, 2014. [9] Ma in Fowle and Rebecca Pa sons. Domain-Speci ic Languages. Addison-Wesley Signa u e Se ies, 2010. 56 Re e encias [10] A.G. Ganek and T.A. Co bi. The dawning o he au onomic compu ing e a. IBM Sys em Jou nal, 42(1):5–19, 2003. [11] D. Ga lan. A 10-yea pe spec i e on so wa e enginee ing sel -adap i e sys ems. SEAMS, 2013. [12] W. Gibbs. Conside a e compu ing. Scien i ic Ame ican, 292(54, 61), 2005. [13] Mi iam Gil, Vicen e Pelechano, Joan Fon, and Manoli Albe . Designing he human in he loop o sel -adap i e sys ems. UCAmI, 2016. [14] Mi iam Gil, Vicen e Pelechano, Joan Fons, and Manoli Albe . In oluc ando al humano en el bucle de con ol de sis emas au o-adap a i os. XXI Jo nadas de Ingenie ía del So wa e y Bases de Da os (JISBD), 2016. [15] P. Ho n. Au onomic compu ing: Ibm’s pe spec i e on he s a e o in o ma ion echno- logy. Technical epo , IBM Co po a ion, Oc obe 2001. [16] IBM. An a chi ec u al bluep in o au onomic compu ing. URL h p://www-03.ibm. com/au onomic/pd s/AC%20Bluep in %20Whi e%20Pape %20V7.pd . [17] IBM. P ac ical guide o he e o he ibm au onomic compu ing oolki , Ap il 2004. URL h ps://www. edbooks.ibm.com/ edbooks/pd s/sg246635.pd . [18] J. Kepha and D. Chess. The ision o au onomic compu ing. Compu e , 36:41–50, 2003. [19] S. Ligh s one. Se en so wa e enginee ing p inciples o au onomic compu ing de elop- men . Inno a ions in Sys ems and So wa e Enginee ing 3, pages 71,74, 2007. [20] B.Y. Lim and A.K. Dey. Assessing demand o in elligibili y in con ex -awa e applica- ions. Ubicomp 09, pages 195,204, 2009. [21] John Ma ko , 01 2016. URL h p://www.ny imes.com/2016/01/18/ echnology/ d i e less-ca s-limi s-include-human-na u e.h ml. [22] B.M. Mui . T us in au oma ion: Pa i. heo e ical issues in he s udy o us and human in e en ion in au oma ed sys ems, e gonomics. [23] M.R. Nami and K. Be els. A su ey o au onomic compu ing sys ems. pages 26–30, 2007. Re e encias 57 [24] S e an Poslad. Au onomous sys ems and a i icial li e. Wiley. pp., ISBN 978-0-470- 03560-3:317–341, 2009. [25] D.M. Russell, P. Maglio, R. Do dick, and C Ne i. Dealing wi h ghos s: Managing he use expe ience o au onomic compu ing. IBM Sys, 42:177–188, 2003. [26] M. Salehie and L. Tah ilda i. Sel -adap i e so wa e: Landscape and esea ch challen- ges. T ansac ions on Au onomous and Adap i e Sys ems 4, pages 1,42, 2009. [27] JSON Schema. Co e de ini ions and e minology, . URL h p://json-schema.o g/la es / json-schema-co e.h ml. [28] JSON Schema. In e ac i e and non in e ac i e alida ion, . URL h p://json-schema.o g/ la es /json-schema- alida ion.h ml. [29] Si aj Ahmed Shaikh and Padmanabhan K ishnan. A amewo k o analysing d i e in- e ac ions wi h semi-au onomous ehicles. Elec onic P oceedings in Theo e ical Com- pu e Science (EPTCS), 105(85,99). [30] C. Shin, A.K. Dey, and W. Woo. Mixed-ini ia i e con lic esolu ion o con ex -awa e applica ions. ACM Reques Pe missions, New Yo k, New Yo k, USA, UbiComp ’08: P o- ceedings o he 10 h in e na ional con e ence on Ubiqui ous compu ing:262, 2008. [31] M. Söllne , A. Ho mann, H. Ho mann, and J.M. Leimeis e . Towa ds a heo y o ex- plana ion and p edic ion o he o ma ion o us in i a i ac s. 10 h Annual Wo kshop on HCI Resea ch in MIS, Shanghai, China, pages 1–6, 2011. [32] S. S ump , M. Bu ne , V. Pipek, and W.K. Wong. End-use in e ac ions wi h in elligen and au onomous sys ems. in: J. a. kons an, e. h. chi k. höök (eds.), chi ’12 ex ended abs ac s on human ac o s in compu ing sys ems. ACM. ISBN 978-1-4503-1016-1, pages 2755–2758, 2012. [33] N. Villegas, H.A. Mülle , and G. Tamu a. On designing sel -adap i e so wa e sys ems. Re is a ST, 9(18):29–51, 2011. [34] Xiaohui Zhang. A use ’s pe spec i e o design o con ex -awa eness. olume In P o- ceedings o he 13 h in e na ional con e ence on Ubiqui ous compu ing, pages 531,534. UbiComp ’11, 2011.