Skip to content

Dynamico

Fábio Nogueira edited this page Mar 21, 2017 · 15 revisions

Home -> Self-Adaptive Systems -> Reference Models

Dynamico

Dynamico é um modelo de referência para a engenharia de software adaptativo que ajuda a garantir a coerência entre (i) mecanismos de adaptação com relação a mudanças nos objetivos; e (ii) mecanismos de monitoração com relação a mudanças tanto nos objetivos quanto nos mecanismos de adaptação [Dynamico 2013].

Quando os requisitos de informação de contexto evoluem ao longo do tempo, não somente em função de mudanças no ambiente, mas também como resultado de uma evolução no sistema adaptativo e seus requisitos, a infraestrutura de monitoração também deve ser capaz de evoluir dinamicamente, ou seja, deve ela própria ser auto-adaptativa. Visando estruturar os conhecimentos necessários para elaboração de sistemas com tais características, Villegas et. al propõe DYNAMICO (Dynamic Adaptive, Monitoring and Control Objectives Model), um modelo de referência organizado através de três laços de controle representados na figura abaixo extraída diretamente do paper:

Dynamico

  • Laço de Controle de Objetivos (CO-FL: Control Objective Feedback Loop): responsável por gerenciar os objetivos que guiam a adaptação do sistema, referenciados como objetivos de controle. Esses objetivos são passíveis de mudança em tempo de execução, seja por demanda dos usuários, seja por variações no contexto. Por exemplo, quando o sistema possui um SLA contendo cláusulas com dependências no contexto (e.g. throughput variando de acordo com intervalos de dias/horários). Nesses cenários, o laço de controle de objetivos tem a função de garantir que as mudanças nos objetivos de controle sejam tratadas de forma consistente e sincronizada pelos mecanismos de adaptação e monitoração, garantindo assim que eles possam ser alcançados.

  • Laço de Controle de Adaptação (A-FL: Adaptive Feedback Loop): responsável por gerir o comportamento adaptativo do sistema de acordo com os objetivos de controle e com os resultados da monitoração tanto do sistema em si como do seu contexto. A informação de contexto é processada e encaminhada para o A-FL pelo laço de monitoração M-FL.

  • Laço de Controle de Monitoração (M-FL: Monitoring Feedback Loop): responsável por gerir a informação contextual sendo monitorada de forma a garantir que os laços de controle de adaptação e de controle de objetivos recebam as informações necessárias. Do ponto de vista do laço de controle de adaptação, essa informação é utilizada como base para a decisão quanto à necessidade de adaptação do sistema em si. Do ponto de vista do laço de controle de objetivos, a informação contextual é utilizada para indicar uma possível necessidade de adaptação dinâmica dos objetivos de controle (e.g. SLAs com cláusulas dependentes de contexto). Por fim, o próprio laço de controle de monitoração deve ser capaz de promover uma adaptação no mecanismo de monitoração, de forma a suportar novos requisitos quando da modificação dos objetivos de controle sinalizada pelo laço de controle de objetivos.

A estruturação de um sistema auto-adaptativo através desses três laços promove a separação de preocupações e destaca a importância de se abordar todas essas dimensões no projeto de um sistema adaptativo.

Em suma, DYNAMICO é um modelo de referência que enfatiza a visibilidade de três laços de controle (responsáveis, respectivamente, pelo gerenciamento dos requisitos, do sistema em si, e da infraestrutura de monitoração) podendo ser utilizado como guia para o projeto em alto nível de um sistema auto-adaptativo no qual tanto os objetivos de controle, quanto o sistema e a infraestrutura de monitoração estão suceptíveis a modificações em tempo de execução.

De forma geral, os elementos conceituais apresentados no modelo de referência DYNAMICO tiveram grande influência na concepção da plataforma DSOA, uma vez que esta foi concebida com o intuito de suportar a execução de aplicações cientes de qualidade (QSBAs), nas quais não só os requisitos não-funcionais podem ser dinamicamente modificados, mas também o próprio mecanismo de monitoração destes requisitos pode ser modificado dinamicamente.

References

  1. [Villegas 2013] (http://link.springer.com/chapter/10.1007/978-3-642-35813-5_11 "DYNAMICO: A Reference Model for Governing Control Objectives and Context Relevance in Self-Adaptive Software Systems")

Clone this wiki locally