Skip to content
Fábio Nogueira edited this page Mar 30, 2017 · 12 revisions

Home -> Self-Adaptive Systems -> Reference Models

Autonomic Computing Reference Architecture (ACRA)

A ideia dos sistemas autonômicos é que os administradores possam delegar para os próprios sistemas a capacidade de se gerenciar através da especificação de políticas, as quais estabelecem os tipos de decisões e ações de adaptação que podem ser realizadas de forma automatizada. Durante a execução, as ações de adaptação são selecionadas com base na situação do sistema e do seu ambiente.

Na arquitetura de referência proposta pela IBM, um sistema autonômico é composto por dois módulos: um gerente autonômico (ou de adaptação) e um sistema gerenciado. Esta abordagem visa permitir a separação de preocupações, de forma que, enquanto o gerente autonômico é responsável pela realização da lógica de adaptação, a lógica de negócio é de responsabilidade do sistema gerenciado. A interação entre esses módulos é realizada através de pontos de controle, que podem ser de dois tipos. Os sensores são responsáveis por prover informações sobre o sistema gerenciado e sobre o ambiente. Os efetuadores representam as ações que podem ser utilizadas para modificar o comportamento do sistema gerenciado, ou seja, elas expõem os meta-dados de controle do sistema em execução.

Os gerentes autonômicos realizam o gerenciamento de um sistema através da implementação de um laço de controle, que coleta dados acerca do próprio sistema e do ambiente, e os utiliza para suportar as decisões relativas às ações de gerenciamento. Neste contexto, um elemento central na arquitetura de referência proposta pela IBM é a especificação do laço de controle que compõe os gerentes autonômicos. Este laço é referenciado como MAPE-K, que é um acrônimo estabelecido com base nas atividades que compõem o laço (Monitor, Analyse, Plan, Execute) e no conhecimento (Knowledge) que deve ser compartilhado ao longo da realização dessas atividades.

No contexto do laço MAPE-K, a monitoração tem como finalidade a construção de uma representação do sistema gerenciado e o seu contexto de execução. Esta representação pode ser mais ou menos sofisticada, dependendo da complexidade do sistema e do nível de gerenciamento desejado. Durante a monitoração, um sistema autonômico coleta informações a partir de um conjunto de sensores providos pelo próprio sistema e por seu ambiente. Normalmente a informação coletada diretamente dos sensores é de baixo nível e deve ser filtrada, transformada, e agregada de forma a viabilizar a construção de representações de mais alto nível.

A análise utiliza a representação construída e mantida pela monitoração para identificar eventuais problemas. Quando um problema é identificado, a análise deve indicar qual o estado esperado para o sistema diante do seu contexto atual. Em suma, a análise tem duas finalidades, identificar potenciais problemas decorrentes da evolução da aplicação e do seu ambiente, e, identificar um estado melhor para a aplicação dentro deste contexto.

O planejamento deve receber da análise uma indicação do estado a ser ideal atingido diante do contexto atual. Assim, o objetivo do planejamento é determinar uma sequência de ações corretivas, as quais devem ser executadas para conduzir o sistema do estado atual para o estado esperado. As ações passíveis de uso no planejamento dependem dos efetuadores disponbilizados pelo sistema gerenciado.

Por fim, a execução compreende a realização do plano estabelecido através da utilização de um conjunto de efetuadores disponibilizados pelo sistema. Assim, a função da execução é determinar como e quando essas ações devem ocorrer, ou seja, cabe a execução tratar dos aspectos relacionados à temporalidade.

References

Clone this wiki locally