Skip to content

Modeling Dimensions and Design Space

Fábio Nogueira edited this page Dec 7, 2016 · 18 revisions

Home -> Basic Concepts

Dimensões e Espaço de Projeto

O projeto de um sistema auto-adaptativo envolve um conjunto de decisões relacionadas à concepção dos mecanismos de monitoração e adaptação a serem utilizados. Neste contexto, cada decisão corresponde a uma dimensão enquanto que o conjunto das decisões (dimensões), juntamente com as opções possíveis para cada uma, compõem o espaço de projeto. Assim, o espaço de projeto funciona como um guia de auto nível que pode ser utilizado na identificação das decisões a serem tomadas durante a concepção dos sistemas e das opções disponíveis. Mais ainda, um espaço de projeto pode ser utilizado para definir um vocabulário comum disponível não só para a descrição e entendimento de um sistema, mas também para permitir a comparação entre sistemas distintos.

Uma forma intuitiva de imaginar o espaço de projeto é como um espaço Cartesiano no qual as dimensões representam as decisões de projeto, enquanto que os valores possíves destas dimensões representam as opções disponíveis. Tipicamente as dimensões não são independentes, de forma que a tomada de uma decisão em uma dimensão pode restringir as opções possíveis em outra. Na literatura, diferentes trabalhos identificaram e analisaram dimensões relevantes.

Dimensões de Modelagem

[Andresson et al. 2009] identificou um conjunto de dimensões de modelagem e as organizou em quatro grupos:

  • Objetivos do sistema:
    • Evolução: faz referência à possibilidade dos objetivos evoluirem ao longo do tempo.
    • Flexibilidade: dimensão relacionada à rigidez com a qual os objetivos são expressos.
    • Duração: avalia a relação entre os objetivos e o seu período de validade.
    • Multiplicidade: relacionada à quantidade de objetivos especificados.
    • Dependência: indica a existência ou não de relação entre objetivos.
  • Causas da adaptação:
    • Fonte: indica quem é a causa da adaptação.
    • Tipo: classifica a natureza da adaptação como funcional, não-funcional ou tecnológica.
    • Frequência: classifica a adaptação como frequente ou rara.
    • Antecipação: avalia a possibilidade de se detectar previamente a necessidade da adaptação.
  • Mecanismos de adaptação:
    • Tipo: a adaptação pode ser paramétrica, estrutural ou ambos.
    • Autonomia: avalia a necessidade de intervenção humana.
    • Organização: pode ser centralizada ou distribuída.
    • Escopo: local ou global de acordo com o impacto na aplicação.
    • Duração: tempo para a realização da adaptação (curta, média ou longa).
    • Temporalidade: relacionada à capacidade de garantia de um limite de tempo para a adaptação.
    • Gatilho: indica o motivo da adaptação.
  • Efeitos da adaptação:
    • Criticidade: avalia o impacto da adaptação.
    • Predictabilidade: indica se o resultado da adaptação pode ou não ser previsto.
    • Overhead: avalia o impacto da adaptação na qualidade de serviço do sistema.
    • Resiliência: avalia se o sistema consegue continuar operacional mesmo em face de uma adaptação.

Embora as dimensões apontadas por [Andersson 2009] sejam mais úteis do ponto de vista de classificação e avaliação dos sistemas adaptativos já desenvolvidos, uma reflexão acerca das características avaliadas por essas dimensões oferece um insumo relevante para a concepção de um sistema adaptativo, uma vez que permite antecipar decisões que podem ser relevantes posteriormente.

Espaço de Projeto

Em outro trabalho bastante relevante acerca das dimensões e do conceito de espaço de projeto, [Lemos et al. 2013] identificou um conjunto de dimensões que foram classificadas em cinco categorias:

  • Observação: engloba as decisões concernentes ao proceso de monitoração, incluíndo: que informação deve ser monitorada, como e quando essa informação pode ser obtida, e de que forma ela pode ser processada (e.g. filtrada, agrupada, etc.) para determinar o estado atual do sistema e derivar os indicadores utilizados na avaliação do mesmo. Outra dimensão fundamental diz respeito a quando o mecanismo de adaptação deve ser acionado.
  • Representação: compreende as dimensões relacionadas à identificação e representação, em tempo de execução, dos objetivos de adaptação, do sistema e seus componentes, dos indicadores a serem utilizados na avaliação desse sistema, dos recursos disponíveis e utilizados, da configuração atual das plataformas de suporte, do contexto de execução, etc. Outra dimensão importante corresponde à decisão sobre como e quando essas representações devem ser atualizadas.
  • Controle: compreende as decisões relacionadas aos mecanismos de adaptação em si. Nesse contexto, uma primeira dimensão compreende a identificação dos mecanismos de adaptação disponíveis (e.g. parâmetros de controle, operações de adaptação composicional/arquitetural, alocação dinâmica de recursos) e a verificação de se esses mecanismos são suficientes para atingir os objetivos de adaptação estabelecidos. Outra dimensão diz respeito às circunstâncias nas quais esses mecanismos devem ser utilizados. Em geral, esses mecanismos são acionados durante a execução de laços de controle. Assim, outra dimensão relevante diz respeito à identificação dos laços de controle que compõem o sistema auto-adaptativo e das possíveis interações entre esses laços. Uma descrição mais elaborada acerca dos laços de controle é apresentada em [Brun et al. 2010] e deu origem aos diferentes modelos de referência utilizados na estruturação dos sistemas auto-adaptativos.
  • Identificação: um sistema adaptativo assume "diferentes formas" em termos de estrutura e comportamento ao longo do tempo, cada forma é referenciada como uma instância. Uma dimensão importante no projeto de um sistema adaptativo é a identificação das possíveis instâncias que o sistema pode assumir, assim como a identificação das possíveis circunstâncias que devem ser consideradas para que um sistema assuma cada uma. Além disso, deve-se identificar os custos associados ao processo de modificação de instância, o qual também pode ser considerado em tempo de execução durante o processo de tomada de decisão.
  • Adaptação: as dimensões compreendidas nesse grupo correspondem às decisões acerca da escolha dos mecanismos de adaptação a serem utilizados e dos gatilhos considerados na ativação desses mecanismos. Dentre os mecanismos possíveis estão a substituição de componentes ou serviços. Nesse contexto, um gatilho comum é o não atendimento aos níveis de serviço previamente estabelecidos. Decisões acerca de como tratar eventuais falhas no processo de adaptação também são consideradas parte deste grupo.

#References

Clone this wiki locally