• No results found

5.6 S CHOOL F IVE

5.6.2. School Five student focus-group interview

O processo de adaptação é composto por duas fases. A primeira fase consiste na seleção de um plano de execução opcional para substituir o plano de execução atual.A segunda fase consiste no processo de preparação para o reinício da execução, já com o plano de execução substituto.

Seleção do plano de execução substituto.A escolha do plano de execução para

substituir o plano de execução atual utiliza duas categorias de parâmetros: qualidade do

plano de execução e custo de adaptação. O primeiro refere-se à qualidade do plano de

execução, calculada conforme descrito na Seção 3.5. Para esse parâmetro, desejado é que o valor da qualidade seja alto. O segundo parâmetro refere-se às ações que necessariamente devem ser executadas em caso de adaptação. Para esse parâmetro, o desejado é que o valor do custo seja baixo. O usuário pode priorizar essa seleção de acordo com suas necessidades, isto é, ele pode definir se deseja que a adaptação seja realizada com menor custo mesmo que isso penalize a qualidade do plano de execução, ou se prefere que a qualidade seja mais importante mesmo que a adaptação exija um maior overhead para ser realizada. Para tal, o AdaptUbiFlow adota uma metodologia baseada no estabelecimento de pesos para os dois parâmetros (qualidade e custo). Desse modo, os usuários podem escolher diferentes pesos para a qualidade dos planos de execução e para o custo da adaptação, na decisão sobre qual plano de execução deverá substituir o plano de execução atual, como explicado anteriormente. Isso permite que esses parâmetros influenciem, em diferente grau, a seleção do plano de execução substituto, considerando sempre as necessidades do usuário.

No processo de adaptação, diferentemente da fase de seleção, a utilidade(utility) de um plano de execução também é influenciada pelo custo de adaptação durante a fase de adaptação. A utilidade é definida pela média ponderada dos parâmetros qualidade do

plano de adaptação e custo de adaptação. Há cinco configurações possíveis para esses

parâmetros, produzindo o que se chama de perfil de adaptação: (a) full service quality é o perfil de adaptação que dá prioridade máxima à qualidade dos serviços que constitui cada plano de execução, desconsiderando assim o custo da adaptação. Nesse perfil, o peso do parâmetro qualidade do plano de execução é igual a 1 (wSQ= 1.0) e o peso do

56 parâmetro custo de adaptação é igual a zero (wAC= 0.0); (b) O perfil de adaptação service

qualityainda prioriza a qualidade dos serviços que constituem os planos de execução,

entretanto o custo da adaptação possui alguma influência no cálculo da utilidade do plano. Os pesos dos parâmetros são: wSQ= 0.75 ewAC= 0.25; (c) balanced é o perfil de

adaptação no qual ambos os parâmetros têm o mesmo peso, fazendo com que a qualidade dos serviços que constituem cada plano e o custo de adaptação de cada plano possuam a mesma influência no cálculo da utilidade dos planos de execução, isso é,

wSQ= wAC= 0.5; (d) low cost adaptation é o perfil de adaptação que prioriza um menor

custo da adaptação porém considera também a qualidade dos serviços que constituem cada plano. Os pesos dos parâmetros neste perfil são: wSQ= 0.25 e wAC= 0.75; finalmente,

(e) lowest cost adaptation é o perfil de adaptação que prioriza apenas o custo da adaptação, desconsiderando a qualidade dos serviços envolvidos. Esse perfil busca uma adaptação realizada do modo mais rápido possível, desconsiderando a qualidade dos serviços a serem executados. Nesse perfil, os pesos dos parâmetros são: wSQ= 0.0 versus

wAC= 1.0.

A Figura 18 apresenta a função de maximização da utilidade( ) de um plano de execução. Essa função consiste em uma média ponderada entre a qualidade do plano de

execução e o custo da adaptação. O plano de execução com maior utilidade ( max) é escolhido para substituir o plano de execução atual.

Figura 18. Equação que calcula a utilidade de um plano de execução

Os termos qEP and cEP são respectivamente os valores relativos da qualidade e do

custo de adaptação de um plano de execução.Esses valores relativos representam, respectivamente, o relacionamento entre a melhor qualidade (qualidade mais alta dentre os planos de execução do mesmo workflow) e o melhor custo de adaptação (menor custo dentre os planos do mesmo workflow).Desse modo, em um workflow com vários planos de execução (workflow =>{ep1, ep2, …, epn}), o maior valor de qualidade de um plano e

o menor valor de custo de adaptação de um plano são usados para calcular, respectivamente, a qualidade relativa de cada um dos planos e o custo de adaptação relativo de cada plano. A Seção 3.5.2 apresenta o cálculo de qEP. A Figura 19 apresenta as

