scieee Science in your language
[Es] (orig)

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

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.

Read accessible full text

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

Author: Sabogal Ocampo, Fabián Andrés
Publisher: Universitat Politècnica de València
Year: 2017
Source: https://riunet.upv.es/bitstream/10251/76838/3/SABOGAL%20-%20Involucrando%20al%20humano%20en%20la%20toma%20de%20decisiones%20en%20sistemas%20auto-adaptativos.pdf
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.