Skip to content

Using Gauges for Architecture Based Monitoring and Adaptation

Fábio Nogueira edited this page Dec 21, 2016 · 3 revisions

Home -> References

Este paper apresenta a infraestrutura de monitoração utilizada na plataforma Rainbow.

Monitoração e Adaptação Dinâmicas

Na análise feita no paper, os autores defendem que um sistema de adaptação dinâmica deve realizar três atividades básicas:

  • Monitoração: Responsável por observar o comportamento do sistema em execução e do seu ambiente. Dada a variedade de sistemas e de ambientes, diferentes tecnologias de monitoração podem ser utilizadas.
  • Interpretação: Responsável por filtrar, agregar e interpretar as observações feitas na monitoração de forma a produzir os valores associados às propriedades de alto nível associadas ao sistema e seus elementos.
  • Reconfiguração: Responsável por realizar a modificação na aplicação, normalmente através da adaptação de um modelo arquitetural de alto nível. Verificada a corretude deste modelo, as adaptações podem ser propagadas para a aplicação em si. A utilização de um modelo arquitetural é advogada em virtude de três características principais destes modelos. Primeiro, o modelo arquitetural permite apresentar a informação em alto nível, facilitando assim a interpretação correspondente. Em segundo lugar, um modelo pode incorporar restrições, as quais podem ser checadas utilizando as informações de alto nível que são derivadas pela interpretação. Em terceiro lugar, modificações no modelo podem ser facilmente mapeadas para operações de reconfiguração normalmente disponíveis nas plataformas subjacentes.

#Visão em Camadas

A chave para o modelo de adaptação dinâmica proposto no paper está na sua visão da aplicação em três camadas, cada uma com um gerente responsável pelas ações de monitoração e adaptação. As relações entre estas camadas é controlada pelas abstraction bridges.

No nível mais básico encontra-se o componente de gerenciamento de tempo de execução, o qual é responsável por monitorar o sistema e o seu ambiente de execução. As informações observadas neste nível são propagadas para o nível de abstração superior através de uma abstraction bridge, a qual é responsável por condensar, filtrar e abstrair as observações de forma a tornar a informação obtida útil do ponto de vista da arquitetura do sistema.

O nível intermediário é responsável por interpretar o comportamento observado do sistema em termos de propriedades de mais alto nível. Neste nível, os gerentes de modelos utilizam um ou mais modelos arquiteturais do sistema para determinar se a informação extraída do nível abaixo viola as premissas do projeto arquitetural.

#Realização

Do ponto de vista da realização, a camada inferior trabalha com um conjunto de probes (sensores) que são instalados no sistema e no ambiente, e publicam suas observações através de um "probe bus". No segundo nível, um conjunto de gauges consomem as medições (observações) e as interpretam em termos de propriedades de mais alto nível. Os valores dessas propriedades são divulgados através de um "gauge report bus". Em um nível acima, os gauges consumers consomem a informação disseminada pelos gauges e as utiliza para atualizar os modelos arquiteturais. Por fim, os gerentes de modelo utilizam os modelos atualizados para verificar se as premissas do sistema estão sendo atendidas, podendo então tomar decisões relativas à adaptação.

Clone this wiki locally