equações para calcular o custo relativo de adaptação (cEP) de um plano de execução. A

57 menor custo significa uma adaptação com maior qualidade (do ponto de vista do custo). O termo cEPabs é o custo absoluto de adaptação e cEPmax é o maior custo absoluto de

adaptação dentre os planos de execução do workflow.A Figura 19(ii) apresenta a equação para calcular o termo cEPabs. Esse termo é a soma de três fatores:quantidade de serviços a

serem executados depois da substituição do plano de execução atual (e), número de serviços que requerem rollback (r),e número de serviços que requerem ação compensatória (c). O número de serviços a serem executados (e) é definido pelo reuso de serviços e pelo ponto de coincidência entre o plano atual e cada plano que pode substituir o plano atual.

Figura 19. Fórmulas para calcular o custo de adaptação de um plano de execução

O grafo do workflow é utilizado para se chegar aos valores de e, r e c. A Figura 20 mostra um exemplo de como se chegar ao valor destas variáveis. Suponha-se que na fase de seleção de plano de execução, o plano formado pelos serviços {1’, 2’, 3’, 4’, 5’,

6’} foi escolhido para ser o plano a ser executado. Considere-se ainda que os serviços 2’

e 3’ exigem a execução de rollbacks em caso de adaptação, e que o serviço 5’ se torna indisponível. Nesse caso, teremos ainda duas possibilidades de planos de execução para substituir o plano que está em execução. Para encontrar o valor das variáveis e, r e c de cada plano opcional, é necessário encontrar primeiro o que chamamos de ponto de

coincidência entre o plano em execução e cada um dos planos candidatos a substitutos.

A Figura 20 apresenta em destaque o ponto de coincidência de cada plano de execução candidato a substituto. O ponto de coincidência é que define pontualmente a mudança de caminho entre um plano de execução e outro. Desse modo, o próximo serviço (à direita) após o ponto de coincidência entre dois planos é o primeiro serviço que precisa ser executado após a adaptação. No exemplo da Figura 20, o ponto de coincidência entre os planos {1’, 2’, 3’, 4’, 5’, 6’} e {1’, 2’, 3’’, 4’, 5’’, 6’} é o serviço

2’. Desse modo, se esse plano for escolhido para substituir o primeiro, as execuções dos

serviços 1’ e 2’ são reaproveitadas e os serviços a serem executados são os serviços 3’’,

4’,5’’ e 6’. Para esse plano de execução, os valores de e, r e c são, respectivamente: 4; 1

(pois o serviço 3’ requer rollback) e 0, resultando em cEPabs = 5. Vale a pena ressaltar

58 planos de execução; entretanto ele não pode ser um ponto de coincidência uma vez que o serviço 5’’ é dependente de 3’’, desse modo se o serviço 4’ fosse escolhido como ponto de coincidência, o serviço 5’’ seria executado sem antes o serviço 3’’ o ser.

Figura 20. Pontos de coincidências em caso de falha do serviço 5’

O ponto de coincidência entre os planos {1’, 2’, 3’, 4’, 5’, 6’} e {1’, 2’’, 3’’’, 4’’, 5’’’, 6’} é o serviço 1’.Desse modo, se esse plano for escolhido para substituir o primeiro, apenas a execução do serviço1’ será reaproveitada e os serviços a serem executados são os serviços 2’’, 3’’’, 4’’,5’’’ e 6’. Para esse plano de execução, os valores de e, r e c são, respectivamente: 5; 2 (pois os serviços2’ e 3’ requerem rollback) e 0, resultando em cEPabs = 7. Desse modo, consideramos que o plano com cEPabs = 5 possui

um custo de adaptação menor do que o plano com cEPabs = 7.

Reiniciando a execução.Uma vez que a seleção do plano de execução substituto

é finalizada, o processo responsável por mudar a execução do plano atual para o plano de execução substituto é iniciado. Esse processo consiste em instanciar todas as ações necessárias (rollbacks, ações compensatórias e reinício da execução dos serviços restantes para finalizar a execução do workflow) de um modo imperceptível para o usuário.

A representação dos workflows através de grafos permite uma eficiente manipulação dos workflows, facilitando as duas fases do processo de adaptação, facilitando a descoberta do ponto de coincidência entre o plano de execução atual e cada candidato a plano de execução substituto. Como foi mostrado, o ponto de coincidência influencia diretamente o cálculo do custo de adaptação e é o ponto de partida para o reinício da execução após a adaptação. A Seção 3.4.2. Representação em grafo mostra detalhes da representação em grafos adotada pelo OpenCOPI.

59