-
Notifications
You must be signed in to change notification settings - Fork 0
ACRA
Home -> Self-Adaptive Systems -> Reference Models
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.