scieee Science in your language
[sp] (orig)

HADAS: Asistente de eco-eficiencia con repositorio de consumo energético

Abstract

El interés por la Ingeniería del Software "verde", o sea, sensible al consumo de energía, es relativamente reciente. Su objetivo es concienciar a los desarrolladores de software de la influencia que tienen sus decisiones de diseño e implementación en el gasto energético del producto final. Hasta el momento se han publicado muchos resultados experimentales que comparan el consumo de energía de varias soluciones alternativas, y que demuestran que se puede reducir dicho consumo hasta en un 70 %. Aunque estos resultados sean de libre disposición, no es sencillo que un desarrollador aplique este conocimiento a sus aplicaciones. En consecuencia, en este artículo presentamos el eco-asistente HADAS cuya utilidad es: (i) los investigadores almacenarán sus resultados en un repositorio de libre disposición; (ii) los desarrolladores podrán razonar y obtener las configuraciones que menos energía consuman y que satisfaga sus requisitos. Nos centraremos en mostrar los elementos principales de nuestra propuesta y como se aplica a casos de estudio reales.

Read accessible full text

HADAS: Asistente de eco-eficiencia con repositorio de consumo energético

Author: Muñoz-Guerra, Daniel Jesús,Pinto-Alarcón, Mónica,Fuentes-Fernández, Lidia
Year: 2017
Source: https://riuma.uma.es/xmlui/bitstream/10630/14469/1/jisbd17.pdf
HADAS: Asis en e de eco-eciencia con
eposi o io de consumo ene gé ico
Daniel-Jesus Munoz, Mónica Pin o y Lidia Fuen es
Uni e sidad de Málaga, Andalucía Tech, Spain
{danimg,pin o,l }@lcc.uma.es
,
h p://caosd.lcc.uma.es/
Resumen
El in e és po la Ingenie ía del So wa e  e de, o sea, sen-
sible al consumo de ene gía, es ela i amen e ecien e. Su obje i o es
conciencia a los desa ollado es de so wa e de la inuencia que ie-
nen sus decisiones de diseño e implemen ación en el gas o ene gé ico del
p oduc o nal. Has a el momen o se han publicado muchos esul ados
expe imen ales que compa an el consumo de ene gía de a ias soluciones
al e na i as, y que demues an que se puede educi dicho consumo has a
en un 70%. Aunque es os esul ados sean de lib e disposición, no es sen-
cillo que un desa ollado aplique es e conocimien o a sus aplicaciones.
En consecuencia, en es e a ículo p esen amos el eco-asis en e HADAS
cuya u ilidad es: (i) los in es igado es almacena án sus esul ados en un
eposi o io de lib e disposición; (ii) los desa ollado es pod án azona y
ob ene las congu aciones que menos ene gía consuman y que sa is aga
sus equisi os. Nos cen a emos en mos a los elemen os p incipales de
nues a p opues a y como se aplica a casos de es udio eales.
Keywo ds:
CVL, Ene gía, Línea de P oduc os So wa e, Va iabilidad,
Ja a, Se ido .
1. In oducción
Las polí icas eco-ecien es, que pe siguen la eciencia ene gé ica, son una
p eocupación c ecien e, debido a las emisiones de CO
2
y al e ec o in e nade o,
p o ocado en pa e po los sis emas de in o mación de uso pe sonal e indus ial.
Aunque el so wa e no consume di ec amen e ene gía, sí que iene impac o en el
gas o ene gé ico del ha dwa e donde se ejecu a (ej.: un disposi i o mó il). Es e
impac o del so wa e en el consumo de ene gía no es p ecisamen e desp eciable,
po lo que ecien emen e ha su gido un in e és po conciencia al desa ollado de
so wa e, de la inuencia que ienen sus decisiones de diseño e implemen ación en
el gas o ene gé ico del p oduc o nal. Po an o, el desa ollado de so wa e no
solamen e debe ene en cuen a la modula ización, endimien o o man enibilidad
del so wa e, sino que ambién debe ene en cuen a el aho o ene gé ico.
El in e és po las ecnologías de in o mación e des y en especial po la
Ingenie ía del So wa e sensible al consumo ene gé ico (Ene gy-awa e So wa e
Enginee ing [10]) es ela i amen e ecien e. La mayo ía de los abajos sob e e-
ciencia ene gé ica del so wa e son es udios empí icos que se cen an en es udia
qué pa es del código son las que consumen más ene gía [7,14,15], o en compa a
el consumo ene gé ico de a ias soluciones al e na i as [2,5,8,10,16]. Exis en a -
ículos que compa an el consumo de ene gía, an o con mé icas eales; en edes
con disposi i os And oid [13], en se ido es [3] o en colecciones Ja a [8]; como
con simulaciones, de aplicaciones And oid [11] con eCalc, de aplicaciones Ja a
En e p ise Edi ion (EE) [4], o de comp esión de audio [10,17] con Palladio PCA.
De es os abajos se deduce que ale la pena op imiza el consumo de ene gía a
ni el de código ya que se puede aho a en e un 2% y un 70%. Sin emba go,
aunque odos es os abajos empí icos mues an esul ados muy in e esan es,
es os no son áciles de aslada a los p ocesos de desa ollo so wa e indus ial.
Po ejemplo, en [8] se mues a el consumo de ene gía de las di e en es colec-
ciones de da os (ej.: A ayLis , HashSe , Map, e c.) implemen adas u ilizando
di e en es
amewo ks
. Los au o es han pues o de lib e disposición sus esul ados
almacenados en che os .cs , pe o solo con es os che os no es sencillo consegui
que un desa ollado eu ilice es e conocimien o en sus aplicaciones.
En consecuencia, en es e abajo nos plan eamos la denición de un eco-
asis en e (HADAS) que con enga los elemen os uncionales que más inuyen en
el consumo de ene gía de la aplicación (los
consumido es de ene gía
), jun o con
sus al e na i as de diseño (ej.: usa el algo i mo de ci ado AES) e implemen a-
ción (ej.: Apache Commons C yp o). El obje i o del eco-asis en e HADAS es el
de conciencia al desa ollado de que debe analiza con cuidado las di e en es
al e na i as de diseño/implemen ación de es os consumido es, desde el pun o de
is a del consumo ene gé ico, y ayuda le a elegi la mejo . La u ilidad del asis-
en e es doble. Po un lado, los in es igado es pod án almacena sus esul ados
expe imen ales en un eposi o io que queda án disponibles pa a el es o de la
comunidad. Po o o lado, los desa ollado es pod án u iliza es os pa a azona
ace ca de las dis in as e siones de los consumido es de ene gía, y elegi aquella
solución que les sa is aga, siendo conscien es de la ene gía que pod ía consumi .
Exis en eposi o ios como el p opo cionado po la he amien a de mine ía
G eenMine [12], o ien ado a almacena esul ados de p uebas expe imen ales
ela i os al consumo de ene gía. Sin emba go, es e eposi o io si e únicamen e
pa a la ejecución y consul a de p uebas conc e as y queda ue a de su alcan-
ce el aconseja le al desa ollado sob e la solución más eco-ecien e. De hecho,
desa olla un asis en e como el que plan eamos en es e a ículo es una a ea
muy ambiciosa, a la ez que no edosa. En es e a ículo mos a emos los elemen-
os p incipales de nues a p opues a, cen ándonos en p esen a la es uc u a
in e na del asis en e y en cómo es e le pe mi e a un desa ollado azona so-
b e el consumo de ene gía de las di e en es congu aciones de los consumido es
de ene gía. Conc e amen e, es e azonamien o se basa en explo a un modelo
de a iabilidad que almacena las di e en es al e na i as de los consumido es de
ene gía y nos pe mi e gene a di e en es congu aciones álidas, y los da os de
ene gía de cada una de ellas. Hay que ene en cuen a que el obje i o del asis-
en e no es da alo es conc e os de consumo de ene gía, ya que es os dependen
mucho del ha dwa e, sino mos a en o ma de g ácas cómo a ía el consumo
de ene gía de dos o más soluciones. Po an o, se p e ende que el desa ollado
iden ique endencias de consumo y no asegu a le que su aplicación consumi-
á una de e minada can idad de Julios. De hecho, ninguna de las mediciones de
ene gía ealizadas an o con he amien as so wa e como ha dwa e (ej.: Monsoon
Powe Moni o , osciloscopios) pueden oma se como alo es absolu os dado que
el consumo eal de una aplicación en ejecución depende de mul i ud de ac o es
que no pueden con ola se (ej.: empe a u a, ca ga del disposi i o, ecolec o es
de basu a, e c.).
Las en ajas del eco-asis en e HADAS se ían: (i) el desa ollado no necesi a
dispone de, ni conoce , las he amien as ha dwa e y/o so wa e disponibles pa a
medi el consumo de ene gía; (ii) el desa ollado no iene que simula o hace
mediciones del consumo de ene gía de las di e en es al e na i as de los consu-
mido es de ene gía; (iii) HADAS o ece una in e az web sencilla que le ayuda
al desa ollado a iden ica los consumido es de ene gía de su aplicación y na-
ega pa a congu a las di e en es al e na i as; (i ) HADAS de uel e g ácas
compa a i as que le mos a án las endencias de consumo de ene gía de a ias
implemen aciones al e na i as.
El a ículo se o ganiza de la siguien e mane a. La Sección 2 desc ibe los
equisi os y la isión gene al del eco-asis en e HADAS. La Sección 3 de alla
la es uc u a y uncionamien o de HADAS. En la Sección 4 e aluamos nues a
p opues a median e dos escena ios di e en es, y mos amos la mejo a del análisis
de sos enibilidad al usa HADAS. La Sección 5 desc ibe el abajo elacionado.
Finalmen e, la Sección 6 discu e las conclusiones y el abajo u u o.
2. Requisi os y Visión Gene al del Eco-Asis en e HADAS
En es a sección amos a desc ibi los equisi os que el eposi o io HADAS
debe cumpli pa a que sea ú il, an o a los in es igado es que lle an a cabo los
expe imen os de consumo de ene gía, como a los desa ollado es que quie en
eu iliza los esul ados de dichos expe imen os en sus aplicaciones. Da emos
ambién una isión gene al de las pa es más ele an es del eposi o io.
En cuan o a los equisi os que el eposi o io HADAS debe ía ene en cuen a,
hemos iden icado los desc i os a con inuación. Los equisi os R1-R3 son comu-
nes an o a in es igado es como a desa ollado es, mien as que el equisi o R4
es especíco de los desa ollado es de aplicaciones y el equisi o R5 especíco de
los in es igado es en consumo de ene gía:
R1. Iden ica los Consumido es de Ene gía.
El p ime paso pa a pode
azona sob e el consumo de ene gía de una aplicación es iden ica aquellos ele-
men os que de o ma ecu en e pueden ene un mayo impac o en su consumo
ene gé ico. Es os elemen os se ían los que llamamos
consumido es de ene gía
.
HADAS, al menos en es a p ime a ase, debe ía inco po a aquellos consumido-
es que más se u ilizan en las aplicaciones, y deja de lado aquellos más especícos
de un dominio pa icula .
R2. Modela la Va iabilidad de los Consumido es de Ene gía.
Pa a
un mismo e e en e de consumo ene gé ico pod ía habe disponible dis in as so-
luciones, an o de diseño como de implemen ación. Dado que que emos pode
compa a en e dis in as al e na i as pa a un mismo e e en e, és as deben se
modeladas, y su a iabilidad ep esen ada de o ma explíci a. Den o de es e
modelo ambién se á necesa io iden ica las dependencias en e dis in os con-
sumido es (ej: en e au en icación y dis ibución).
R3. Regis a el Consumo Ene gé ico de los Consumido es de Ene -
gía.
Jun o a cada e e en e, el eposi o io HADAS debe almacena in o mación
que pe mi a calcula y azona sob e el consumo ene gé ico de cada una de sus
a ian es, eniendo en cuen a los pa áme os de congu ación que a ec an a dicho
consumo.
R4. Da sopo e pa a ealiza un Análisis de Eco-eciencia.
El desa-
ollado debe pode congu a los di e en es consumido es de ene gía (ej.: a-
mewo ks de desa ollo web PHP) de o ma pa cial, de mane a que seleccione
aquellas ca ac e ís icas a iables sob e las que ya ha omado una decisión, po -
que son imp escindibles de acue do a los equisi os de su aplicación (ej.: usa
PHP plano) pe o deje sin selecciona o as ca ac e ís icas donde exis e mayo
exibilidad a la ho a de elegi en e las al e na i as disponibles. De es a o -
ma el eposi o io HADAS pod ía de ol e le g ácas compa a i as con odas las
soluciones posibles. El desa ollado pod á en onces ealiza un análisis de la
eco-eciencia de las dis in as soluciones y op a po una de ellas.
R5. Da sopo e pa a in eg a los esul ados de expe imen ación.
Co-
mo ya hemos comen ado an e io men e, no se ía un obje i o iable el que los
desa ollado es del eco-asis en e HADAS ue an los enca gados de medi y al-
macena odas las congu aciones posibles de odos los consumido es de ene gía
que exis an en cualquie dominio de aplicación. Pa a es o, la idea es basa nos en
un modelo colabo a i o, donde el eposi o io es é p epa ado pa a inclui las con-
gu aciones y mediciones apo adas po p o esionales, in es igado es e, incluso,
ex aídas de a ículos ya publicados. Dada la g an a iedad de ha dwa e exis en-
e y las dis in as posibilidades de medición, HADAS debe ía pe mi i ag upa
aquellas medidas que se hayan ealizado con el mismo ha dwa e.
Nues a isión gene al de cómo debe ía se el eco-asis en e HADAS puede
e se en la Figu a 1. Po un lado, el
Fo mula io
y el
Modelo de Va iabilidad
modelan de o ma explíci a cada uno de los consumido es de ene gía con enidos
en el asis en e, haciendo hincapié en la a iabilidad exis en e y en su con ex-
o ene gé ico. El
Fo mula io
es la in e az con los desa ollado es, que les hace
anspa en e los de alles del modelo de a iabilidad, haciéndoles más ácil su
u ilización, mien as que el
Modelo de Va iabilidad
es una ep esen ación o mal
de la a iabilidad de los consumido es de ene gía y su con ex o ene gé ico, que
pe mi e congu a los y azona sob e ellos. Toda la es uc u a que nos indica el
modelo de a iabilidad, jun o a las mediciones de ene gía pa a cada consumido
Fo ma o
HADAS
Desa ollado es Desa ollado es
Modelo de
Va iabilidad
HADAS
Consumido es
de ene gía
Con ex o
Ene gé ico
Modelo de
Va iabilidad
HADAS
Consumido es
de ene gía
Con ex o
Ene gé ico
Modelo de
Va iabilidad
HADAS
Consumido es
de ene gía
Con ex o
Ene gé ico
Reposi o io de
E iciencia Ene gé ica
Mediciones
de Ene gía
Mediciones
de Ene gía
Diseño
Implemen ación
Diseño
Implemen ación
Reposi o io de
E iciencia Ene gé ica
Mediciones
de Ene gía
Diseño
Implemen ación
Modelo de
Va iabilidad
HADAS
Consumido es
de ene gía
Con ex o
Ene gé ico
Reposi o io de
E iciencia Ene gé ica
Mediciones
de Ene gía
Diseño
Implemen ación
Eco-asis en e HADAS
Fo mula io
(Vis a de Á bol)
In e az
x
In e az
x
In e az
x
Fo mula io
(Vis a de Á bol)
In e az
x
In es igado es In es igado es
G á icas de
Sos enibilidad
G á icas de
Sos enibilidad
Análisis de
Sos enibilidad
Da os Gene ados
Con igu ación
Inse a
Mé icas
Consumido es
de Ene gía
Visualización
de G á icas
Resul ados de
Expe imen ación
Figu a 1.
Visión gene al del eco-asis en e HADAS
y cada con ex o ene gé ico, es a án almacenados en el
Reposi o io de Eciencia
Ene gé ica
. Una ez gene ada una
Congu ación
, o al o pa cial, a a és del
Fo mula io
se accede á al eposi o io pa a ob ene in o mación sob e las me-
diciones de ene gía asociadas a esa congu ación, y se gene a án las
G ácas
de Sos enibilidad
necesa ias pa a ealiza el análisis ene gé ico de las a ian es
seleccionadas.
Como hemos mencionado an e io men e se dis inguen cla amen e dos oles,
el de los
Desa ollado es
y el de los
In es igado es
.
¾Cómo u iliza el eco-asis en e HADAS un in es igado ?
El in es igado dispone
de da os de expe imen ación sob e una a ian e de e minada de un consumido
de ene gía y quie e in eg a los en el eco-asis en e HADAS pa a que los desa olla-
do es de aplicaciones puedan u iliza los. Básicamen e, de acue do a la Figu a 1,
el in es igado end á que ep esen a los da os omados en un o ma o en endi-
ble po HADAS, y hab á que ac ualiza de o ma adecuada an o el modelo de
a iabilidad del consumido de ene gí,a como el eposi o io con las mé icas.
¾Cómo u iliza el eco-asis en e HADAS un desa ollado ?
Un desa ollado de
aplicaciones desea conoce cuáles son los posibles pun os de uga de ene gía de
la aplicación que a a desa olla , y quie e ealiza un análisis eco-ecien e de
las dis in as al e na i as que le da el eco-asis en e HADAS. Pa a ello, na ega á
po los o mula ios donde HADAS le mues a in o mación de odos los consu-
mido es de ene gía que iene egis ado jun o a sus a ian es. El desa ollado
selecciona á qué consumido es de ene gía quie e analiza , qué a ian es quie e
p e-selecciona, cuales no pa a que el asis en e le ayude a elegi . Con oda esa
in o mación el eco-asis en e HADAS gene a á una congu ación pa cialmen e

