Skip to content

Modeling Dimensions and Design Space

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

Home -> [Related Work](https://github.com/dsoa-team/dsoa-platform/wiki/Related Work)

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.

[Andresson et al. 2009] identificou um conjunto de dimensões de modelagem e as organizou em quatro grupos: dimensões relacionadas aos objetivos do sistema, dimensões relacionadas com as causas da auto-adaptação, dimensões relacionadas com os mecanismos de adaptação, e dimensões relacionadas aos efeitos da adaptação no sistema.

[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