Auto-Gerenciamento
Viviane Torres da Silva
[email protected]
http://www.ic.uff.br/~viviane.silva/isma
Auto-gerenciamento

Auto-*: auto-configuração, auto-otimização, auto-correção e
auto-proteção

Auto-configuração: um sistema se auto configura de acordo
com objetivos de alto nível, i.e., especificando o que é
desejado, e não como atingir isso

Auto-otimização: otimiza o uso dos recursos melhorando a
performance ou qualidade do serviço
Auto-gerenciamento

Auto-correção (cura): o sistema é capaz de detectar e
diagnosticar os problemas. Tolerância a falhas é um aspecto
importante.

Auto-proteção: o sistema é capaz de se proteger de ataques
maliciosos e também de usuários que podem alterar o software
inadvertidamente
Control Loop MAPE-K

Proposto pela IBM para implementar auto-*
Elementos da Atomicidade

Suporte: aspecto da arquitetura ou componente que ajuda a
melhorar a performance da arquitetura utilizando atomicidade

Core: onde ocorre o auto-gerenciamento em si

Autonomia: onde ocorre a auto-adaptação do sistema

Atomicidade: considera toda a arquitetura e descreve o
trabalho realizado em termos da arquitetura
Auto-adaptação
Viviane Torres da Silva
[email protected]
http://www.ic.uff.br/~viviane.silva/isma
Motivação

Capacidade do agente de se adaptar aos mudanças em um
ambiente dinâmico

O agente é capaz de perceber o ambiente, raciocinar se deve ou
não fazer a adaptação e realizar a adaptação

Não podemos assumir que todas as adaptações são conhecidas
a priori
Tipos de Adaptação

Top-down: o sistema como um todo se adaptar devido a
mudanças de requisitos funcionais ou não-funcionais do
sistema

Botton-up: os sistema é composto por um grande conjunto de
agentes que interagem/colaboram localmente respeitando as
suas regras individuais. O comportamento global emerge a
partir destas interações locais
Engenharia de Requisitos

Se preocupa com o quê o sistema tem que fazer e em quais
restrições precisa fazer

Em sistemas auto-adaptáveis, se preocupa com quais
adaptações são possíveis e quais restrições devem ser
respeitadas para fazer a adaptação


Quais aspectos do ambiente são importante para a adaptação?
Quais requisitos podem ser alterados ou evoluir no tempo e
quais têm que ser sempre mantidos?

Não podemos antecipar todos os requisitos
Modelagem

Duas perspectivas: níveis de adaptação associados com o
sistema e atividades associadas com a adaptação

Níveis de adaptação: se refere aos requisitos, design e código

Atividades da adaptação: estão associadas ao “control loop”,
ou ciclo de adaptação (5 tarefas básicas: coletar, analisar,
decidir e atuar)
Control-loop
Environmental Sensors
Application Requirements
Network Instrumentation
Collect
Inference
Managed Elements
Record
Strategies
Analyse
Act
Inform Users
or Administrators
Rules and Policies
Decide
Risk
Analysis
Hypothesis
Generation
Uncertain
Reasoning
Preocupações na Adaptação

I/III
Tipo de adaptação:
– Pode ser simplesmente uma adaptação de parâmetros
– Podem ocorrer mudanças na arquitetura

Nível de adaptação:
– Nível de intervenção humana para que a adaptação ocorra

Técnicas para adaptação:
– Orientadas a dados:
• Como identificar e utilizar os objetos
– Orientadas a processo:
• Produzindo ou gerando os objetos com as características desejadas
Preocupações na Adaptação

II/III
Lugar:
– Onde a adaptação ocorre? Na infra-estrutura que dá suporte ao sistema,
na lógica da aplicação, no middleware que conectar o sistema a outro, ...

Impacto:
– Afeta um único componente ou o sistema como um todo

Receptividades:
– Se refere a resposta vinda da adaptação, quão boa foi a adaptação

Tiggers:
– O que inicia a adaptação?
Preocupações na Adaptação

III/III
Segurança:
– Grau de segurança da adaptação. Uma adaptação pode causar um
desastre ao sistema

Manutenção:
– Se refere a habilidade do sistema para fazer alterações
independentemente ou com intervenção humana

Integridade dos Dados:
– Se refere a imprópria alteração dos dados
Técnicas de adaptação

Adaptação baseada na arquitetura:
– Mudanças no nível de componentes do software

Adaptação baseada em parâmetros pré-determinados
– Parâmetros e dados de entrada para configuração dos componentes do
software

Adaptação baseada em aspectos
– Muda o código do sistema via programação dinâmica
Desafios

Prever o comportamento do sistema, devido as adaptações, é
difícil

Preocupações com adaptações que podem causar efeitos
colaterais

....
Download

Auto-adaptação