ins anciada. Es o es posible po que po debajo de es e o mula io, anspa en e
al desa ollado de aplicaciones, el eco-asis en e iene denido el modelo de a-
iabilidad de odos los e e en es de consumo y de odas sus a ian es. Además,
enlazado con es e modelo de a iabilidad, es a á la in o mación de las mediciones
de ene gía que hay disponibles. Una ez denida una congu ación de los consu-
mido es de ene gía que se desean analiza , el eco-asis en e gene a á las g ácas
que pe mi i án al desa ollado ealiza su análisis de sos enibilidad.
3. Es uc u a de HADAS
En la Figu a 1 podemos isualiza que, an o las mé icas como su es uc-
u a (ca ac e ís icas de diseño e implemen ación), se encuen an en una base de
da os, o mando lo que hemos denominado eposi o io de eciencia ene gé ica.
La es uc u a del eposi o io iene dada po el modelo de a iabilidad, que en
nues o caso, se ía una ep esen ación del á bol de a iabilidad en un o ma o
manejable pa a el eco-asis en e HADAS. Hemos elegido una ep esen ación en
modo ex o, conc e amen e el o ma o EFM (Famas Ex ended Model) [18]. De
es a o ma es ácil chequea su co ección u ilizando la he amien a FaMa-FW
(del inglés Fea u e au oma ed Model analyses - F ameWo k) [1]. Como se e en
Al e na i as de
implemen ación
Va ian es de diseño
Con ex o ene gé ico
Consumido es de ene gía
1..*1..*
HADAS
Re e en e 1
1
4
...
Eco-asis en e HADAS
Consumido es de ene gía
Memo ia
Dis ibuido
Segu idad
Comp esión
Dis ibución
P2P
Clien e/Se ido
Se ido
PHP
Se ido Web
Con ex o Ene gé ico Se ido
Pa áme os del Se ido
Ope ación del Se ido
Pa áme os
MaxUsua ios = 50
Re e en e n
Diseño 1 Diseño 2
Diseño 2.1 Diseño 2.n
Tecnología 1 Tecnología 2
Tecnologías
Diseño 2.1
Con ex oEne gé ico
Diseño 2.1
Tecnología 2.1 Tecnología 2.n
1..11..1
1..*1..*
1..*1..*
1..11..1
Pa áme os
Diseño 2.1 TipodeDa o
Diseño 2.1
1..*1..* Ope ación
Diseño 2.1
Va iable 1: In
Va iable n: In
1..*1..*
Tipo 1 Tipo n
1..11..1
Op 1 Op n
1..*1..*
Opción
Va iable: Tipo
1..n1..n
selección en e
1 y n
selección
obliga o ia
selección
opcional
Leyenda VSpec
decisión
si/no
especi ica un
alo del ipo
2
3
Figu a 2.
Es uc u a po ni eles de la a iabilidad del á bol y del o mula io
la pa e de echa de la Figu a 2, y ambién en el ejemplo de la Figu a 3, el á bol
de a iabilidad que usa HADAS se di ide en es ni eles: (1) en es e ni el se
si úan los consumido es de ene gía iden icados no solamen e po noso os, sino
en los di e en es abajos de expe imen ación (ej.: segu idad, almacenamien o,
dis ibución ...). en el p ime ni el de la Figu a 3); (2) pa a cada e e en e se
deni á un sub-á bol con las opciones de diseño disponibles (ej.: en la Figu a 3
pa a la dis ibución enemos la a qui ec u a clien e/se ido ). Dependiendo de
la complejidad del consumido de ene gía hab á uno o a ios sub-ni eles; (3)
pa a cada hoja del sub-á bol de diseño (ej.: Diseño 2.1 en Figu a 2) se dene un
sub-á bol
Tecnologías
y o o sub-á bol con el
Con ex o Ene gé ico
. El sub-á bol
Tecnologías
dene las di e en es al e na i as que exis en pa a implemen a cada
uno de los diseños. Aquí podemos dis ingui en e di e en es amewo ks, APIs,
e c., y sus espec i os lenguajes de p og amación. Es a in o mación es la que
nos pe mi i á da le al desa ollado el consumo de ene gía de un diseño conc e-
o, implemen ado con di e en es ecnologías. El sub-á bol
Con ex o Ene gé ico
con iene es ca ac e ís icas hijas: (i)
Pa áme os
: el consumo de ene gía de una
implemen ación a ía en unción de algunos pa áme os de su diseño, como po
ejemplo la comp esión de un che o depende á del amaño del che o a comp i-
mi , po lo an o, el desa ollado pod ía indica un amaño máximo; (ii)
Tipo de
Da os
: no malmen e los consumido es de ene gía manipulan da os de di e en e
ipo (ej.: ex o plano, XML, e c.) y el ipo de da os suele inui en el consumo
de ene gía; (iii)
Ope aciones
: cada diseño de un e e en e o ece una in e az de
uso, que es el conjun o de ope aciones que se in oca án desde la aplicación (ej.:
pa a las colecciones de da os, las ope aciones son inse a , bo a , e c.). Tan o
las ope aciones, como el ipo de da os, no ienen po qué es a implemen a-
das en odas las ecnologías, y es o lo exp esamos median e es icciones en e
sub-á boles del ipo
Tecnología i implies NOT Op j
.
Una ez denimos nues o modelo de a iabilidad, es e hay que ep esen a lo
median e o mula ios dinámicos al desa ollado y pe mi i le que seleccione las
di e en es al e na i as, espe ando las es icciones en e sub-á boles ( e pa e
izquie da de la Figu a 2, que sigue la misma leyenda de colo es que el esquema
del á bol de a iabilidad). Conc e amen e, el eco-asis en e HADAS hace una
ep esen ación web del modelo de a iabilidad, en o ma de á bol desplegable en
p o undidad. El o mula io dinámico implemen a las dependencias de mane a
dinámica, es deci , se ma ca án y desplega án las amas obje o de es icciones,
de mane a au omá ica, si son ac i adas.
Pe o es e á bol de a iabilidad no con iene las mé icas, sino que és as se al-
macenan en una base de da os. Po lo an o, conec amos el á bol de a iabilidad
a una base de da os que, conjun amen e, con o man el eposi o io. La es uc u a
de la base de da os se co esponde con la del modelo de a iabilidad, donde cada
ni el iene su e e en e en una abla conc e a ( ablas Re e en e, Diseño, Tecno-
logía, TipodeDa o, Ope ación, Va iable). Además, la abla Mé ica, elaciona á
es as ablas con el consumo y el iempo de ejecución. Pa a pe mi i la inclusión
de da os de ene gía di e en es (de dis in as uen es) pa a la misma congu a-
ción, se incluye la abla Me ada o, donde se inclui á el sis ema de medición y
el ha dwa e usado pa a ob ene és os da os, lo que le pe mi i á al desa ollado
ealiza un análisis más ico, al pode basa se en a ias uen es.
El desa ollado a gene ando di e en es congu aciones que se aducen a
consul as en la base de da os del eposi o io. Las congu aciones se gene an con
un azonado (
SAT sol e
) que nos ga an iza que se gene an odas las con-
gu aciones álidas. A con inuación, se o maliza la co espondencia en e una
congu ación del modelo de a iabilidad y la in o mación en la base de da os.
Es a co espondencia pe mi e la gene ación au omá ica de las consul as SQL,
que le da án al desa ollado la in o mación necesa ia pa a ealiza un análisis.
Nos basamos en la o malización del á bol de a iabilidad denida en [6] ex en-
diéndola. Dada una congu ación pa cial
CP a cial
del modelo de a iabilidad
y después de aplica le un azonado (FaMa-FW) ob end emos un conjun o con
odas las congu aciones co espondien es. Pa a cada congu ación comple a
CComple a
se denen los siguien es conjun os y ope aciones:
V SP EC
V SP EC
V SP EC
.
Conjun o ni o, no acío, de iden icado es (nomb es únicos) de odas las ca ac e ís icas
(VSpecs) de una congu ación comple a.
V SP EC ={HADAS, Dis ibuci
ó
n, Clien e/Se ido , Se ido , T ecnolog
í
asSe ido , P HP,
P lainP HP, La a el, ...}
hijos :V SP EC →P(V SP EC)
hijos :V SP EC →P(V SP EC)
hijos :V SP EC →P(V SP EC)
.
Función que dada una ca ac e ís ica, de uel e odos sus hijos.
pad e :V SP EC →V SP EC
pad e :V SP EC →V SP EC
pad e :V SP EC →V SP EC
.
Función que dado una ca ac e ís ica de uel e la ca ac e ís ica pad e,
o
∅
si es la aíz.
an eceso es :V SP EC →P(V SP EC)
an eceso es :V SP EC →P(V SP EC)
an eceso es :V SP EC →P(V SP EC)
.
Función que dado una ca ac e ís ica de uel e odos sus an-
eceso es, o
∅
si es la aíz.
Re e en es :CComple a →V SP EC
Re e en es :CComple a →V SP EC
Re e en es :CComple a →V SP EC
.
Dada una congu ación comple a de uel e los e e en es de
consumo de ene gía de la congu ación, es deci :
Re e en es ={c∈CComple a |c∈
hijos(HADAS)}
T ECRa
í
z:CComple a →P(V SP EC)
T ECRa
í
z:CComple a →P(V SP EC)
T ECRa
í
z:CComple a →P(V SP EC)
.
Dada una congu ación comple a de uel e las ca ac e ís i-
cas aíz de las ecnologías:
T ECRa
í
z={c∈CComple a |c.s a sW i h(”T ecnolog
í
as”)}
VDise
ñ
o:CComple a →P(V SP EC)
VDise
ñ
o:CComple a →P(V SP EC)
VDise
ñ
o:CComple a →P(V SP EC)
.
Dada una congu ación comple a de uel e odas sus a ian-
es de diseño:
VDise
ñ
o={c∈CComple a | ∃ ∈T ECRa
í
z, c =pad e( )}
T ecnolog
í
as :CComple a →P(V SP EC)
T ecnolog
í
as :CComple a →P(V SP EC)
T ecnolog
í
as :CComple a →P(V SP EC)
.
Dada una congu ación comple a de uel e odas las ec-
nologías usadas en la congu ación:
T ecnolog
í
as ={c∈CComple a |hijos(c) = ∅ ∧ ∃a∈
an eceso es(c)∧a∈T ECRa
í
z}
P ARAMRa
í
z:CComple a →P(V SP EC)
P ARAMRa
í
z:CComple a →P(V SP EC)
P ARAMRa
í
z:CComple a →P(V SP EC)
.
Dada una congu ación comple a de uel e las ca ac e-
ís icas aíz de los pa áme os:
P ARAMRaz ={c∈CComple a |c.s a sW i h(”P a
á
me os”)}
P a
á
me os :CComple a →P(V SP EC)
P a
á
me os :CComple a →P(V SP EC)
P a
á
me os :CComple a →P(V SP EC)
.
Dada una congu ación comple a de uel e odos los pa-
áme os usados en la congu ación:
P a
á
me os ={c∈CComple a |hijos(c) = ∅ ∧ ∃a∈
an eceso es(c)∧a∈P ARAMRa
í
z}
alue :p→R
alue :p→R
alue :p→R
.
Dado un pa áme o p de uel e el alo seleccionado po el desa ollado en la in e -
az.
De mane a análoga a la denición de las a ian es de pa áme os se denen los con ex os ene gé-
icos, ipos de da os y ope aciones.
Con es a in o mación, se gene a una consul a SQL pa a cada congu ación
comple a
CComple a
:
SELECT Ene gy, Time, Me ada os.* FROM TMé ica
JOIN Me ada os ON Me ada os.idMé ica = TMé ica.id
JOIN Re sMé ica ON Re sMé ica.idMé ica = TMé ica.id
JOIN TRe e en e ON TRe e en e.id = Re sMé ica.idRe e en e
⇑
Enlazamos una medida a uno o a ios e e en es
JOIN VsDisMé ica ON VsDisMé ica.idMé ica = TMé ica.id
JOIN TVDiseño ON TVDiseño.id = VsDisMé ica.idVDiseño
⇑
Enlazamos una medida a una o a ias a iables de diseño
JOIN TecsMé ica ON TecsMé ica.idMé ica = TMé ica.id
JOIN TTecnología ON TTecnología.id = TecsMé icas.idTecnologia
⇑
Enlazamos una medida a una o a ias al e na i as ecnológicas
...
⇒
De mane a análoga enlaza pa a cada abla/conjun o
WHERE ((
∀ ∈Re e en es
, TRe e en e.nomb e =
) AND
(
∀ ∈V Dise
ñ
o
, TVDiseño.nomb e =
) AND
(
∀ ∈T ecnolog
í
as
, TTecnología.nomb e =
) AND
...
⇒
De mane a análoga il a pa a cada abla/conjun o
(
∀p∈P a
á
me os
, TPa áme o.nomb e =
p
AND
TPa áme o. alo
≤ alue(p)
))
⇒
Aco a po alo es máximo
Una ez ob enidos los da os pa a cada congu ación, el sis ema ha á uso de la
API Google Cha s pa a mos a las g ácas de consumo y iempo de ejecución
pe inen es, pe mi iendo el análisis del caso de uso.
4. E aluación
En es a sección p esen amos dos escena ios de uso de HADAS. En el p ime o
mos amos que es posible in eg a los da os gene ados po o os in es igado es
en el eco-asis en e, mejo ando el análisis de consumo de ene gía que se puede
ealiza , y en el segundo seguimos el p oceso comple o gene ando y almacenando
p ime o los da os y usando después el eco-asis en e.
4.1. Colecciones en Ja a
En [8] se calcula el consumo de ene gía de dis in as colecciones de Ja a (Lis-
a, Mapa y Se ) pa a di e en es ope aciones (inse a al p incipio, en medio, al
nal, bo a , i e a ...), u ilizando dis in as APIs (JCF, ACC, T o e) y dis in as
implemen aciones (HashMap, T eeMap...). Se ealiza la expe imen ación enien-
do en cuen a dis in os ipos de da os (In , Objec ) y amaño de los da os (has a
5000 elemen os). Toda es a in o mación es á accessible median e a chi os CSV
en una web.
¾Cómo u iliza ía en onces un desa ollado es a in o mación sin usa HA-
DAS? Puede consul a las g ácas es á icas p opo cionados en la página web,
pe o no es i ial iden ica odos los posibles análisis que exis en, ya que no hay
una o ma ácil de conoce odas las a ian es a analiza . Noso os mos a emos
como se pueden in eg a es os da os en el eco-asis en e y e emos que es posible
ealiza un análisis más ico del consumo de ene gía de las colecciones con dichas
mé icas.
Dado que no exis e in o mación de es os e e en es ene gé icos en el ac ual
eposi o io, el p ime paso es e oluciona el á bol de nues o modelo de a-
iabilidad. Po an o, en la Figu a 2, al ni el de a ian es de diseño, bajo la
ama
Memo ia->Volá il
inclui íamos los es ipos
Lis
,
Map
y
Se
), y, en cada
uno, las al e na i as ecnológicas, es deci , los es amewo ks usados en es a
expe imen ación (
JCF
,
ACC
,
T o e
) y, de es os úl imos, sus espec i as imple-
men aciones (
HashMap
,
T eeMap
...). También se incluye el con ex o ene gé ico
de memo ia olá il, donde con emplamos el máximo núme o de da os, el ipo de
da os (
In
,
Objec
) y las ope aciones. Pa a in oduci los da os en el eposi o io
hemos implemen ado ambién una unción de l ado, la cual ex ae los da os
de diseño, implemen ación y ene gía que necesi amos de odos los CSV ( ipo
de da o, ope ación, clase, implemen ación, consumo en julios y iempo de ejecu-
ción). A pa i de es os da os se calcula la mediana de los Julios (ya que exis en
32 pasadas pa a cada congu ación comple a), y es o es lo que añadi íamos a la
base de da os de nues o eposi o io. T as in oduci lo en HADAS, jun o a las
es icciones necesa ias (ej.:
Map implica no Inse
a he
beginning|end
), hemos
e aluado el á bol de a iabilidad EFM co espondien e a es e caso de es udio
con FAMA-FW, y nos de uel e 11904 congu aciones co ec as. Es e al o ni el
de a iabilidad demues a que no es iable ealiza el análisis de o ma manual,
y, ambién, que la in o mación p opo cionada en [8] es muy in e esan e, pe o
que se pod ía amplia analizando muchas o as opciones no con empladas po
los au o es en [8].