Skip to content

Dynamico

Fábio Nogueira edited this page Dec 5, 2016 · 15 revisions

[Related Work](https://github.com/dsoa-team/dsoa-platform/wiki/Related Work)

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. Por outro lado, do ponto de vista do laço de controle de objetivos, essa informação é utilizada para verificar a necessidade de adaptação dinâmica dos objetivos de controle (e.g. SLAs com cláusulas dependentes de contexto).

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.

Além de definir os três laços de controle, DYNAMICO define os elementos e funcionalidades que são necessários para implementar cada um deles. Essa definição é realizada a partir da fusão dos elementos conceituais que compõem laço clássico de controle com o modelo MAPE-K proposto pela IBM.

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